From b5b8fa1c8b3b27683b2965a22f9985eec683d384 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Fri, 23 Jan 2026 12:03:42 +0100 Subject: [PATCH 001/206] chat : fix translategemma crash on common_chat_format_example (#19019) --- common/chat.cpp | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/common/chat.cpp b/common/chat.cpp index 6853f4ad47..aba26e97a1 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -2650,6 +2650,45 @@ static common_chat_params common_chat_params_init_exaone_moe(const common_chat_t return data; } +static common_chat_params common_chat_params_init_translate_gemma(const common_chat_template & tmpl, const struct templates_params & inputs) { + common_chat_params data; + + // This template does not support tools or reasoning + // we just need to transform the messages into the correct schema + + templates_params inputs_new = inputs; + json & messages = inputs_new.messages; + + GGML_ASSERT(messages.is_array()); + for (auto & message : messages) { + if (message.contains("role") && message["role"].get() != "user") { + continue; + } + if (!message.contains("content")) { + message["content"] = json::array(); + } + if (message.contains("content") && !message["content"].is_array()) { + auto content_str = message["content"].get(); + // default to en-GB if not specified (to make common_chat_format_example works) + auto src_lang = message.contains("source_lang_code") ? message["source_lang_code"].get() : "en-GB"; + auto tgt_lang = message.contains("target_lang_code") ? message["target_lang_code"].get() : "en-GB"; + message["content"] = json::array({ + json{ + {"type", "text"}, + {"text", content_str}, + {"source_lang_code", src_lang}, + {"target_lang_code", tgt_lang}, + } + }); + } + } + + data.prompt = apply(tmpl, inputs_new, std::nullopt, std::nullopt); + data.format = COMMON_CHAT_FORMAT_GENERIC; + + return data; +} + static common_chat_params common_chat_params_init_without_tools(const common_chat_template & tmpl, const struct templates_params & inputs) { common_chat_params data; data.prompt = apply(tmpl, inputs); @@ -3045,6 +3084,12 @@ static common_chat_params common_chat_templates_apply_jinja( return common_chat_params_init_solar_open(tmpl, params); } + // TranslateGemma + if (src.find("[source_lang_code]") != std::string::npos && + src.find("[target_lang_code]") != std::string::npos) { + return common_chat_params_init_translate_gemma(tmpl, params); + } + // Plain handler (no tools) if (params.tools.is_null() || inputs.tool_choice == COMMON_CHAT_TOOL_CHOICE_NONE) { return common_chat_params_init_without_tools(tmpl, params); From cb6caca191b9a3a9a4eaa13dd9e465225d127034 Mon Sep 17 00:00:00 2001 From: Neo Zhang Date: Fri, 23 Jan 2026 20:54:10 +0800 Subject: [PATCH 002/206] [SYCL] use malloc to support both iGPU and dGPU in same time (#18992) * use malloc to support both iGPU and dGPU in same time * support windows --------- Co-authored-by: Neo Zhang Jianyu --- ggml/src/ggml-sycl/ggml-sycl.cpp | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index bb8acc922b..ce2f0d41c9 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -1157,13 +1157,28 @@ static const char * ggml_backend_sycl_host_buffer_type_name(ggml_backend_buffer_ GGML_UNUSED(buft); } +inline void * aligned_malloc_host(size_t alignment, size_t size) { +#ifdef _WIN32 + return _aligned_malloc(size, alignment); +#else + return aligned_alloc(alignment, size); +#endif +} + +inline void free_aligned_mem_host(void * memblock) { +#ifdef _WIN32 + _aligned_free(memblock); +#else + free(memblock); +#endif +} + static void ggml_backend_sycl_host_buffer_free_buffer(ggml_backend_buffer_t buffer) { - ggml_sycl_host_free(buffer->context); + free_aligned_mem_host((void *)buffer->context); } static ggml_backend_buffer_t ggml_backend_sycl_host_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { - void * ptr = ggml_sycl_host_malloc(size); - + void * ptr = aligned_malloc_host(TENSOR_ALIGNMENT, size); if (ptr == nullptr) { // fallback to cpu buffer return ggml_backend_buft_alloc_buffer(ggml_backend_cpu_buffer_type(), size); From 557515be1e93ed8939dd8a7c7d08765fdbe8be31 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 23 Jan 2026 18:22:34 +0200 Subject: [PATCH 003/206] graph : utilize `ggml_build_forward_select()` to avoid reallocations (#18898) * graph : avoid branches between embedding and token inputs * models : make deepstack graphs (e.g. Qwen3 VL) have constant topology * ci : enable -DGGML_SCHED_NO_REALLOC=ON for server CI * cont : pad token embeddings to n_embd_inp --- .github/workflows/server.yml | 4 +-- src/llama-context.cpp | 2 +- src/llama-graph.cpp | 65 ++++++++++++++++++++++++++---------- src/llama-graph.h | 9 +++-- src/models/gemma3n-iswa.cpp | 4 +-- src/models/qwen3vl-moe.cpp | 19 +++-------- src/models/qwen3vl.cpp | 19 +++-------- 7 files changed, 69 insertions(+), 53 deletions(-) diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml index 9d9d6884d4..9f1ef48c82 100644 --- a/.github/workflows/server.yml +++ b/.github/workflows/server.yml @@ -72,7 +72,7 @@ jobs: - name: Build id: cmake_build run: | - cmake -B build -DLLAMA_BUILD_BORINGSSL=ON + cmake -B build -DLLAMA_BUILD_BORINGSSL=ON -DGGML_SCHED_NO_REALLOC=ON cmake --build build --config ${{ matrix.build_type }} -j ${env:NUMBER_OF_PROCESSORS} --target llama-server - name: Python setup @@ -108,7 +108,7 @@ jobs: - name: Build id: cmake_build run: | - cmake -B build -DLLAMA_BUILD_BORINGSSL=ON + cmake -B build -DLLAMA_BUILD_BORINGSSL=ON -DGGML_SCHED_NO_REALLOC=ON cmake --build build --config Release -j ${env:NUMBER_OF_PROCESSORS} --target llama-server - name: Python setup diff --git a/src/llama-context.cpp b/src/llama-context.cpp index a6d5ddfa33..a35cf5a94b 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -2903,7 +2903,7 @@ void llama_context::opt_epoch_iter( }; ctx_compute_opt = ggml_init(params); } - ggml_opt_prepare_alloc(opt_ctx, ctx_compute_opt, gf, res->get_tokens(), res->get_logits()); + ggml_opt_prepare_alloc(opt_ctx, ctx_compute_opt, gf, res->get_inp_tokens(), res->get_logits()); ggml_opt_alloc(opt_ctx, train); res->set_inputs(&ubatch); diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp index 5ebd0cf8aa..f9ed87cce1 100644 --- a/src/llama-graph.cpp +++ b/src/llama-graph.cpp @@ -23,7 +23,8 @@ void llm_graph_input_embd::set_input(const llama_ubatch * ubatch) { } if (ubatch->embd) { - const int64_t n_embd = embd->ne[0]; + GGML_ASSERT(n_embd == embd->ne[0]); + const int64_t n_tokens = ubatch->n_tokens; ggml_backend_tensor_set(embd, ubatch->embd, 0, n_tokens*n_embd*ggml_element_size(embd)); @@ -33,8 +34,8 @@ void llm_graph_input_embd::set_input(const llama_ubatch * ubatch) { bool llm_graph_input_embd::can_reuse(const llm_graph_params & params) { bool res = true; - res &= (!tokens && !params.ubatch.token) || (tokens && tokens->ne[0] == params.ubatch.n_tokens); - res &= (!embd && !params.ubatch.embd) || (embd && embd->ne[1] == params.ubatch.n_tokens); + res &= (!params.ubatch.token) || (tokens && tokens->ne[0] == params.ubatch.n_tokens); + res &= (!params.ubatch.embd) || (embd && embd->ne[1] == params.ubatch.n_tokens); return res; } @@ -634,7 +635,8 @@ int64_t llm_graph_result::get_max_nodes() const { } void llm_graph_result::reset() { - t_tokens = nullptr; + t_inp_tokens = nullptr; + t_inp_embd = nullptr; t_logits = nullptr; t_embd = nullptr; t_embd_pooled = nullptr; @@ -1338,17 +1340,29 @@ ggml_tensor * llm_graph_context::build_moe_ffn( // input embeddings with optional lora ggml_tensor * llm_graph_context::build_inp_embd(ggml_tensor * tok_embd) const { - const int64_t n_embd = hparams.n_embd_inp(); + const int64_t n_embd_inp = hparams.n_embd_inp(); + const int64_t n_embd = hparams.n_embd; - auto inp = std::make_unique(); + assert(n_embd_inp >= n_embd); - ggml_tensor * cur = nullptr; + auto inp = std::make_unique(n_embd_inp); - if (ubatch.token) { - inp->tokens = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, ubatch.n_tokens); - //cb(inp->tokens, "inp_tokens", -1); - ggml_set_input(inp->tokens); - res->t_tokens = inp->tokens; + inp->tokens = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, ubatch.n_tokens); + cb(inp->tokens, "inp_tokens", -1); + ggml_set_input(inp->tokens); + res->t_inp_tokens = inp->tokens; + + inp->embd = ggml_new_tensor_2d(ctx0, GGML_TYPE_F32, n_embd_inp, ubatch.n_tokens); + cb(inp->embd, "inp_embd", -1); + ggml_set_input(inp->embd); + + // select one of the 2 inputs, based on the batch contents + // ref: https://github.com/ggml-org/llama.cpp/pull/18550 + std::array inps; + + // token embeddings path (ubatch.token != nullptr) + { + auto & cur = inps[0]; cur = ggml_get_rows(ctx0, tok_embd, inp->tokens); @@ -1369,19 +1383,36 @@ ggml_tensor * llm_graph_context::build_inp_embd(ggml_tensor * tok_embd) const { cur = ggml_add(ctx0, cur, inpL_delta); } - } else { - inp->embd = ggml_new_tensor_2d(ctx0, GGML_TYPE_F32, n_embd, ubatch.n_tokens); - ggml_set_input(inp->embd); + + if (n_embd_inp != n_embd) { + cur = ggml_pad(ctx0, cur, hparams.n_embd_inp() - n_embd, 0, 0, 0); + } + } + + // vector embeddings path (ubatch.embd != nullptr) + { + auto & cur = inps[1]; cur = inp->embd; } + assert(ggml_are_same_shape (inps[0], inps[1])); + assert(ggml_are_same_stride(inps[0], inps[1])); + + ggml_tensor * cur = ggml_build_forward_select(gf, inps.data(), inps.size(), ubatch.token ? 0 : 1); + + if (n_embd_inp != n_embd) { + cur = ggml_view_2d(ctx0, cur, n_embd, n_tokens, cur->nb[1], 0); + } + + res->t_inp_embd = cur; + // For Granite architecture if (hparams.f_embedding_scale != 0.0f) { cur = ggml_scale(ctx0, cur, hparams.f_embedding_scale); } - cb(cur, "inp_embd", -1); + cb(cur, "embd", -1); res->add_input(std::move(inp)); @@ -1480,7 +1511,7 @@ ggml_tensor * llm_graph_context::build_inp_cross_embd() const { //} const auto n_embd = !cross->v_embd.empty() ? cross->n_embd : hparams.n_embd_inp(); - const auto n_enc = !cross->v_embd.empty() ? cross->n_enc : hparams.n_ctx_train; + const auto n_enc = !cross->v_embd.empty() ? cross->n_enc : hparams.n_ctx_train; cur = ggml_new_tensor_2d(ctx0, GGML_TYPE_F32, n_embd, n_enc); ggml_set_input(cur); diff --git a/src/llama-graph.h b/src/llama-graph.h index 93d32522d1..242a046d56 100644 --- a/src/llama-graph.h +++ b/src/llama-graph.h @@ -106,7 +106,7 @@ using llm_graph_input_ptr = std::unique_ptr; class llm_graph_input_embd : public llm_graph_input_i { public: - llm_graph_input_embd() = default; + llm_graph_input_embd(int64_t n_embd) : n_embd(n_embd) {} virtual ~llm_graph_input_embd() = default; void set_input(const llama_ubatch * ubatch) override; @@ -115,6 +115,8 @@ public: ggml_tensor * tokens = nullptr; // I32 [n_batch] ggml_tensor * embd = nullptr; // F32 [n_embd, n_batch] + + const int64_t n_embd = 0; }; class llm_graph_input_pos : public llm_graph_input_i { @@ -566,7 +568,7 @@ public: virtual ~llm_graph_result() = default; - ggml_tensor * get_tokens() const { return t_tokens; } + ggml_tensor * get_inp_tokens() const { return t_inp_tokens; } ggml_tensor * get_logits() const { return t_logits; } ggml_tensor * get_embd() const { return t_embd; } ggml_tensor * get_embd_pooled() const { return t_embd_pooled; } @@ -593,7 +595,8 @@ public: void set_params(const llm_graph_params & params); // important graph nodes - ggml_tensor * t_tokens = nullptr; + ggml_tensor * t_inp_tokens = nullptr; + ggml_tensor * t_inp_embd = nullptr; // [n_embd_inp, n_tokens] ggml_tensor * t_logits = nullptr; ggml_tensor * t_embd = nullptr; ggml_tensor * t_embd_pooled = nullptr; diff --git a/src/models/gemma3n-iswa.cpp b/src/models/gemma3n-iswa.cpp index 51acab1490..7db6d3bf4e 100644 --- a/src/models/gemma3n-iswa.cpp +++ b/src/models/gemma3n-iswa.cpp @@ -245,12 +245,12 @@ ggml_tensor * llm_build_gemma3n_iswa::view_2d_slice(ggml_tensor * x, int idx) { // equivalent to get_per_layer_inputs() in python code // output shape: [n_embd_altup, n_layer, n_tokens] ggml_tensor * llm_build_gemma3n_iswa::get_per_layer_inputs() { - auto inp = std::make_unique(); + auto inp = std::make_unique(n_embd); ggml_tensor * inp_per_layer; if (ubatch.token) { inp->tokens = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, ubatch.n_tokens); ggml_set_input(inp->tokens); - res->t_tokens = inp->tokens; + res->t_inp_tokens = inp->tokens; inp_per_layer = ggml_get_rows(ctx0, model.tok_embd_per_layer, inp->tokens); inp_per_layer = ggml_reshape_3d(ctx0, inp_per_layer, n_embd_altup, n_layer, n_tokens); inp_per_layer = ggml_scale(ctx0, inp_per_layer, sqrtf((float) n_embd_altup)); diff --git a/src/models/qwen3vl-moe.cpp b/src/models/qwen3vl-moe.cpp index f72f80a837..e5e1a2150c 100644 --- a/src/models/qwen3vl-moe.cpp +++ b/src/models/qwen3vl-moe.cpp @@ -2,7 +2,8 @@ llm_build_qwen3vlmoe::llm_build_qwen3vlmoe(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) { const size_t n_deepstack_layers = hparams.n_deepstack_layers; - const int64_t n_embd = hparams.n_embd; + + const int64_t n_embd = hparams.n_embd; const int64_t n_embd_head = hparams.n_embd_head_v; GGML_ASSERT(n_embd_head == hparams.n_embd_head_k); @@ -16,17 +17,6 @@ llm_build_qwen3vlmoe::llm_build_qwen3vlmoe(const llama_model & model, const llm_ int sections[4]; std::copy(std::begin(hparams.rope_sections), std::begin(hparams.rope_sections) + 4, sections); - std::vector deepstack_features(n_deepstack_layers, nullptr); - - if (ubatch.embd) { - // Image input: split main embd and deepstack embds - ggml_tensor * inpL_main = ggml_view_2d(ctx0, inpL, n_embd, n_tokens, inpL->nb[1], 0); - for (size_t i = 0; i < n_deepstack_layers; i++) { - deepstack_features[i] = ggml_view_2d(ctx0, inpL, n_embd, n_tokens, inpL->nb[1], (i + 1) * n_embd * sizeof(float)); - } - inpL = inpL_main; - } - // inp_pos - contains the positions ggml_tensor * inp_pos = build_inp_pos(); @@ -120,8 +110,9 @@ llm_build_qwen3vlmoe::llm_build_qwen3vlmoe(const llama_model & model, const llm_ cur = build_cvec(cur, il); cb(cur, "l_out", il); - if (ubatch.embd && (size_t)il < n_deepstack_layers) { - cur = ggml_add(ctx0, cur, deepstack_features[il]); + if (il < (int) n_deepstack_layers) { + ggml_tensor * ds = ggml_view_2d(ctx0, res->t_inp_embd, n_embd, n_tokens, res->t_inp_embd->nb[1], (il + 1) * n_embd * sizeof(float)); + cur = ggml_add(ctx0, cur, ds); cb(cur, "deepstack_out", il); } diff --git a/src/models/qwen3vl.cpp b/src/models/qwen3vl.cpp index 0bae52239c..0f8315b324 100644 --- a/src/models/qwen3vl.cpp +++ b/src/models/qwen3vl.cpp @@ -2,7 +2,8 @@ llm_build_qwen3vl::llm_build_qwen3vl(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) { const size_t n_deepstack_layers = hparams.n_deepstack_layers; - const int64_t n_embd = hparams.n_embd; + + const int64_t n_embd = hparams.n_embd; const int64_t n_embd_head = hparams.n_embd_head_v; GGML_ASSERT(n_embd_head == hparams.n_embd_head_k); @@ -16,17 +17,6 @@ llm_build_qwen3vl::llm_build_qwen3vl(const llama_model & model, const llm_graph_ int sections[4]; std::copy(std::begin(hparams.rope_sections), std::begin(hparams.rope_sections) + 4, sections); - std::vector deepstack_features(n_deepstack_layers, nullptr); - - if (ubatch.embd) { - // Image input: split main embd and deepstack embds - ggml_tensor * inpL_main = ggml_view_2d(ctx0, inpL, n_embd, n_tokens, inpL->nb[1], 0); - for (size_t i = 0; i < n_deepstack_layers; i++) { - deepstack_features[i] = ggml_view_2d(ctx0, inpL, n_embd, n_tokens, inpL->nb[1], (i + 1) * n_embd * sizeof(float)); - } - inpL = inpL_main; - } - // inp_pos - contains the positions ggml_tensor * inp_pos = build_inp_pos(); @@ -113,8 +103,9 @@ llm_build_qwen3vl::llm_build_qwen3vl(const llama_model & model, const llm_graph_ cur = build_cvec(cur, il); cb(cur, "l_out", il); - if (ubatch.embd && (size_t)il < n_deepstack_layers) { - cur = ggml_add(ctx0, cur, deepstack_features[il]); + if (il < (int) n_deepstack_layers) { + ggml_tensor * ds = ggml_view_2d(ctx0, res->t_inp_embd, n_embd, n_tokens, res->t_inp_embd->nb[1], (il + 1) * n_embd * sizeof(float)); + cur = ggml_add(ctx0, cur, ds); cb(cur, "deepstack_out", il); } From 8af1f5f430baaab1719db8f0a259bcc2a1cfdaa0 Mon Sep 17 00:00:00 2001 From: nullname Date: Sat, 24 Jan 2026 14:02:07 +0800 Subject: [PATCH 004/206] ggml-hexagon: flash-attn opt (#19025) * optimize flash attention kernel by improving score computation and online softmax update * wip * Refactor online softmax update in flash attention kernel for improved performance * Optimize flash attention kernel by replacing float array with HVX_Vector for score computation * wip --- ggml/src/ggml-hexagon/htp/flash-attn-ops.c | 54 +++++++++++++--------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/ggml/src/ggml-hexagon/htp/flash-attn-ops.c b/ggml/src/ggml-hexagon/htp/flash-attn-ops.c index 1de47d0f3d..c7cb2a4e0b 100644 --- a/ggml/src/ggml-hexagon/htp/flash-attn-ops.c +++ b/ggml/src/ggml-hexagon/htp/flash-attn-ops.c @@ -2,9 +2,9 @@ #pragma clang diagnostic ignored "-Wunused-function" #pragma clang diagnostic ignored "-Wunused-but-set-variable" +#include #include #include - #include #include @@ -111,7 +111,7 @@ static inline void hvx_dot_f16_f16_aa(float * restrict r, const void * restrict hvx_vec_store_u(r, 4, rsum); } -// MAD: y (F32) += x (F16) * v (float) +// MAD: y (F32) += x (F16) * s (float) static inline void hvx_mad_f32_f16_aa(float * restrict y, const void * restrict x, int n, float s) { const HVX_Vector * restrict ptr_x = (const HVX_Vector *) x; HVX_Vector * restrict ptr_y = (HVX_Vector *) y; @@ -318,9 +318,12 @@ static void flash_attn_ext_f16_thread(struct htp_ops_context * octx, int ith, in uint32_t ic = 0; // Process in blocks of 32 (VLEN_FP32) - for (; ic + VLEN_FP32 <= current_block_size; ic += VLEN_FP32) { + static_assert(FLASH_ATTN_BLOCK_SIZE / VLEN_FP32 == 4, "FLASH_ATTN_BLOCK_SIZE changed, fix HVX_Vector_x4 usage"); + HVX_Vector_x4 scores_x4; + HVX_Vector v_max = hvx_vec_splat_f32(-INFINITY); + for (uint32_t iv = 0; ic + VLEN_FP32 <= current_block_size; ic += VLEN_FP32, ++iv) { // 1. Compute scores - float __attribute__((aligned(VLEN))) scores_arr[VLEN_FP32]; + float __attribute__((aligned(VLEN))) scores_arr[FLASH_ATTN_BLOCK_SIZE]; for (int j = 0; j < VLEN_FP32; ++j) { const uint32_t cur_ic = ic + j; const uint8_t * k_ptr = k_base + cur_ic * size_k_row_padded; @@ -356,36 +359,43 @@ static void flash_attn_ext_f16_thread(struct htp_ops_context * octx, int ith, in scores = Q6_Vsf_equals_Vqf32(scores); } - // 4. Online Softmax Update - HVX_Vector v_max = hvx_vec_reduce_max_f32(scores); - float m_block = hvx_vec_get_f32(v_max); + scores_x4.v[iv] = scores; + v_max = Q6_Vsf_vmax_VsfVsf(scores, v_max); + } + { + // 4. Online Softmax Update + v_max = hvx_vec_reduce_max_f32(v_max); + float m_block = hvx_vec_get_f32(v_max); float M_old = M; float M_new = (m_block > M) ? m_block : M; M = M_new; - float ms = expf(M_old - M_new); - + const float ms = expf(M_old - M_new); hvx_scale_f32_aa((uint8_t *) VKQ32, (const uint8_t *) VKQ32, DV, ms); - S = S * ms; HVX_Vector M_new_vec = hvx_vec_splat_f32(M_new); - HVX_Vector scores_shifted = Q6_Vqf32_vsub_VsfVsf(scores, M_new_vec); - HVX_Vector P = hvx_vec_exp_f32(Q6_Vsf_equals_Vqf32(scores_shifted)); + HVX_Vector p_sum_vec = hvx_vec_splat_f32(0.0f); + for (uint32_t ic2 = 0, iv = 0; ic2 + VLEN_FP32 <= current_block_size; ic2 += VLEN_FP32, ++iv) { + HVX_Vector scores = scores_x4.v[iv]; + HVX_Vector scores_shifted = Q6_Vqf32_vsub_VsfVsf(scores, M_new_vec); + HVX_Vector P = hvx_vec_exp_f32(Q6_Vsf_equals_Vqf32(scores_shifted)); - HVX_Vector p_sum_vec = hvx_vec_reduce_sum_f32(P); - float p_sum = hvx_vec_get_f32(p_sum_vec); - S += p_sum; + p_sum_vec = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_VsfVsf(p_sum_vec, P)); - // 5. Accumulate V - float __attribute__((aligned(VLEN))) p_arr[VLEN_FP32]; - *(HVX_Vector*)p_arr = P; + // 5. Accumulate V + float __attribute__((aligned(VLEN))) p_arr[VLEN_FP32]; + *(HVX_Vector*)p_arr = P; - for (int j = 0; j < VLEN_FP32; ++j) { - const uint32_t cur_ic = ic + j; - const uint8_t * v_ptr = v_base + cur_ic * size_v_row_padded; - hvx_mad_f32_f16_aa(VKQ32, v_ptr, DV, p_arr[j]); + for (int j = 0; j < VLEN_FP32; ++j) { + const uint32_t cur_ic = ic2 + j; + const uint8_t * v_ptr = v_base + cur_ic * size_v_row_padded; + hvx_mad_f32_f16_aa(VKQ32, v_ptr, DV, p_arr[j]); + } } + + p_sum_vec = hvx_vec_reduce_sum_f32(p_sum_vec); + S = S * ms + hvx_vec_get_f32(p_sum_vec); } // Leftover From 81ab64f3c858c0db8c7c3a6bccd4cbbe624f52a3 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Sat, 24 Jan 2026 14:25:20 +0800 Subject: [PATCH 005/206] ggml-cuda: enable cuda-graphs for `n-cpu-moe` (#18934) * ggml-cuda: add split-wise cuda graph * add n-cpu-moe compare_llama_bench.py * fix hip/musa builds --- ggml/src/ggml-cuda/common.cuh | 38 ++++++++++++- ggml/src/ggml-cuda/ggml-cuda.cu | 95 ++++++++++++++++++++------------- ggml/src/ggml-cuda/mean.cu | 17 +++--- scripts/compare-llama-bench.py | 6 +-- 4 files changed, 105 insertions(+), 51 deletions(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 179522d835..09a491a836 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -1327,10 +1327,44 @@ struct ggml_backend_cuda_context { cudaStream_t streams[GGML_CUDA_MAX_DEVICES][GGML_CUDA_MAX_STREAMS] = { { nullptr } }; cublasHandle_t cublas_handles[GGML_CUDA_MAX_DEVICES] = {nullptr}; - std::unique_ptr cuda_graph; - int curr_stream_no = 0; +#ifdef USE_CUDA_GRAPH + // Map from first_node_ptr to cuda_graph - allows multiple graphs per context + // when the computation is split across CPU/GPU (e.g., with --n-cpu-moe) + std::unordered_map> cuda_graphs; + + ggml_cuda_graph * cuda_graph(const void * first_node_ptr) { + auto it = cuda_graphs.find(first_node_ptr); + if (it == cuda_graphs.end()) { + cuda_graphs[first_node_ptr] = std::make_unique(); + return cuda_graphs[first_node_ptr].get(); + } + return it->second.get(); + } + + // Check if any CUDA graph is enabled for this context (used by kernels that need to know + // if graphs are in use without having access to the specific graph key) + bool any_cuda_graph_enabled() const { + for (const auto & [key, graph] : cuda_graphs) { + if (graph && graph->is_enabled()) { + return true; + } + } + return false; + } + + // Check if any CUDA graph has an instance for this context + bool any_cuda_graph_has_instance() const { + for (const auto & [key, graph] : cuda_graphs) { + if (graph && graph->instance != nullptr) { + return true; + } + } + return false; + } +#endif // USE_CUDA_GRAPH + explicit ggml_backend_cuda_context(int device) : device(device), name(GGML_CUDA_NAME + std::to_string(device)) { diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index cda422defb..99f0919a51 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -2969,18 +2969,25 @@ static bool ggml_cuda_graph_node_properties_match(ggml_tensor * node, ggml_cuda_ return true; } +static const void * ggml_cuda_graph_get_key(ggml_cgraph * cgraph) { + return cgraph->nodes[0]; +} + static bool ggml_cuda_graph_update_required(ggml_backend_cuda_context * cuda_ctx, ggml_cgraph * cgraph) { bool res = false; - if (cuda_ctx->cuda_graph->instance == nullptr) { + const void * graph_key = ggml_cuda_graph_get_key(cgraph); + ggml_cuda_graph * graph = cuda_ctx->cuda_graph(graph_key); + + if (graph->instance == nullptr) { res = true; } // Check if the graph size has changed - if (cuda_ctx->cuda_graph->props.size() != (size_t)cgraph->n_nodes + cgraph->n_leafs) { + if (graph->props.size() != (size_t)cgraph->n_nodes + cgraph->n_leafs) { res = true; - cuda_ctx->cuda_graph->props.resize(cgraph->n_nodes + cgraph->n_leafs); + graph->props.resize(cgraph->n_nodes + cgraph->n_leafs); } // Loop over nodes in GGML graph to determine if CUDA graph update is required @@ -2988,37 +2995,38 @@ static bool ggml_cuda_graph_update_required(ggml_backend_cuda_context * cuda_ctx for (int i = 0; i < cgraph->n_nodes; i++) { bool props_match = true; if (!res) { - props_match = ggml_cuda_graph_node_properties_match(cgraph->nodes[i], &cuda_ctx->cuda_graph->props[i]); + props_match = ggml_cuda_graph_node_properties_match(cgraph->nodes[i], &graph->props[i]); } if (!props_match) { res = true; } - ggml_cuda_graph_node_set_properties(&cuda_ctx->cuda_graph->props[i], cgraph->nodes[i]); + ggml_cuda_graph_node_set_properties(&graph->props[i], cgraph->nodes[i]); } for (int i = 0; i < cgraph->n_leafs; i++) { - bool props_match= true; + bool props_match = true; if (!res) { - props_match = ggml_cuda_graph_node_properties_match(cgraph->leafs[i], &cuda_ctx->cuda_graph->props[cgraph->n_nodes + i]); + props_match = ggml_cuda_graph_node_properties_match(cgraph->leafs[i], &graph->props[cgraph->n_nodes + i]); } if (!props_match) { res = true; } - ggml_cuda_graph_node_set_properties(&cuda_ctx->cuda_graph->props[cgraph->n_nodes + i], cgraph->leafs[i]); + ggml_cuda_graph_node_set_properties(&graph->props[cgraph->n_nodes + i], cgraph->leafs[i]); } return res; } -static void ggml_cuda_graph_update_executable(ggml_backend_cuda_context * cuda_ctx) { +static void ggml_cuda_graph_update_executable(ggml_backend_cuda_context * cuda_ctx, const void * graph_key) { + ggml_cuda_graph * graph = cuda_ctx->cuda_graph(graph_key); #if CUDART_VERSION >= 12000 cudaGraphExecUpdateResultInfo result_info; - cudaError_t stat = cudaGraphExecUpdate(cuda_ctx->cuda_graph->instance, cuda_ctx->cuda_graph->graph, &result_info); + cudaError_t stat = cudaGraphExecUpdate(graph->instance, graph->graph, &result_info); #else cudaGraphNode_t errorNode; cudaGraphExecUpdateResult result_info; - cudaError_t stat = cudaGraphExecUpdate(cuda_ctx->cuda_graph->instance, cuda_ctx->cuda_graph->graph, &errorNode, &result_info); + cudaError_t stat = cudaGraphExecUpdate(graph->instance, graph->graph, &errorNode, &result_info); #endif // CUDART_VERSION >= 12000 if (stat == cudaErrorGraphExecUpdateFailure) { @@ -3029,14 +3037,14 @@ static void ggml_cuda_graph_update_executable(ggml_backend_cuda_context * cuda_c // The pre-existing graph exec cannot be updated due to violated constraints // so instead clear error and re-instantiate (void)cudaGetLastError(); - CUDA_CHECK(cudaGraphExecDestroy(cuda_ctx->cuda_graph->instance)); - cuda_ctx->cuda_graph->instance = nullptr; - CUDA_CHECK(cudaGraphInstantiate(&cuda_ctx->cuda_graph->instance, cuda_ctx->cuda_graph->graph, NULL, NULL, 0)); + CUDA_CHECK(cudaGraphExecDestroy(graph->instance)); + graph->instance = nullptr; + CUDA_CHECK(cudaGraphInstantiate(&graph->instance, graph->graph, NULL, NULL, 0)); } else { GGML_ASSERT(stat == cudaSuccess); } } -#endif +#endif // USE_CUDA_GRAPH static bool ggml_cuda_should_fuse_rope_set_rows(const ggml_tensor * rope, const ggml_tensor * view, @@ -3241,7 +3249,7 @@ static bool ggml_cuda_can_fuse(const struct ggml_cgraph * cgraph, int node_idx, return false; } -static void ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context * cuda_ctx, ggml_cgraph * cgraph, const bool use_cuda_graph, const bool cuda_graph_update_required) { +static void ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context * cuda_ctx, ggml_cgraph * cgraph, const bool use_cuda_graph, const bool cuda_graph_update_required, const void * graph_key) { bool graph_evaluated_or_captured = false; // flag used to determine whether it is an integrated_gpu @@ -3695,13 +3703,14 @@ static void ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context * cud } #ifdef USE_CUDA_GRAPH + ggml_cuda_graph * graph = cuda_ctx->cuda_graph(graph_key); if (use_cuda_graph && cuda_graph_update_required) { // End CUDA graph capture - if (cuda_ctx->cuda_graph->graph != nullptr) { - CUDA_CHECK(cudaGraphDestroy(cuda_ctx->cuda_graph->graph)); - cuda_ctx->cuda_graph->graph = nullptr; + if (graph->graph != nullptr) { + CUDA_CHECK(cudaGraphDestroy(graph->graph)); + graph->graph = nullptr; } - CUDA_CHECK(cudaStreamEndCapture(cuda_ctx->stream(), &cuda_ctx->cuda_graph->graph)); + CUDA_CHECK(cudaStreamEndCapture(cuda_ctx->stream(), &graph->graph)); graph_evaluated_or_captured = true; // CUDA graph has been captured std::lock_guard lock(ggml_cuda_lock); @@ -3714,40 +3723,39 @@ static void ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context * cud } if (use_cuda_graph) { - if (cuda_ctx->cuda_graph->instance == nullptr) { // Create executable graph from captured graph. - CUDA_CHECK(cudaGraphInstantiate(&cuda_ctx->cuda_graph->instance, cuda_ctx->cuda_graph->graph, NULL, NULL, 0)); + ggml_cuda_graph * graph = cuda_ctx->cuda_graph(graph_key); + if (graph->instance == nullptr) { // Create executable graph from captured graph. + CUDA_CHECK(cudaGraphInstantiate(&graph->instance, graph->graph, NULL, NULL, 0)); } if (cuda_graph_update_required) { // Update graph executable - ggml_cuda_graph_update_executable(cuda_ctx); + ggml_cuda_graph_update_executable(cuda_ctx, graph_key); } // Launch graph - CUDA_CHECK(cudaGraphLaunch(cuda_ctx->cuda_graph->instance, cuda_ctx->stream())); + CUDA_CHECK(cudaGraphLaunch(graph->instance, cuda_ctx->stream())); #else graph_evaluated_or_captured = true; #endif // USE_CUDA_GRAPH } } -static bool ggml_cuda_graph_set_enabled(ggml_backend_cuda_context * cuda_ctx) { +static bool ggml_cuda_graph_set_enabled(ggml_backend_cuda_context * cuda_ctx, const void * graph_key) { #ifdef USE_CUDA_GRAPH + ggml_cuda_graph * graph = cuda_ctx->cuda_graph(graph_key); - if (cuda_ctx->cuda_graph == nullptr) { - cuda_ctx->cuda_graph.reset(new ggml_cuda_graph()); - } - - if (cuda_ctx->cuda_graph->graph == nullptr) { + if (graph->graph == nullptr) { if (ggml_cuda_info().devices[cuda_ctx->device].cc < GGML_CUDA_CC_AMPERE) { - if (!cuda_ctx->cuda_graph->disable_due_to_gpu_arch) { + if (!graph->disable_due_to_gpu_arch) { GGML_LOG_DEBUG("%s: disabling CUDA graphs due to GPU architecture\n", __func__); } - cuda_ctx->cuda_graph->disable_due_to_gpu_arch = true; + graph->disable_due_to_gpu_arch = true; } } - return cuda_ctx->cuda_graph->is_enabled(); + return graph->is_enabled(); #else GGML_UNUSED(cuda_ctx); + GGML_UNUSED(graph_key); return false; #endif // USE_CUDA_GRAPH } @@ -3759,15 +3767,19 @@ static enum ggml_status ggml_backend_cuda_graph_compute(ggml_backend_t backend, bool use_cuda_graph = false; bool cuda_graph_update_required = false; + const void * graph_key = nullptr; #ifdef USE_CUDA_GRAPH - use_cuda_graph = ggml_cuda_graph_set_enabled(cuda_ctx); + graph_key = ggml_cuda_graph_get_key(cgraph); - if (cuda_ctx->cuda_graph->is_enabled()) { + use_cuda_graph = ggml_cuda_graph_set_enabled(cuda_ctx, graph_key); + + ggml_cuda_graph * graph = cuda_ctx->cuda_graph(graph_key); + if (graph->is_enabled()) { cuda_graph_update_required = ggml_cuda_graph_update_required(cuda_ctx, cgraph); use_cuda_graph = ggml_cuda_graph_check_compability(cgraph); - cuda_ctx->cuda_graph->record_update(use_cuda_graph, cuda_graph_update_required); + graph->record_update(use_cuda_graph, cuda_graph_update_required); } #endif // USE_CUDA_GRAPH @@ -3781,7 +3793,7 @@ static enum ggml_status ggml_backend_cuda_graph_compute(ggml_backend_t backend, CUDA_CHECK(cudaStreamBeginCapture(cuda_ctx->stream(), cudaStreamCaptureModeRelaxed)); } - ggml_cuda_graph_evaluate_and_capture(cuda_ctx, cgraph, use_cuda_graph, cuda_graph_update_required); + ggml_cuda_graph_evaluate_and_capture(cuda_ctx, cgraph, use_cuda_graph, cuda_graph_update_required, graph_key); return GGML_STATUS_SUCCESS; } @@ -3814,7 +3826,14 @@ static void ggml_backend_cuda_event_wait(ggml_backend_t backend, ggml_backend_ev static void ggml_backend_cuda_graph_optimize(ggml_backend_t backend, ggml_cgraph * cgraph) { ggml_backend_cuda_context * cuda_ctx = (ggml_backend_cuda_context *) backend->context; - const bool use_cuda_graph = ggml_cuda_graph_set_enabled(cuda_ctx); +#ifdef USE_CUDA_GRAPH + const void * graph_key = ggml_cuda_graph_get_key(cgraph); + const bool use_cuda_graph = ggml_cuda_graph_set_enabled(cuda_ctx, graph_key); +#else + const bool use_cuda_graph = false; + GGML_UNUSED(cuda_ctx); + GGML_UNUSED(cgraph); +#endif static bool enable_graph_optimization = [] { const char * env = getenv("GGML_CUDA_GRAPH_OPT"); diff --git a/ggml/src/ggml-cuda/mean.cu b/ggml/src/ggml-cuda/mean.cu index 60542fc19d..49af538995 100644 --- a/ggml/src/ggml-cuda/mean.cu +++ b/ggml/src/ggml-cuda/mean.cu @@ -31,14 +31,15 @@ void ggml_cuda_op_mean(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { #endif // USE_CUDA_GRAPH if ((nrows == 1) && #ifdef USE_CUDA_GRAPH - // CUDA_GRAPHS_DISABLED - ((ncols > 65536) && - ((ctx.cuda_graph->instance == nullptr) && (iscapturing == cudaStreamCaptureStatusNone) || - ctx.cuda_graph->is_enabled())) || - // CUDA_GRAPHS ENABLED - ((ncols > 32768) && - !((ctx.cuda_graph->instance == nullptr) && (iscapturing == cudaStreamCaptureStatusNone) || - ctx.cuda_graph->is_enabled()))) { + // Determine if CUDA graphs are effectively disabled for this context + // (no graph instance exists and we're not capturing, OR graphs are explicitly enabled) + (((ncols > 65536) && + (((!ctx.any_cuda_graph_has_instance()) && (iscapturing == cudaStreamCaptureStatusNone)) || + ctx.any_cuda_graph_enabled())) || + // CUDA graphs are enabled - use lower threshold + ((ncols > 32768) && + !(((!ctx.any_cuda_graph_has_instance()) && (iscapturing == cudaStreamCaptureStatusNone)) || + ctx.any_cuda_graph_enabled())))) { #else (ncols > 65536)) { #endif // USE_CUDA_GRAPH diff --git a/scripts/compare-llama-bench.py b/scripts/compare-llama-bench.py index c45c83fdb5..9541b89eb9 100755 --- a/scripts/compare-llama-bench.py +++ b/scripts/compare-llama-bench.py @@ -29,7 +29,7 @@ LLAMA_BENCH_DB_FIELDS = [ "cpu_mask", "cpu_strict", "poll", "type_k", "type_v", "n_gpu_layers", "split_mode", "main_gpu", "no_kv_offload", "flash_attn", "tensor_split", "tensor_buft_overrides", "use_mmap", "embeddings", "no_op_offload", "n_prompt", "n_gen", "n_depth", - "test_time", "avg_ns", "stddev_ns", "avg_ts", "stddev_ts", + "test_time", "avg_ns", "stddev_ns", "avg_ts", "stddev_ts", "n_cpu_moe" ] LLAMA_BENCH_DB_TYPES = [ @@ -38,7 +38,7 @@ LLAMA_BENCH_DB_TYPES = [ "TEXT", "INTEGER", "INTEGER", "TEXT", "TEXT", "INTEGER", "TEXT", "INTEGER", "INTEGER", "INTEGER", "TEXT", "TEXT", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", - "TEXT", "INTEGER", "INTEGER", "REAL", "REAL", + "TEXT", "INTEGER", "INTEGER", "REAL", "REAL", "INTEGER", ] # All test-backend-ops SQL fields @@ -59,7 +59,7 @@ assert len(TEST_BACKEND_OPS_DB_FIELDS) == len(TEST_BACKEND_OPS_DB_TYPES) # Properties by which to differentiate results per commit for llama-bench: LLAMA_BENCH_KEY_PROPERTIES = [ - "cpu_info", "gpu_info", "backends", "n_gpu_layers", "tensor_buft_overrides", "model_filename", "model_type", + "cpu_info", "gpu_info", "backends", "n_gpu_layers", "n_cpu_moe", "tensor_buft_overrides", "model_filename", "model_type", "n_batch", "n_ubatch", "embeddings", "cpu_mask", "cpu_strict", "poll", "n_threads", "type_k", "type_v", "use_mmap", "no_kv_offload", "split_mode", "main_gpu", "tensor_split", "flash_attn", "n_prompt", "n_gen", "n_depth" ] From 8f91ca54ec0b22f3ff3a495f32be8e8300638cdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sat, 24 Jan 2026 10:09:36 +0100 Subject: [PATCH 006/206] CUDA: re-use MLA K data for V in MMA FA (#19057) --- ggml/src/ggml-cuda/fattn-common.cuh | 74 ++++++++++++++-------------- ggml/src/ggml-cuda/fattn-mma-f16.cuh | 63 +++++++++++------------ ggml/src/ggml-cuda/fattn.cu | 5 ++ 3 files changed, 72 insertions(+), 70 deletions(-) diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index a781fb91f5..40c7725784 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -782,12 +782,7 @@ void launch_fattn( const ggml_tensor * K = dst->src[1]; const ggml_tensor * V = dst->src[2]; - // TODO: make this more generic by removing the notion of "MLA". - // for example "is V a view of K?" so we can skip loading it. - // V strides should be driven by V itself and avoid assumption of the data layout - const bool is_mla = V->op == GGML_OP_VIEW && V->src[0] == K; - - GGML_ASSERT(V || is_mla); + const bool V_is_K_view = V->op == GGML_OP_VIEW && V->src[0] == K && V->data == K->data; const ggml_tensor * mask = dst->src[3]; const ggml_tensor * sinks = dst->src[4]; @@ -797,9 +792,9 @@ void launch_fattn( GGML_ASSERT(Q->type == GGML_TYPE_F32); GGML_ASSERT(KQV->type == GGML_TYPE_F32); - GGML_ASSERT( Q->nb[0] == ggml_element_size(Q)); - GGML_ASSERT( K->nb[0] == ggml_element_size(K)); - GGML_ASSERT(!V || V->nb[0] == ggml_element_size(V)); + GGML_ASSERT(Q->nb[0] == ggml_element_size(Q)); + GGML_ASSERT(K->nb[0] == ggml_element_size(K)); + GGML_ASSERT(V->nb[0] == ggml_element_size(V)); GGML_ASSERT(!mask || mask->type == GGML_TYPE_F16); @@ -820,10 +815,10 @@ void launch_fattn( size_t nb12 = K->nb[2]; size_t nb13 = K->nb[3]; - const char * V_data = V ? (const char *) V->data : nullptr; - size_t nb21 = V ? V->nb[1] : nb11; - size_t nb22 = V ? V->nb[2] : nb12; - size_t nb23 = V ? V->nb[3] : nb13; + const char * V_data = (const char *) V->data; + size_t nb21 = V->nb[1]; + size_t nb22 = V->nb[2]; + size_t nb23 = V->nb[3]; if (need_f16_K && K->type != GGML_TYPE_F16) { const size_t bs = ggml_blck_size(K->type); @@ -852,32 +847,39 @@ void launch_fattn( K_data = (char *) K_f16.ptr; } - if (V && need_f16_V && V->type != GGML_TYPE_F16) { - const size_t bs = ggml_blck_size(V->type); - const size_t ts = ggml_type_size(V->type); - - V_f16.alloc(ggml_nelements(V)); - if (ggml_is_contiguously_allocated(V)) { - to_fp16_cuda_t to_fp16 = ggml_get_to_fp16_cuda(V->type); - to_fp16(V_data, V_f16.ptr, ggml_nelements(V), main_stream); - V_data = (char *) V_f16.ptr; - - nb21 = nb21*bs*sizeof(half)/ts; - nb22 = nb22*bs*sizeof(half)/ts; - nb23 = nb23*bs*sizeof(half)/ts; + if (need_f16_V && V->type != GGML_TYPE_F16) { + if (V_is_K_view) { + V_data = K_data; + nb21 = nb11; + nb22 = nb12; + nb23 = nb13; } else { - GGML_ASSERT(V->nb[0] == ts); - to_fp16_nc_cuda_t to_fp16 = ggml_get_to_fp16_nc_cuda(V->type); - const int64_t s01 = nb21 / ts; - const int64_t s02 = nb22 / ts; - const int64_t s03 = nb23 / ts; - to_fp16(V_data, V_f16.ptr, V->ne[0], V->ne[1], V->ne[2], V->ne[3], s01, s02, s03, main_stream); + const size_t bs = ggml_blck_size(V->type); + const size_t ts = ggml_type_size(V->type); - nb21 = V->ne[0] * sizeof(half); - nb22 = V->ne[1] * nb21; - nb23 = V->ne[2] * nb22; + V_f16.alloc(ggml_nelements(V)); + if (ggml_is_contiguously_allocated(V)) { + to_fp16_cuda_t to_fp16 = ggml_get_to_fp16_cuda(V->type); + to_fp16(V_data, V_f16.ptr, ggml_nelements(V), main_stream); + V_data = (char *) V_f16.ptr; + + nb21 = nb21*bs*sizeof(half)/ts; + nb22 = nb22*bs*sizeof(half)/ts; + nb23 = nb23*bs*sizeof(half)/ts; + } else { + GGML_ASSERT(V->nb[0] == ts); + to_fp16_nc_cuda_t to_fp16 = ggml_get_to_fp16_nc_cuda(V->type); + const int64_t s01 = nb21 / ts; + const int64_t s02 = nb22 / ts; + const int64_t s03 = nb23 / ts; + to_fp16(V_data, V_f16.ptr, V->ne[0], V->ne[1], V->ne[2], V->ne[3], s01, s02, s03, main_stream); + + nb21 = V->ne[0] * sizeof(half); + nb22 = V->ne[1] * nb21; + nb23 = V->ne[2] * nb22; + } + V_data = (char *) V_f16.ptr; } - V_data = (char *) V_f16.ptr; } const int ntiles_x = ((Q->ne[1] + ncols1 - 1) / ncols1); diff --git a/ggml/src/ggml-cuda/fattn-mma-f16.cuh b/ggml/src/ggml-cuda/fattn-mma-f16.cuh index 203569e345..3e7d67b40d 100644 --- a/ggml/src/ggml-cuda/fattn-mma-f16.cuh +++ b/ggml/src/ggml-cuda/fattn-mma-f16.cuh @@ -400,7 +400,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_load_mask( } template static __device__ __forceinline__ void flash_attn_ext_f16_iter( const float2 * const __restrict__ Q_f2, @@ -442,8 +442,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( constexpr int stride_tile_Q = DKQ/2 + 4; constexpr int stride_tile_K = nbatch_K2 + 4; - static_assert(!mla || nbatch_K2 >= nbatch_V2, "bad nbatch_K2, nbatch_V2 for MLA"); - constexpr int stride_tile_V = mla ? stride_tile_K : nbatch_V2 + 4; + constexpr int stride_tile_V = V_is_K_view ? stride_tile_K : nbatch_V2 + 4; const int k_VKQ_0 = kb0 * nbatch_fa; #if defined(TURING_MMA_AVAILABLE) @@ -456,7 +455,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( if constexpr (nstages > 1) { static_assert(!oob_check, "OOB check incompatible with multi-stage pipeline"); - static_assert(!mla, "multi-stage loading not implemented for MLA"); + static_assert(!V_is_K_view, "K data reuse not implemented multi-stage loading"); static_assert(nbatch_K2 == DKQ/2, "batching not implemented for multi stage loading"); constexpr bool use_cp_async = true; cp_async_wait_all(); @@ -471,8 +470,10 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( } } + // For MLA K and V have the same data. + // Therefore, iterate over K in reverse and later re-use the data if possible. #pragma unroll - for (int k0_start = 0; k0_start < DKQ/2; k0_start += nbatch_K2) { + for (int k0_start = (DKQ/2-1) - (DKQ/2-1) % nbatch_K2; k0_start >= 0; k0_start -= nbatch_K2) { const int k0_stop = k0_start + nbatch_K2 < DKQ/2 ? k0_start + nbatch_K2 : DKQ/2; const int k0_diff = k0_stop - k0_start; @@ -776,6 +777,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( } if constexpr (nstages > 1) { + static_assert(!V_is_K_view, "K data reuse not implemented multi-stage loading"); // Preload K tile for next iteration: constexpr bool use_cp_async = true; cp_async_wait_all(); @@ -791,11 +793,6 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( } - // For MLA K and V have the same data. - // Therefore, iterate over V in reverse and re-use the data if possible. - static_assert(!mla || nstages <= 1, "combination of MLA and multi-stage loading not implemented"); - // constexpr int reusable_cutoff = mla ? (DV - 1) - (DV - 1) % (2*nbatch_K2) : DV; - constexpr int reusable_cutoff = DV; // TODO implement properly #if defined(AMD_WMMA_AVAILABLE) && !defined(LDMATRIX_TRANS_AVAILABLE) T_A_VKQ A_identity; make_identity_mat(A_identity); @@ -803,12 +800,13 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( // Calculate VKQ tile, need to use logical rather than physical elements for i0 due to transposition of V: #pragma unroll - for (int i0_stop = DV; i0_stop > 0; i0_stop -= 2*nbatch_V2) { - const int i0_start = i0_stop - 2*nbatch_V2 > 0 ? i0_stop - 2*nbatch_V2 : 0; - const int i0_diff = i0_stop - i0_start; + for (int i0_start = 0; i0_start < DV; i0_start += 2*nbatch_V2) { + static_assert(DV % (2*nbatch_V2) == 0, "bad loop size"); + const int i0_stop = i0_start + 2*nbatch_V2; + const int i0_diff = i0_stop - i0_start; if constexpr (nstages <= 1) { - if (i0_start < reusable_cutoff) { + if (!V_is_K_view || i0_stop > 2*nbatch_K2) { constexpr bool use_cp_async = nstages == 1; flash_attn_ext_f16_load_tile (V_h2 + int64_t(k_VKQ_0)*stride_V + i0_start/2, tile_V, i0_diff/2, stride_V, k_VKQ_sup); @@ -818,7 +816,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_iter( __syncthreads(); } } - const half2 * tile_V_i = i0_start < reusable_cutoff ? tile_V : tile_V + (i0_start - reusable_cutoff)/2; + const half2 * tile_V_i = !V_is_K_view || i0_stop > 2*nbatch_K2 ? tile_V : tile_V + i0_start/2; #if defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int i0_stride = cols_per_warp == 8 ? T_C_VKQ::I : 2*T_C_VKQ::J; @@ -921,7 +919,7 @@ template struct mma_tile_sizes { }; #endif // defined(TURING_MMA_AVAILABLE) -template +template static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const float2 * const __restrict__ Q_f2, const half2 * const __restrict__ K_h2, @@ -975,8 +973,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( constexpr int stride_tile_Q = DKQ/2 + 4; constexpr int stride_tile_K = nbatch_K2 + 4; - static_assert(!mla || nbatch_K2 >= nbatch_V2, "bad nbatch_K2, nbatch_V2 for MLA"); - constexpr int stride_tile_V = mla ? stride_tile_K : nbatch_V2 + 4; + constexpr int stride_tile_V = V_is_K_view ? stride_tile_K : nbatch_V2 + 4; constexpr int stride_tile_KV_max = stride_tile_K > stride_tile_V ? stride_tile_K : stride_tile_V; extern __shared__ half2 tile_Q[]; @@ -1080,7 +1077,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( constexpr bool last_iter = false; constexpr int k_VKQ_sup = nbatch_fa; flash_attn_ext_f16_iter - (Q_f2, K_h2, V_h2, mask_h, dstk, dstk_fixup, scale, slope, logit_softcap, ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, @@ -1089,7 +1086,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( constexpr bool last_iter = true; const int k_VKQ_sup = ne11 - kb0*nbatch_fa; flash_attn_ext_f16_iter - (Q_f2, K_h2, V_h2, mask_h, dstk, dstk_fixup, scale, slope, logit_softcap, ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, @@ -1100,7 +1097,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( constexpr bool last_iter = false; constexpr int k_VKQ_sup = nbatch_fa; flash_attn_ext_f16_iter - (Q_f2, K_h2, V_h2, mask_h, dstk, dstk_fixup, scale, slope, logit_softcap, ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, @@ -1109,7 +1106,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( constexpr bool last_iter = true; constexpr int k_VKQ_sup = nbatch_fa; flash_attn_ext_f16_iter - (Q_f2, K_h2, V_h2, mask_h, dstk, dstk_fixup, scale, slope, logit_softcap, ne01, ne02, stride_K, stride_V, stride_mask, tile_Q, tile_K, tile_V, tile_mask, Q_B, VKQ_C, @@ -1457,7 +1454,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( #endif // defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || (defined(AMD_WMMA_AVAILABLE) && defined(RDNA4)) } -template +template __launch_bounds__(ggml_cuda_fattn_mma_get_nthreads(DKQ, DV, ncols1*ncols2), ggml_cuda_fattn_mma_get_occupancy(DKQ, DV, ncols1*ncols2)) static __global__ void flash_attn_ext_f16( const char * __restrict__ Q, @@ -1509,8 +1506,6 @@ static __global__ void flash_attn_ext_f16( } #endif // defined(AMD_WMMA_AVAILABLE) - static_assert(!mla || DKQ >= DV, "MLA needs DKQ >= DV"); - constexpr int ncols = ncols1 * ncols2; constexpr int nbatch_fa = ggml_cuda_fattn_mma_get_nbatch_fa(DKQ, DV, ncols); constexpr int nthreads = ggml_cuda_fattn_mma_get_nthreads(DKQ, DV, ncols); @@ -1523,7 +1518,7 @@ static __global__ void flash_attn_ext_f16( const int stride_K = nb11 / sizeof(half2); const int stride_mask = nb31 / sizeof(half); - const int stride_V = mla ? stride_K : nb21 / sizeof(half2); + const int stride_V = V_is_K_view ? stride_K : nb21 / sizeof(half2); const int iter_k = (ne11 + (nbatch_fa - 1)) / nbatch_fa; const int iter_j = (ne01.z + (ncols1 - 1)) / ncols1; @@ -1553,7 +1548,7 @@ static __global__ void flash_attn_ext_f16( (const half *) (mask + nb33*(sequence % ne33)); float2 * dstk = ((float2 *) dst) + (sequence*ne01.z*ne02 + head0) * (DV/2); - const half2 * V_h2 = mla ? K_h2 : (const half2 *) (V + nb23*sequence + nb22*(head0 / gqa_ratio)); + const half2 * V_h2 = V_is_K_view ? K_h2 : (const half2 *) (V + nb23*sequence + nb22*(head0 / gqa_ratio)); const float * sinks_f = sinks ? (const float *) sinks + head0 : nullptr; const float slope = ncols2 == 1 ? get_alibi_slope(max_bias, head0, n_head_log2, m0, m1) : 1.0f; @@ -1564,12 +1559,12 @@ static __global__ void flash_attn_ext_f16( constexpr bool is_fixup = false; // All but (potentially) the last iterations write their data to dst rather than the fixup buffer. if (kb0_start == 0) { constexpr bool needs_fixup = false; // CUDA block is working on an entire tile. - flash_attn_ext_f16_process_tile + flash_attn_ext_f16_process_tile (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); } else { constexpr bool needs_fixup = true; // CUDA block is missing the beginning of a tile. - flash_attn_ext_f16_process_tile + flash_attn_ext_f16_process_tile (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); } @@ -1597,7 +1592,7 @@ static __global__ void flash_attn_ext_f16( (const half *) (mask + nb33*(sequence % ne33)); float2 * dstk = ((float2 *) dst) + (sequence*ne01.z*ne02 + head0) * (DV/2); - const half2 * V_h2 = mla ? K_h2 : (const half2 *) (V + nb23*sequence + nb22*(head0 / gqa_ratio)); + const half2 * V_h2 = V_is_K_view ? K_h2 : (const half2 *) (V + nb23*sequence + nb22*(head0 / gqa_ratio)); const float * sinks_f = sinks ? (const float *) sinks + head0 : nullptr; const float slope = ncols2 == 1 ? get_alibi_slope(max_bias, head0, n_head_log2, m0, m1) : 1.0f; @@ -1608,7 +1603,7 @@ static __global__ void flash_attn_ext_f16( constexpr bool is_fixup = true; // Last index writes its data to fixup buffer to avoid data races with other blocks. constexpr bool needs_fixup = false; - flash_attn_ext_f16_process_tile + flash_attn_ext_f16_process_tile (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); #else @@ -1644,7 +1639,7 @@ void ggml_cuda_flash_attn_ext_mma_f16_case(ggml_backend_cuda_context & ctx, ggml const int cols_per_warp = std::min(ncols, get_cols_per_warp(cc)); const int nwarps = nthreads / WARP_SIZE; - constexpr bool mla = DKQ == 576; + constexpr bool V_is_K_view = DKQ == 576; // Guaranteed by the kernel selection logic in fattn.cu const size_t nbytes_shared_KV_1stage = nbatch_fa * std::max(nbatch_K2 + 4, nbatch_V2 + 4) * sizeof(half2); const size_t nbytes_shared_KV_2stage = nbatch_fa * (nbatch_K2 + 4 + nbatch_V2 + 4) * sizeof(half2); @@ -1669,7 +1664,7 @@ void ggml_cuda_flash_attn_ext_mma_f16_case(ggml_backend_cuda_context & ctx, ggml fattn_kernel_t fattn_kernel; if (logit_softcap == 0.0f) { constexpr bool use_logit_softcap = false; - fattn_kernel = flash_attn_ext_f16; + fattn_kernel = flash_attn_ext_f16; #if !defined(GGML_USE_MUSA) static bool shared_memory_limit_raised[GGML_CUDA_MAX_DEVICES] = {false}; @@ -1680,7 +1675,7 @@ void ggml_cuda_flash_attn_ext_mma_f16_case(ggml_backend_cuda_context & ctx, ggml #endif // !defined(GGML_USE_MUSA) } else { constexpr bool use_logit_softcap = true; - fattn_kernel = flash_attn_ext_f16; + fattn_kernel = flash_attn_ext_f16; #if !defined(GGML_USE_MUSA) static bool shared_memory_limit_raised[GGML_CUDA_MAX_DEVICES] = {false}; diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index 87f07a2f93..ba2b96bc32 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -247,6 +247,8 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const } } + const bool V_is_K_view = V->op == GGML_OP_VIEW && V->src[0] == K && V->data == K->data; + const int cc = ggml_cuda_info().devices[device].cc; switch (K->ne[0]) { @@ -269,6 +271,9 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const if (!gqa_opt_applies || gqa_ratio % 4 != 0) { return BEST_FATTN_KERNEL_NONE; } + if (!V_is_K_view) { + return BEST_FATTN_KERNEL_NONE; + } break; default: return BEST_FATTN_KERNEL_NONE; From bb02f74c612064947e51d23269a1cf810b67c9a7 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Sat, 24 Jan 2026 17:58:45 +0100 Subject: [PATCH 007/206] chat: fix language input for translategemma (#19052) * chat: fix language input for translategemma * Update common/chat.cpp Co-authored-by: Aldehir Rojas --------- Co-authored-by: Aldehir Rojas --- common/chat.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/common/chat.cpp b/common/chat.cpp index aba26e97a1..eeb38ad06a 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -2659,6 +2659,10 @@ static common_chat_params common_chat_params_init_translate_gemma(const common_c templates_params inputs_new = inputs; json & messages = inputs_new.messages; + // default to chat_template_kwargs, or en-GB if not specified + std::string default_src_lang = inputs.extra_context.value("source_lang_code", "en-GB"); + std::string default_tgt_lang = inputs.extra_context.value("target_lang_code", "en-GB"); + GGML_ASSERT(messages.is_array()); for (auto & message : messages) { if (message.contains("role") && message["role"].get() != "user") { @@ -2670,8 +2674,10 @@ static common_chat_params common_chat_params_init_translate_gemma(const common_c if (message.contains("content") && !message["content"].is_array()) { auto content_str = message["content"].get(); // default to en-GB if not specified (to make common_chat_format_example works) - auto src_lang = message.contains("source_lang_code") ? message["source_lang_code"].get() : "en-GB"; - auto tgt_lang = message.contains("target_lang_code") ? message["target_lang_code"].get() : "en-GB"; + auto src_lang = message.contains("source_lang_code") + ? message["source_lang_code"].get() : default_src_lang; + auto tgt_lang = message.contains("target_lang_code") + ? message["target_lang_code"].get() : default_tgt_lang; message["content"] = json::array({ json{ {"type", "text"}, From 4e5b83b226919c146fbfa754641a6772bcb2d722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sat, 24 Jan 2026 21:57:51 +0100 Subject: [PATCH 008/206] GGUF: check that tensor size is representable (#19072) --- ggml/src/gguf.cpp | 8 ++++++++ tests/test-gguf.cpp | 19 +++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/ggml/src/gguf.cpp b/ggml/src/gguf.cpp index bfab5c4d60..ed0d7f2cae 100644 --- a/ggml/src/gguf.cpp +++ b/ggml/src/gguf.cpp @@ -585,6 +585,14 @@ struct gguf_context * gguf_init_from_file_impl(FILE * file, struct gguf_init_par break; } + // check that the size of the tensor in bytes is representable + if (ok && uint64_t(ggml_nelements(&info.t)/ggml_blck_size(info.t.type)) > SIZE_MAX/ggml_type_size(info.t.type)) { + GGML_LOG_ERROR("%s: tensor '%s' with shape (%" PRIi64 ", %" PRIi64 ", %" PRIi64 ", %" PRIi64 ") has a size in bytes > %zu\n", + __func__, info.t.name, info.t.ne[0], info.t.ne[1], info.t.ne[2], info.t.ne[3], SIZE_MAX); + ok = false; + break; + } + // calculate byte offsets given the tensor shape and type info.t.nb[0] = type_size; info.t.nb[1] = info.t.nb[0]*(info.t.ne[0]/blck_size); diff --git a/tests/test-gguf.cpp b/tests/test-gguf.cpp index 3f0c312e2f..84b7f3bc49 100644 --- a/tests/test-gguf.cpp +++ b/tests/test-gguf.cpp @@ -1,9 +1,11 @@ #include "ggml.h" #include "ggml-backend.h" #include "../ggml/src/ggml-impl.h" +#include "gguf.h" #include #include +#include #include #include #include @@ -34,6 +36,7 @@ enum handcrafted_file_type { HANDCRAFTED_TENSORS_BAD_N_DIMS = 20 + offset_has_tensors, HANDCRAFTED_TENSORS_BAD_SHAPE = 30 + offset_has_tensors, HANDCRAFTED_TENSORS_NE_TOO_BIG = 40 + offset_has_tensors, + HANDCRAFTED_TENSORS_NBYTES_TOO_BIG = 45 + offset_has_tensors, HANDCRAFTED_TENSORS_BAD_TYPE = 50 + offset_has_tensors, HANDCRAFTED_TENSORS_BAD_OFFSET = 60 + offset_has_tensors, HANDCRAFTED_TENSORS_DUPLICATE_NAME = 70 + offset_has_tensors, @@ -69,6 +72,7 @@ static std::string handcrafted_file_type_name(const enum handcrafted_file_type h case HANDCRAFTED_TENSORS_BAD_N_DIMS: return "TENSORS_BAD_N_DIMS"; case HANDCRAFTED_TENSORS_BAD_SHAPE: return "TENSORS_BAD_SHAPE"; case HANDCRAFTED_TENSORS_NE_TOO_BIG: return "TENSORS_NE_TOO_BIG"; + case HANDCRAFTED_TENSORS_NBYTES_TOO_BIG: return "TENSORS_NBYTES_TOO_BIG"; case HANDCRAFTED_TENSORS_BAD_TYPE: return "TENSORS_BAD_TYPE"; case HANDCRAFTED_TENSORS_BAD_OFFSET: return "TENSORS_BAD_OFFSET"; case HANDCRAFTED_TENSORS_DUPLICATE_NAME: return "TENSORS_DUPLICATE_NAME"; @@ -326,7 +330,7 @@ static FILE * get_handcrafted_file(const unsigned int seed, const enum handcraft uint64_t offset = 0; for (int i = 0; i < int(tensor_configs.size()); ++i) { - const ggml_type type = tensor_configs[i].first; + const ggml_type type = hft == HANDCRAFTED_TENSORS_NBYTES_TOO_BIG ? GGML_TYPE_I64 : tensor_configs[i].first; const std::array shape = tensor_configs[i].second; std::string name = "my_tensor"; @@ -343,7 +347,7 @@ static FILE * get_handcrafted_file(const unsigned int seed, const enum handcraft } helper_write(file, name.data(), name.length()); - uint32_t n_dims = hft == HANDCRAFTED_TENSORS_NE_TOO_BIG ? 2 : 1; + uint32_t n_dims = (hft == HANDCRAFTED_TENSORS_NE_TOO_BIG || hft == HANDCRAFTED_TENSORS_NBYTES_TOO_BIG) ? 2 : 1; for (int i = GGML_MAX_DIMS-1; i >= 1; --i) { if (shape[i] != 1) { n_dims = i + 1; @@ -358,13 +362,19 @@ static FILE * get_handcrafted_file(const unsigned int seed, const enum handcraft } if (hft == HANDCRAFTED_TENSORS_BAD_SHAPE) { + const int64_t bad_dim = -1; for (uint32_t j = 0; j < n_dims; ++j) { - const int64_t bad_dim = -1; helper_write(file, bad_dim); } } else if (hft == HANDCRAFTED_TENSORS_NE_TOO_BIG){ + const int64_t big_dim = 4*int64_t(INT32_MAX); + for (uint32_t j = 0; j < n_dims; ++j) { + helper_write(file, big_dim); + } + } else if (hft == HANDCRAFTED_TENSORS_NBYTES_TOO_BIG){ + const size_t big_ne = SIZE_MAX/ggml_type_size(type); + const int64_t big_dim = GGML_PAD(int64_t(1.01f*std::pow(big_ne, 1.0f/n_dims)) + 1, ggml_blck_size(type)); for (uint32_t j = 0; j < n_dims; ++j) { - const int64_t big_dim = 4*int64_t(INT32_MAX); helper_write(file, big_dim); } } else { @@ -682,6 +692,7 @@ static std::pair test_handcrafted_file(const unsigned int seed) { HANDCRAFTED_TENSORS_BAD_N_DIMS, HANDCRAFTED_TENSORS_BAD_SHAPE, HANDCRAFTED_TENSORS_NE_TOO_BIG, + HANDCRAFTED_TENSORS_NBYTES_TOO_BIG, HANDCRAFTED_TENSORS_BAD_TYPE, HANDCRAFTED_TENSORS_BAD_OFFSET, HANDCRAFTED_TENSORS_DUPLICATE_NAME, From e9fd8dcab45d6cd147874e32565923bdfd0efbdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sat, 24 Jan 2026 22:13:08 +0100 Subject: [PATCH 009/206] llama-fit-params: keep explicit --ctx-size 0 (#19070) --- common/arg.cpp | 4 ++++ include/llama.h | 1 + src/llama.cpp | 8 ++++++-- tools/fit-params/fit-params.cpp | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 163c9b71b0..98477e8117 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1231,6 +1231,10 @@ common_params_context common_params_parser_init(common_params & params, llama_ex string_format("size of the prompt context (default: %d, 0 = loaded from model)", params.n_ctx), [](common_params & params, int value) { params.n_ctx = value; + if (value == 0) { + // disable context reduction in llama_params_fit if the user explicitly requests the full context size: + params.fit_params_min_ctx = UINT32_MAX; + } } ).set_env("LLAMA_ARG_CTX_SIZE")); add_opt(common_arg( diff --git a/include/llama.h b/include/llama.h index 280745713e..1507107f1a 100644 --- a/include/llama.h +++ b/include/llama.h @@ -489,6 +489,7 @@ extern "C" { // - returns true if the parameters could be successfully modified to fit device memory // - this function is NOT thread safe because it modifies the global llama logger state // - only parameters that have the same value as in llama_default_model_params are modified + // with the exception of the context size which is modified if and only if equal to 0 LLAMA_API enum llama_params_fit_status llama_params_fit( const char * path_model, struct llama_model_params * mparams, diff --git a/src/llama.cpp b/src/llama.cpp index f1096d960e..11b75fcff9 100644 --- a/src/llama.cpp +++ b/src/llama.cpp @@ -311,8 +311,12 @@ static void llama_params_fit_impl( __func__, hp_nct, cparams->n_ctx, memory_reduction/MiB); } } else { - LLAMA_LOG_INFO("%s: default model context size is %" PRIu32 " which is <= the min. context size of %" PRIu32 " -> no change\n", - __func__, hp_nct, n_ctx_min); + if (n_ctx_min == UINT32_MAX) { + LLAMA_LOG_INFO("%s: user has requested full context size of %" PRIu32 " -> no change\n", __func__, hp_nct); + } else { + LLAMA_LOG_INFO("%s: default model context size is %" PRIu32 " which is <= the min. context size of %" PRIu32 " -> no change\n", + __func__, hp_nct, n_ctx_min); + } } } else { LLAMA_LOG_INFO("%s: context size set by user to %" PRIu32 " -> no change\n", __func__, cparams->n_ctx); diff --git a/tools/fit-params/fit-params.cpp b/tools/fit-params/fit-params.cpp index f9d9cb34c7..0176be06e7 100644 --- a/tools/fit-params/fit-params.cpp +++ b/tools/fit-params/fit-params.cpp @@ -36,7 +36,7 @@ int main(int argc, char ** argv) { LOG_INF("%s: printing fitted CLI arguments to stdout...\n", __func__); common_log_flush(common_log_main()); - printf("-c %" PRIu32 " -ngl %" PRIu32, cparams.n_ctx, mparams.n_gpu_layers); + printf("-c %" PRIu32 " -ngl %" PRIi32, cparams.n_ctx, mparams.n_gpu_layers); size_t nd = llama_max_devices(); while (nd > 1 && mparams.tensor_split[nd - 1] == 0.0f) { From 9981c3013018b1e955f2e44dbe514032496d3f6e Mon Sep 17 00:00:00 2001 From: Bartowski <3266127+bartowski1182@users.noreply.github.com> Date: Sat, 24 Jan 2026 20:36:47 -0500 Subject: [PATCH 010/206] convert : fix conversion for inheriting models that were bypassing modify_tensors (#19064) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add undo_permute = False where needed * Replace super().modify_tensors with ModelBase * Add one more ModelBase.modify_tensors * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret --------- Co-authored-by: Sigbjørn Skjæret --- convert_hf_to_gguf.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 8cc4963fb2..d8bc95fa6a 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -2736,7 +2736,7 @@ class AfmoeModel(LlamaModel): data_torch = torch.stack(datas, dim=0) merged_name = f"model.layers.{bid}.mlp.experts.{w_name}.weight" - yield from super().modify_tensors(data_torch, merged_name, bid) + yield from ModelBase.modify_tensors(self, data_torch, merged_name, bid) return else: @@ -2745,7 +2745,7 @@ class AfmoeModel(LlamaModel): if name.endswith(".expert_bias"): name = name.replace(".expert_bias", ".expert_bias.bias") - yield from super().modify_tensors(data_torch, name, bid) + yield from ModelBase.modify_tensors(self, data_torch, name, bid) @ModelBase.register( @@ -8918,7 +8918,7 @@ class GraniteHybridModel(Mamba2Model, GraniteMoeModel): return Mamba2Model.modify_tensors(self, data_torch, name, bid) elif bid in self._attn_layers: return GraniteMoeModel.modify_tensors(self, data_torch, name, bid) - yield from super().modify_tensors(data_torch, name, bid) + yield from ModelBase.modify_tensors(self, data_torch, name, bid) def set_gguf_parameters(self): """This method merges params from both parents and some that are @@ -9050,33 +9050,33 @@ class NemotronHModel(GraniteHybridModel): if self.is_moe and bid is not None: if name.endswith("mixer.gate.e_score_correction_bias"): new_name = name.replace("e_score_correction_bias", "e_score_correction.bias") - yield from super().modify_tensors(data_torch, new_name, bid) + yield from ModelBase.modify_tensors(self, data_torch, new_name, bid) return if name.endswith("mixer.dt_bias"): new_name = name.replace("dt_bias", "dt.bias") - yield from super().modify_tensors(data_torch, new_name, bid) + yield from ModelBase.modify_tensors(self, data_torch, new_name, bid) return if name.endswith("mixer.conv1d.weight"): squeezed_data = data_torch.squeeze() - yield from super().modify_tensors(squeezed_data, name, bid) + yield from ModelBase.modify_tensors(self, squeezed_data, name, bid) return if name.endswith("mixer.A_log"): transformed_data = -torch.exp(data_torch) reshaped_data = transformed_data.squeeze().reshape(-1, 1) - yield from super().modify_tensors(reshaped_data, name, bid) + yield from ModelBase.modify_tensors(self, reshaped_data, name, bid) return if name.endswith("mixer.D"): reshaped_data = data_torch.squeeze().reshape(-1, 1) - yield from super().modify_tensors(reshaped_data, name, bid) + yield from ModelBase.modify_tensors(self, reshaped_data, name, bid) return if name.endswith("mixer.norm.weight"): reshaped_data = data_torch.reshape(self.n_group, -1) - yield from super().modify_tensors(reshaped_data, name, bid) + yield from ModelBase.modify_tensors(self, reshaped_data, name, bid) return if name.find("mixer.experts") != -1: @@ -9101,7 +9101,7 @@ class NemotronHModel(GraniteHybridModel): data_torch = torch.stack(datas, dim=0) merged_name = f"model.layers.{bid}.mlp.experts.{w_name}.weight" - yield from super().modify_tensors(data_torch, merged_name, bid) + yield from ModelBase.modify_tensors(self, data_torch, merged_name, bid) return else: return @@ -10731,7 +10731,7 @@ class CogVLMModel(LlamaModel): if name.startswith("model.vision."): return - yield from super().modify_tensors(data_torch, name, bid) + yield from ModelBase.modify_tensors(self, data_torch, name, bid) @ModelBase.register("JanusForConditionalGeneration") From 16639ba2178fc1ccbae912d678d8b515dc4dc322 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Sun, 25 Jan 2026 07:31:42 +0100 Subject: [PATCH 011/206] common : use two decimal places for float arg help messages (#19048) * common : use two decimal places for float arg help messages This commit updates the help messages for various command-line arguments in arg.cpp to display floating-point default values with two decimal places instead of one. The motivation for this changes is that currently only having one decimal place means that values generated using --help or llama-gen-docs will not display the correct values. For example, currently the value of top-p in tools/server/README.md is `0.9`, but the default value is actually '0.95'. And running llama-gen-docs does not update this value as it uses the output from the help message, which shows only one decimal place, so the values look like they are unchanged. * docs : run llama-gen-docs to update docs --- common/arg.cpp | 42 +++++++++++++++---------------- tools/cli/README.md | 48 +++++++++++++++++------------------ tools/completion/README.md | 44 ++++++++++++++++---------------- tools/server/README.md | 51 +++++++++++++++++++------------------- 4 files changed, 94 insertions(+), 91 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 98477e8117..04fd375d56 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1577,7 +1577,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--temp"}, "N", - string_format("temperature (default: %.1f)", (double)params.sampling.temp), + string_format("temperature (default: %.2f)", (double)params.sampling.temp), [](common_params & params, const std::string & value) { params.sampling.temp = std::stof(value); params.sampling.temp = std::max(params.sampling.temp, 0.0f); @@ -1594,7 +1594,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam().set_env("LLAMA_ARG_TOP_K")); add_opt(common_arg( {"--top-p"}, "N", - string_format("top-p sampling (default: %.1f, 1.0 = disabled)", (double)params.sampling.top_p), + string_format("top-p sampling (default: %.2f, 1.0 = disabled)", (double)params.sampling.top_p), [](common_params & params, const std::string & value) { params.sampling.top_p = std::stof(value); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_TOP_P; @@ -1602,7 +1602,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--min-p"}, "N", - string_format("min-p sampling (default: %.1f, 0.0 = disabled)", (double)params.sampling.min_p), + string_format("min-p sampling (default: %.2f, 0.0 = disabled)", (double)params.sampling.min_p), [](common_params & params, const std::string & value) { params.sampling.min_p = std::stof(value); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIN_P; @@ -1610,14 +1610,14 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--top-nsigma"}, "N", - string_format("top-n-sigma sampling (default: %.1f, -1.0 = disabled)", params.sampling.top_n_sigma), + string_format("top-n-sigma sampling (default: %.2f, -1.0 = disabled)", params.sampling.top_n_sigma), [](common_params & params, const std::string & value) { params.sampling.top_n_sigma = std::stof(value); } ).set_sparam()); add_opt(common_arg( {"--xtc-probability"}, "N", - string_format("xtc probability (default: %.1f, 0.0 = disabled)", (double)params.sampling.xtc_probability), + string_format("xtc probability (default: %.2f, 0.0 = disabled)", (double)params.sampling.xtc_probability), [](common_params & params, const std::string & value) { params.sampling.xtc_probability = std::stof(value); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_XTC_PROBABILITY; @@ -1625,7 +1625,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--xtc-threshold"}, "N", - string_format("xtc threshold (default: %.1f, 1.0 = disabled)", (double)params.sampling.xtc_threshold), + string_format("xtc threshold (default: %.2f, 1.0 = disabled)", (double)params.sampling.xtc_threshold), [](common_params & params, const std::string & value) { params.sampling.xtc_threshold = std::stof(value); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_XTC_THRESHOLD; @@ -1633,7 +1633,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--typical"}, "N", - string_format("locally typical sampling, parameter p (default: %.1f, 1.0 = disabled)", (double)params.sampling.typ_p), + string_format("locally typical sampling, parameter p (default: %.2f, 1.0 = disabled)", (double)params.sampling.typ_p), [](common_params & params, const std::string & value) { params.sampling.typ_p = std::stof(value); } @@ -1652,7 +1652,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--repeat-penalty"}, "N", - string_format("penalize repeat sequence of tokens (default: %.1f, 1.0 = disabled)", (double)params.sampling.penalty_repeat), + string_format("penalize repeat sequence of tokens (default: %.2f, 1.0 = disabled)", (double)params.sampling.penalty_repeat), [](common_params & params, const std::string & value) { params.sampling.penalty_repeat = std::stof(value); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_PENALTY_REPEAT; @@ -1660,21 +1660,21 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--presence-penalty"}, "N", - string_format("repeat alpha presence penalty (default: %.1f, 0.0 = disabled)", (double)params.sampling.penalty_present), + string_format("repeat alpha presence penalty (default: %.2f, 0.0 = disabled)", (double)params.sampling.penalty_present), [](common_params & params, const std::string & value) { params.sampling.penalty_present = std::stof(value); } ).set_sparam()); add_opt(common_arg( {"--frequency-penalty"}, "N", - string_format("repeat alpha frequency penalty (default: %.1f, 0.0 = disabled)", (double)params.sampling.penalty_freq), + string_format("repeat alpha frequency penalty (default: %.2f, 0.0 = disabled)", (double)params.sampling.penalty_freq), [](common_params & params, const std::string & value) { params.sampling.penalty_freq = std::stof(value); } ).set_sparam()); add_opt(common_arg( {"--dry-multiplier"}, "N", - string_format("set DRY sampling multiplier (default: %.1f, 0.0 = disabled)", (double)params.sampling.dry_multiplier), + string_format("set DRY sampling multiplier (default: %.2f, 0.0 = disabled)", (double)params.sampling.dry_multiplier), [](common_params & params, const std::string & value) { params.sampling.dry_multiplier = std::stof(value); } @@ -1755,14 +1755,14 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--dynatemp-range"}, "N", - string_format("dynamic temperature range (default: %.1f, 0.0 = disabled)", (double)params.sampling.dynatemp_range), + string_format("dynamic temperature range (default: %.2f, 0.0 = disabled)", (double)params.sampling.dynatemp_range), [](common_params & params, const std::string & value) { params.sampling.dynatemp_range = std::stof(value); } ).set_sparam()); add_opt(common_arg( {"--dynatemp-exp"}, "N", - string_format("dynamic temperature exponent (default: %.1f)", (double)params.sampling.dynatemp_exponent), + string_format("dynamic temperature exponent (default: %.2f)", (double)params.sampling.dynatemp_exponent), [](common_params & params, const std::string & value) { params.sampling.dynatemp_exponent = std::stof(value); } @@ -1778,7 +1778,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--mirostat-lr"}, "N", - string_format("Mirostat learning rate, parameter eta (default: %.1f)", (double)params.sampling.mirostat_eta), + string_format("Mirostat learning rate, parameter eta (default: %.2f)", (double)params.sampling.mirostat_eta), [](common_params & params, const std::string & value) { params.sampling.mirostat_eta = std::stof(value); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT_ETA; @@ -1786,7 +1786,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_sparam()); add_opt(common_arg( {"--mirostat-ent"}, "N", - string_format("Mirostat target entropy, parameter tau (default: %.1f)", (double)params.sampling.mirostat_tau), + string_format("Mirostat target entropy, parameter tau (default: %.2f)", (double)params.sampling.mirostat_tau), [](common_params & params, const std::string & value) { params.sampling.mirostat_tau = std::stof(value); params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT_TAU; @@ -1920,28 +1920,28 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_env("LLAMA_ARG_YARN_ORIG_CTX")); add_opt(common_arg( {"--yarn-ext-factor"}, "N", - string_format("YaRN: extrapolation mix factor (default: %.1f, 0.0 = full interpolation)", (double)params.yarn_ext_factor), + string_format("YaRN: extrapolation mix factor (default: %.2f, 0.0 = full interpolation)", (double)params.yarn_ext_factor), [](common_params & params, const std::string & value) { params.yarn_ext_factor = std::stof(value); } ).set_env("LLAMA_ARG_YARN_EXT_FACTOR")); add_opt(common_arg( {"--yarn-attn-factor"}, "N", - string_format("YaRN: scale sqrt(t) or attention magnitude (default: %.1f)", (double)params.yarn_attn_factor), + string_format("YaRN: scale sqrt(t) or attention magnitude (default: %.2f)", (double)params.yarn_attn_factor), [](common_params & params, const std::string & value) { params.yarn_attn_factor = std::stof(value); } ).set_env("LLAMA_ARG_YARN_ATTN_FACTOR")); add_opt(common_arg( {"--yarn-beta-slow"}, "N", - string_format("YaRN: high correction dim or alpha (default: %.1f)", (double)params.yarn_beta_slow), + string_format("YaRN: high correction dim or alpha (default: %.2f)", (double)params.yarn_beta_slow), [](common_params & params, const std::string & value) { params.yarn_beta_slow = std::stof(value); } ).set_env("LLAMA_ARG_YARN_BETA_SLOW")); add_opt(common_arg( {"--yarn-beta-fast"}, "N", - string_format("YaRN: low correction dim or beta (default: %.1f)", (double)params.yarn_beta_fast), + string_format("YaRN: low correction dim or beta (default: %.2f)", (double)params.yarn_beta_fast), [](common_params & params, const std::string & value) { params.yarn_beta_fast = std::stof(value); } @@ -3335,14 +3335,14 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_examples({LLAMA_EXAMPLE_SPECULATIVE, LLAMA_EXAMPLE_LOOKUP, LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_CLI}).set_env("LLAMA_ARG_DRAFT_MIN")); add_opt(common_arg( {"--draft-p-split"}, "P", - string_format("speculative decoding split probability (default: %.1f)", (double)params.speculative.p_split), + string_format("speculative decoding split probability (default: %.2f)", (double)params.speculative.p_split), [](common_params & params, const std::string & value) { params.speculative.p_split = std::stof(value); } ).set_examples({LLAMA_EXAMPLE_SPECULATIVE}).set_env("LLAMA_ARG_DRAFT_P_SPLIT")); add_opt(common_arg( {"--draft-p-min"}, "P", - string_format("minimum speculative decoding probability (greedy) (default: %.1f)", (double)params.speculative.p_min), + string_format("minimum speculative decoding probability (greedy) (default: %.2f)", (double)params.speculative.p_min), [](common_params & params, const std::string & value) { params.speculative.p_min = std::stof(value); } diff --git a/tools/cli/README.md b/tools/cli/README.md index 3b6f0708ed..4a15cbad9d 100644 --- a/tools/cli/README.md +++ b/tools/cli/README.md @@ -45,10 +45,10 @@ | `--rope-freq-base N` | RoPE base frequency, used by NTK-aware scaling (default: loaded from model)
(env: LLAMA_ARG_ROPE_FREQ_BASE) | | `--rope-freq-scale N` | RoPE frequency scaling factor, expands context by a factor of 1/N
(env: LLAMA_ARG_ROPE_FREQ_SCALE) | | `--yarn-orig-ctx N` | YaRN: original context size of model (default: 0 = model training context size)
(env: LLAMA_ARG_YARN_ORIG_CTX) | -| `--yarn-ext-factor N` | YaRN: extrapolation mix factor (default: -1.0, 0.0 = full interpolation)
(env: LLAMA_ARG_YARN_EXT_FACTOR) | -| `--yarn-attn-factor N` | YaRN: scale sqrt(t) or attention magnitude (default: -1.0)
(env: LLAMA_ARG_YARN_ATTN_FACTOR) | -| `--yarn-beta-slow N` | YaRN: high correction dim or alpha (default: -1.0)
(env: LLAMA_ARG_YARN_BETA_SLOW) | -| `--yarn-beta-fast N` | YaRN: low correction dim or beta (default: -1.0)
(env: LLAMA_ARG_YARN_BETA_FAST) | +| `--yarn-ext-factor N` | YaRN: extrapolation mix factor (default: -1.00, 0.0 = full interpolation)
(env: LLAMA_ARG_YARN_EXT_FACTOR) | +| `--yarn-attn-factor N` | YaRN: scale sqrt(t) or attention magnitude (default: -1.00)
(env: LLAMA_ARG_YARN_ATTN_FACTOR) | +| `--yarn-beta-slow N` | YaRN: high correction dim or alpha (default: -1.00)
(env: LLAMA_ARG_YARN_BETA_SLOW) | +| `--yarn-beta-fast N` | YaRN: low correction dim or beta (default: -1.00)
(env: LLAMA_ARG_YARN_BETA_FAST) | | `-kvo, --kv-offload, -nkvo, --no-kv-offload` | whether to enable KV cache offloading (default: enabled)
(env: LLAMA_ARG_KV_OFFLOAD) | | `--repack, -nr, --no-repack` | whether to enable weight repacking (default: enabled)
(env: LLAMA_ARG_REPACK) | | `--no-host` | bypass host buffer allowing extra buffers to be used
(env: LLAMA_ARG_NO_HOST) | @@ -109,30 +109,30 @@ | `-s, --seed SEED` | RNG seed (default: -1, use random seed for -1) | | `--sampler-seq, --sampling-seq SEQUENCE` | simplified sequence for samplers that will be used (default: edskypmxt) | | `--ignore-eos` | ignore end of stream token and continue generating (implies --logit-bias EOS-inf) | -| `--temp N` | temperature (default: 0.8) | +| `--temp N` | temperature (default: 0.80) | | `--top-k N` | top-k sampling (default: 40, 0 = disabled)
(env: LLAMA_ARG_TOP_K) | -| `--top-p N` | top-p sampling (default: 0.9, 1.0 = disabled) | -| `--min-p N` | min-p sampling (default: 0.1, 0.0 = disabled) | -| `--adaptive-target N` | adaptive-p: select tokens near this probability (valid range 0.0 to 1.0; negative = disabled) | -| `--adaptive-decay N` | adaptive-p: EMA decay for adaptation; effective history length ≈ 1/(1-decay) tokens (valid range 0.0 - 0.99) | -| `--top-nsigma N` | top-n-sigma sampling (default: -1.0, -1.0 = disabled) | -| `--xtc-probability N` | xtc probability (default: 0.0, 0.0 = disabled) | -| `--xtc-threshold N` | xtc threshold (default: 0.1, 1.0 = disabled) | -| `--typical N` | locally typical sampling, parameter p (default: 1.0, 1.0 = disabled) | +| `--top-p N` | top-p sampling (default: 0.95, 1.0 = disabled) | +| `--min-p N` | min-p sampling (default: 0.05, 0.0 = disabled) | +| `--top-nsigma N` | top-n-sigma sampling (default: -1.00, -1.0 = disabled) | +| `--xtc-probability N` | xtc probability (default: 0.00, 0.0 = disabled) | +| `--xtc-threshold N` | xtc threshold (default: 0.10, 1.0 = disabled) | +| `--typical N` | locally typical sampling, parameter p (default: 1.00, 1.0 = disabled) | | `--repeat-last-n N` | last n tokens to consider for penalize (default: 64, 0 = disabled, -1 = ctx_size) | -| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled) | -| `--presence-penalty N` | repeat alpha presence penalty (default: 0.0, 0.0 = disabled) | -| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.0, 0.0 = disabled) | -| `--dry-multiplier N` | set DRY sampling multiplier (default: 0.0, 0.0 = disabled) | +| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.00, 1.0 = disabled) | +| `--presence-penalty N` | repeat alpha presence penalty (default: 0.00, 0.0 = disabled) | +| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.00, 0.0 = disabled) | +| `--dry-multiplier N` | set DRY sampling multiplier (default: 0.00, 0.0 = disabled) | | `--dry-base N` | set DRY sampling base value (default: 1.75) | | `--dry-allowed-length N` | set allowed length for DRY sampling (default: 2) | | `--dry-penalty-last-n N` | set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 = context size) | | `--dry-sequence-breaker STRING` | add sequence breaker for DRY sampling, clearing out default breakers ('\n', ':', '"', '*') in the process; use "none" to not use any sequence breakers | -| `--dynatemp-range N` | dynamic temperature range (default: 0.0, 0.0 = disabled) | -| `--dynatemp-exp N` | dynamic temperature exponent (default: 1.0) | +| `--adaptive-target N` | adaptive-p: select tokens near this probability (valid range 0.0 to 1.0; negative = disabled) (default: -1.00)
[(more info)](https://github.com/ggml-org/llama.cpp/pull/17927) | +| `--adaptive-decay N` | adaptive-p: decay rate for target adaptation over time. lower values are more reactive, higher values are more stable.
(valid range 0.0 to 0.99) (default: 0.90) | +| `--dynatemp-range N` | dynamic temperature range (default: 0.00, 0.0 = disabled) | +| `--dynatemp-exp N` | dynamic temperature exponent (default: 1.00) | | `--mirostat N` | use Mirostat sampling.
Top K, Nucleus and Locally Typical samplers are ignored if used.
(default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0) | -| `--mirostat-lr N` | Mirostat learning rate, parameter eta (default: 0.1) | -| `--mirostat-ent N` | Mirostat target entropy, parameter tau (default: 5.0) | +| `--mirostat-lr N` | Mirostat learning rate, parameter eta (default: 0.10) | +| `--mirostat-ent N` | Mirostat target entropy, parameter tau (default: 5.00) | | `-l, --logit-bias TOKEN_ID(+/-)BIAS` | modifies the likelihood of token appearing in the completion,
i.e. `--logit-bias 15043+1` to increase likelihood of token ' Hello',
or `--logit-bias 15043-1` to decrease likelihood of token ' Hello' | | `--grammar GRAMMAR` | BNF-like grammar to constrain generations (see samples in grammars/ dir) (default: '') | | `--grammar-file FNAME` | file to read grammar from | @@ -173,12 +173,12 @@ | `--jinja, --no-jinja` | whether to use jinja template engine for chat (default: enabled)
(env: LLAMA_ARG_JINJA) | | `--reasoning-format FORMAT` | controls whether thought tags are allowed and/or extracted from the response, and in which format they're returned; one of:
- none: leaves thoughts unparsed in `message.content`
- deepseek: puts thoughts in `message.reasoning_content`
- deepseek-legacy: keeps `` tags in `message.content` while also populating `message.reasoning_content`
(default: auto)
(env: LLAMA_ARG_THINK) | | `--reasoning-budget N` | controls the amount of thinking allowed; currently only one of: -1 for unrestricted thinking budget, or 0 to disable thinking (default: -1)
(env: LLAMA_ARG_THINK_BUDGET) | -| `--chat-template JINJA_TEMPLATE` | set custom jinja chat template (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE) | -| `--chat-template-file JINJA_TEMPLATE_FILE` | set custom jinja chat template file (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE_FILE) | +| `--chat-template JINJA_TEMPLATE` | set custom jinja chat template (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone-moe, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE) | +| `--chat-template-file JINJA_TEMPLATE_FILE` | set custom jinja chat template file (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone-moe, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE_FILE) | | `--simple-io` | use basic IO for better compatibility in subprocesses and limited consoles | | `--draft, --draft-n, --draft-max N` | number of tokens to draft for speculative decoding (default: 16)
(env: LLAMA_ARG_DRAFT_MAX) | | `--draft-min, --draft-n-min N` | minimum number of draft tokens to use for speculative decoding (default: 0)
(env: LLAMA_ARG_DRAFT_MIN) | -| `--draft-p-min P` | minimum speculative decoding probability (greedy) (default: 0.8)
(env: LLAMA_ARG_DRAFT_P_MIN) | +| `--draft-p-min P` | minimum speculative decoding probability (greedy) (default: 0.75)
(env: LLAMA_ARG_DRAFT_P_MIN) | | `-cd, --ctx-size-draft N` | size of the prompt context for the draft model (default: 0, 0 = loaded from model)
(env: LLAMA_ARG_CTX_SIZE_DRAFT) | | `-devd, --device-draft ` | comma-separated list of devices to use for offloading the draft model (none = don't offload)
use --list-devices to see a list of available devices | | `-ngld, --gpu-layers-draft, --n-gpu-layers-draft N` | max. number of draft model layers to store in VRAM, either an exact number, 'auto', or 'all' (default: auto)
(env: LLAMA_ARG_N_GPU_LAYERS_DRAFT) | diff --git a/tools/completion/README.md b/tools/completion/README.md index a16be3f684..3ca3e68454 100644 --- a/tools/completion/README.md +++ b/tools/completion/README.md @@ -128,10 +128,10 @@ llama-completion.exe -m models\gemma-1.1-7b-it.Q4_K_M.gguf --ignore-eos -n -1 | `--rope-freq-base N` | RoPE base frequency, used by NTK-aware scaling (default: loaded from model)
(env: LLAMA_ARG_ROPE_FREQ_BASE) | | `--rope-freq-scale N` | RoPE frequency scaling factor, expands context by a factor of 1/N
(env: LLAMA_ARG_ROPE_FREQ_SCALE) | | `--yarn-orig-ctx N` | YaRN: original context size of model (default: 0 = model training context size)
(env: LLAMA_ARG_YARN_ORIG_CTX) | -| `--yarn-ext-factor N` | YaRN: extrapolation mix factor (default: -1.0, 0.0 = full interpolation)
(env: LLAMA_ARG_YARN_EXT_FACTOR) | -| `--yarn-attn-factor N` | YaRN: scale sqrt(t) or attention magnitude (default: -1.0)
(env: LLAMA_ARG_YARN_ATTN_FACTOR) | -| `--yarn-beta-slow N` | YaRN: high correction dim or alpha (default: -1.0)
(env: LLAMA_ARG_YARN_BETA_SLOW) | -| `--yarn-beta-fast N` | YaRN: low correction dim or beta (default: -1.0)
(env: LLAMA_ARG_YARN_BETA_FAST) | +| `--yarn-ext-factor N` | YaRN: extrapolation mix factor (default: -1.00, 0.0 = full interpolation)
(env: LLAMA_ARG_YARN_EXT_FACTOR) | +| `--yarn-attn-factor N` | YaRN: scale sqrt(t) or attention magnitude (default: -1.00)
(env: LLAMA_ARG_YARN_ATTN_FACTOR) | +| `--yarn-beta-slow N` | YaRN: high correction dim or alpha (default: -1.00)
(env: LLAMA_ARG_YARN_BETA_SLOW) | +| `--yarn-beta-fast N` | YaRN: low correction dim or beta (default: -1.00)
(env: LLAMA_ARG_YARN_BETA_FAST) | | `-kvo, --kv-offload, -nkvo, --no-kv-offload` | whether to enable KV cache offloading (default: enabled)
(env: LLAMA_ARG_KV_OFFLOAD) | | `--repack, -nr, --no-repack` | whether to enable weight repacking (default: enabled)
(env: LLAMA_ARG_REPACK) | | `--no-host` | bypass host buffer allowing extra buffers to be used
(env: LLAMA_ARG_NO_HOST) | @@ -192,28 +192,30 @@ llama-completion.exe -m models\gemma-1.1-7b-it.Q4_K_M.gguf --ignore-eos -n -1 | `-s, --seed SEED` | RNG seed (default: -1, use random seed for -1) | | `--sampler-seq, --sampling-seq SEQUENCE` | simplified sequence for samplers that will be used (default: edskypmxt) | | `--ignore-eos` | ignore end of stream token and continue generating (implies --logit-bias EOS-inf) | -| `--temp N` | temperature (default: 0.8) | +| `--temp N` | temperature (default: 0.80) | | `--top-k N` | top-k sampling (default: 40, 0 = disabled)
(env: LLAMA_ARG_TOP_K) | -| `--top-p N` | top-p sampling (default: 0.9, 1.0 = disabled) | -| `--min-p N` | min-p sampling (default: 0.1, 0.0 = disabled) | -| `--top-nsigma N` | top-n-sigma sampling (default: -1.0, -1.0 = disabled) | -| `--xtc-probability N` | xtc probability (default: 0.0, 0.0 = disabled) | -| `--xtc-threshold N` | xtc threshold (default: 0.1, 1.0 = disabled) | -| `--typical N` | locally typical sampling, parameter p (default: 1.0, 1.0 = disabled) | +| `--top-p N` | top-p sampling (default: 0.95, 1.0 = disabled) | +| `--min-p N` | min-p sampling (default: 0.05, 0.0 = disabled) | +| `--top-nsigma N` | top-n-sigma sampling (default: -1.00, -1.0 = disabled) | +| `--xtc-probability N` | xtc probability (default: 0.00, 0.0 = disabled) | +| `--xtc-threshold N` | xtc threshold (default: 0.10, 1.0 = disabled) | +| `--typical N` | locally typical sampling, parameter p (default: 1.00, 1.0 = disabled) | | `--repeat-last-n N` | last n tokens to consider for penalize (default: 64, 0 = disabled, -1 = ctx_size) | -| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled) | -| `--presence-penalty N` | repeat alpha presence penalty (default: 0.0, 0.0 = disabled) | -| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.0, 0.0 = disabled) | -| `--dry-multiplier N` | set DRY sampling multiplier (default: 0.0, 0.0 = disabled) | +| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.00, 1.0 = disabled) | +| `--presence-penalty N` | repeat alpha presence penalty (default: 0.00, 0.0 = disabled) | +| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.00, 0.0 = disabled) | +| `--dry-multiplier N` | set DRY sampling multiplier (default: 0.00, 0.0 = disabled) | | `--dry-base N` | set DRY sampling base value (default: 1.75) | | `--dry-allowed-length N` | set allowed length for DRY sampling (default: 2) | | `--dry-penalty-last-n N` | set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 = context size) | | `--dry-sequence-breaker STRING` | add sequence breaker for DRY sampling, clearing out default breakers ('\n', ':', '"', '*') in the process; use "none" to not use any sequence breakers | -| `--dynatemp-range N` | dynamic temperature range (default: 0.0, 0.0 = disabled) | -| `--dynatemp-exp N` | dynamic temperature exponent (default: 1.0) | +| `--adaptive-target N` | adaptive-p: select tokens near this probability (valid range 0.0 to 1.0; negative = disabled) (default: -1.00)
[(more info)](https://github.com/ggml-org/llama.cpp/pull/17927) | +| `--adaptive-decay N` | adaptive-p: decay rate for target adaptation over time. lower values are more reactive, higher values are more stable.
(valid range 0.0 to 0.99) (default: 0.90) | +| `--dynatemp-range N` | dynamic temperature range (default: 0.00, 0.0 = disabled) | +| `--dynatemp-exp N` | dynamic temperature exponent (default: 1.00) | | `--mirostat N` | use Mirostat sampling.
Top K, Nucleus and Locally Typical samplers are ignored if used.
(default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0) | -| `--mirostat-lr N` | Mirostat learning rate, parameter eta (default: 0.1) | -| `--mirostat-ent N` | Mirostat target entropy, parameter tau (default: 5.0) | +| `--mirostat-lr N` | Mirostat learning rate, parameter eta (default: 0.10) | +| `--mirostat-ent N` | Mirostat target entropy, parameter tau (default: 5.00) | | `-l, --logit-bias TOKEN_ID(+/-)BIAS` | modifies the likelihood of token appearing in the completion,
i.e. `--logit-bias 15043+1` to increase likelihood of token ' Hello',
or `--logit-bias 15043-1` to decrease likelihood of token ' Hello' | | `--grammar GRAMMAR` | BNF-like grammar to constrain generations (see samples in grammars/ dir) (default: '') | | `--grammar-file FNAME` | file to read grammar from | @@ -251,8 +253,8 @@ llama-completion.exe -m models\gemma-1.1-7b-it.Q4_K_M.gguf --ignore-eos -n -1 | `--jinja, --no-jinja` | whether to use jinja template engine for chat (default: disabled)
(env: LLAMA_ARG_JINJA) | | `--reasoning-format FORMAT` | controls whether thought tags are allowed and/or extracted from the response, and in which format they're returned; one of:
- none: leaves thoughts unparsed in `message.content`
- deepseek: puts thoughts in `message.reasoning_content`
- deepseek-legacy: keeps `` tags in `message.content` while also populating `message.reasoning_content`
(default: auto)
(env: LLAMA_ARG_THINK) | | `--reasoning-budget N` | controls the amount of thinking allowed; currently only one of: -1 for unrestricted thinking budget, or 0 to disable thinking (default: -1)
(env: LLAMA_ARG_THINK_BUDGET) | -| `--chat-template JINJA_TEMPLATE` | set custom jinja chat template (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE) | -| `--chat-template-file JINJA_TEMPLATE_FILE` | set custom jinja chat template file (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE_FILE) | +| `--chat-template JINJA_TEMPLATE` | set custom jinja chat template (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone-moe, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE) | +| `--chat-template-file JINJA_TEMPLATE_FILE` | set custom jinja chat template file (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone-moe, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE_FILE) | | `--simple-io` | use basic IO for better compatibility in subprocesses and limited consoles | diff --git a/tools/server/README.md b/tools/server/README.md index f113f9cb75..d132830171 100644 --- a/tools/server/README.md +++ b/tools/server/README.md @@ -63,10 +63,10 @@ For the ful list of features, please refer to [server's changelog](https://githu | `--rope-freq-base N` | RoPE base frequency, used by NTK-aware scaling (default: loaded from model)
(env: LLAMA_ARG_ROPE_FREQ_BASE) | | `--rope-freq-scale N` | RoPE frequency scaling factor, expands context by a factor of 1/N
(env: LLAMA_ARG_ROPE_FREQ_SCALE) | | `--yarn-orig-ctx N` | YaRN: original context size of model (default: 0 = model training context size)
(env: LLAMA_ARG_YARN_ORIG_CTX) | -| `--yarn-ext-factor N` | YaRN: extrapolation mix factor (default: -1.0, 0.0 = full interpolation)
(env: LLAMA_ARG_YARN_EXT_FACTOR) | -| `--yarn-attn-factor N` | YaRN: scale sqrt(t) or attention magnitude (default: -1.0)
(env: LLAMA_ARG_YARN_ATTN_FACTOR) | -| `--yarn-beta-slow N` | YaRN: high correction dim or alpha (default: -1.0)
(env: LLAMA_ARG_YARN_BETA_SLOW) | -| `--yarn-beta-fast N` | YaRN: low correction dim or beta (default: -1.0)
(env: LLAMA_ARG_YARN_BETA_FAST) | +| `--yarn-ext-factor N` | YaRN: extrapolation mix factor (default: -1.00, 0.0 = full interpolation)
(env: LLAMA_ARG_YARN_EXT_FACTOR) | +| `--yarn-attn-factor N` | YaRN: scale sqrt(t) or attention magnitude (default: -1.00)
(env: LLAMA_ARG_YARN_ATTN_FACTOR) | +| `--yarn-beta-slow N` | YaRN: high correction dim or alpha (default: -1.00)
(env: LLAMA_ARG_YARN_BETA_SLOW) | +| `--yarn-beta-fast N` | YaRN: low correction dim or beta (default: -1.00)
(env: LLAMA_ARG_YARN_BETA_FAST) | | `-kvo, --kv-offload, -nkvo, --no-kv-offload` | whether to enable KV cache offloading (default: enabled)
(env: LLAMA_ARG_KV_OFFLOAD) | | `--repack, -nr, --no-repack` | whether to enable weight repacking (default: enabled)
(env: LLAMA_ARG_REPACK) | | `--no-host` | bypass host buffer allowing extra buffers to be used
(env: LLAMA_ARG_NO_HOST) | @@ -126,30 +126,30 @@ For the ful list of features, please refer to [server's changelog](https://githu | `-s, --seed SEED` | RNG seed (default: -1, use random seed for -1) | | `--sampler-seq, --sampling-seq SEQUENCE` | simplified sequence for samplers that will be used (default: edskypmxt) | | `--ignore-eos` | ignore end of stream token and continue generating (implies --logit-bias EOS-inf) | -| `--temp N` | temperature (default: 0.8) | +| `--temp N` | temperature (default: 0.80) | | `--top-k N` | top-k sampling (default: 40, 0 = disabled)
(env: LLAMA_ARG_TOP_K) | -| `--top-p N` | top-p sampling (default: 0.9, 1.0 = disabled) | -| `--min-p N` | min-p sampling (default: 0.1, 0.0 = disabled) | -| `--adaptive-target N` | adaptive-p: select tokens near this probability (valid range 0.0 to 1.0; negative = disabled) | -| `--adaptive-decay N` | adaptive-p: EMA decay for adaptation; effective history length ≈ 1/(1-decay) tokens (valid range 0.0 - 0.99) | -| `--top-nsigma N` | top-n-sigma sampling (default: -1.0, -1.0 = disabled) | -| `--xtc-probability N` | xtc probability (default: 0.0, 0.0 = disabled) | -| `--xtc-threshold N` | xtc threshold (default: 0.1, 1.0 = disabled) | -| `--typical N` | locally typical sampling, parameter p (default: 1.0, 1.0 = disabled) | +| `--top-p N` | top-p sampling (default: 0.95, 1.0 = disabled) | +| `--min-p N` | min-p sampling (default: 0.05, 0.0 = disabled) | +| `--top-nsigma N` | top-n-sigma sampling (default: -1.00, -1.0 = disabled) | +| `--xtc-probability N` | xtc probability (default: 0.00, 0.0 = disabled) | +| `--xtc-threshold N` | xtc threshold (default: 0.10, 1.0 = disabled) | +| `--typical N` | locally typical sampling, parameter p (default: 1.00, 1.0 = disabled) | | `--repeat-last-n N` | last n tokens to consider for penalize (default: 64, 0 = disabled, -1 = ctx_size) | -| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.0, 1.0 = disabled) | -| `--presence-penalty N` | repeat alpha presence penalty (default: 0.0, 0.0 = disabled) | -| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.0, 0.0 = disabled) | -| `--dry-multiplier N` | set DRY sampling multiplier (default: 0.0, 0.0 = disabled) | +| `--repeat-penalty N` | penalize repeat sequence of tokens (default: 1.00, 1.0 = disabled) | +| `--presence-penalty N` | repeat alpha presence penalty (default: 0.00, 0.0 = disabled) | +| `--frequency-penalty N` | repeat alpha frequency penalty (default: 0.00, 0.0 = disabled) | +| `--dry-multiplier N` | set DRY sampling multiplier (default: 0.00, 0.0 = disabled) | | `--dry-base N` | set DRY sampling base value (default: 1.75) | | `--dry-allowed-length N` | set allowed length for DRY sampling (default: 2) | | `--dry-penalty-last-n N` | set DRY penalty for the last n tokens (default: -1, 0 = disable, -1 = context size) | | `--dry-sequence-breaker STRING` | add sequence breaker for DRY sampling, clearing out default breakers ('\n', ':', '"', '*') in the process; use "none" to not use any sequence breakers | -| `--dynatemp-range N` | dynamic temperature range (default: 0.0, 0.0 = disabled) | -| `--dynatemp-exp N` | dynamic temperature exponent (default: 1.0) | +| `--adaptive-target N` | adaptive-p: select tokens near this probability (valid range 0.0 to 1.0; negative = disabled) (default: -1.00)
[(more info)](https://github.com/ggml-org/llama.cpp/pull/17927) | +| `--adaptive-decay N` | adaptive-p: decay rate for target adaptation over time. lower values are more reactive, higher values are more stable.
(valid range 0.0 to 0.99) (default: 0.90) | +| `--dynatemp-range N` | dynamic temperature range (default: 0.00, 0.0 = disabled) | +| `--dynatemp-exp N` | dynamic temperature exponent (default: 1.00) | | `--mirostat N` | use Mirostat sampling.
Top K, Nucleus and Locally Typical samplers are ignored if used.
(default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0) | -| `--mirostat-lr N` | Mirostat learning rate, parameter eta (default: 0.1) | -| `--mirostat-ent N` | Mirostat target entropy, parameter tau (default: 5.0) | +| `--mirostat-lr N` | Mirostat learning rate, parameter eta (default: 0.10) | +| `--mirostat-ent N` | Mirostat target entropy, parameter tau (default: 5.00) | | `-l, --logit-bias TOKEN_ID(+/-)BIAS` | modifies the likelihood of token appearing in the completion,
i.e. `--logit-bias 15043+1` to increase likelihood of token ' Hello',
or `--logit-bias 15043-1` to decrease likelihood of token ' Hello' | | `--grammar GRAMMAR` | BNF-like grammar to constrain generations (see samples in grammars/ dir) (default: '') | | `--grammar-file FNAME` | file to read grammar from | @@ -199,7 +199,8 @@ For the ful list of features, please refer to [server's changelog](https://githu | `--chat-template-kwargs STRING` | sets additional params for the json template parser, must be a valid json object string, e.g. '{"key1":"value1","key2":"value2"}'
(env: LLAMA_CHAT_TEMPLATE_KWARGS) | | `-to, --timeout N` | server read/write timeout in seconds (default: 600)
(env: LLAMA_ARG_TIMEOUT) | | `--threads-http N` | number of threads used to process HTTP requests (default: -1)
(env: LLAMA_ARG_THREADS_HTTP) | -| `--cache-reuse N` | min chunk size to attempt reusing from the cache via KV shifting (default: 0)
[(card)](https://ggml.ai/f0.png)
(env: LLAMA_ARG_CACHE_REUSE) | +| `--cache-prompt, --no-cache-prompt` | whether to enable prompt caching (default: enabled)
(env: LLAMA_ARG_CACHE_PROMPT) | +| `--cache-reuse N` | min chunk size to attempt reusing from the cache via KV shifting, requires prompt caching to be enabled (default: 0)
[(card)](https://ggml.ai/f0.png)
(env: LLAMA_ARG_CACHE_REUSE) | | `--metrics` | enable prometheus compatible metrics endpoint (default: disabled)
(env: LLAMA_ARG_ENDPOINT_METRICS) | | `--props` | enable changing global properties via POST /props (default: disabled)
(env: LLAMA_ARG_ENDPOINT_PROPS) | | `--slots, --no-slots` | expose slots monitoring endpoint (default: enabled)
(env: LLAMA_ARG_ENDPOINT_SLOTS) | @@ -212,8 +213,8 @@ For the ful list of features, please refer to [server's changelog](https://githu | `--jinja, --no-jinja` | whether to use jinja template engine for chat (default: enabled)
(env: LLAMA_ARG_JINJA) | | `--reasoning-format FORMAT` | controls whether thought tags are allowed and/or extracted from the response, and in which format they're returned; one of:
- none: leaves thoughts unparsed in `message.content`
- deepseek: puts thoughts in `message.reasoning_content`
- deepseek-legacy: keeps `` tags in `message.content` while also populating `message.reasoning_content`
(default: auto)
(env: LLAMA_ARG_THINK) | | `--reasoning-budget N` | controls the amount of thinking allowed; currently only one of: -1 for unrestricted thinking budget, or 0 to disable thinking (default: -1)
(env: LLAMA_ARG_THINK_BUDGET) | -| `--chat-template JINJA_TEMPLATE` | set custom jinja chat template (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE) | -| `--chat-template-file JINJA_TEMPLATE_FILE` | set custom jinja chat template file (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE_FILE) | +| `--chat-template JINJA_TEMPLATE` | set custom jinja chat template (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone-moe, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE) | +| `--chat-template-file JINJA_TEMPLATE_FILE` | set custom jinja chat template file (default: template taken from model's metadata)
if suffix/prefix are specified, template will be disabled
only commonly used templates are accepted (unless --jinja is set before this flag):
list of built-in templates:
bailing, bailing-think, bailing2, chatglm3, chatglm4, chatml, command-r, deepseek, deepseek2, deepseek3, exaone-moe, exaone3, exaone4, falcon3, gemma, gigachat, glmedge, gpt-oss, granite, grok-2, hunyuan-dense, hunyuan-moe, kimi-k2, llama2, llama2-sys, llama2-sys-bos, llama2-sys-strip, llama3, llama4, megrez, minicpm, mistral-v1, mistral-v3, mistral-v3-tekken, mistral-v7, mistral-v7-tekken, monarch, openchat, orion, pangu-embedded, phi3, phi4, rwkv-world, seed_oss, smolvlm, solar-open, vicuna, vicuna-orca, yandex, zephyr
(env: LLAMA_ARG_CHAT_TEMPLATE_FILE) | | `--prefill-assistant, --no-prefill-assistant` | whether to prefill the assistant's response if the last message is an assistant message (default: prefill enabled)
when this flag is set, if the last message is an assistant message then it will be treated as a full message and not prefilled

(env: LLAMA_ARG_PREFILL_ASSISTANT) | | `-sps, --slot-prompt-similarity SIMILARITY` | how much the prompt of a request must match the prompt of a slot in order to use that slot (default: 0.10, 0.0 = disabled) | | `--lora-init-without-apply` | load LoRA adapters without applying them (apply later via POST /lora-adapters) (default: disabled) | @@ -222,7 +223,7 @@ For the ful list of features, please refer to [server's changelog](https://githu | `-tbd, --threads-batch-draft N` | number of threads to use during batch and prompt processing (default: same as --threads-draft) | | `--draft, --draft-n, --draft-max N` | number of tokens to draft for speculative decoding (default: 16)
(env: LLAMA_ARG_DRAFT_MAX) | | `--draft-min, --draft-n-min N` | minimum number of draft tokens to use for speculative decoding (default: 0)
(env: LLAMA_ARG_DRAFT_MIN) | -| `--draft-p-min P` | minimum speculative decoding probability (greedy) (default: 0.8)
(env: LLAMA_ARG_DRAFT_P_MIN) | +| `--draft-p-min P` | minimum speculative decoding probability (greedy) (default: 0.75)
(env: LLAMA_ARG_DRAFT_P_MIN) | | `-cd, --ctx-size-draft N` | size of the prompt context for the draft model (default: 0, 0 = loaded from model)
(env: LLAMA_ARG_CTX_SIZE_DRAFT) | | `-devd, --device-draft ` | comma-separated list of devices to use for offloading the draft model (none = don't offload)
use --list-devices to see a list of available devices | | `-ngld, --gpu-layers-draft, --n-gpu-layers-draft N` | max. number of draft model layers to store in VRAM, either an exact number, 'auto', or 'all' (default: auto)
(env: LLAMA_ARG_N_GPU_LAYERS_DRAFT) | From 24bc23830313ce13080ae393309cef080f2141c2 Mon Sep 17 00:00:00 2001 From: Jakkala Mahesh <155058658+MaheshJakkala@users.noreply.github.com> Date: Sun, 25 Jan 2026 12:40:52 +0530 Subject: [PATCH 012/206] llama: fix integer type consistency in split helpers (#18894) * llama: fix integer type consistency in split helpers * llama: apply minor style fixes * llama: remove trailing whitespace --- include/llama.h | 4 ++-- src/llama.cpp | 58 +++++++++++++++++++++++++++++++++++++------------ 2 files changed, 46 insertions(+), 16 deletions(-) diff --git a/include/llama.h b/include/llama.h index 1507107f1a..c3360ae57c 100644 --- a/include/llama.h +++ b/include/llama.h @@ -1476,12 +1476,12 @@ extern "C" { /// @details Build a split GGUF final path for this chunk. /// llama_split_path(split_path, sizeof(split_path), "/models/ggml-model-q4_0", 2, 4) => split_path = "/models/ggml-model-q4_0-00002-of-00004.gguf" // Returns the split_path length. - LLAMA_API int llama_split_path(char * split_path, size_t maxlen, const char * path_prefix, int split_no, int split_count); + LLAMA_API int32_t llama_split_path(char * split_path, size_t maxlen, const char * path_prefix, int32_t split_no, int32_t split_count); /// @details Extract the path prefix from the split_path if and only if the split_no and split_count match. /// llama_split_prefix(split_prefix, 64, "/models/ggml-model-q4_0-00002-of-00004.gguf", 2, 4) => split_prefix = "/models/ggml-model-q4_0" // Returns the split_prefix length. - LLAMA_API int llama_split_prefix(char * split_prefix, size_t maxlen, const char * split_path, int split_no, int split_count); + LLAMA_API int32_t llama_split_prefix(char * split_prefix, size_t maxlen, const char * split_path, int32_t split_no, int32_t split_count); // Print system information LLAMA_API const char * llama_print_system_info(void); diff --git a/src/llama.cpp b/src/llama.cpp index 11b75fcff9..6da90d6f1f 100644 --- a/src/llama.cpp +++ b/src/llama.cpp @@ -1095,25 +1095,55 @@ int32_t llama_chat_apply_template( // model split // -int llama_split_path(char * split_path, size_t maxlen, const char * path_prefix, int split_no, int split_count) { +int32_t llama_split_path( + char * split_path, + size_t maxlen, + const char * path_prefix, + int32_t split_no, + int32_t split_count) { + static const char * const SPLIT_PATH_FORMAT = "%s-%05d-of-%05d.gguf"; - if (snprintf(split_path, maxlen, SPLIT_PATH_FORMAT, path_prefix, split_no + 1, split_count)) { - return strlen(split_path); + + const int written = snprintf( + split_path, + maxlen, + SPLIT_PATH_FORMAT, + path_prefix, + split_no + 1, + split_count + ); + + if (written < 0 || (size_t) written >= maxlen) { + return 0; } - return 0; + + return (int32_t) written; } -int llama_split_prefix(char * split_prefix, size_t maxlen, const char * split_path, int split_no, int split_count) { - std::string str_split_path(split_path); - char postfix[32]; - snprintf(postfix, 32, "-%05d-of-%05d.gguf", split_no + 1, split_count); - std::string str_postfix(postfix); +int32_t llama_split_prefix( + char * split_prefix, + size_t maxlen, + const char * split_path, + int32_t split_no, + int32_t split_count) { - // check if split_prefix ends with postfix - int size_prefix = str_split_path.size() - str_postfix.size(); - if (size_prefix > 0 && str_split_path.find(str_postfix, size_prefix) != std::string::npos) { - snprintf(split_prefix, std::min((size_t) size_prefix + 1, maxlen), "%s", split_path); - return size_prefix; + const std::string str_split_path(split_path); + + char postfix[32]; + snprintf(postfix, sizeof(postfix), "-%05d-of-%05d.gguf", split_no + 1, split_count); + + const std::string str_postfix(postfix); + if (str_split_path.size() <= str_postfix.size()) { + return 0; + } + + const size_t size_prefix = str_split_path.size() - str_postfix.size(); + + if (str_split_path.compare(size_prefix, std::string::npos, str_postfix) == 0) { + const size_t copy_len = std::min(size_prefix + 1, maxlen); + snprintf(split_prefix, copy_len, "%s", split_path); + + return (int32_t) size_prefix; } return 0; From 1243f93a2de868e16a9e52af55b7ab930110c04e Mon Sep 17 00:00:00 2001 From: Molly Sophia Date: Sun, 25 Jan 2026 15:11:19 +0800 Subject: [PATCH 013/206] readme: update RWKV7 model links (#19061) Signed-off-by: Molly Sophia --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91a8f25d1c..0783e43e5c 100644 --- a/README.md +++ b/README.md @@ -132,6 +132,7 @@ Instructions for adding support for new models: [HOWTO-add-model.md](docs/develo - [x] [FalconMamba Models](https://huggingface.co/collections/tiiuae/falconmamba-7b-66b9a580324dd1598b0f6d4a) - [x] [Jais](https://huggingface.co/inceptionai/jais-13b-chat) - [x] [Bielik-11B-v2.3](https://huggingface.co/collections/speakleash/bielik-11b-v23-66ee813238d9b526a072408a) +- [x] [RWKV-7](https://huggingface.co/collections/shoumenchougou/rwkv7-gxx-gguf) - [x] [RWKV-6](https://github.com/BlinkDL/RWKV-LM) - [x] [QRWKV-6](https://huggingface.co/recursal/QRWKV6-32B-Instruct-Preview-v0.1) - [x] [GigaChat-20B-A3B](https://huggingface.co/ai-sage/GigaChat-20B-A3B-instruct) From 080b161995218bb40bfc03a6446c9e2b4c7e81e0 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Sun, 25 Jan 2026 09:12:50 +0200 Subject: [PATCH 014/206] completion : fix prompt cache for recurrent models (#19045) --- src/llama-context.cpp | 1 + tools/completion/completion.cpp | 88 ++++++++++++++++++--------------- 2 files changed, 48 insertions(+), 41 deletions(-) diff --git a/src/llama-context.cpp b/src/llama-context.cpp index a35cf5a94b..fb817e1385 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -2559,6 +2559,7 @@ size_t llama_context::state_write_data(llama_io_write_i & io) { } } + // [TAG_CONTEXT_STATE_LOGITS] // write logits { LLAMA_LOG_DEBUG("%s: - writing logits\n", __func__); diff --git a/tools/completion/completion.cpp b/tools/completion/completion.cpp index a9eda119d7..f368a2f4c6 100644 --- a/tools/completion/completion.cpp +++ b/tools/completion/completion.cpp @@ -342,44 +342,51 @@ int main(int argc, char ** argv) { return 1; } - // debug message about similarity of saved session, if applicable - size_t n_matching_session_tokens = 0; - if (!session_tokens.empty()) { - for (llama_token id : session_tokens) { - if (n_matching_session_tokens >= embd_inp.size() || id != embd_inp[n_matching_session_tokens]) { - break; + bool session_do_save = false; + + { + size_t n_match = 0; + + if (!session_tokens.empty()) { + for (llama_token id : session_tokens) { + if (n_match >= embd_inp.size() || id != embd_inp[n_match]) { + break; + } + n_match++; + } + if (params.prompt.empty() && n_match == embd_inp.size()) { + LOG_INF("%s: using full prompt from session file\n", __func__); + } else if (n_match >= embd_inp.size()) { + LOG_INF("%s: session file has exact match for prompt!\n", __func__); + } else if (n_match < (embd_inp.size() / 2)) { + LOG_WRN("%s: session file has low similarity to prompt (%zu / %zu tokens); will mostly be reevaluated\n", + __func__, n_match, embd_inp.size()); + } else { + LOG_INF("%s: session file matches %zu / %zu tokens of prompt\n", + __func__, n_match, embd_inp.size()); + } + + if (session_tokens.size() == n_match) { + // [TAG_CONTEXT_STATE_LOGITS] + // in this case, we are going to reuse the logits from the session + // if we ever decide to remove the logits from the session, we need to handle this somehow + // ref: https://github.com/ggml-org/llama.cpp/pull/18862#issuecomment-3756330941 + } + + // remove any "future" tokens that we might have inherited from the previous session + if (session_tokens.size() > n_match) { + if (!llama_memory_seq_rm(mem, -1, n_match, -1)) { + LOG_WRN("%s: unable to resuse common prefix (for example, when the memory is recurrent)\n", __func__); + llama_memory_clear(mem, true); + session_tokens.clear(); + n_match = 0; + } else { + session_tokens.resize(n_match); + } } - n_matching_session_tokens++; - } - if (params.prompt.empty() && n_matching_session_tokens == embd_inp.size()) { - LOG_INF("%s: using full prompt from session file\n", __func__); - } else if (n_matching_session_tokens >= embd_inp.size()) { - LOG_INF("%s: session file has exact match for prompt!\n", __func__); - } else if (n_matching_session_tokens < (embd_inp.size() / 2)) { - LOG_WRN("%s: session file has low similarity to prompt (%zu / %zu tokens); will mostly be reevaluated\n", - __func__, n_matching_session_tokens, embd_inp.size()); - } else { - LOG_INF("%s: session file matches %zu / %zu tokens of prompt\n", - __func__, n_matching_session_tokens, embd_inp.size()); } - // remove any "future" tokens that we might have inherited from the previous session - if (!llama_memory_seq_rm(mem, -1, n_matching_session_tokens, -1)) { - LOG_INF("%s: unable to resuse common prefix\n", __func__); - n_matching_session_tokens = 0; - llama_memory_seq_rm(mem, -1, -1, -1); - } - } - - LOG_DBG("recalculate the cached logits (check): embd_inp.size() %zu, n_matching_session_tokens %zu, embd_inp.size() %zu, session_tokens.size() %zu\n", - embd_inp.size(), n_matching_session_tokens, embd_inp.size(), session_tokens.size()); - - // if we will use the cache for the full prompt without reaching the end of the cache, force - // reevaluation of the last token to recalculate the cached logits - if (!embd_inp.empty() && n_matching_session_tokens == embd_inp.size() && session_tokens.size() > embd_inp.size()) { - LOG_DBG("recalculate the cached logits (do): session_tokens.resize( %zu )\n", embd_inp.size() - 1); - - session_tokens.resize(embd_inp.size() - 1); + session_do_save = !path_session.empty() && n_match < embd_inp.size() && !params.prompt_cache_ro; } // number of tokens to keep when resetting context @@ -521,10 +528,9 @@ int main(int argc, char ** argv) { is_interacting = params.interactive_first; } - bool is_antiprompt = false; - bool input_echo = true; - bool display = true; - bool need_to_save_session = !path_session.empty() && n_matching_session_tokens < embd_inp.size(); + bool is_antiprompt = false; + bool input_echo = true; + bool display = true; int n_past = 0; int n_remain = params.n_predict; @@ -700,8 +706,8 @@ int main(int argc, char ** argv) { if ((int) embd_inp.size() <= n_consumed && !is_interacting) { // optionally save the session on first sample (for faster prompt loading next time) - if (!path_session.empty() && need_to_save_session && !params.prompt_cache_ro) { - need_to_save_session = false; + if (session_do_save) { + session_do_save = false; llama_state_save_file(ctx, path_session.c_str(), session_tokens.data(), session_tokens.size()); LOG_DBG("saved session to %s\n", path_session.c_str()); From 70d860824a72c3daaea678b74d5051fdd46d9c38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Sun, 25 Jan 2026 13:05:05 +0100 Subject: [PATCH 015/206] convert : fix Gemma3N, GraniteMoe and Ernie4.5Moe (#19084) * fix Gemma3N and Ernie4.5Moe * fix GraniteMoe --- convert_hf_to_gguf.py | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index d8bc95fa6a..b56a99c5fa 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -3799,7 +3799,7 @@ class Ernie4_5MoeModel(Ernie4_5Model): merged_name = f"model.layers.{bid}.mlp.experts.{w_name}.weight" yield from super().modify_tensors(data_torch, merged_name, bid) else: - yield from super().modify_tensors(data_torch, name, bid) + yield from ModelBase.modify_tensors(self, data_torch, name, bid) def prepare_tensors(self): super().prepare_tensors() @@ -6153,7 +6153,7 @@ class Gemma3nVisionAudioModel(ConformerAudioModel): if new_name.endswith("conv_stem.conv.bias") or new_name.endswith("layer_scale.gamma"): data_torch = data_torch.unsqueeze(0).unsqueeze(-1).unsqueeze(-1) # [1, C, 1, 1] - yield from super().modify_tensors(data_torch, new_name, bid) + yield from ModelBase.modify_tensors(self, data_torch, new_name, bid) @ModelBase.register("Gemma3nForCausalLM", "Gemma3nForConditionalGeneration") @@ -6253,7 +6253,7 @@ class Gemma3NModel(Gemma3Model): # Continue with normal processing name = name.replace("language_model.", "") - yield from super().modify_tensors(data_torch, name, bid) + yield from ModelBase.modify_tensors(self, data_torch, name, bid) return if "altup_unembed_projections" in name: @@ -6270,7 +6270,7 @@ class Gemma3NModel(Gemma3Model): raise ValueError(f"Unknown name: {name}") out = self._stack_matrices(self._altup_unembd) if out is not None: - yield from super().modify_tensors(out, "model.altup_unembed_projections.weight", bid) + yield from ModelBase.modify_tensors(self, out, "model.altup_unembed_projections.weight", bid) return else: return @@ -6287,7 +6287,7 @@ class Gemma3NModel(Gemma3Model): raise ValueError(f"Unknown name: {name}") out = self._stack_matrices(self._altup_proj) if out is not None: - yield from super().modify_tensors(out, "model.altup_projections.weight", bid) + yield from ModelBase.modify_tensors(self, out, "model.altup_projections.weight", bid) return else: return @@ -8803,8 +8803,8 @@ class GraniteMoeModel(GraniteModel): ffn_dim = self.hparams["intermediate_size"] assert data_torch.shape[-2] == 2 * ffn_dim, "Merged FFN tensor size must be 2 * intermediate_size" gate, up = data_torch.split(ffn_dim, dim=-2) - yield from super().modify_tensors(gate, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_GATE_EXP, bid), bid) - yield from super().modify_tensors(up, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_UP_EXP, bid), bid) + yield from ModelBase.modify_tensors(self, gate, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_GATE_EXP, bid), bid) + yield from ModelBase.modify_tensors(self, up, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_UP_EXP, bid), bid) has_experts = bool(self.hparams.get('num_local_experts')) @@ -8813,15 +8813,15 @@ class GraniteMoeModel(GraniteModel): assert data_torch.shape[-2] == 2 * ffn_dim, "Merged FFN tensor size must be 2 * shared_intermediate_size" gate, up = data_torch.split(ffn_dim, dim=-2) if has_experts: - yield from super().modify_tensors(gate,self.format_tensor_name(gguf.MODEL_TENSOR.FFN_GATE_SHEXP, bid), bid) - yield from super().modify_tensors(up, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_UP_SHEXP, bid), bid) + yield from ModelBase.modify_tensors(self, gate,self.format_tensor_name(gguf.MODEL_TENSOR.FFN_GATE_SHEXP, bid), bid) + yield from ModelBase.modify_tensors(self, up, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_UP_SHEXP, bid), bid) return - yield from super().modify_tensors(gate, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_GATE, bid), bid) - yield from super().modify_tensors(up, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_UP, bid), bid) + yield from ModelBase.modify_tensors(self, gate, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_GATE, bid), bid) + yield from ModelBase.modify_tensors(self, up, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_UP, bid), bid) return if not has_experts and name.endswith("shared_mlp.output_linear.weight"): - yield from super().modify_tensors(data_torch, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_DOWN, bid), bid) + yield from ModelBase.modify_tensors(self, data_torch, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_DOWN, bid), bid) return yield from super().modify_tensors(data_torch, name, bid) From d9c6ce46f747189cd6238ca7699253613f77c016 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Sun, 25 Jan 2026 15:48:56 +0200 Subject: [PATCH 016/206] kv-cache : support V-less cache (#19067) * kv-cache : support V-less cache * cuda : better check for V_is_K_view * cuda : improve V_is_K_view check * graph : add comments * hparams : refactor --- ggml/src/ggml-cuda/fattn-common.cuh | 2 +- ggml/src/ggml-cuda/fattn.cu | 2 +- src/llama-context.cpp | 8 +- src/llama-graph.cpp | 117 ++++++++++++++++++++++++++-- src/llama-graph.h | 48 ++++++++++++ src/llama-hparams.cpp | 19 ++++- src/llama-hparams.h | 14 +++- src/llama-kv-cache.cpp | 36 +++++++-- src/llama-model-saver.cpp | 4 +- src/llama-model.cpp | 30 ++++--- src/models/deepseek2.cpp | 19 ++--- 11 files changed, 246 insertions(+), 53 deletions(-) diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index 40c7725784..13c5b0a459 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -782,7 +782,7 @@ void launch_fattn( const ggml_tensor * K = dst->src[1]; const ggml_tensor * V = dst->src[2]; - const bool V_is_K_view = V->op == GGML_OP_VIEW && V->src[0] == K && V->data == K->data; + const bool V_is_K_view = V->view_src && V->view_offs == 0 && (V->view_src == K || V->view_src == K->view_src); const ggml_tensor * mask = dst->src[3]; const ggml_tensor * sinks = dst->src[4]; diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index ba2b96bc32..a5e6624181 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -247,7 +247,7 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const } } - const bool V_is_K_view = V->op == GGML_OP_VIEW && V->src[0] == K && V->data == K->data; + const bool V_is_K_view = V->view_src && V->view_offs == 0 && (V->view_src == K || V->view_src == K->view_src); const int cc = ggml_cuda_info().devices[device].cc; diff --git a/src/llama-context.cpp b/src/llama-context.cpp index fb817e1385..72211db17b 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -793,7 +793,7 @@ float * llama_context::get_embeddings_ith(int32_t i) { throw std::runtime_error(format("corrupt output buffer (j=%" PRId64 ", n_outputs=%d)", j, n_outputs)); } - const uint32_t n_embd_out = model.hparams.get_n_embd_out(); + const uint32_t n_embd_out = model.hparams.n_embd_out(); return embd + j*n_embd_out; } catch (const std::exception & err) { LLAMA_LOG_ERROR("%s: invalid embeddings id %d, reason: %s\n", __func__, i, err.what()); @@ -1279,7 +1279,7 @@ int llama_context::encode(const llama_batch & batch_inp) { { // extract token embeddings GGML_ASSERT(embd != nullptr); - const uint32_t n_embd_out = hparams.get_n_embd_out(); + const uint32_t n_embd_out = hparams.n_embd_out(); GGML_ASSERT(n_tokens*n_embd_out <= (int64_t) embd_size); ggml_backend_tensor_get_async(backend_embd, t_embd, embd, 0, n_tokens*n_embd_out*sizeof(float)); @@ -1688,7 +1688,7 @@ int llama_context::decode(const llama_batch & batch_inp) { { // extract token embeddings GGML_ASSERT(embd != nullptr); - const uint32_t n_embd_out = hparams.get_n_embd_out(); + const uint32_t n_embd_out = hparams.n_embd_out(); float * embd_out = embd + n_outputs_prev*n_embd_out; if (n_outputs) { @@ -1821,7 +1821,7 @@ uint32_t llama_context::output_reserve(int32_t n_outputs, const llama_batch & ba const auto n_batch = cparams.n_batch; const auto n_vocab = vocab.n_tokens(); - const auto n_embd_out = hparams.get_n_embd_out(); + const auto n_embd_out = hparams.n_embd_out(); bool has_logits = true; bool has_embd = cparams.embeddings; diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp index f9ed87cce1..16d42c4ae3 100644 --- a/src/llama-graph.cpp +++ b/src/llama-graph.cpp @@ -407,6 +407,27 @@ bool llm_graph_input_attn_kv::can_reuse(const llm_graph_params & params) { return res; } +void llm_graph_input_attn_k::set_input(const llama_ubatch * ubatch) { + mctx->set_input_k_idxs(self_k_idxs, ubatch); + + mctx->set_input_kq_mask(self_kq_mask, ubatch, cparams.causal_attn); +} + +bool llm_graph_input_attn_k::can_reuse(const llm_graph_params & params) { + const auto * mctx = static_cast(params.mctx); + + this->mctx = mctx; + + bool res = true; + + res &= self_k_idxs->ne[0] == params.ubatch.n_tokens; + + res &= self_kq_mask->ne[0] == mctx->get_n_kv(); + res &= self_kq_mask->ne[1] == params.ubatch.n_tokens; + + return res; +} + void llm_graph_input_attn_kv_iswa::set_input(const llama_ubatch * ubatch) { mctx->get_base()->set_input_k_idxs(self_k_idxs, ubatch); mctx->get_base()->set_input_v_idxs(self_v_idxs, ubatch); @@ -1596,11 +1617,6 @@ ggml_tensor * llm_graph_context::build_attn_mha( v = ggml_transpose(ctx0, v); } - // TODO: update llama_kv_cache to not store V cache in the MLA case and automatically return a view of K - if (v_mla) { - v = ggml_view_4d(ctx0, k, v->ne[0], v->ne[1], v->ne[2], v->ne[3], k->nb[1], k->nb[2], k->nb[3], 0); - } - // this can happen when KV cache is not used (e.g. an embedding model with non-causal attn) if (k->type == GGML_TYPE_F32) { k = ggml_cast(ctx0, k, GGML_TYPE_F16); @@ -1823,9 +1839,11 @@ ggml_tensor * llm_graph_context::build_attn( ggml_tensor * v_cur, ggml_tensor * kq_b, ggml_tensor * sinks, - ggml_tensor * v_mla, + ggml_tensor * v_mla, // TODO: remove float kq_scale, int il) const { + GGML_ASSERT(v_mla == nullptr); + // these nodes are added to the graph together so that they are not reordered // by doing so, the number of splits in the graph is reduced // expand k later to enable rope fusion which directly writes into k-v cache @@ -1868,6 +1886,93 @@ ggml_tensor * llm_graph_context::build_attn( return cur; } +static std::unique_ptr build_attn_inp_k_impl( + ggml_context * ctx0, + const llama_ubatch & ubatch, + const llama_hparams & hparams, + const llama_cparams & cparams, + const llama_kv_cache_context * mctx_cur) { + + auto inp = std::make_unique(hparams, cparams, mctx_cur); + + { + GGML_ASSERT(hparams.swa_type == LLAMA_SWA_TYPE_NONE && "Use llama_kv_cache_iswa for SWA"); + + const auto n_kv = mctx_cur->get_n_kv(); + const auto n_tokens = ubatch.n_tokens; + const auto n_stream = cparams.kv_unified ? 1 : ubatch.n_seqs_unq; + + inp->self_k_idxs = mctx_cur->build_input_k_idxs(ctx0, ubatch); + + inp->self_kq_mask = ggml_new_tensor_4d(ctx0, GGML_TYPE_F32, n_kv, n_tokens/n_stream, 1, n_stream); + ggml_set_input(inp->self_kq_mask); + + inp->self_kq_mask_cnv = cparams.flash_attn ? ggml_cast(ctx0, inp->self_kq_mask, GGML_TYPE_F16) : inp->self_kq_mask; + } + + return inp; +} + +llm_graph_input_attn_k * llm_graph_context::build_attn_inp_k() const { + const auto * mctx_cur = static_cast(mctx); + + auto inp = build_attn_inp_k_impl(ctx0, ubatch, hparams, cparams, mctx_cur); + + return (llm_graph_input_attn_k *) res->add_input(std::move(inp)); +} + +ggml_tensor * llm_graph_context::build_attn( + llm_graph_input_attn_k * inp, + ggml_tensor * wo, + ggml_tensor * wo_b, + ggml_tensor * q_cur, + ggml_tensor * k_cur, + ggml_tensor * v_cur, + ggml_tensor * kq_b, + ggml_tensor * sinks, + ggml_tensor * v_mla, + float kq_scale, + int il) const { + // these nodes are added to the graph together so that they are not reordered + // by doing so, the number of splits in the graph is reduced + // expand k later to enable rope fusion which directly writes into k-v cache + ggml_build_forward_expand(gf, q_cur); + ggml_build_forward_expand(gf, v_cur); + ggml_build_forward_expand(gf, k_cur); + + const auto * mctx_cur = inp->mctx; + + // store to KV cache + { + const auto & k_idxs = inp->get_k_idxs(); + + ggml_build_forward_expand(gf, mctx_cur->cpy_k(ctx0, k_cur, k_idxs, il)); + } + + const auto & kq_mask = inp->get_kq_mask(); + + ggml_tensor * q = q_cur; + ggml_tensor * k = mctx_cur->get_k(ctx0, il); + ggml_tensor * v = ggml_view_4d(ctx0, k, v_cur->ne[0], k->ne[1], k->ne[2], k->ne[3], k->nb[1], k->nb[2], k->nb[3], 0); + + ggml_tensor * cur = build_attn_mha(q, k, v, kq_b, kq_mask, sinks, v_mla, kq_scale, il); + cb(cur, "kqv_out", il); + + if (wo) { + cur = build_lora_mm(wo, cur); + if (arch == LLM_ARCH_GLM4 || arch == LLM_ARCH_GLM4_MOE) { + // GLM4 and GLM4_MOE seem to have numerical issues with half-precision accumulators + ggml_mul_mat_set_prec(cur, GGML_PREC_F32); + } + } + + if (wo_b) { + cur = ggml_add(ctx0, cur, wo_b); + } + + return cur; +} + ggml_tensor * llm_graph_context::build_attn( llm_graph_input_attn_kv_iswa * inp, ggml_tensor * wo, diff --git a/src/llama-graph.h b/src/llama-graph.h index 242a046d56..4090d8116c 100644 --- a/src/llama-graph.h +++ b/src/llama-graph.h @@ -317,6 +317,39 @@ public: const llama_kv_cache_context * mctx; }; +// V-less input for the KV cache +// ref: https://github.com/ggml-org/llama.cpp/pull/19067 +class llm_graph_input_attn_k : public llm_graph_input_i { +public: + llm_graph_input_attn_k( + const llama_hparams & hparams, + const llama_cparams & cparams, + const llama_kv_cache_context * mctx) : + hparams(hparams), + cparams(cparams), + mctx(mctx) { + } + ~llm_graph_input_attn_k() = default; + + void set_input(const llama_ubatch * ubatch) override; + + bool can_reuse(const llm_graph_params & params) override; + + ggml_tensor * get_k_idxs() const { return self_k_idxs; } + + ggml_tensor * get_kq_mask() const { return self_kq_mask_cnv; } + + ggml_tensor * self_k_idxs = nullptr; // I64 [n_batch] + + ggml_tensor * self_kq_mask = nullptr; // F32 [n_kv, n_batch/n_stream, 1, n_stream] + ggml_tensor * self_kq_mask_cnv = nullptr; // [n_kv, n_batch/n_stream, 1, n_stream] + + const llama_hparams hparams; + const llama_cparams cparams; + + const llama_kv_cache_context * mctx; +}; + class llm_graph_input_attn_kv_iswa : public llm_graph_input_i { public: llm_graph_input_attn_kv_iswa( @@ -833,6 +866,21 @@ struct llm_graph_context { ggml_tensor * v_cur, // [n_embd_head_v, n_head_v, n_tokens] ggml_tensor * kq_b, ggml_tensor * sinks, // [n_head_q] + ggml_tensor * v_mla, // [n_embd_head_v_mla, n_embd_head_v, n_head_v] // TODO: remove + float kq_scale, + int il) const; + + llm_graph_input_attn_k * build_attn_inp_k() const; + + ggml_tensor * build_attn( + llm_graph_input_attn_k * inp, + ggml_tensor * wo, + ggml_tensor * wo_b, + ggml_tensor * q_cur, // [n_embd_head_q, n_head_q, n_tokens] + ggml_tensor * k_cur, // [n_embd_head_k, n_head_k, n_tokens] + ggml_tensor * v_cur, // [n_embd_head_v, n_head_v, n_tokens] + ggml_tensor * kq_b, + ggml_tensor * sinks, // [n_head_q] ggml_tensor * v_mla, // [n_embd_head_v_mla, n_embd_head_v, n_head_v] float kq_scale, int il) const; diff --git a/src/llama-hparams.cpp b/src/llama-hparams.cpp index 5f1df995f3..392f9160ce 100644 --- a/src/llama-hparams.cpp +++ b/src/llama-hparams.cpp @@ -72,8 +72,8 @@ uint32_t llama_hparams::n_embd_inp() const { return n_embd_inp; } -uint32_t llama_hparams::get_n_embd_out() const { - return n_embd_out > 0 ? n_embd_out : n_embd; +uint32_t llama_hparams::n_embd_out() const { + return n_embd_out_impl > 0 ? n_embd_out_impl : n_embd; } uint32_t llama_hparams::n_embd_k_gqa(uint32_t il) const { @@ -175,6 +175,21 @@ bool llama_hparams::is_swa(uint32_t il) const { GGML_ABORT("fatal error"); } +bool llama_hparams::is_mla() const { + assert((n_embd_head_k_mla_impl == 0 && n_embd_head_v_mla_impl == 0) || + (n_embd_head_k_mla_impl != 0 && n_embd_head_v_mla_impl != 0)); + + return n_embd_head_k_mla_impl != 0 && n_embd_head_v_mla_impl != 0; +} + +uint32_t llama_hparams::n_embd_head_k_mla() const { + return is_mla() ? n_embd_head_k_mla_impl : n_embd_head_k; +} + +uint32_t llama_hparams::n_embd_head_v_mla() const { + return is_mla() ? n_embd_head_v_mla_impl : n_embd_head_v; +} + bool llama_hparams::has_kv(uint32_t il) const { if (n_layer_kv_from_start >= 0) { if (il < (uint32_t) n_layer_kv_from_start) { diff --git a/src/llama-hparams.h b/src/llama-hparams.h index 2bf8665520..caed0ec1b7 100644 --- a/src/llama-hparams.h +++ b/src/llama-hparams.h @@ -53,8 +53,8 @@ struct llama_hparams { uint32_t n_rel_attn_bkts = 0; // note: deepseek2 using MLA converts into MQA with larger heads, then decompresses to MHA - uint32_t n_embd_head_k_mla = 0; - uint32_t n_embd_head_v_mla = 0; + uint32_t n_embd_head_k_mla_impl = 0; + uint32_t n_embd_head_v_mla_impl = 0; // for WavTokenizer struct llama_hparams_posnet posnet; @@ -164,7 +164,7 @@ struct llama_hparams { uint32_t n_cls_out = 1; // output embedding dimension (0 = use n_embd) - uint32_t n_embd_out = 0; + uint32_t n_embd_out_impl = 0; // llama4 smallthinker uint32_t n_moe_layer_step = 0; @@ -239,7 +239,7 @@ struct llama_hparams { uint32_t n_embd_inp() const; // dimension of output embeddings - uint32_t get_n_embd_out() const; + uint32_t n_embd_out() const; // dimension of key embeddings across all k-v heads uint32_t n_embd_k_gqa(uint32_t il = 0) const; @@ -269,6 +269,12 @@ struct llama_hparams { bool is_swa(uint32_t il) const; + // note: currently only support if either all or none of the layers are MLA + bool is_mla() const; + + uint32_t n_embd_head_k_mla() const; + uint32_t n_embd_head_v_mla() const; + bool has_kv(uint32_t il) const; // number of layers for which has_kv() returns true diff --git a/src/llama-kv-cache.cpp b/src/llama-kv-cache.cpp index a7327c4987..f3c9b49f30 100644 --- a/src/llama-kv-cache.cpp +++ b/src/llama-kv-cache.cpp @@ -97,6 +97,8 @@ llama_kv_cache::llama_kv_cache( __func__, hparams.n_embd_v_gqa_max()); } + const bool is_mla = hparams.is_mla(); + for (uint32_t il = 0; il < hparams.n_layer; il++) { if (!hparams.has_kv(il)) { LLAMA_LOG_DEBUG("%s: layer %3d: does not have KV cache\n", __func__, il); @@ -130,18 +132,21 @@ llama_kv_cache::llama_kv_cache( throw std::runtime_error("failed to create ggml context for kv cache"); } - ggml_tensor * k = ggml_new_tensor_3d(ctx, type_k, n_embd_k_gqa, kv_size, n_stream); - ggml_tensor * v = ggml_new_tensor_3d(ctx, type_v, n_embd_v_gqa, kv_size, n_stream); + const bool has_k = true; + const bool has_v = !is_mla; - ggml_format_name(k, "cache_k_l%d", il); - ggml_format_name(v, "cache_v_l%d", il); + ggml_tensor * k = has_k ? ggml_new_tensor_3d(ctx, type_k, n_embd_k_gqa, kv_size, n_stream) : nullptr; + ggml_tensor * v = has_v ? ggml_new_tensor_3d(ctx, type_v, n_embd_v_gqa, kv_size, n_stream) : nullptr; + + has_k && ggml_format_name(k, "cache_k_l%d", il); + has_v && ggml_format_name(v, "cache_v_l%d", il); std::vector k_stream; std::vector v_stream; for (uint32_t s = 0; s < n_stream; ++s) { - k_stream.push_back(ggml_view_2d(ctx, k, n_embd_k_gqa, kv_size, k->nb[1], s*k->nb[2])); - v_stream.push_back(ggml_view_2d(ctx, v, n_embd_v_gqa, kv_size, v->nb[1], s*v->nb[2])); + k_stream.push_back(has_k ? ggml_view_2d(ctx, k, n_embd_k_gqa, kv_size, k->nb[1], s*k->nb[2]) : nullptr); + v_stream.push_back(has_v ? ggml_view_2d(ctx, v, n_embd_v_gqa, kv_size, v->nb[1], s*v->nb[2]) : nullptr); } map_layer_ids[il] = layers.size(); @@ -647,7 +652,10 @@ bool llama_kv_cache::update(llama_context * lctx, bool do_shift, const stream_co const auto & layer = layers[il]; ggml_backend_tensor_copy(layer.k_stream[ssrc], layer.k_stream[sdst]); - ggml_backend_tensor_copy(layer.v_stream[ssrc], layer.v_stream[sdst]); + + if (layer.v_stream[ssrc]) { + ggml_backend_tensor_copy(layer.v_stream[ssrc], layer.v_stream[sdst]); + } } } } @@ -1516,7 +1524,7 @@ size_t llama_kv_cache::size_v_bytes() const { size_t size_v_bytes = 0; for (const auto & layer : layers) { - size_v_bytes += ggml_nbytes(layer.v); + size_v_bytes += layer.v ? ggml_nbytes(layer.v) : 0; } return size_v_bytes; @@ -1798,6 +1806,9 @@ void llama_kv_cache::state_write_data(llama_io_write_i & io, const cell_ranges_t const uint32_t n_embd_v_gqa = hparams.n_embd_v_gqa(il); auto * v = layer.v_stream[cr.strm]; + if (!v) { + continue; + } // Write value type const int32_t v_type_i = (int32_t) v->type; @@ -1824,6 +1835,9 @@ void llama_kv_cache::state_write_data(llama_io_write_i & io, const cell_ranges_t const uint32_t n_embd_v_gqa = hparams.n_embd_v_gqa(il); auto * v = layer.v_stream[cr.strm]; + if (!v) { + continue; + } // Write value type const int32_t v_type_i = (int32_t) v->type; @@ -2027,6 +2041,9 @@ bool llama_kv_cache::state_read_data(llama_io_read_i & io, uint32_t strm, uint32 const uint32_t n_embd_v_gqa = hparams.n_embd_v_gqa(il); auto * v = layer.v_stream[strm]; + if (!v) { + continue; + } // Read type of value int32_t v_type_i_ref; @@ -2068,6 +2085,9 @@ bool llama_kv_cache::state_read_data(llama_io_read_i & io, uint32_t strm, uint32 const uint32_t n_embd_v_gqa = hparams.n_embd_v_gqa(il); auto * v = layer.v_stream[strm]; + if (!v) { + continue; + } // Read type of value int32_t v_type_i_ref; diff --git a/src/llama-model-saver.cpp b/src/llama-model-saver.cpp index ae27c71ce2..36e353074e 100644 --- a/src/llama-model-saver.cpp +++ b/src/llama-model-saver.cpp @@ -146,8 +146,8 @@ void llama_model_saver::add_kv_from_model() { add_kv(LLM_KV_VOCAB_SIZE, vocab.n_tokens()); add_kv(LLM_KV_CONTEXT_LENGTH, hparams.n_ctx_train); add_kv(LLM_KV_EMBEDDING_LENGTH, hparams.n_embd); - if (hparams.n_embd_out > 0) { - add_kv(LLM_KV_EMBEDDING_LENGTH_OUT, hparams.n_embd_out); + if (hparams.n_embd_out_impl > 0) { + add_kv(LLM_KV_EMBEDDING_LENGTH_OUT, hparams.n_embd_out_impl); } add_kv(LLM_KV_BLOCK_COUNT, hparams.n_layer); add_kv(LLM_KV_LEADING_DENSE_BLOCK_COUNT, hparams.n_layer_dense_lead); diff --git a/src/llama-model.cpp b/src/llama-model.cpp index b58b35a426..32f49e7996 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -512,7 +512,7 @@ void llama_model::load_hparams(llama_model_loader & ml) { ml.get_key(LLM_KV_CONTEXT_LENGTH, hparams.n_ctx_train); ml.get_key(LLM_KV_EMBEDDING_LENGTH, hparams.n_embd); - ml.get_key(LLM_KV_EMBEDDING_LENGTH_OUT, hparams.n_embd_out, false); + ml.get_key(LLM_KV_EMBEDDING_LENGTH_OUT, hparams.n_embd_out_impl, false); ml.get_key(LLM_KV_BLOCK_COUNT, hparams.n_layer); ml.get_key(LLM_KV_EXPERT_COUNT, hparams.n_expert, false); ml.get_key(LLM_KV_EXPERT_USED_COUNT, hparams.n_expert_used, false); @@ -1697,15 +1697,16 @@ void llama_model::load_hparams(llama_model_loader & ml) { case LLM_ARCH_DEEPSEEK2: { // lite variants include DeepSeek-V2-Lite, GigaChat3-10B-A1.8B - bool is_lite = (hparams.n_layer == 27 || hparams.n_layer == 26); + const bool is_lite = (hparams.n_layer == 27 || hparams.n_layer == 26); + ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); ml.get_key(LLM_KV_LEADING_DENSE_BLOCK_COUNT, hparams.n_layer_dense_lead); if (!is_lite) { ml.get_key(LLM_KV_ATTENTION_Q_LORA_RANK, hparams.n_lora_q); } ml.get_key(LLM_KV_ATTENTION_KV_LORA_RANK, hparams.n_lora_kv); - ml.get_key(LLM_KV_ATTENTION_KEY_LENGTH_MLA, hparams.n_embd_head_k_mla, false); - ml.get_key(LLM_KV_ATTENTION_VALUE_LENGTH_MLA, hparams.n_embd_head_v_mla, false); + ml.get_key(LLM_KV_ATTENTION_KEY_LENGTH_MLA, hparams.n_embd_head_k_mla_impl, false); + ml.get_key(LLM_KV_ATTENTION_VALUE_LENGTH_MLA, hparams.n_embd_head_v_mla_impl, false); ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH, hparams.n_ff_exp); ml.get_key(LLM_KV_EXPERT_SHARED_COUNT, hparams.n_expert_shared); ml.get_key(LLM_KV_EXPERT_WEIGHTS_SCALE, hparams.expert_weights_scale, false); @@ -4909,14 +4910,11 @@ bool llama_model::load_tensors(llama_model_loader & ml) { } break; case LLM_ARCH_DEEPSEEK2: { - // lite variants include DeepSeek-V2-Lite, GigaChat3-10B-A1.8B - const bool is_lite = (hparams.n_layer == 27 || hparams.n_layer == 26); - - const bool is_mla = (hparams.n_embd_head_k_mla != 0 && hparams.n_embd_head_v_mla != 0); + const bool is_mla = hparams.is_mla(); // note: these are the actual head sizes you get when treating as MHA or after "decompression" using wv_b for MLA - const int64_t n_embd_head_k_mla = is_mla ? hparams.n_embd_head_k_mla : hparams.n_embd_head_k; - const int64_t n_embd_head_v_mla = is_mla ? hparams.n_embd_head_v_mla : hparams.n_embd_head_v; + const int64_t n_embd_head_k_mla = hparams.n_embd_head_k_mla(); + const int64_t n_embd_head_v_mla = hparams.n_embd_head_v_mla(); const int64_t n_embd_head_qk_rope = hparams.n_rot; const int64_t n_embd_head_qk_nope = n_embd_head_k_mla - n_embd_head_qk_rope; @@ -4941,13 +4939,13 @@ bool llama_model::load_tensors(llama_model_loader & ml) { auto & layer = layers[i]; layer.attn_norm = create_tensor(tn(LLM_TENSOR_ATTN_NORM, "weight", i), {n_embd}, 0); - if (!is_lite) { + if (q_lora_rank > 0) { layer.attn_q_a_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_A_NORM, "weight", i), {q_lora_rank}, 0); } layer.attn_kv_a_norm = create_tensor(tn(LLM_TENSOR_ATTN_KV_A_NORM, "weight", i), {kv_lora_rank}, 0); - if (!is_lite) { + if (q_lora_rank > 0) { layer.wq_a = create_tensor(tn(LLM_TENSOR_ATTN_Q_A, "weight", i), {n_embd, q_lora_rank}, 0); layer.wq_b = create_tensor(tn(LLM_TENSOR_ATTN_Q_B, "weight", i), {q_lora_rank, n_head * n_embd_head_k_mla}, 0); } else { @@ -6597,7 +6595,7 @@ bool llama_model::load_tensors(llama_model_loader & ml) { } // for LFM2-ColBert-350M - dense_2_out_layers = create_tensor(tn(LLM_TENSOR_DENSE_2_OUT, "weight"), {n_embd, hparams.get_n_embd_out()}, TENSOR_NOT_REQUIRED); + dense_2_out_layers = create_tensor(tn(LLM_TENSOR_DENSE_2_OUT, "weight"), {n_embd, hparams.n_embd_out()}, TENSOR_NOT_REQUIRED); } break; case LLM_ARCH_SMALLTHINKER: { @@ -7316,8 +7314,8 @@ void llama_model::print_info() const { LLAMA_LOG_INFO("%s: n_layer_dense_lead = %d\n", __func__, hparams.n_layer_dense_lead); LLAMA_LOG_INFO("%s: n_lora_q = %d\n", __func__, hparams.n_lora_q); LLAMA_LOG_INFO("%s: n_lora_kv = %d\n", __func__, hparams.n_lora_kv); - LLAMA_LOG_INFO("%s: n_embd_head_k_mla = %d\n", __func__, hparams.n_embd_head_k_mla); - LLAMA_LOG_INFO("%s: n_embd_head_v_mla = %d\n", __func__, hparams.n_embd_head_v_mla); + LLAMA_LOG_INFO("%s: n_embd_head_k_mla = %d\n", __func__, hparams.n_embd_head_k_mla()); + LLAMA_LOG_INFO("%s: n_embd_head_v_mla = %d\n", __func__, hparams.n_embd_head_v_mla()); LLAMA_LOG_INFO("%s: n_ff_exp = %d\n", __func__, hparams.n_ff_exp); LLAMA_LOG_INFO("%s: n_expert_shared = %d\n", __func__, hparams.n_expert_shared); LLAMA_LOG_INFO("%s: expert_weights_scale = %.1f\n", __func__, hparams.expert_weights_scale); @@ -8162,7 +8160,7 @@ int32_t llama_model_n_embd_inp(const llama_model * model) { } int32_t llama_model_n_embd_out(const llama_model * model) { - return model->hparams.get_n_embd_out(); + return model->hparams.n_embd_out(); } int32_t llama_model_n_layer(const llama_model * model) { diff --git a/src/models/deepseek2.cpp b/src/models/deepseek2.cpp index c404c1946d..297dca5136 100644 --- a/src/models/deepseek2.cpp +++ b/src/models/deepseek2.cpp @@ -2,14 +2,11 @@ llm_build_deepseek2::llm_build_deepseek2(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) { - // lite variants include DeepSeek-V2-Lite, GigaChat3-10B-A1.8B - bool is_lite = (hparams.n_layer == 27 || hparams.n_layer == 26); - - const bool is_mla = (hparams.n_embd_head_k_mla != 0 && hparams.n_embd_head_v_mla != 0); + const bool is_mla = hparams.is_mla(); // note: these are the actual head sizes you get when treating as MHA or after "decompression" using wv_b for MLA - const int64_t n_embd_head_k = is_mla ? hparams.n_embd_head_k_mla : hparams.n_embd_head_k; - const int64_t n_embd_head_v = is_mla ? hparams.n_embd_head_v_mla : hparams.n_embd_head_v; + const int64_t n_embd_head_k = hparams.n_embd_head_k_mla(); + const int64_t n_embd_head_v = hparams.n_embd_head_v_mla(); const int64_t n_embd_head_qk_rope = hparams.n_rot; const int64_t n_embd_head_qk_nope = n_embd_head_k - n_embd_head_qk_rope; @@ -43,7 +40,8 @@ llm_build_deepseek2::llm_build_deepseek2(const llama_model & model, const llm_gr // inp_pos - contains the positions ggml_tensor * inp_pos = build_inp_pos(); - auto * inp_attn = build_attn_inp_kv(); + auto * inp_attn_kv = !is_mla ? build_attn_inp_kv() : nullptr; + auto * inp_attn_k = is_mla ? build_attn_inp_k() : nullptr; ggml_tensor * inp_out_ids = build_inp_out_ids(); @@ -57,6 +55,9 @@ llm_build_deepseek2::llm_build_deepseek2(const llama_model & model, const llm_gr // self_attention { ggml_tensor * q = NULL; + + const bool is_lite = model.layers[il].wq; + if (!is_lite) { q = ggml_mul_mat(ctx0, model.layers[il].wq_a, cur); cb(q, "q", il); @@ -145,7 +146,7 @@ llm_build_deepseek2::llm_build_deepseek2(const llama_model & model, const llm_gr } // note: MLA with the absorption optimzation converts into MQA (ie: GQA with 1 group) - cur = build_attn(inp_attn, + cur = build_attn(inp_attn_k, model.layers[il].wo, NULL, Qcur, Kcur, Vcur, nullptr, nullptr, model.layers[il].wv_b, kq_scale, il); } else { @@ -182,7 +183,7 @@ llm_build_deepseek2::llm_build_deepseek2(const llama_model & model, const llm_gr } // note: MLA without the absorption optimization converts into MHA (ie: GQA with full n_head groups) - cur = build_attn(inp_attn, + cur = build_attn(inp_attn_kv, model.layers[il].wo, NULL, Qcur, Kcur, Vcur, nullptr, nullptr, nullptr, kq_scale, il); } From bcb43163aed6a8986cf3d66e90848c9c258d4936 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Sun, 25 Jan 2026 23:25:58 +0800 Subject: [PATCH 017/206] ggml-cpu: Use tiled FA for prompt-processing (#19012) * ggml-cpu: Use tiled FA for prompt-processing the FA performance is gimped on CPU on long contexts because it essentially uses a vector kernel. This PR adds a tiled FA for PP. Perf tuning for tile sizes done on a AMD EPYC single-socket 64-c machine. * fix out of bounds for mask * skip rows where there are all masks * skip tile if mask is inf * store mask in worksize * check inf tile earlier --- ggml/src/ggml-cpu/common.h | 8 + ggml/src/ggml-cpu/ggml-cpu.c | 9 +- ggml/src/ggml-cpu/ops.cpp | 290 ++++++++++++++++++++++++++++++++++- 3 files changed, 303 insertions(+), 4 deletions(-) diff --git a/ggml/src/ggml-cpu/common.h b/ggml/src/ggml-cpu/common.h index 6adca5437f..1057b5bb15 100644 --- a/ggml/src/ggml-cpu/common.h +++ b/ggml/src/ggml-cpu/common.h @@ -6,6 +6,9 @@ #include "ggml-impl.h" #include "simd-mappings.h" +#define GGML_FA_TILE_Q 32 +#define GGML_FA_TILE_KV 16 + #ifdef __cplusplus #include @@ -84,4 +87,9 @@ static std::pair get_thread_range(const struct ggml_compute_pa return {ir0, ir1}; } +struct ggml_fa_tile_config { + static constexpr size_t Q = GGML_FA_TILE_Q; + static constexpr size_t KV = GGML_FA_TILE_KV; +}; + #endif diff --git a/ggml/src/ggml-cpu/ggml-cpu.c b/ggml/src/ggml-cpu/ggml-cpu.c index 4c7a75e768..b1de2ae871 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.c +++ b/ggml/src/ggml-cpu/ggml-cpu.c @@ -14,6 +14,7 @@ #include "vec.h" #include "ops.h" #include "ggml.h" +#include "common.h" #if defined(_MSC_VER) || defined(__MINGW32__) #include // using malloc.h with MSC/MINGW @@ -2866,10 +2867,12 @@ struct ggml_cplan ggml_graph_plan( } break; case GGML_OP_FLASH_ATTN_EXT: { - const int64_t ne10 = node->src[1]->ne[0]; // DK - const int64_t ne20 = node->src[2]->ne[0]; // DV + const int64_t DK = node->src[1]->ne[0]; + const int64_t DV = node->src[2]->ne[0]; - cur = sizeof(float)*(1*ne10 + 2*ne20)*n_tasks; // 1x head size K + 2x head size V (per thread) + // Tiled flash attention scratch (tile sizes defined in common.h) + // Per-thread: Q_q + KQ + mask + VKQ32 + V32 + padding + cur = sizeof(float)*(GGML_FA_TILE_Q*DK + 2*GGML_FA_TILE_Q*GGML_FA_TILE_KV + GGML_FA_TILE_Q*DV + GGML_FA_TILE_KV*DV)*n_tasks; } break; case GGML_OP_FLASH_ATTN_BACK: { diff --git a/ggml/src/ggml-cpu/ops.cpp b/ggml/src/ggml-cpu/ops.cpp index 387e2fe42c..48c8964361 100644 --- a/ggml/src/ggml-cpu/ops.cpp +++ b/ggml/src/ggml-cpu/ops.cpp @@ -8164,6 +8164,7 @@ static void ggml_compute_forward_flash_attn_ext_f16_one_chunk( // online softmax / attention // loop over n_kv and n_head_kv // ref: https://arxiv.org/pdf/2112.05682.pdf + for (int64_t ic = 0; ic < nek1; ++ic) { const float mv = mp ? slope*GGML_CPU_FP16_TO_FP32(mp[ic]) : 0.0f; if (mv == -INFINITY) { @@ -8271,6 +8272,280 @@ static void ggml_compute_forward_flash_attn_ext_f16_one_chunk( } } +static void ggml_compute_forward_flash_attn_ext_tiled( + const ggml_compute_params * params, + ggml_tensor * dst, + int ir0, int ir1) { + const ggml_tensor * q = dst->src[0]; + const ggml_tensor * k = dst->src[1]; + const ggml_tensor * v = dst->src[2]; + const ggml_tensor * mask = dst->src[3]; + const ggml_tensor * sinks = dst->src[4]; + + GGML_TENSOR_LOCALS(int64_t, neq, q, ne) + GGML_TENSOR_LOCALS(size_t, nbq, q, nb) + GGML_TENSOR_LOCALS(int64_t, nek, k, ne) + GGML_TENSOR_LOCALS(size_t, nbk, k, nb) + GGML_TENSOR_LOCALS(int64_t, nev, v, ne) + GGML_TENSOR_LOCALS(size_t, nbv, v, nb) + GGML_TENSOR_LOCALS(int64_t, ne, dst, ne) + GGML_TENSOR_LOCALS(size_t, nb, dst, nb) + + const int64_t DK = nek0; + const int64_t DV = nev0; + const int64_t N = neq1; + + GGML_ASSERT(ne0 == DV); + GGML_ASSERT(ne2 == N); + + // input tensor rows must be contiguous + GGML_ASSERT(nbq0 == ggml_type_size(q->type)); + GGML_ASSERT(nbk0 == ggml_type_size(k->type)); + GGML_ASSERT(nbv0 == ggml_type_size(v->type)); + + GGML_ASSERT(neq0 == DK); + GGML_ASSERT(nek0 == DK); + GGML_ASSERT(nev0 == DV); + + GGML_ASSERT(neq1 == N); + + // dst cannot be transposed or permuted + GGML_ASSERT(nb0 == sizeof(float)); + GGML_ASSERT(nb0 <= nb1); + GGML_ASSERT(nb1 <= nb2); + GGML_ASSERT(nb2 <= nb3); + + GGML_ASSERT(k->type == v->type); + const ggml_type kv_type = k->type; + + const auto * kv_type_traits_cpu = ggml_get_type_traits_cpu(kv_type); + const ggml_from_float_t kv_from_float = kv_type_traits_cpu->from_float; + const ggml_vec_dot_t kv_vec_dot = kv_type_traits_cpu->vec_dot; + const size_t kv_type_size = ggml_type_size(kv_type); + + // broadcast factors + const int64_t rk2 = neq2/nek2; + const int64_t rk3 = neq3/nek3; + + const int64_t rv2 = neq2/nev2; + const int64_t rv3 = neq3/nev3; + + float scale = 1.0f; + float max_bias = 0.0f; + float logit_softcap = 0.0f; + + memcpy(&scale, (float *) dst->op_params + 0, sizeof(float)); + memcpy(&max_bias, (float *) dst->op_params + 1, sizeof(float)); + memcpy(&logit_softcap, (float *) dst->op_params + 2, sizeof(float)); + + if (logit_softcap != 0) { + scale /= logit_softcap; + } + + const uint32_t n_head = neq2; + const uint32_t n_head_log2 = 1u << (uint32_t) floor(log2(n_head)); + + const float m0 = powf(2.0f, -(max_bias ) / n_head_log2); + const float m1 = powf(2.0f, -(max_bias / 2.0f) / n_head_log2); + + int ith = params->ith; + + static constexpr int Q_TILE_SZ = ggml_fa_tile_config::Q; + static constexpr int KV_TILE_SZ = ggml_fa_tile_config::KV; + + GGML_ASSERT(nek1 % KV_TILE_SZ == 0 && "KV sequence length must be divisible by KV_TILE_SZ"); + + int ir = ir0; + while (ir < ir1) { + // q indices for the start of this tile + const int iq3 = ir/(neq2*neq1); + const int iq2 = (ir - iq3*neq2*neq1)/neq1; + const int iq1 = (ir - iq3*neq2*neq1 - iq2*neq1); + + // Number of valid rows in this tile: + // - limited by tile size (Q_TILE_SZ) + // - limited by chunk boundary (ir1 - ir) + // - limited by head boundary (neq1 - iq1) to avoid crossing into next head + const int tile_rows = MIN(Q_TILE_SZ, MIN((int)(ir1 - ir), (int)(neq1 - iq1))); + GGML_ASSERT(tile_rows > 0); + + const uint32_t h = iq2; // head index + const float slope = (max_bias > 0.0f) ? h < n_head_log2 ? powf(m0, h + 1) : powf(m1, 2*(h - n_head_log2) + 1) : 1.0f; + + float S[Q_TILE_SZ]; + float M[Q_TILE_SZ]; + + for (int i = 0 ; i < Q_TILE_SZ; ++i) { + S[i] = 0.; + M[i] = -INFINITY; + } + + // Per-thread scratch layout: + // Q_q: Q_TILE_SZ * DK (converted Q tile in KV type) + // KQ: Q_TILE_SZ * KV_TILE_SZ (attention scores in float) + // mask: Q_TILE_SZ * KV_TILE_SZ (mask in float) + // VKQ32: Q_TILE_SZ * DV (FP32 output accumulator) + // V32: KV_TILE_SZ * DV (F32 buffer for V tile - used for f166 conversion) + float * base = (float *) params->wdata + ith*(Q_TILE_SZ*DK + 2*Q_TILE_SZ*KV_TILE_SZ + Q_TILE_SZ*DV + KV_TILE_SZ*DV + CACHE_LINE_SIZE_F32); + + void * Q_q = base; + float * KQ = (float *)((char *)base + Q_TILE_SZ * DK * sizeof(float)); + float * mask32 = KQ + Q_TILE_SZ * KV_TILE_SZ; + float * VKQ32 = mask32 + Q_TILE_SZ * KV_TILE_SZ; + float * V32 = VKQ32 + Q_TILE_SZ * DV; // F32 buffer for V tile + + memset(VKQ32, 0, Q_TILE_SZ * DV * sizeof(float)); + memset(mask32, 0, Q_TILE_SZ * KV_TILE_SZ * sizeof(float)); + + // k indices + const int ik3 = iq3 / rk3; + const int ik2 = iq2 / rk2; + + // v indices + const int iv3 = iq3 / rv3; + const int iv2 = iq2 / rv2; + + for (int tq = 0; tq < tile_rows; tq++) { + const float * pq = (const float *) ((char *) q->data + ((iq1 + tq)*nbq1 + iq2*nbq2 + iq3*nbq3)); + kv_from_float(pq, (char *)Q_q + tq * DK * kv_type_size, DK); + } + // Zero-pad remaining rows + for (int tq = tile_rows; tq < Q_TILE_SZ; tq++) { + memset((char *)Q_q + tq * DK * kv_type_size, 0, DK * kv_type_size); + } + + for (int64_t ic = 0; ic < nek1; ic += KV_TILE_SZ) { + + // skip the tile entirely if all the masks are -inf + if (mask) { + bool can_skip = true; + for (int tq = 0; tq < tile_rows; tq++) { + const ggml_fp16_t * mp_row = (const ggml_fp16_t *)((const char *) mask->data + (iq1 + tq)*mask->nb[1] + (iq2%mask->ne[2])*mask->nb[2] + (iq3%mask->ne[3])*mask->nb[3]); + for (int tk = 0; tk < KV_TILE_SZ; tk++) { + mask32[tq * KV_TILE_SZ + tk] = slope * GGML_CPU_FP16_TO_FP32(mp_row[ic + tk]); + if (mask32[tq * KV_TILE_SZ + tk] != -INFINITY) { + can_skip = false; + } + } + } + + if (can_skip) { + continue; + } + } + + for (int tq = 0; tq < Q_TILE_SZ; tq++) { + const void * q_row = (const char *)Q_q + tq * DK * kv_type_size; + for (int tk = 0; tk < KV_TILE_SZ; tk++) { + const void * k_row = (const char *) k->data + ((ic + tk)*nbk1 + ik2*nbk2 + ik3*nbk3); + float s; + kv_vec_dot(DK, &s, 0, k_row, 0, q_row, 0, 1); + KQ[tq * KV_TILE_SZ + tk] = s * scale; + } + } + + if (logit_softcap != 0.0f) { + ggml_vec_tanh_f32(Q_TILE_SZ * KV_TILE_SZ, KQ, KQ); + ggml_vec_scale_f32(Q_TILE_SZ * KV_TILE_SZ, KQ, logit_softcap); + } + + if (mask) { + ggml_vec_add_f32(tile_rows * KV_TILE_SZ, KQ, KQ, mask32); + } + + bool skip[Q_TILE_SZ] = {}; + + for (int tq = 0; tq < Q_TILE_SZ; tq++) { + float * kq_row = KQ + tq * KV_TILE_SZ; + + float tile_max; + ggml_vec_max_f32(KV_TILE_SZ, &tile_max, kq_row); + + if (tile_max == -INFINITY) { + skip[tq] = true; + continue; + } + + const float Mold = M[tq]; + const float Mnew = fmaxf(Mold, tile_max); + + if (Mnew > Mold) { + const float ms = expf(Mold - Mnew); + ggml_vec_scale_f32(DV, VKQ32 + tq * DV, ms); + S[tq] *= ms; + } + M[tq] = Mnew; + + + S[tq] += ggml_vec_soft_max_f32(KV_TILE_SZ, kq_row, kq_row, Mnew); + } + + // Convert V tile to F32 first (if F16), then do MAD + // On x86, ggml_vec_mad_f16 internall converts F16<->F32 on every load/store, so pre-converting is faster. + // TODO: on ARM, native f16 should be faster + if (kv_type == GGML_TYPE_F16) { + for (int tk = 0; tk < KV_TILE_SZ; tk++) { + const ggml_fp16_t * v_row = (const ggml_fp16_t *)((const char *) v->data + ((ic + tk)*nbv1 + iv2*nbv2 + iv3*nbv3)); + ggml_fp16_to_fp32_row(v_row, V32 + tk * DV, DV); + } + for (int tq = 0; tq < Q_TILE_SZ; tq++) { + if (skip[tq]) continue; + float * vkq_row = VKQ32 + tq * DV; + for (int tk = 0; tk < KV_TILE_SZ; tk++) { + const float p = KQ[tq * KV_TILE_SZ + tk]; + ggml_vec_mad_f32(DV, vkq_row, V32 + tk * DV, p); + } + } + } else { + for (int tq = 0; tq < Q_TILE_SZ; tq++) { + if (skip[tq]) continue; + float * vkq_row = VKQ32 + tq * DV; + for (int tk = 0; tk < KV_TILE_SZ; tk++) { + const float p = KQ[tq * KV_TILE_SZ + tk]; + const float * v_row = (const float *)((const char *) v->data + ((ic + tk)*nbv1 + iv2*nbv2 + iv3*nbv3)); + ggml_vec_mad_f32(DV, vkq_row, v_row, p); + } + } + } + } + + // sinks (apply only to valid rows in the tile) + if (sinks) { + const float s = ((float *)((char *) sinks->data))[h]; + + for (int tq = 0; tq < tile_rows; tq++) { + float ms = 1.0f; + float vs = 1.0f; + + if (s > M[tq]) { + ms = expf(M[tq] - s); + ggml_vec_scale_f32(DV, VKQ32 + tq * DV, ms); + } else { + vs = expf(s - M[tq]); + } + + S[tq] = S[tq] * ms + vs; + } + } + + for (int tq = 0; tq < tile_rows; tq++) { + // V /= S + const float S_inv = S[tq] == 0.0f ? 0.0f : 1.0f / S[tq]; + ggml_vec_scale_f32(DV, VKQ32 + tq * DV, S_inv); + + // dst indices + const int i1 = iq1 + tq; + const int i2 = iq2; + const int i3 = iq3; + + // permute(0, 2, 1, 3) + memcpy((char *) dst->data + (i3*ne2*ne1 + i2 + i1*ne1)*nb1, VKQ32 + tq * DV, nb1); + } + + ir += tile_rows; + } +} + static void ggml_compute_forward_flash_attn_ext_f16( const ggml_compute_params * params, ggml_tensor * dst) { @@ -8343,6 +8618,15 @@ static void ggml_compute_forward_flash_attn_ext_f16( // The number of elements in each chunk const int64_t dr = (nr + nchunk - 1) / nchunk; + static constexpr int64_t KV_TILE_SZ = ggml_fa_tile_config::KV; + static constexpr int64_t Q_TILE_SZ = ggml_fa_tile_config::Q; + const bool kv_is_f32_or_f16 = (k->type == GGML_TYPE_F32 || k->type == GGML_TYPE_F16); + const bool use_tiled = (q->type == GGML_TYPE_F32 && + kv_is_f32_or_f16 && + k->type == v->type && + nek1 % KV_TILE_SZ == 0 && + neq1 >= Q_TILE_SZ); // Only use tiled for batch >= tile size + // The first chunk comes from our thread_id, the rest will get auto-assigned. int current_chunk = ith; @@ -8350,7 +8634,11 @@ static void ggml_compute_forward_flash_attn_ext_f16( const int64_t ir0 = dr * current_chunk; const int64_t ir1 = MIN(ir0 + dr, nr); - ggml_compute_forward_flash_attn_ext_f16_one_chunk(params, dst, ir0, ir1); + if (use_tiled) { + ggml_compute_forward_flash_attn_ext_tiled(params, dst, ir0, ir1); + } else { + ggml_compute_forward_flash_attn_ext_f16_one_chunk(params, dst, ir0, ir1); + } current_chunk = ggml_threadpool_chunk_add(params->threadpool, 1); } From 0bf56369384ff1af2731cd1168785e283a1ba266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Sun, 25 Jan 2026 18:03:34 +0100 Subject: [PATCH 018/206] convert : yield Gemma3N custom_map tensors directly (#19091) --- convert_hf_to_gguf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index b56a99c5fa..6e6e618989 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -6145,7 +6145,8 @@ class Gemma3nVisionAudioModel(ConformerAudioModel): if name.startswith("model.vision_tower.timm_model.blocks."): # Double-indexed block tensors through custom logic - new_name = self.custom_map(name) + yield (self.custom_map(name), data_torch) + return else: # Route non-repeating (conv_stem, msfa, embedding, etc.) and un-catched through tensor_mapping.py new_name = self.map_tensor_name(name) From 0440bfd1605333726ea0fb7a836942660bf2f9a6 Mon Sep 17 00:00:00 2001 From: ccbinn Date: Mon, 26 Jan 2026 02:07:19 +0800 Subject: [PATCH 019/206] metal : fix recommendedMaxWorkingSetSize availability on legacy iOS/macOS (#19088) Co-authored-by: chenbin11 --- ggml/src/ggml-metal/ggml-metal-device.m | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index eb4e2c209c..7f9c384c34 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -785,8 +785,12 @@ ggml_metal_device_t ggml_metal_device_init(void) { dev->props.op_offload_min_batch_size = getenv("GGML_OP_OFFLOAD_MIN_BATCH") ? atoi(getenv("GGML_OP_OFFLOAD_MIN_BATCH")) : 32; dev->props.max_buffer_size = dev->mtl_device.maxBufferLength; - dev->props.max_working_set_size = dev->mtl_device.recommendedMaxWorkingSetSize; dev->props.max_theadgroup_memory_size = dev->mtl_device.maxThreadgroupMemoryLength; + if (@available(macOS 10.12, iOS 16.0, *)) { + dev->props.max_working_set_size = dev->mtl_device.recommendedMaxWorkingSetSize; + } else { + dev->props.max_working_set_size = dev->mtl_device.maxBufferLength; + } strncpy(dev->props.name, [[dev->mtl_device name] UTF8String], sizeof(dev->props.name) - 1); From 0c21677e43044d27f6f7a7f9f95c67f7c4b3fdb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Sun, 25 Jan 2026 21:19:47 +0100 Subject: [PATCH 020/206] CUDA: faster FA for GQA > 1 but not power of 2 (#19092) --- ggml/src/ggml-cuda/fattn-common.cuh | 22 +++--- ggml/src/ggml-cuda/fattn-mma-f16.cuh | 30 +++++---- ggml/src/ggml-cuda/fattn.cu | 67 ++++++++++++++++--- ...ttn-mma-f16-instance-ncols1_1-ncols2_32.cu | 5 ++ ...ttn-mma-f16-instance-ncols1_2-ncols2_32.cu | 5 ++ .../template-instances/generate_cu_files.py | 6 +- 6 files changed, 99 insertions(+), 36 deletions(-) create mode 100644 ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-ncols1_1-ncols2_32.cu create mode 100644 ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-ncols1_2-ncols2_32.cu diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index 13c5b0a459..1f5f1b9206 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -643,9 +643,10 @@ static __global__ void flash_attn_stream_k_fixup( const int iter_k = (ne11 + (nbatch_fa - 1)) / nbatch_fa; const int iter_j = (ne01 + (ncols1 - 1)) / ncols1; + const int iter_z = (ne02 + (ncols2 - 1)) / ncols2; - const int kbc0 = int64_t(bidx0 + 0)*(iter_k*iter_j*(ne02/ncols2)*ne03) / gridDim.x; - const int kbc0_stop = int64_t(bidx0 + 1)*(iter_k*iter_j*(ne02/ncols2)*ne03) / gridDim.x; + const int kbc0 = int64_t(bidx0 + 0)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; + const int kbc0_stop = int64_t(bidx0 + 1)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; const bool did_not_have_any_data = kbc0 == kbc0_stop; const bool wrote_beginning_of_tile = kbc0 % iter_k == 0; @@ -654,15 +655,15 @@ static __global__ void flash_attn_stream_k_fixup( return; } - const int sequence = kbc0 / (iter_k*iter_j*(ne02/ncols2)); - const int head = (kbc0 - iter_k*iter_j*(ne02/ncols2)*sequence) / (iter_k*iter_j); - const int jt = (kbc0 - iter_k*iter_j*(ne02/ncols2)*sequence - iter_k*iter_j*head) / iter_k; // j index of current tile. + const int sequence = kbc0 / (iter_k*iter_j*iter_z); + const int zt = (kbc0 - iter_k*iter_j*iter_z*sequence) / (iter_k*iter_j); + const int jt = (kbc0 - iter_k*iter_j*iter_z*sequence - iter_k*iter_j*zt) / iter_k; // j index of current tile. - if (jt*ncols1 + j >= ne01) { + if (jt*ncols1 + j >= ne01 || zt*ncols2 + c >= ne02) { return; } - dst += sequence*ne02*ne01*D + jt*ne02*(ncols1*D) + head*(ncols2*D) + (j*ne02 + c)*D + tid; + dst += sequence*ne02*ne01*D + jt*ne02*(ncols1*D) + zt*(ncols2*D) + (j*ne02 + c)*D + tid; // Load the partial result that needs a fixup: float dst_val = 0.0f; @@ -681,7 +682,7 @@ static __global__ void flash_attn_stream_k_fixup( int bidx = bidx0 - 1; int kbc_stop = kbc0; while(true) { - const int kbc = int64_t(bidx)*(iter_k*iter_j*(ne02/ncols2)*ne03) / gridDim.x; + const int kbc = int64_t(bidx)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; if (kbc == kbc_stop) { // Did not have any data. bidx--; kbc_stop = kbc; @@ -883,7 +884,8 @@ void launch_fattn( } const int ntiles_x = ((Q->ne[1] + ncols1 - 1) / ncols1); - const int ntiles_total = ntiles_x * (Q->ne[2] / ncols2) * Q->ne[3]; + const int ntiles_z = ((Q->ne[2] + ncols2 - 1) / ncols2); + const int ntiles_total = ntiles_x * ntiles_z * Q->ne[3]; // Optional optimization where the mask is scanned to determine whether part of the calculation can be skipped. // Only worth the overhead if there is at lease one FATTN_KQ_STRIDE x FATTN_KQ_STRIDE square to be skipped or @@ -958,7 +960,7 @@ void launch_fattn( blocks_num.x = ntiles_x; blocks_num.y = parallel_blocks; - blocks_num.z = (Q->ne[2]/ncols2)*Q->ne[3]; + blocks_num.z = ntiles_z*Q->ne[3]; if (parallel_blocks > 1) { dst_tmp.alloc(parallel_blocks*ggml_nelements(KQV)); diff --git a/ggml/src/ggml-cuda/fattn-mma-f16.cuh b/ggml/src/ggml-cuda/fattn-mma-f16.cuh index 3e7d67b40d..9004d46904 100644 --- a/ggml/src/ggml-cuda/fattn-mma-f16.cuh +++ b/ggml/src/ggml-cuda/fattn-mma-f16.cuh @@ -940,6 +940,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const int stride_V, const int stride_mask, const int jt, + const int zt, const int kb0_start, const int kb0_stop) { #if defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || (defined(AMD_WMMA_AVAILABLE) && defined(RDNA4)) @@ -1022,7 +1023,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const int j = jc / ncols2; const int c = jc % ncols2; - if (jt*ncols1 + j < int(ne01.z)) { + if ((ncols1 == 1 || jt*ncols1 + j < int(ne01.z)) && (ncols2 == 1 || zt*ncols2 + c < ne02)) { #pragma unroll for (int k0 = k0_start; k0 < k0_stop; k0 += stride_k) { const int k = k0 + (stride_k == WARP_SIZE ? threadIdx.x : threadIdx.x % stride_k); @@ -1408,7 +1409,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const int j_dst = jc_dst / ncols2; const int c_dst = jc_dst % ncols2; - if (!is_fixup && jt*ncols1 + j_dst >= int(ne01.z)) { + if (!is_fixup && ((ncols1 > 1 && jt*ncols1 + j_dst >= int(ne01.z)) || (ncols2 > 1 && zt*ncols2 + c_dst >= ne02))) { continue; } @@ -1522,10 +1523,11 @@ static __global__ void flash_attn_ext_f16( const int iter_k = (ne11 + (nbatch_fa - 1)) / nbatch_fa; const int iter_j = (ne01.z + (ncols1 - 1)) / ncols1; + const int iter_z = (ne02 + (ncols2 - 1)) / ncols2; // kbc == k block continuous, current index in continuous ijk space. - int kbc = int64_t(blockIdx.x + 0)*(iter_k*iter_j*(ne02/ncols2)*ne03) / gridDim.x; - const int kbc_stop = int64_t(blockIdx.x + 1)*(iter_k*iter_j*(ne02/ncols2)*ne03) / gridDim.x; + int kbc = int64_t(blockIdx.x + 0)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; + const int kbc_stop = int64_t(blockIdx.x + 1)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; // If the seams of 2 CUDA blocks fall within an output tile their results need to be combined. // For this we need to track both the block that starts the tile (needs_fixup) and the block that finishes the tile (is_fixup). @@ -1536,9 +1538,9 @@ static __global__ void flash_attn_ext_f16( int kb0_stop = min(iter_k, kb0_start + kbc_stop - kbc); while (kbc < kbc_stop && kb0_stop == iter_k) { - const int sequence = kbc / (iter_k*iter_j*(ne02/ncols2)); - const int zt = (kbc - iter_k*iter_j*(ne02/ncols2)*sequence) / (iter_k*iter_j); // head in units of ncols2 - const int jt = (kbc - iter_k*iter_j*(ne02/ncols2)*sequence - iter_k*iter_j*zt) / iter_k; // j index of current tile. + const int sequence = kbc / (iter_k*iter_j*iter_z); + const int zt = (kbc - iter_k*iter_j*iter_z*sequence) / (iter_k*iter_j); // head in units of ncols2 + const int jt = (kbc - iter_k*iter_j*iter_z*sequence - iter_k*iter_j*zt) / iter_k; // j index of current tile. const int head0 = zt * ncols2; @@ -1561,12 +1563,12 @@ static __global__ void flash_attn_ext_f16( constexpr bool needs_fixup = false; // CUDA block is working on an entire tile. flash_attn_ext_f16_process_tile (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, - ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); + ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, zt, kb0_start, kb0_stop); } else { constexpr bool needs_fixup = true; // CUDA block is missing the beginning of a tile. flash_attn_ext_f16_process_tile (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, - ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); + ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, zt, kb0_start, kb0_stop); } kbc += iter_k; @@ -1580,9 +1582,9 @@ static __global__ void flash_attn_ext_f16( return; } - const int sequence = kbc / (iter_k*iter_j*(ne02/ncols2)); - const int zt = (kbc - iter_k*iter_j*(ne02/ncols2)*sequence) / (iter_k*iter_j); // head in units of ncols2 - const int jt = (kbc - iter_k*iter_j*(ne02/ncols2)*sequence - iter_k*iter_j*zt) / iter_k; // j index of current tile. + const int sequence = kbc / (iter_k*iter_j*iter_z); + const int zt = (kbc - iter_k*iter_j*iter_z*sequence) / (iter_k*iter_j); // head in units of ncols2 + const int jt = (kbc - iter_k*iter_j*iter_z*sequence - iter_k*iter_j*zt) / iter_k; // j index of current tile. const int head0 = zt * ncols2; @@ -1605,7 +1607,7 @@ static __global__ void flash_attn_ext_f16( constexpr bool needs_fixup = false; flash_attn_ext_f16_process_tile (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, - ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); + ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, zt, kb0_start, kb0_stop); #else GGML_UNUSED_VARS(Q, K, V, mask, sinks, KV_max, dst, dst_meta, scale, max_bias, m0, m1, n_head_log2, logit_softcap, @@ -1739,3 +1741,5 @@ extern DECL_FATTN_MMA_F16_CASE(576, 512, 4, 16); extern DECL_FATTN_MMA_F16_CASE(576, 512, 4, 4); extern DECL_FATTN_MMA_F16_CASE(576, 512, 8, 4); extern DECL_FATTN_MMA_F16_CASE(576, 512, 16, 4); +extern DECL_FATTN_MMA_F16_CASE(576, 512, 1, 32); +extern DECL_FATTN_MMA_F16_CASE(576, 512, 2, 32); diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index a5e6624181..2f5dbd13a3 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -18,9 +18,11 @@ static void ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ggml_backend_cuda_con } } - if ((turing_mma_available(cc) || amd_wmma_available(cc)) && Q->ne[1] <= 16/ncols2) { - ggml_cuda_flash_attn_ext_mma_f16_case(ctx, dst); - return; + if constexpr (ncols2 <= 16) { + if ((turing_mma_available(cc) || amd_wmma_available(cc)) && Q->ne[1] <= 16/ncols2) { + ggml_cuda_flash_attn_ext_mma_f16_case(ctx, dst); + return; + } } if (ggml_cuda_highest_compiled_arch(cc) == GGML_CUDA_CC_TURING || amd_wmma_available(cc) || Q->ne[1] <= 32/ncols2) { @@ -33,6 +35,7 @@ static void ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ggml_backend_cuda_con template static void ggml_cuda_flash_attn_ext_mma_f16_switch_ncols2(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { + const int cc = ggml_cuda_info().devices[ggml_cuda_get_device()].cc; const ggml_tensor * KQV = dst; const ggml_tensor * Q = dst->src[0]; const ggml_tensor * K = dst->src[1]; @@ -60,17 +63,38 @@ static void ggml_cuda_flash_attn_ext_mma_f16_switch_ncols2(ggml_backend_cuda_con GGML_ASSERT(Q->ne[2] % K->ne[2] == 0); const int gqa_ratio = Q->ne[2] / K->ne[2]; - if (use_gqa_opt && gqa_ratio % 8 == 0) { + // On Volta the GQA optimizations aren't as impactful vs. minimizing wasted compute: + if (cc == GGML_CUDA_CC_VOLTA) { + if (use_gqa_opt && gqa_ratio % 8 == 0) { + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ctx, dst); + return; + } + + if (use_gqa_opt && gqa_ratio % 4 == 0) { + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ctx, dst); + return; + } + + if (use_gqa_opt && gqa_ratio % 2 == 0) { + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ctx, dst); + return; + } + + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ctx, dst); + return; + } + + if (use_gqa_opt && gqa_ratio > 4) { ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ctx, dst); return; } - if (use_gqa_opt && gqa_ratio % 4 == 0) { + if (use_gqa_opt && gqa_ratio > 2) { ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ctx, dst); return; } - if (use_gqa_opt && gqa_ratio % 2 == 0) { + if (use_gqa_opt && gqa_ratio > 1) { ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1(ctx, dst); return; } @@ -79,6 +103,7 @@ static void ggml_cuda_flash_attn_ext_mma_f16_switch_ncols2(ggml_backend_cuda_con } static void ggml_cuda_flash_attn_ext_mma_f16(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { + const int cc = ggml_cuda_info().devices[ggml_cuda_get_device()].cc; const ggml_tensor * KQV = dst; const ggml_tensor * Q = dst->src[0]; const ggml_tensor * K = dst->src[1]; @@ -121,8 +146,30 @@ static void ggml_cuda_flash_attn_ext_mma_f16(ggml_backend_cuda_context & ctx, gg GGML_ASSERT(Q->ne[2] % K->ne[2] == 0); const int gqa_ratio = Q->ne[2] / K->ne[2]; - GGML_ASSERT(gqa_ratio % 4 == 0); - if (gqa_ratio % 16 == 0) { + if (gqa_ratio == 20) { // GLM 4.7 Flash + if (cc >= GGML_CUDA_CC_BLACKWELL) { + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 4>(ctx, dst); + break; + } + if (cc >= GGML_CUDA_CC_ADA_LOVELACE) { + if (Q->ne[1] <= 4) { + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 16>(ctx, dst); + break; + } + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 4>(ctx, dst); + break; + } + if (cc >= GGML_CUDA_CC_TURING) { + if (Q->ne[1] <= 4) { + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 32>(ctx, dst); + break; + } + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 4>(ctx, dst); + break; + } + // Volta: + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 4>(ctx, dst); + } else if (gqa_ratio % 16 == 0) { ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 16>(ctx, dst); } else { ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 4>(ctx, dst); @@ -234,7 +281,7 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const // The effective batch size for the kernel can be increased by gqa_ratio. // The kernel versions without this optimization are also used for ALiBi, if there is no mask, or if the KV cache is not padded, - bool gqa_opt_applies = gqa_ratio % 2 == 0 && mask && max_bias == 0.0f && K->ne[1] % FATTN_KQ_STRIDE == 0; + bool gqa_opt_applies = gqa_ratio >= 2 && mask && max_bias == 0.0f && K->ne[1] % FATTN_KQ_STRIDE == 0; for (const ggml_tensor * t : {Q, K, V, mask}) { if (t == nullptr || ggml_is_quantized(t->type)) { continue; @@ -268,7 +315,7 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const if (V->ne[0] != 512) { return BEST_FATTN_KERNEL_NONE; } - if (!gqa_opt_applies || gqa_ratio % 4 != 0) { + if (!gqa_opt_applies) { return BEST_FATTN_KERNEL_NONE; } if (!V_is_K_view) { diff --git a/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-ncols1_1-ncols2_32.cu b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-ncols1_1-ncols2_32.cu new file mode 100644 index 0000000000..1f554d81e5 --- /dev/null +++ b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-ncols1_1-ncols2_32.cu @@ -0,0 +1,5 @@ +// This file has been autogenerated by generate_cu_files.py, do not edit manually. + +#include "../fattn-mma-f16.cuh" + +DECL_FATTN_MMA_F16_CASE(576, 512, 1, 32); diff --git a/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-ncols1_2-ncols2_32.cu b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-ncols1_2-ncols2_32.cu new file mode 100644 index 0000000000..264751d65e --- /dev/null +++ b/ggml/src/ggml-cuda/template-instances/fattn-mma-f16-instance-ncols1_2-ncols2_32.cu @@ -0,0 +1,5 @@ +// This file has been autogenerated by generate_cu_files.py, do not edit manually. + +#include "../fattn-mma-f16.cuh" + +DECL_FATTN_MMA_F16_CASE(576, 512, 2, 32); diff --git a/ggml/src/ggml-cuda/template-instances/generate_cu_files.py b/ggml/src/ggml-cuda/template-instances/generate_cu_files.py index 10be71ab57..e382df1ae2 100755 --- a/ggml/src/ggml-cuda/template-instances/generate_cu_files.py +++ b/ggml/src/ggml-cuda/template-instances/generate_cu_files.py @@ -71,7 +71,7 @@ for type_k in TYPES_KV: f.write(SOURCE_FATTN_VEC.format(type_k=type_k, type_v=type_v)) for ncols in [8, 16, 32, 64]: - for ncols2 in [1, 2, 4, 8, 16]: + for ncols2 in [1, 2, 4, 8, 16, 32]: if ncols2 > ncols: continue ncols1 = ncols // ncols2 @@ -83,9 +83,9 @@ for ncols in [8, 16, 32, 64]: continue if head_size_kq == 72: continue - if head_size_kq != 576 and ncols2 == 16: + if head_size_kq != 576 and ncols2 in (16, 32): continue - if head_size_kq == 576 and ncols2 not in (4, 16): + if head_size_kq == 576 and ncols2 not in (4, 16, 32): continue head_size_v = head_size_kq if head_size_kq != 576 else 512 f.write(SOURCE_FATTN_MMA_CASE.format(ncols1=ncols1, ncols2=ncols2, head_size_kq=head_size_kq, head_size_v=head_size_v)) From 56f3ebf38ea5757447e7ea167cda15e1eebf9601 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 26 Jan 2026 11:24:30 +0200 Subject: [PATCH 021/206] model : add correct type for GLM 4.7 Flash (#19106) --- src/llama-model.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 32f49e7996..cc784e1cb0 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -1737,6 +1737,7 @@ void llama_model::load_hparams(llama_model_loader & ml) { switch (hparams.n_layer) { case 27: type = LLM_TYPE_16B; break; + case 47: type = LLM_TYPE_30B_A3B; break; case 60: type = LLM_TYPE_236B; break; case 61: type = LLM_TYPE_671B; break; default: type = LLM_TYPE_UNKNOWN; From 142cbe2ac68978e5dec3a2e19c1b64ef1c5740b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Mon, 26 Jan 2026 15:22:49 +0100 Subject: [PATCH 022/206] ci : use new 1vCPU runner for lightweight jobs (#19107) * use new 1vCPU runner for lightweight jobs * pyright is too heavy, look into ty some day use new pip-install input --- .github/workflows/check-vendor.yml | 2 +- .github/workflows/close-issue.yml | 2 +- .github/workflows/editorconfig.yml | 2 +- .github/workflows/gguf-publish.yml | 2 +- .github/workflows/labeler.yml | 2 +- .github/workflows/pre-tokenizer-hashes.yml | 2 +- .github/workflows/python-check-requirements.yml | 2 +- .github/workflows/python-lint.yml | 2 +- .github/workflows/python-type-check.yml | 4 +--- .github/workflows/update-ops-docs.yml | 2 +- .github/workflows/winget.yml | 2 +- 11 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.github/workflows/check-vendor.yml b/.github/workflows/check-vendor.yml index b9e8ac7658..1671ed7b8b 100644 --- a/.github/workflows/check-vendor.yml +++ b/.github/workflows/check-vendor.yml @@ -19,7 +19,7 @@ on: jobs: check-vendor: - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - name: Checkout diff --git a/.github/workflows/close-issue.yml b/.github/workflows/close-issue.yml index 8fb5310d0b..ec3df08b2d 100644 --- a/.github/workflows/close-issue.yml +++ b/.github/workflows/close-issue.yml @@ -10,7 +10,7 @@ permissions: jobs: close-issues: - runs-on: ubuntu-latest + runs-on: ubuntu-slim permissions: issues: write pull-requests: write diff --git a/.github/workflows/editorconfig.yml b/.github/workflows/editorconfig.yml index a5cd590017..702dc89f5b 100644 --- a/.github/workflows/editorconfig.yml +++ b/.github/workflows/editorconfig.yml @@ -20,7 +20,7 @@ concurrency: jobs: editorconfig: - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - uses: actions/checkout@v6 - uses: editorconfig-checker/action-editorconfig-checker@v2 diff --git a/.github/workflows/gguf-publish.yml b/.github/workflows/gguf-publish.yml index 5bdab0f157..0e95766459 100644 --- a/.github/workflows/gguf-publish.yml +++ b/.github/workflows/gguf-publish.yml @@ -21,7 +21,7 @@ on: jobs: deploy: - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 42f00c0cd8..eab20c6881 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -7,7 +7,7 @@ jobs: permissions: contents: read pull-requests: write - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - uses: actions/checkout@v6 with: diff --git a/.github/workflows/pre-tokenizer-hashes.yml b/.github/workflows/pre-tokenizer-hashes.yml index 8120df0e36..7126b62b69 100644 --- a/.github/workflows/pre-tokenizer-hashes.yml +++ b/.github/workflows/pre-tokenizer-hashes.yml @@ -12,7 +12,7 @@ on: jobs: pre-tokenizer-hashes: - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - name: Checkout repository diff --git a/.github/workflows/python-check-requirements.yml b/.github/workflows/python-check-requirements.yml index 08cdcb9d01..1219b87459 100644 --- a/.github/workflows/python-check-requirements.yml +++ b/.github/workflows/python-check-requirements.yml @@ -20,7 +20,7 @@ concurrency: jobs: python-check-requirements: - runs-on: ubuntu-latest + runs-on: ubuntu-slim name: check-requirements steps: - name: Check out source repository diff --git a/.github/workflows/python-lint.yml b/.github/workflows/python-lint.yml index 91dc4d78a4..8d1dd7a7d5 100644 --- a/.github/workflows/python-lint.yml +++ b/.github/workflows/python-lint.yml @@ -15,7 +15,7 @@ concurrency: jobs: flake8-lint: - runs-on: ubuntu-latest + runs-on: ubuntu-slim name: Lint steps: - name: Check out source repository diff --git a/.github/workflows/python-type-check.yml b/.github/workflows/python-type-check.yml index 54d5fab5ba..e801a9f42e 100644 --- a/.github/workflows/python-type-check.yml +++ b/.github/workflows/python-type-check.yml @@ -29,9 +29,7 @@ jobs: uses: actions/setup-python@v6 with: python-version: "3.11" - - name: Install Python dependencies - # TODO: use a venv - run: pip install -r requirements/requirements-all.txt + pip-install: -r requirements/requirements-all.txt - name: Type-check with Pyright uses: jakebailey/pyright-action@v2 with: diff --git a/.github/workflows/update-ops-docs.yml b/.github/workflows/update-ops-docs.yml index 40447db4e4..2ab06eb981 100644 --- a/.github/workflows/update-ops-docs.yml +++ b/.github/workflows/update-ops-docs.yml @@ -14,7 +14,7 @@ on: jobs: update-ops-docs: - runs-on: ubuntu-latest + runs-on: ubuntu-slim steps: - name: Checkout repository diff --git a/.github/workflows/winget.yml b/.github/workflows/winget.yml index 7506091647..e3981f30b9 100644 --- a/.github/workflows/winget.yml +++ b/.github/workflows/winget.yml @@ -8,7 +8,7 @@ on: jobs: update: name: Update Winget Package - runs-on: ubuntu-latest + runs-on: ubuntu-slim if: github.repository_owner == 'ggml-org' steps: From 8f80d1b254aef70a0959e314be368d05debe7294 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 26 Jan 2026 20:18:34 +0200 Subject: [PATCH 023/206] graph : fix nkvo offload with FA (#19105) --- src/llama-context.cpp | 7 ------- src/llama-graph.cpp | 5 +++++ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/llama-context.cpp b/src/llama-context.cpp index 72211db17b..0b2b05c419 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -2173,13 +2173,6 @@ llm_graph_cb llama_context::graph_get_cb() const { ggml_set_name(cur, name); } - if (!cparams.offload_kqv) { - if (strcmp(name, "kqv_merged_cont") == 0) { - // all nodes between the KV store and the attention output are run on the CPU - ggml_backend_sched_set_tensor_backend(sched.get(), cur, backend_cpu); - } - } - // norm may be automatically assigned to the backend of the previous layer, increasing data transfer between backends // FIXME: fix in ggml_backend_sched const bool full_offload = model.n_gpu_layers() > model.hparams.n_layer; diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp index 16d42c4ae3..b3198b7e3a 100644 --- a/src/llama-graph.cpp +++ b/src/llama-graph.cpp @@ -1630,6 +1630,11 @@ ggml_tensor * llm_graph_context::build_attn_mha( hparams.attn_soft_cap ? hparams.f_attn_logit_softcapping : 0.0f); cb(cur, LLAMA_TENSOR_NAME_FATTN, il); + if (!cparams.offload_kqv) { + // all nodes between the KV store and the attention output are run on the CPU + ggml_backend_sched_set_tensor_backend(sched, cur, backend_cpu); + } + ggml_flash_attn_ext_add_sinks(cur, sinks); ggml_flash_attn_ext_set_prec (cur, GGML_PREC_F32); From b0311c16d2f650a8bd5af652549075b458bd713a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 26 Jan 2026 23:24:58 +0100 Subject: [PATCH 024/206] CUDA: fix padding of GQA to power of 2 in FA (#19115) --- ggml/src/ggml-cuda/fattn-common.cuh | 43 +++++++++-------- ggml/src/ggml-cuda/fattn-mma-f16.cuh | 69 +++++++++++++++------------- tests/test-backend-ops.cpp | 4 +- 3 files changed, 64 insertions(+), 52 deletions(-) diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index 1f5f1b9206..3d7daccfdf 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -629,8 +629,8 @@ static __global__ void flash_attn_mask_to_KV_max( template // D == head size __launch_bounds__(D, 1) static __global__ void flash_attn_stream_k_fixup( - float * __restrict__ dst, const float2 * __restrict__ dst_fixup, const int ne01, const int ne02, const int ne03, const int ne11, - const int nbatch_fa) { + float * __restrict__ dst, const float2 * __restrict__ dst_fixup, const int ne01, const int ne02, const int ne03, + const int ne11, const int ne12, const int nbatch_fa) { constexpr int ncols = ncols1*ncols2; const int bidx0 = blockIdx.x; @@ -641,12 +641,14 @@ static __global__ void flash_attn_stream_k_fixup( const float * dst_fixup_data = ((const float *) dst_fixup) + gridDim.x*(2*2*ncols); - const int iter_k = (ne11 + (nbatch_fa - 1)) / nbatch_fa; - const int iter_j = (ne01 + (ncols1 - 1)) / ncols1; - const int iter_z = (ne02 + (ncols2 - 1)) / ncols2; + const int gqa_ratio = ne02 / ne12; // With grouped query attention there are > 1 Q matrices per K, V matrix. - const int kbc0 = int64_t(bidx0 + 0)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; - const int kbc0_stop = int64_t(bidx0 + 1)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; + const int iter_k = (ne11 + (nbatch_fa - 1)) / nbatch_fa; + const int iter_j = (ne01 + (ncols1 - 1)) / ncols1; + const int iter_z_gqa = (gqa_ratio + (ncols2 - 1)) / ncols2; + + const int kbc0 = int64_t(bidx0 + 0)*(iter_k*iter_j*iter_z_gqa*ne12*ne03) / gridDim.x; + const int kbc0_stop = int64_t(bidx0 + 1)*(iter_k*iter_j*iter_z_gqa*ne12*ne03) / gridDim.x; const bool did_not_have_any_data = kbc0 == kbc0_stop; const bool wrote_beginning_of_tile = kbc0 % iter_k == 0; @@ -655,15 +657,19 @@ static __global__ void flash_attn_stream_k_fixup( return; } - const int sequence = kbc0 / (iter_k*iter_j*iter_z); - const int zt = (kbc0 - iter_k*iter_j*iter_z*sequence) / (iter_k*iter_j); - const int jt = (kbc0 - iter_k*iter_j*iter_z*sequence - iter_k*iter_j*zt) / iter_k; // j index of current tile. + // z_KV == K/V head index, zt_gqa = Q head start index per K/V head, jt = token position start index + const int sequence = kbc0 /(iter_k*iter_j*iter_z_gqa*ne12); + const int z_KV = (kbc0 - iter_k*iter_j*iter_z_gqa*ne12 * sequence)/(iter_k*iter_j*iter_z_gqa); + const int zt_gqa = (kbc0 - iter_k*iter_j*iter_z_gqa*ne12 * sequence - iter_k*iter_j*iter_z_gqa * z_KV)/(iter_k*iter_j); + const int jt = (kbc0 - iter_k*iter_j*iter_z_gqa*ne12 * sequence - iter_k*iter_j*iter_z_gqa * z_KV - iter_k*iter_j * zt_gqa) / iter_k; - if (jt*ncols1 + j >= ne01 || zt*ncols2 + c >= ne02) { + const int zt_Q = z_KV*gqa_ratio + zt_gqa*ncols2; // Global Q head start index. + + if (jt*ncols1 + j >= ne01 || zt_gqa*ncols2 + c >= gqa_ratio) { return; } - dst += sequence*ne02*ne01*D + jt*ne02*(ncols1*D) + zt*(ncols2*D) + (j*ne02 + c)*D + tid; + dst += sequence*ne02*ne01*D + jt*ne02*(ncols1*D) + zt_Q*D + (j*ne02 + c)*D + tid; // Load the partial result that needs a fixup: float dst_val = 0.0f; @@ -682,7 +688,7 @@ static __global__ void flash_attn_stream_k_fixup( int bidx = bidx0 - 1; int kbc_stop = kbc0; while(true) { - const int kbc = int64_t(bidx)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; + const int kbc = int64_t(bidx)*(iter_k*iter_j*iter_z_gqa*ne12*ne03) / gridDim.x; if (kbc == kbc_stop) { // Did not have any data. bidx--; kbc_stop = kbc; @@ -883,9 +889,10 @@ void launch_fattn( } } - const int ntiles_x = ((Q->ne[1] + ncols1 - 1) / ncols1); - const int ntiles_z = ((Q->ne[2] + ncols2 - 1) / ncols2); - const int ntiles_total = ntiles_x * ntiles_z * Q->ne[3]; + const int ntiles_x = ((Q->ne[1] + ncols1 - 1) / ncols1); + const int gqa_ratio = Q->ne[2] / K->ne[2]; + const int ntiles_z_gqa = ((gqa_ratio + ncols2 - 1) / ncols2); + const int ntiles_total = ntiles_x * ntiles_z_gqa * K->ne[2] * Q->ne[3]; // Optional optimization where the mask is scanned to determine whether part of the calculation can be skipped. // Only worth the overhead if there is at lease one FATTN_KQ_STRIDE x FATTN_KQ_STRIDE square to be skipped or @@ -960,7 +967,7 @@ void launch_fattn( blocks_num.x = ntiles_x; blocks_num.y = parallel_blocks; - blocks_num.z = ntiles_z*Q->ne[3]; + blocks_num.z = ntiles_z_gqa*K->ne[2]*Q->ne[3]; if (parallel_blocks > 1) { dst_tmp.alloc(parallel_blocks*ggml_nelements(KQV)); @@ -1014,7 +1021,7 @@ void launch_fattn( flash_attn_stream_k_fixup <<>> - ((float *) KQV->data, dst_tmp_meta.ptr, Q->ne[1], Q->ne[2], Q->ne[3], K->ne[1], nbatch_fa); + ((float *) KQV->data, dst_tmp_meta.ptr, Q->ne[1], Q->ne[2], Q->ne[3], K->ne[1], K->ne[2], nbatch_fa); } } else if (parallel_blocks > 1) { const dim3 block_dim_combine(DV, 1, 1); diff --git a/ggml/src/ggml-cuda/fattn-mma-f16.cuh b/ggml/src/ggml-cuda/fattn-mma-f16.cuh index 9004d46904..0b8ef90794 100644 --- a/ggml/src/ggml-cuda/fattn-mma-f16.cuh +++ b/ggml/src/ggml-cuda/fattn-mma-f16.cuh @@ -933,6 +933,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const float logit_softcap, const uint3 ne01, const int ne02, + const int gqa_ratio, const int ne11, const int stride_Q1, const int stride_Q2, @@ -940,7 +941,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const int stride_V, const int stride_mask, const int jt, - const int zt, + const int zt_gqa, const int kb0_start, const int kb0_stop) { #if defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || (defined(AMD_WMMA_AVAILABLE) && defined(RDNA4)) @@ -1023,7 +1024,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const int j = jc / ncols2; const int c = jc % ncols2; - if ((ncols1 == 1 || jt*ncols1 + j < int(ne01.z)) && (ncols2 == 1 || zt*ncols2 + c < ne02)) { + if ((ncols1 == 1 || jt*ncols1 + j < int(ne01.z)) && (ncols2 == 1 || zt_gqa*ncols2 + c < gqa_ratio)) { #pragma unroll for (int k0 = k0_start; k0 < k0_stop; k0 += stride_k) { const int k = k0 + (stride_k == WARP_SIZE ? threadIdx.x : threadIdx.x % stride_k); @@ -1409,7 +1410,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( const int j_dst = jc_dst / ncols2; const int c_dst = jc_dst % ncols2; - if (!is_fixup && ((ncols1 > 1 && jt*ncols1 + j_dst >= int(ne01.z)) || (ncols2 > 1 && zt*ncols2 + c_dst >= ne02))) { + if (!is_fixup && ((ncols1 > 1 && jt*ncols1 + j_dst >= int(ne01.z)) || (ncols2 > 1 && zt_gqa*ncols2 + c_dst >= gqa_ratio))) { continue; } @@ -1448,7 +1449,7 @@ static __device__ __forceinline__ void flash_attn_ext_f16_process_tile( } #else GGML_UNUSED_VARS(Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dstk_fixup, - scale, slope, logit_softcap, ne01, ne02, + scale, slope, logit_softcap, ne01, ne02, gqa_ratio, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, kb0_start, kb0_stop); NO_DEVICE_CODE; @@ -1521,13 +1522,13 @@ static __global__ void flash_attn_ext_f16( const int stride_V = V_is_K_view ? stride_K : nb21 / sizeof(half2); - const int iter_k = (ne11 + (nbatch_fa - 1)) / nbatch_fa; - const int iter_j = (ne01.z + (ncols1 - 1)) / ncols1; - const int iter_z = (ne02 + (ncols2 - 1)) / ncols2; + const int iter_k = (ne11 + (nbatch_fa - 1)) / nbatch_fa; + const int iter_j = (ne01.z + (ncols1 - 1)) / ncols1; + const int iter_z_gqa = (gqa_ratio + (ncols2 - 1)) / ncols2; // kbc == k block continuous, current index in continuous ijk space. - int kbc = int64_t(blockIdx.x + 0)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; - const int kbc_stop = int64_t(blockIdx.x + 1)*(iter_k*iter_j*iter_z*ne03) / gridDim.x; + int kbc = int64_t(blockIdx.x + 0)*(iter_k*iter_j*iter_z_gqa*ne12*ne03) / gridDim.x; + const int kbc_stop = int64_t(blockIdx.x + 1)*(iter_k*iter_j*iter_z_gqa*ne12*ne03) / gridDim.x; // If the seams of 2 CUDA blocks fall within an output tile their results need to be combined. // For this we need to track both the block that starts the tile (needs_fixup) and the block that finishes the tile (is_fixup). @@ -1538,22 +1539,24 @@ static __global__ void flash_attn_ext_f16( int kb0_stop = min(iter_k, kb0_start + kbc_stop - kbc); while (kbc < kbc_stop && kb0_stop == iter_k) { - const int sequence = kbc / (iter_k*iter_j*iter_z); - const int zt = (kbc - iter_k*iter_j*iter_z*sequence) / (iter_k*iter_j); // head in units of ncols2 - const int jt = (kbc - iter_k*iter_j*iter_z*sequence - iter_k*iter_j*zt) / iter_k; // j index of current tile. + // z_KV == K/V head index, zt_gqa = Q head start index per K/V head, jt = token position start index + const int sequence = kbc /(iter_k*iter_j*iter_z_gqa*ne12); + const int z_KV = (kbc - iter_k*iter_j*iter_z_gqa*ne12 * sequence)/(iter_k*iter_j*iter_z_gqa); + const int zt_gqa = (kbc - iter_k*iter_j*iter_z_gqa*ne12 * sequence - iter_k*iter_j*iter_z_gqa * z_KV)/(iter_k*iter_j); + const int jt = (kbc - iter_k*iter_j*iter_z_gqa*ne12 * sequence - iter_k*iter_j*iter_z_gqa * z_KV - iter_k*iter_j * zt_gqa) / iter_k; - const int head0 = zt * ncols2; + const int zt_Q = z_KV*gqa_ratio + zt_gqa*ncols2; // Global Q head start index. - const float2 * Q_f2 = (const float2 *) (Q + nb03*sequence + nb02* head0); - const half2 * K_h2 = (const half2 *) (K + nb13*sequence + nb12*(head0 / gqa_ratio)); + const float2 * Q_f2 = (const float2 *) (Q + nb03*sequence + nb02*zt_Q); + const half2 * K_h2 = (const half2 *) (K + nb13*sequence + nb12*z_KV); const half * mask_h = ncols2 == 1 && !mask ? nullptr : (const half *) (mask + nb33*(sequence % ne33)); - float2 * dstk = ((float2 *) dst) + (sequence*ne01.z*ne02 + head0) * (DV/2); + float2 * dstk = ((float2 *) dst) + (sequence*ne01.z*ne02 + zt_Q) * (DV/2); - const half2 * V_h2 = V_is_K_view ? K_h2 : (const half2 *) (V + nb23*sequence + nb22*(head0 / gqa_ratio)); - const float * sinks_f = sinks ? (const float *) sinks + head0 : nullptr; + const half2 * V_h2 = V_is_K_view ? K_h2 : (const half2 *) (V + nb23*sequence + nb22*z_KV); + const float * sinks_f = sinks ? (const float *) sinks + zt_Q : nullptr; - const float slope = ncols2 == 1 ? get_alibi_slope(max_bias, head0, n_head_log2, m0, m1) : 1.0f; + const float slope = ncols2 == 1 ? get_alibi_slope(max_bias, zt_Q, n_head_log2, m0, m1) : 1.0f; if (KV_max) { kb0_stop = min(kb0_stop, KV_max[sequence*iter_j + jt] / nbatch_fa); @@ -1563,12 +1566,12 @@ static __global__ void flash_attn_ext_f16( constexpr bool needs_fixup = false; // CUDA block is working on an entire tile. flash_attn_ext_f16_process_tile (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, - ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, zt, kb0_start, kb0_stop); + ne01, ne02, gqa_ratio, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, zt_gqa, kb0_start, kb0_stop); } else { constexpr bool needs_fixup = true; // CUDA block is missing the beginning of a tile. flash_attn_ext_f16_process_tile (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, - ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, zt, kb0_start, kb0_stop); + ne01, ne02, gqa_ratio, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, zt_gqa, kb0_start, kb0_stop); } kbc += iter_k; @@ -1582,22 +1585,24 @@ static __global__ void flash_attn_ext_f16( return; } - const int sequence = kbc / (iter_k*iter_j*iter_z); - const int zt = (kbc - iter_k*iter_j*iter_z*sequence) / (iter_k*iter_j); // head in units of ncols2 - const int jt = (kbc - iter_k*iter_j*iter_z*sequence - iter_k*iter_j*zt) / iter_k; // j index of current tile. + // z_KV == K/V head index, zt_gqa = Q head start index per K/V head, jt = token position start index. + const int sequence = kbc /(iter_k*iter_j*iter_z_gqa*ne12); + const int z_KV = (kbc - iter_k*iter_j*iter_z_gqa*ne12 * sequence)/(iter_k*iter_j*iter_z_gqa); + const int zt_gqa = (kbc - iter_k*iter_j*iter_z_gqa*ne12 * sequence - iter_k*iter_j*iter_z_gqa * z_KV)/(iter_k*iter_j); + const int jt = (kbc - iter_k*iter_j*iter_z_gqa*ne12 * sequence - iter_k*iter_j*iter_z_gqa * z_KV - iter_k*iter_j * zt_gqa) / iter_k; - const int head0 = zt * ncols2; + const int zt_Q = z_KV*gqa_ratio + zt_gqa*ncols2; // Global Q head start index. - const float2 * Q_f2 = (const float2 *) (Q + nb03*sequence + nb02* head0); - const half2 * K_h2 = (const half2 *) (K + nb13*sequence + nb12*(head0 / gqa_ratio)); + const float2 * Q_f2 = (const float2 *) (Q + nb03*sequence + nb02*zt_Q); + const half2 * K_h2 = (const half2 *) (K + nb13*sequence + nb12*z_KV); const half * mask_h = ncols2 == 1 && !mask ? nullptr : (const half *) (mask + nb33*(sequence % ne33)); - float2 * dstk = ((float2 *) dst) + (sequence*ne01.z*ne02 + head0) * (DV/2); + float2 * dstk = ((float2 *) dst) + (sequence*ne01.z*ne02 + zt_Q) * (DV/2); - const half2 * V_h2 = V_is_K_view ? K_h2 : (const half2 *) (V + nb23*sequence + nb22*(head0 / gqa_ratio)); - const float * sinks_f = sinks ? (const float *) sinks + head0 : nullptr; + const half2 * V_h2 = V_is_K_view ? K_h2 : (const half2 *) (V + nb23*sequence + nb22*z_KV); + const float * sinks_f = sinks ? (const float *) sinks + zt_Q : nullptr; - const float slope = ncols2 == 1 ? get_alibi_slope(max_bias, head0, n_head_log2, m0, m1) : 1.0f; + const float slope = ncols2 == 1 ? get_alibi_slope(max_bias, zt_Q, n_head_log2, m0, m1) : 1.0f; if (KV_max) { kb0_stop = min(kb0_stop, KV_max[sequence*iter_j + jt] / nbatch_fa); @@ -1607,7 +1612,7 @@ static __global__ void flash_attn_ext_f16( constexpr bool needs_fixup = false; flash_attn_ext_f16_process_tile (Q_f2, K_h2, V_h2, mask_h, sinks_f, dstk, dst_meta, scale, slope, logit_softcap, - ne01, ne02, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, zt, kb0_start, kb0_stop); + ne01, ne02, gqa_ratio, ne11, stride_Q1, stride_Q2, stride_K, stride_V, stride_mask, jt, zt_gqa, kb0_start, kb0_stop); #else GGML_UNUSED_VARS(Q, K, V, mask, sinks, KV_max, dst, dst_meta, scale, max_bias, m0, m1, n_head_log2, logit_softcap, diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 146d05f53b..d4c1f525c6 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -8216,8 +8216,8 @@ static std::vector> make_test_cases_eval() { for (int nh : { 4, }) { for (int nr3 : { 1, 3, }) { if (hsk > 64 && nr3 > 1) continue; // skip broadcast for large head sizes - for (int nr2 : { 1, 4, 16 }) { - if (nr2 == 16 && hsk != 128) continue; + for (int nr2 : { 1, 4, 12 }) { + if (nr2 == 12 && hsk != 128) continue; //for (int kv : { 1, 17, 31, 33, 61, 113, 65, 127, 129, 130, 255, 260, 371, 380, 407, 512, 1024, }) { for (int kv : { 113, 512, 1024, }) { if (nr2 != 1 && kv != 512) continue; From 94eeb5967c129365f50ca8462a7595ea319430d9 Mon Sep 17 00:00:00 2001 From: lhez Date: Mon, 26 Jan 2026 19:36:24 -0800 Subject: [PATCH 025/206] opencl: add flattened q6_K mv (#19054) * opencl: flatten `q6_K` and add `kernel_mul_mv_q6_K_f32_flat` * opencl: clean up * opencl: refactor q6_K mv - put loop body in `block_q_6_K_dot_y_flat` * opencl: tweak the workgroup size a bit * opencl: output 4 values per subgroup for `kernel_mul_mv_q6_K_f32_flat` * opencl: proper alignment for q6_K * opencl: boundary handling for flattened q6_K mv * opencl: rename q6_K mv kernel file * opencl: put flattened q6_K mv in its own file * opencl: use lower k in file name * opencl: use K in variable names --- ggml/src/ggml-opencl/CMakeLists.txt | 3 +- ggml/src/ggml-opencl/ggml-opencl.cpp | 260 +++++++++++++++++- ggml/src/ggml-opencl/kernels/cvt.cl | 70 +++++ .../{mul_mv_q6_k.cl => mul_mv_q6_k_f32.cl} | 0 .../kernels/mul_mv_q6_k_f32_flat.cl | 194 +++++++++++++ 5 files changed, 518 insertions(+), 9 deletions(-) rename ggml/src/ggml-opencl/kernels/{mul_mv_q6_k.cl => mul_mv_q6_k_f32.cl} (100%) create mode 100644 ggml/src/ggml-opencl/kernels/mul_mv_q6_k_f32_flat.cl diff --git a/ggml/src/ggml-opencl/CMakeLists.txt b/ggml/src/ggml-opencl/CMakeLists.txt index 79039c30e1..0259474b6e 100644 --- a/ggml/src/ggml-opencl/CMakeLists.txt +++ b/ggml/src/ggml-opencl/CMakeLists.txt @@ -85,7 +85,8 @@ set(GGML_OPENCL_KERNELS mul_mv_q4_0_f32_8x_flat mul_mv_q4_0_f32_1d_8x_flat mul_mv_q4_0_f32_1d_16x_flat - mul_mv_q6_k + mul_mv_q6_k_f32 + mul_mv_q6_k_f32_flat mul_mv_q8_0_f32 mul_mv_q8_0_f32_flat mul_mv_mxfp4_f32 diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 27b2761ef1..678e40965a 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -533,8 +533,10 @@ struct ggml_backend_opencl_context { cl_kernel kernel_mul_mat_q4_0_f32_8x_flat; cl_kernel kernel_convert_block_q4_0_noshuffle; cl_kernel kernel_restore_block_q4_0_noshuffle; + cl_kernel kernel_convert_block_q6_K, kernel_restore_block_q6_K; cl_kernel kernel_mul_mat_q4_0_f32_1d_8x_flat, kernel_mul_mat_q4_0_f32_1d_16x_flat; cl_kernel kernel_mul_mv_q6_K_f32; + cl_kernel kernel_mul_mv_q6_K_f32_flat; cl_kernel kernel_mul_mv_mxfp4_f32, kernel_mul_mv_mxfp4_f32_flat; cl_kernel kernel_mul_mv_q8_0_f32, kernel_mul_mv_q8_0_f32_flat; cl_kernel kernel_solve_tri_f32; @@ -892,6 +894,8 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve CL_CHECK((backend_ctx->kernel_restore_block_mxfp4 = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_mxfp4", &err), err)); CL_CHECK((backend_ctx->kernel_convert_block_q8_0 = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_q8_0", &err), err)); CL_CHECK((backend_ctx->kernel_restore_block_q8_0 = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_q8_0", &err), err)); + CL_CHECK((backend_ctx->kernel_convert_block_q6_K = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_q6_K", &err), err)); + CL_CHECK((backend_ctx->kernel_restore_block_q6_K = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_q6_K", &err), err)); GGML_LOG_CONT("."); } @@ -1114,14 +1118,14 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } - // mul_mv_q6_k + // mul_mv_q6_k_f32 { #ifdef GGML_OPENCL_EMBED_KERNELS const std::string kernel_src { - #include "mul_mv_q6_k.cl.h" + #include "mul_mv_q6_k_f32.cl.h" }; #else - const std::string kernel_src = read_file("mul_mv_q6_k.cl"); + const std::string kernel_src = read_file("mul_mv_q6_k_f32.cl"); #endif backend_ctx->program_mul_mv_q6_K = build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); @@ -1130,6 +1134,23 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } + // mul_mv_q6_k_f32_flat + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "mul_mv_q6_k_f32_flat.cl.h" + }; +#else + const std::string kernel_src = read_file("mul_mv_q6_k_f32_flat.cl"); +#endif + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_mul_mv_q6_K_f32_flat = clCreateKernel(prog, "kernel_mul_mv_q6_K_f32_flat", &err), err)); + CL_CHECK(clReleaseProgram(prog)); + GGML_LOG_CONT("."); + } + // mul_mv_q8_0_f32 { #ifdef GGML_OPENCL_EMBED_KERNELS @@ -2919,6 +2940,50 @@ struct ggml_tensor_extra_cl_q8_0 { } }; +struct ggml_tensor_extra_cl_q6_K { + // Lower 4 bits of quantized weights. + cl_mem ql = nullptr; + // Upper 2 bits of quantized weights. + cl_mem qh = nullptr; + // Scales for each block. + cl_mem s = nullptr; + // Scales for each super block. + cl_mem d = nullptr; + + size_t size_ql = 0; + size_t size_qh = 0; + size_t size_s = 0; + size_t size_d = 0; + + ~ggml_tensor_extra_cl_q6_K() { + reset(); + } + + void reset() { + if (ql != nullptr) { + CL_CHECK(clReleaseMemObject(ql)); + ql = nullptr; + } + if (qh != nullptr) { + CL_CHECK(clReleaseMemObject(qh)); + qh = nullptr; + } + if (s != nullptr) { + CL_CHECK(clReleaseMemObject(s)); + s = nullptr; + } + if (d != nullptr) { + CL_CHECK(clReleaseMemObject(d)); + d = nullptr; + } + + size_ql = 0; + size_qh = 0; + size_s = 0; + size_d = 0; + } +}; + //------------------------------------------------------------------------------ // Backend API //------------------------------------------------------------------------------ @@ -3465,6 +3530,12 @@ struct ggml_backend_opencl_buffer_context { for (ggml_tensor_extra_cl_q8_0 * e : temp_tensor_extras_q8_0_in_use) { delete e; } + for (ggml_tensor_extra_cl_q6_K * e : temp_tensor_extras_q6_K) { + delete e; + } + for (ggml_tensor_extra_cl_q6_K * e : temp_tensor_extras_q6_K_in_use) { + delete e; + } } ggml_tensor_extra_cl * ggml_opencl_alloc_temp_tensor_extra() { @@ -3527,6 +3598,21 @@ struct ggml_backend_opencl_buffer_context { return extra; } + ggml_tensor_extra_cl_q6_K * ggml_opencl_alloc_temp_tensor_extra_q6_K() { + ggml_tensor_extra_cl_q6_K * extra; + if (temp_tensor_extras_q6_K.empty()) { + extra = new ggml_tensor_extra_cl_q6_K(); + } else { + extra = temp_tensor_extras_q6_K.back(); + temp_tensor_extras_q6_K.pop_back(); + } + + temp_tensor_extras_q6_K_in_use.push_back(extra); + + extra->reset(); + return extra; + } + void reset() { for (ggml_tensor_extra_cl * e : temp_tensor_extras_in_use) { temp_tensor_extras.push_back(e); @@ -3547,6 +3633,11 @@ struct ggml_backend_opencl_buffer_context { temp_tensor_extras_q8_0.push_back(e); } temp_tensor_extras_q8_0_in_use.clear(); + + for (ggml_tensor_extra_cl_q6_K * e : temp_tensor_extras_q6_K_in_use) { + temp_tensor_extras_q6_K.push_back(e); + } + temp_tensor_extras_q6_K_in_use.clear(); } // Pools for extras. Available extras are in `temp_tensor_extras`. Extras @@ -3562,6 +3653,8 @@ struct ggml_backend_opencl_buffer_context { std::vector temp_tensor_extras_mxfp4_in_use; std::vector temp_tensor_extras_q8_0; std::vector temp_tensor_extras_q8_0_in_use; + std::vector temp_tensor_extras_q6_K; + std::vector temp_tensor_extras_q6_K_in_use; // The buffer_context is initially created by ggml_backend_buft_alloc_buffer // before any tensor is initialized (at the beginning of alloc_tensor_range). @@ -4068,6 +4161,92 @@ static void ggml_backend_opencl_buffer_set_tensor(ggml_backend_buffer_t buffer, return; } + if (tensor->type == GGML_TYPE_Q6_K) { + ggml_tensor_extra_cl * extra_orig = (ggml_tensor_extra_cl *)tensor->extra; + GGML_ASSERT(extra_orig && "Tesnors in OpenCL backend should have been allocated and initialized"); + + // Allocate the new extra and create aliases from the original. + ggml_backend_opencl_buffer_context * ctx = (ggml_backend_opencl_buffer_context *) buffer->context; + ggml_tensor_extra_cl_q6_K * extra = ctx->ggml_opencl_alloc_temp_tensor_extra_q6_K(); + + size_t size_ql = ggml_nelements(tensor)/ggml_blck_size(tensor->type)*ggml_blck_size(tensor->type)/2; + size_t size_qh = ggml_nelements(tensor)/ggml_blck_size(tensor->type)*ggml_blck_size(tensor->type)/4; + size_t size_s = ggml_nelements(tensor)/ggml_blck_size(tensor->type)*ggml_blck_size(tensor->type)/16; + size_t size_d = ggml_nelements(tensor)/ggml_blck_size(tensor->type)*sizeof(ggml_fp16_t); + GGML_ASSERT(size_ql + size_qh + size_s + size_d == ggml_nbytes(tensor) && + "Incorrect tensor size"); + + cl_int err; + cl_mem data_device = clCreateBuffer(context, CL_MEM_READ_WRITE, + ggml_nbytes(tensor), NULL, &err); + CL_CHECK(err); + CL_CHECK(clEnqueueWriteBuffer( + queue, data_device, CL_TRUE, 0, + ggml_nbytes(tensor), data, 0, NULL, NULL)); + + cl_buffer_region region; + + // Subbuffer for ql + region.origin = align_to(extra_orig->offset + tensor->view_offs + offset, backend_ctx->alignment); + region.size = size_ql; + extra->ql = clCreateSubBuffer( + extra_orig->data_device, CL_MEM_READ_WRITE, + CL_BUFFER_CREATE_TYPE_REGION, ®ion, &err); + CL_CHECK(err); + auto previous_origin = region.origin; + + // Subbuffer for qh + region.origin = align_to(previous_origin + size_ql, backend_ctx->alignment); + region.size = size_qh; + extra->qh = clCreateSubBuffer( + extra_orig->data_device, CL_MEM_READ_WRITE, + CL_BUFFER_CREATE_TYPE_REGION, ®ion, &err); + CL_CHECK(err); + previous_origin = region.origin; + + // Subbuffer for scales + region.origin = align_to(previous_origin + size_qh, backend_ctx->alignment); + region.size = size_s; + extra->s = clCreateSubBuffer( + extra_orig->data_device, CL_MEM_READ_WRITE, + CL_BUFFER_CREATE_TYPE_REGION, ®ion, &err); + CL_CHECK(err); + previous_origin = region.origin; + + // Create subbuffer for d. + region.origin = align_to(previous_origin + size_s, backend_ctx->alignment); + region.size = size_d; + extra->d = clCreateSubBuffer( + extra_orig->data_device, CL_MEM_READ_WRITE, + CL_BUFFER_CREATE_TYPE_REGION, ®ion, &err); + CL_CHECK(err); + previous_origin = region.origin; + + // Flatten the weights + cl_kernel kernel = backend_ctx->kernel_convert_block_q6_K; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra->ql)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra->qh)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_mem), &extra->s)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extra->d)); + + size_t global_work_size[] = {(size_t)ggml_nelements(tensor)/ggml_blck_size(tensor->type), 1, 1}; + size_t local_work_size[] = {64, 1, 1}; + + cl_event evt; + CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, global_work_size, local_work_size, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + CL_CHECK(clReleaseMemObject(data_device)); + + extra->size_ql = size_ql; + extra->size_qh = size_qh; + extra->size_s = size_s; + extra->size_d = size_d; + + tensor->extra = extra; + return; + } #endif // GGML_OPENCL_SOA_Q ggml_tensor_extra_cl * extra = (ggml_tensor_extra_cl *) tensor->extra; @@ -4277,6 +4456,34 @@ static void ggml_backend_opencl_buffer_get_tensor(ggml_backend_buffer_t buffer, size_t global_work_size[] = {(size_t)ggml_nelements(tensor)/ggml_blck_size(tensor->type), 1, 1}; size_t local_work_size[] = {1, 1, 1}; + cl_event evt; + CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, + global_work_size, local_work_size, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + CL_CHECK(clEnqueueReadBuffer( + queue, data_device, CL_TRUE, offset, + size, data, 0, NULL, NULL)); + CL_CHECK(clReleaseMemObject(data_device)); + return; + } + if (tensor->type == GGML_TYPE_Q6_K) { + ggml_tensor_extra_cl_q6_K * extra = (ggml_tensor_extra_cl_q6_K *)tensor->extra; + + cl_int err; + cl_mem data_device = clCreateBuffer(context, CL_MEM_READ_WRITE, + ggml_nbytes(tensor), NULL, &err); + CL_CHECK(err); + + cl_kernel kernel = backend_ctx->kernel_restore_block_q6_K; + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra->ql)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra->qh)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra->s)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_mem), &extra->d)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &data_device)); + + size_t global_work_size[] = {(size_t)ggml_nelements(tensor)/ggml_blck_size(tensor->type), 1, 1}; + size_t local_work_size[] = {1, 1, 1}; + cl_event evt; CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, global_work_size, local_work_size, 0, NULL, &evt)); @@ -7765,6 +7972,7 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co ggml_tensor_extra_cl_q4_0 * extra0_q4_0 = (ggml_tensor_extra_cl_q4_0 *)src0->extra; ggml_tensor_extra_cl_mxfp4 * extra0_mxfp4 = (ggml_tensor_extra_cl_mxfp4 *)src0->extra; ggml_tensor_extra_cl_q8_0 * extra0_q8_0 = (ggml_tensor_extra_cl_q8_0 *)src0->extra; + ggml_tensor_extra_cl_q6_K * extra0_q6_K = (ggml_tensor_extra_cl_q6_K *)src0->extra; #endif const int ne00 = src0 ? src0->ne[0] : 0; @@ -8648,14 +8856,49 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co case GGML_TYPE_Q4_K: case GGML_TYPE_Q5_K: case GGML_TYPE_Q6_K: +#ifdef GGML_OPENCL_SOA_Q + kernel = backend_ctx->kernel_mul_mv_q6_K_f32_flat; + + if (backend_ctx->gpu_family == INTEL) { + nth0 = 16; + nth1 = 2; + ndst = 4; + } else if (backend_ctx->gpu_family == ADRENO) { + nth0 = 64; + nth1 = 2; + ndst = 4; + } else { + GGML_ASSERT(false && "TODO: Unknown GPU"); + } + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0_q6_K->ql)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra0_q6_K->qh)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra0_q6_K->s)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_mem), &extra0_q6_K->d)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(int), &ne02)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(int), &ne10)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &ne0)); + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &ne1)); + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, 16, sizeof(int), &r3)); +#else kernel = backend_ctx->kernel_mul_mv_q6_K_f32; if (backend_ctx->gpu_family == INTEL) { - nth0 = 2; - nth1 = 16; + nth0 = 16; + nth1 = 2; + ndst = 1; } else if (backend_ctx->gpu_family == ADRENO) { - nth0 = 2; - nth1 = 64; + nth0 = 64; + nth1 = 2; + ndst = 1; } else { GGML_ASSERT(false && "TODO: Unknown GPU"); } @@ -8675,6 +8918,7 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne1)); CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &r2)); CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &r3)); +#endif // GGML_OPENCL_SOA_Q break; case GGML_TYPE_MXFP4: { #ifdef GGML_OPENCL_SOA_Q @@ -8777,7 +9021,7 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co } else if (src0t == GGML_TYPE_Q5_K) { GGML_ASSERT(false && "not implemented"); } else if (src0t == GGML_TYPE_Q6_K) { - size_t global_work_size[] = {(size_t)(ne01+1)/2*nth0, (size_t)ne11*nth1, (size_t)ne12*ne13}; + size_t global_work_size[] = {(size_t)(ne01+ndst*nth1-1)/(ndst*nth1)*nth0, (size_t)ne11*nth1, (size_t)ne12*ne13}; size_t local_work_size[] = {(size_t)nth0, (size_t)nth1, 1}; backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); diff --git a/ggml/src/ggml-opencl/kernels/cvt.cl b/ggml/src/ggml-opencl/kernels/cvt.cl index 513a4d3e28..adf576a839 100644 --- a/ggml/src/ggml-opencl/kernels/cvt.cl +++ b/ggml/src/ggml-opencl/kernels/cvt.cl @@ -46,6 +46,16 @@ struct block_q4_0 uint8_t qs[QK4_0 / 2]; }; +//------------------------------------------------------------------------------ +// block_q6_K +//------------------------------------------------------------------------------ +struct block_q6_K { + uint8_t ql[QK_K/2]; // quants, lower 4 bits + uint8_t qh[QK_K/4]; // quants, upper 2 bits + int8_t scales[QK_K/16]; // scales, quantized with 8 bits + half d; // super-block scale +}; + //------------------------------------------------------------------------------ // kernel_convert_block_q4_0 // Convert the block_q4_0 format to 2 separate arrays (AOS -> SOA). @@ -263,3 +273,63 @@ kernel void kernel_restore_block_q8_0( b->qs[i] = q[i]; } } + +//------------------------------------------------------------------------------ +// kernel_convert_block_q6_K +// Convert the block_q6_K format to 3 separate arrays (AOS -> SOA). +// This kernel does not deshuffle the bits. +// Each thread processes a super block. +//------------------------------------------------------------------------------ +kernel void kernel_convert_block_q6_K( + global struct block_q6_K * src0, + global uchar * dst_ql, + global uchar * dst_qh, + global char * dst_s, + global half * dst_d +) { + global struct block_q6_K * b = (global struct block_q6_K *) src0 + get_global_id(0); + global uchar * ql = (global uchar *) dst_ql + QK_K/2*get_global_id(0); + global uchar * qh = (global uchar *) dst_qh + QK_K/4*get_global_id(0); + global char * s = (global char *) dst_s + QK_K/16*get_global_id(0); + global half * d = (global half *) dst_d + get_global_id(0); + + *d = b->d; + + for (int i = 0; i < QK_K/2; ++i) { + ql[i] = b->ql[i]; + } + for (int i = 0; i < QK_K/4; ++i) { + qh[i] = b->qh[i]; + } + for (int i = 0; i < QK_K/16; ++i) { + s[i] = b->scales[i]; + } +} + +// Restore block_q6_K from flattened arrays. +// Each thread processes a super block. +kernel void kernel_restore_block_q6_K( + global uchar * dst_ql, + global uchar * dst_qh, + global char * dst_s, + global half * dst_d, + global struct block_q6_K * dst +) { + global struct block_q6_K * b = (global struct block_q6_K *) dst + get_global_id(0); + global uchar * ql = (global uchar *) dst_ql + QK_K/2*get_global_id(0); + global uchar * qh = (global uchar *) dst_qh + QK_K/4*get_global_id(0); + global char * s = (global char *) dst_s + QK_K/16*get_global_id(0); + global half * d = (global half *) dst_d + get_global_id(0); + + b->d = *d; + + for (int i = 0; i < QK_K/2; ++i) { + b->ql[i] = ql[i]; + } + for (int i = 0; i < QK_K/4; ++i) { + b->qh[i] = qh[i]; + } + for (int i = 0; i < QK_K/16; ++i) { + b->scales[i] = s[i]; + } +} diff --git a/ggml/src/ggml-opencl/kernels/mul_mv_q6_k.cl b/ggml/src/ggml-opencl/kernels/mul_mv_q6_k_f32.cl similarity index 100% rename from ggml/src/ggml-opencl/kernels/mul_mv_q6_k.cl rename to ggml/src/ggml-opencl/kernels/mul_mv_q6_k_f32.cl diff --git a/ggml/src/ggml-opencl/kernels/mul_mv_q6_k_f32_flat.cl b/ggml/src/ggml-opencl/kernels/mul_mv_q6_k_f32_flat.cl new file mode 100644 index 0000000000..86fe09c6dd --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mv_q6_k_f32_flat.cl @@ -0,0 +1,194 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +#ifdef cl_intel_subgroups +#pragma OPENCL EXTENSION cl_intel_subgroups : enable +#else +#pragma OPENCL EXTENSION cl_khr_subgroups : enable +#endif + +#ifdef cl_intel_required_subgroup_size +#pragma OPENCL EXTENSION cl_intel_required_subgroup_size : enable +#define INTEL_GPU 1 +#define REQD_SUBGROUP_SIZE_16 __attribute__((intel_reqd_sub_group_size(16))) +#define REQD_SUBGROUP_SIZE_32 __attribute__((intel_reqd_sub_group_size(32))) +#elif defined(cl_qcom_reqd_sub_group_size) +#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable +#define ADRENO_GPU 1 +#define REQD_SUBGROUP_SIZE_64 __attribute__((qcom_reqd_sub_group_size("half"))) +#define REQD_SUBGROUP_SIZE_128 __attribute__((qcom_reqd_sub_group_size("full"))) +#endif + +//------------------------------------------------------------------------------ +// kernel_mul_mv_q6_K_f32_flat +//------------------------------------------------------------------------------ +#define Q6_K_MASK1 0x03 +#define Q6_K_MASK2 0x0C +#define Q6_K_MASK3 0x30 +#define Q6_K_MASK4 0xC0 + +#define QK_K 256 + +inline float block_q_6_K_dot_y_flat( + global uchar * blk_ql, + global uchar * blk_qh, + global char * blk_scales, + global half * blk_d, + global float * yy, + int ib, + int ip, + int is, + int l0 +) { + int y_offset = 128*ip + l0; + int q_offset_l = 64*ip + l0; + int q_offset_h = 32*ip + l0; + + global uchar * q1 = blk_ql + ib*128 + q_offset_l; + global uchar * q2 = q1 + QK_K/8; + global uchar * qh = blk_qh + ib*64 + q_offset_h; + global char * sc = blk_scales + ib*16 + is; + + global float * y = yy + ib * QK_K + y_offset; + + float dall = blk_d[ib]; + + float sumf = 0; + float4 sums = {0.f, 0.f, 0.f, 0.f}; + + sums.s0 += y[0+ 0] * ((float)((q1[0] & 0xF) | ((qh[0] & Q6_K_MASK1) << 4)) - 32.f); + sums.s1 += y[0+32] * ((float)((q2[0] & 0xF) | ((qh[0] & Q6_K_MASK2) << 2)) - 32.f); + sums.s2 += y[0+64] * ((float)((q1[0] >> 4) | ((qh[0] & Q6_K_MASK3) << 0)) - 32.f); + sums.s3 += y[0+96] * ((float)((q2[0] >> 4) | ((qh[0] & Q6_K_MASK4) >> 2)) - 32.f); + + sums.s0 += y[1+ 0] * ((float)((q1[1] & 0xF) | ((qh[1] & Q6_K_MASK1) << 4)) - 32.f); + sums.s1 += y[1+32] * ((float)((q2[1] & 0xF) | ((qh[1] & Q6_K_MASK2) << 2)) - 32.f); + sums.s2 += y[1+64] * ((float)((q1[1] >> 4) | ((qh[1] & Q6_K_MASK3) << 0)) - 32.f); + sums.s3 += y[1+96] * ((float)((q2[1] >> 4) | ((qh[1] & Q6_K_MASK4) >> 2)) - 32.f); + + sums.s0 += y[2+ 0] * ((float)((q1[2] & 0xF) | ((qh[2] & Q6_K_MASK1) << 4)) - 32.f); + sums.s1 += y[2+32] * ((float)((q2[2] & 0xF) | ((qh[2] & Q6_K_MASK2) << 2)) - 32.f); + sums.s2 += y[2+64] * ((float)((q1[2] >> 4) | ((qh[2] & Q6_K_MASK3) << 0)) - 32.f); + sums.s3 += y[2+96] * ((float)((q2[2] >> 4) | ((qh[2] & Q6_K_MASK4) >> 2)) - 32.f); + + sums.s0 += y[3+ 0] * ((float)((q1[3] & 0xF) | ((qh[3] & Q6_K_MASK1) << 4)) - 32.f); + sums.s1 += y[3+32] * ((float)((q2[3] & 0xF) | ((qh[3] & Q6_K_MASK2) << 2)) - 32.f); + sums.s2 += y[3+64] * ((float)((q1[3] >> 4) | ((qh[3] & Q6_K_MASK3) << 0)) - 32.f); + sums.s3 += y[3+96] * ((float)((q2[3] >> 4) | ((qh[3] & Q6_K_MASK4) >> 2)) - 32.f); + + sumf += dall * (sums.s0 * sc[0] + sums.s1 * sc[2] + sums.s2 * sc[4] + sums.s3 * sc[6]); + + return sumf; +} + +#undef N_DST +#undef N_SIMDGROUP +#undef N_SIMDWIDTH + +#ifdef INTEL_GPU +#define N_DST 4 +#define N_SIMDGROUP 2 +#define N_SIMDWIDTH 16 +#elif defined (ADRENO_GPU) +#define N_DST 4 +#define N_SIMDGROUP 2 +#define N_SIMDWIDTH 64 +#endif + +#define BLOCK_STRIDE (N_SIMDWIDTH/16) // number of blocks each subgroup processes + +#ifdef INTEL_GPU +REQD_SUBGROUP_SIZE_16 +#elif defined (ADRENO_GPU) +REQD_SUBGROUP_SIZE_64 +#endif +kernel void kernel_mul_mv_q6_K_f32_flat( + global uchar * src0_ql, + global uchar * src0_qh, + global char * src0_s, + global half * src0_d, + global float * src1, + ulong offset1, + global float * dst, + ulong offsetd, + int ne00, + int ne01, + int ne02, + int ne10, + int ne12, + int ne0, + int ne1, + int r2, + int r3 +) { + src1 = (global float*)((global char*)src1 + offset1); + dst = (global float*)((global char*)dst + offsetd); + + int nb = ne00/QK_K; + + int r0 = get_group_id(0); + int r1 = get_group_id(1); + int im = get_group_id(2); + + int i12 = im%ne12; + int i13 = im/ne12; + + int first_row = (N_SIMDGROUP * r0 + get_sub_group_id()) * N_DST; + + ulong offset_src0 = first_row*nb + (i12/r2)*(nb*ne01) + (i13/r3)*(nb*ne01*ne02); + ulong offset_src0_ql = offset_src0 * 128; + ulong offset_src0_qh = offset_src0 * 64; + ulong offset_src0_s = offset_src0 * 16; + ulong offset_src0_d = offset_src0; + + global uchar * blk_ql = (global uchar *) src0_ql + offset_src0_ql; + global uchar * blk_qh = (global uchar *) src0_qh + offset_src0_qh; + global char * blk_scales = (global char *) src0_s + offset_src0_s; + global half * blk_d = (global half *) src0_d + offset_src0_d; + global float * yy = (global float *) src1 + r1*ne10 + im*ne00*ne1; + + int tid = get_sub_group_local_id()/BLOCK_STRIDE; // first block_stride groups have tid=0 + int ix = get_sub_group_local_id()%BLOCK_STRIDE; // first block is 0..block_stride-1 + int ip = tid/8; // first or second half of (super) block (0 or 1) + int il = tid%8; // each half has 8 parts, one per scale + int n = 4; // 4 scales at a time (and 4 sums) + int l0 = n*il; // offset into half-block, 0..28 + int is = 8*ip + l0/16; // 0, 1, 8, 9 + + float4 sumf = 0; + + for (int ib = ix; ib < nb; ib += BLOCK_STRIDE) { + if (first_row + 0 < ne01) { + sumf.s0 += block_q_6_K_dot_y_flat(blk_ql + 0*nb*128, blk_qh + 0*nb*64, blk_scales + 0*nb*16, blk_d + 0*nb, yy, ib, ip, is, l0); + } + if (first_row + 1 < ne01) { + sumf.s1 += block_q_6_K_dot_y_flat(blk_ql + 1*nb*128, blk_qh + 1*nb*64, blk_scales + 1*nb*16, blk_d + 1*nb, yy, ib, ip, is, l0); + } + if (first_row + 2 < ne01) { + sumf.s2 += block_q_6_K_dot_y_flat(blk_ql + 2*nb*128, blk_qh + 2*nb*64, blk_scales + 2*nb*16, blk_d + 2*nb, yy, ib, ip, is, l0); + } + if (first_row + 3 < ne01) { + sumf.s3 += block_q_6_K_dot_y_flat(blk_ql + 3*nb*128, blk_qh + 3*nb*64, blk_scales + 3*nb*16, blk_d + 3*nb, yy, ib, ip, is, l0); + } + } + + float4 tot = (float4)( + sub_group_reduce_add(sumf.s0), + sub_group_reduce_add(sumf.s1), + sub_group_reduce_add(sumf.s2), + sub_group_reduce_add(sumf.s3) + ); + if (get_sub_group_local_id() == 0) { + if (first_row + 0 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 0] = tot.s0; + } + if (first_row + 1 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 1] = tot.s1; + } + if (first_row + 2 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 2] = tot.s2; + } + if (first_row + 3 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 3] = tot.s3; + } + } +} From 7afdfc9b844ce38179fc4f0e4caa8b5c9a98db43 Mon Sep 17 00:00:00 2001 From: shalinib-ibm Date: Tue, 27 Jan 2026 09:22:34 +0530 Subject: [PATCH 026/206] ggml-cpu: Enable FP16 MMA kernels on PPC (#19060) --- ggml/src/ggml-cpu/llamafile/sgemm.cpp | 81 +++++++++++++++++++-------- 1 file changed, 58 insertions(+), 23 deletions(-) diff --git a/ggml/src/ggml-cpu/llamafile/sgemm.cpp b/ggml/src/ggml-cpu/llamafile/sgemm.cpp index 7dc36d4f8a..8f980c16b9 100644 --- a/ggml/src/ggml-cpu/llamafile/sgemm.cpp +++ b/ggml/src/ggml-cpu/llamafile/sgemm.cpp @@ -1797,10 +1797,27 @@ class tinyBLAS_Q0_AVX { } \ } \ +template +struct mma_instr; + +template<> +struct mma_instr { + static inline void outer_product(acc_t *acc, vec_t a, vec_t b) { + __builtin_mma_xvbf16ger2pp(acc, a, b); + } +}; + +template<> +struct mma_instr { + static inline void outer_product(acc_t *acc, vec_t a, vec_t b) { + __builtin_mma_xvf16ger2pp(acc, a, b); + } +}; + template -class tinyBLAS_BF16_PPC { +class tinyBLAS_HP16_PPC { public: - tinyBLAS_BF16_PPC(int64_t k, + tinyBLAS_HP16_PPC(int64_t k, const TA *A, int64_t lda, const TB *B, int64_t ldb, TC *C, int64_t ldc, @@ -2118,8 +2135,8 @@ class tinyBLAS_BF16_PPC { packNormal((A+(ii*lda)+l), lda, 4, 8, (uint8_t*)vec_A); packNormal((B+(jj*ldb)+l), ldb, 8, 8, (uint8_t*)vec_B); for (int x = 0; x < 4; x++) { - __builtin_mma_xvbf16ger2pp(&acc_0, vec_A[x], vec_B[x]); - __builtin_mma_xvbf16ger2pp(&acc_1, vec_A[x], vec_B[x+4]); + mma_instr::outer_product(&acc_0, vec_A[x], vec_B[x]); + mma_instr::outer_product(&acc_1, vec_A[x], vec_B[x+4]); } } SAVE_ACC(&acc_0, ii, jj); @@ -2135,8 +2152,8 @@ class tinyBLAS_BF16_PPC { packNormal((A+(ii*lda)+l), lda, 8, 8, (uint8_t*)vec_A); packNormal((B+(jj*ldb)+l), ldb, 8, 4, (uint8_t*)vec_B); for (int x = 0; x < 4; x++) { - __builtin_mma_xvbf16ger2pp(&acc_0, vec_A[x], vec_B[x]); - __builtin_mma_xvbf16ger2pp(&acc_1, vec_A[x+4], vec_B[x]); + mma_instr::outer_product(&acc_0, vec_A[x], vec_B[x]); + mma_instr::outer_product(&acc_1, vec_A[x], vec_B[x+4]); } } SAVE_ACC(&acc_0, ii, jj); @@ -2155,10 +2172,10 @@ class tinyBLAS_BF16_PPC { packNormal(A+(ii*lda)+l, lda, 8, 8, (uint8_t*)vec_A); packNormal(B+(jj*ldb)+l, ldb, 8, 8, (uint8_t*)vec_B); for (int x = 0; x < 4; x++) { - __builtin_mma_xvbf16ger2pp(&acc_0, vec_A[x], vec_B[x]); - __builtin_mma_xvbf16ger2pp(&acc_1, (vec_t)vec_A[x], (vec_t)vec_B[x+4]); - __builtin_mma_xvbf16ger2pp(&acc_2, (vec_t)vec_A[x+4], (vec_t)vec_B[x]); - __builtin_mma_xvbf16ger2pp(&acc_3, (vec_t)vec_A[x+4], (vec_t)vec_B[x+4]); + mma_instr::outer_product(&acc_0, vec_A[x], vec_B[x]); + mma_instr::outer_product(&acc_1, vec_A[x], vec_B[x+4]); + mma_instr::outer_product(&acc_2, vec_A[x+4], vec_B[x]); + mma_instr::outer_product(&acc_3, vec_A[x+4], vec_B[x+4]); } } @@ -2189,7 +2206,7 @@ class tinyBLAS_BF16_PPC { packNormal(A+(ii*lda)+l, lda, RM, 4, (uint8_t*)vec_A); packNormal(B+(jj*ldb)+l, ldb, RN, 4, (uint8_t*)vec_B); for (int x = 0; x<2; x++) { - __builtin_mma_xvbf16ger2pp(&acc_0, vec_A[x], vec_B[x]); + mma_instr::outer_product(&acc_0, vec_A[x], vec_B[x]); } } __builtin_mma_disassemble_acc(vec_C, &acc_0); @@ -2224,8 +2241,8 @@ class tinyBLAS_BF16_PPC { packNormal(A+(ii*lda)+l, lda, RM, 8, (uint8_t*)vec_A); packNormal(B+(jj*ldb)+l, ldb, RN, 8, (uint8_t*)vec_B); for (int x = 0; x<4; x++) { - __builtin_mma_xvbf16ger2pp(&acc_0, vec_A[x], vec_B[x]); - __builtin_mma_xvbf16ger2pp(&acc_1, vec_A[x], vec_B[x+4]); + mma_instr::outer_product(&acc_0, vec_A[x], vec_B[x]); + mma_instr::outer_product(&acc_1, vec_A[x], vec_B[x+4]); } } __builtin_mma_disassemble_acc(vec_C, &acc_0); @@ -3418,16 +3435,19 @@ bool llamafile_sgemm(const struct ggml_compute_params * params, int64_t m, int64 return tb.matmul(m, n); } #elif defined(__MMA__) - if ((k % 8)) - return false; - if(Btype == GGML_TYPE_BF16) { - tinyBLAS_BF16_PPC tb{ k, - (const ggml_bf16_t *)A, lda, - (const ggml_bf16_t *)B, ldb, - (float *)C, ldc, - params->ith, params->nth}; - tb.matmul(m, n); - return true; + if (k % 8) { + return false; + } + + if (Btype == GGML_TYPE_BF16) { + tinyBLAS_HP16_PPC tb{ k, + (const ggml_bf16_t *)A, lda, + (const ggml_bf16_t *)B, ldb, + (float *)C, ldc, + params->ith, params->nth }; + + tb.matmul(m, n); + return true; } #elif defined(__riscv_zvfbfwma) #if LMUL == 1 @@ -3516,6 +3536,21 @@ bool llamafile_sgemm(const struct ggml_compute_params * params, int64_t m, int64 #endif return tb.matmul(m, n); } +#elif defined(__MMA__) + if (k % 8) { + return false; + } + + if (Btype == GGML_TYPE_F16) { + tinyBLAS_HP16_PPC tb{ k, + (const ggml_fp16_t *)A, lda, + (const ggml_fp16_t *)B, ldb, + (float *)C, ldc, + params->ith, params->nth }; + + tb.matmul(m, n); + return true; + } #endif return false; } From fc3cdf32ce5ea3017299d2afb947d3ba9844445a Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 27 Jan 2026 06:16:00 +0100 Subject: [PATCH 027/206] common : clarify HTTPS build options in error message (#19103) * common : clarify HTTPS build options in error message This commit updates the https error message to provide clearer instructions for users who encounter the "HTTPS is not supported" error. The motivation for this is that it might not be clear to users that only one of these options are needed to enable HTTPS support. The LLAMA_OPENSSL option is also added to the message to cover all possible build configurations. * clarify that OpenSSL is the default for HTTPS support --- common/http.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/http.h b/common/http.h index 7c683aafcf..e8ed56f952 100644 --- a/common/http.h +++ b/common/http.h @@ -60,10 +60,10 @@ static std::pair common_http_client(const std: #ifndef CPPHTTPLIB_OPENSSL_SUPPORT if (parts.scheme == "https") { throw std::runtime_error( - "HTTPS is not supported. Please rebuild with:\n" + "HTTPS is not supported. Please rebuild with one of:\n" " -DLLAMA_BUILD_BORINGSSL=ON\n" " -DLLAMA_BUILD_LIBRESSL=ON\n" - "or ensure dev files of an OpenSSL-compatible library are available when building." + " -DLLAMA_OPENSSL=ON (default, requires OpenSSL dev files installed)" ); } #endif From a83c73a18aaffba253ffd01e7cd3af41feaf8179 Mon Sep 17 00:00:00 2001 From: Gaurav Garg Date: Tue, 27 Jan 2026 06:52:44 +0000 Subject: [PATCH 028/206] [CUDA] Reduce CPU-side stalls due to the CUDA command buffer being full (#19042) * [CUDA] Reduce CPU-side stalls due to the CUDA command buffer being full With pipeline parallelism, during prompt processing, the CPU-side CUDA command buffer gets full, stalling the CPU. Due to this, enough work doesn't get submitted to the GPU, causing bubbles in the GPU timeline. Fix this by setting the CUDA environment variable CUDA_SCALE_LAUNCH_QUEUES to 4x to increase the command buffer size. * Set the env variable in the CUDA backend registry allocation * Add link to PR in code comment * Remove warning logs and update documentation --- docs/build.md | 8 ++++++++ ggml/src/ggml-cuda/ggml-cuda.cu | 10 ++++++++++ 2 files changed, 18 insertions(+) diff --git a/docs/build.md b/docs/build.md index fce9361b2d..4983cfcfea 100644 --- a/docs/build.md +++ b/docs/build.md @@ -248,6 +248,14 @@ You may set the [cuda environmental variables](https://docs.nvidia.com/cuda/cuda CUDA_VISIBLE_DEVICES="-0" ./build/bin/llama-server --model /srv/models/llama.gguf ``` +#### CUDA_SCALE_LAUNCH_QUEUES + +The environment variable [`CUDA_SCALE_LAUNCH_QUEUES`](https://docs.nvidia.com/cuda/cuda-programming-guide/05-appendices/environment-variables.html#cuda-scale-launch-queues) controls the size of CUDA's command buffer, which determines how many GPU operations can be queued before the CPU must wait for the GPU to catch up. A larger buffer reduces CPU-side stalls and allows more work to be queued on a GPU. + +**Default behavior:** llama.cpp automatically sets `CUDA_SCALE_LAUNCH_QUEUES=4x`, which increases the CUDA command buffer to 4 times its default size. This optimization is particularly beneficial for **Multi-GPU setups with pipeline parallelism**, where it significantly improves prompt processing throughput by allowing more operations to be enqueued across GPUs. + +See PR [#19042](https://github.com/ggml-org/llama.cpp/pull/19042) for performance benchmarks and technical details. + ### Unified Memory The environment variable `GGML_CUDA_ENABLE_UNIFIED_MEMORY=1` can be used to enable unified memory in Linux. This allows swapping to system RAM instead of crashing when the GPU VRAM is exhausted. In Windows this setting is available in the NVIDIA control panel as `System Memory Fallback`. diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 99f0919a51..e9df0ea4a7 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -4876,6 +4876,16 @@ ggml_backend_reg_t ggml_backend_cuda_reg() { static std::mutex mutex; std::lock_guard lock(mutex); if (!initialized) { + // Set CUDA_SCALE_LAUNCH_QUEUES before any CUDA API call to improve multi-GPU pipeline parallelism performance + // PR: https://github.com/ggml-org/llama.cpp/pull/19042 + if (getenv("CUDA_SCALE_LAUNCH_QUEUES") == nullptr) { +#ifdef _WIN32 + _putenv_s("CUDA_SCALE_LAUNCH_QUEUES", "4x"); +#else + setenv("CUDA_SCALE_LAUNCH_QUEUES", "4x", 0); // don't overwrite if already set +#endif // _WIN32 + } + ggml_backend_cuda_reg_context * ctx = new ggml_backend_cuda_reg_context; const int min_batch_size = getenv("GGML_OP_OFFLOAD_MIN_BATCH") ? atoi(getenv("GGML_OP_OFFLOAD_MIN_BATCH")) : 32; From be8890e7217982fc02da568bc3955e9416d0e5d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Cabrera=20P=C3=A9rez?= <1478977+Alcpz@users.noreply.github.com> Date: Tue, 27 Jan 2026 09:08:10 +0000 Subject: [PATCH 029/206] ggml-cpu: aarm64: q6_K repack gemm and gemv (and generic) implementations (i8mm) #18860 (#18888) * Boilerplate for q6_K repack * q6_K repack to q6_Kx8 implementation Signed-off-by: Alberto Cabrera * q6_K generic gemv and gemm * wip, gemm_q6_K 8x8 * Still WIP: loading of q8s, q6h and q6l * first working version of q6_K gemm * Moved q6 loads outside of sb block, Unrolled inner loop * Replaced modulo with mask * First implementation of GEMV * ggml_vdotq_s32 -> vdotq_s32 * Reduce width of accumulators in q6_K gemv * Bsums instead of calc bias. Preload scales to use vget_lane. Unroll. * Reuse scales in GEMM (same GEMV opt) * Added todos for bsum and different qh repack * Arch fallback * VSLIQ for merging qh adn ql * Removed TODO, already tested * Apply suggestions Co-authored-by: Georgi Gerganov * Removed unused import --------- Signed-off-by: Alberto Cabrera Co-authored-by: Georgi Gerganov --- ggml/src/ggml-cpu/arch-fallback.h | 15 + ggml/src/ggml-cpu/arch/arm/repack.cpp | 429 +++++++++++++++++++++++++- ggml/src/ggml-cpu/repack.cpp | 339 ++++++++++++++++++-- ggml/src/ggml-cpu/repack.h | 16 +- 4 files changed, 771 insertions(+), 28 deletions(-) diff --git a/ggml/src/ggml-cpu/arch-fallback.h b/ggml/src/ggml-cpu/arch-fallback.h index 0a85a4cff3..427c1146e4 100644 --- a/ggml/src/ggml-cpu/arch-fallback.h +++ b/ggml/src/ggml-cpu/arch-fallback.h @@ -1,3 +1,4 @@ + #pragma once // Rename `_generic` functions if no native implementation is available. @@ -42,6 +43,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 #define ggml_gemv_q8_0_4x4_q8_0_generic ggml_gemv_q8_0_4x4_q8_0 @@ -53,6 +55,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +# define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 @@ -73,6 +76,7 @@ #define ggml_gemv_q4_0_4x8_q8_0_generic ggml_gemv_q4_0_4x8_q8_0 #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_q8_0_4x4_q8_0_generic ggml_gemv_q8_0_4x4_q8_0 #define ggml_gemv_q8_0_4x8_q8_0_generic ggml_gemv_q8_0_4x8_q8_0 @@ -80,6 +84,7 @@ #define ggml_gemm_q4_0_4x8_q8_0_generic ggml_gemm_q4_0_4x8_q8_0 #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 #define ggml_gemm_q8_0_4x8_q8_0_generic ggml_gemm_q8_0_4x8_q8_0 @@ -102,6 +107,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 #define ggml_gemv_q8_0_4x4_q8_0_generic ggml_gemv_q8_0_4x4_q8_0 @@ -113,6 +119,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 @@ -136,6 +143,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 #define ggml_gemv_q8_0_4x4_q8_0_generic ggml_gemv_q8_0_4x4_q8_0 @@ -147,6 +155,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 @@ -177,6 +186,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 #define ggml_gemv_q8_0_4x4_q8_0_generic ggml_gemv_q8_0_4x4_q8_0 @@ -187,6 +197,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 @@ -216,6 +227,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 #define ggml_gemv_q8_0_4x4_q8_0_generic ggml_gemv_q8_0_4x4_q8_0 @@ -227,6 +239,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 @@ -258,6 +271,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 #define ggml_gemv_q8_0_4x4_q8_0_generic ggml_gemv_q8_0_4x4_q8_0 @@ -269,6 +283,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 diff --git a/ggml/src/ggml-cpu/arch/arm/repack.cpp b/ggml/src/ggml-cpu/arch/arm/repack.cpp index 883d862901..f40226494c 100644 --- a/ggml/src/ggml-cpu/arch/arm/repack.cpp +++ b/ggml/src/ggml-cpu/arch/arm/repack.cpp @@ -1055,10 +1055,10 @@ void ggml_gemv_q5_K_8x8_q8_K(int n, // FUSED BIAS: Compute and subtract bias immediately // bias = (bsums_lo * mins_lo + bsums_hi * mins_hi) * sb_min - int32x4_t bias = vmull_s16(bsums_vec_lo, group_mins_lo); - bias = vmlal_s16(bias, bsums_vec_hi, group_mins_hi); + int32x4_t bias = vmull_s16(bsums_vec_lo, group_mins_lo); + bias = vmlal_s16(bias, bsums_vec_hi, group_mins_hi); float32x4_t bias_f32 = vcvtq_f32_s32(bias); - acc_f32[i] = vmlsq_f32(acc_f32[i], sb_min, bias_f32); + acc_f32[i] = vmlsq_f32(acc_f32[i], sb_min, bias_f32); } } // for sb } // for b @@ -1072,6 +1072,208 @@ void ggml_gemv_q5_K_8x8_q8_K(int n, ggml_gemv_q5_K_8x8_q8_K_generic(n, s, bs, vx, vy, nr, nc); } +void ggml_gemv_q6_K_8x8_q8_K(int n, + float * GGML_RESTRICT s, + size_t bs, + const void * GGML_RESTRICT vx, + const void * GGML_RESTRICT vy, + int nr, + int nc) { + constexpr int qk = QK_K; + const int nb = n / qk; + + constexpr int ncols_interleaved = 8; + constexpr int blocklen = 8; + + assert(n % qk == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(nb); + UNUSED(ncols_interleaved); + UNUSED(blocklen); + +#if defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_DOTPROD) + constexpr int col_pairs = ncols_interleaved / 2; + const uint8x16_t m4b = vdupq_n_u8(0x0f); + const uint8x16_t mask_lo = vdupq_n_u8(0x03); + const uint8x16_t mask_hi = vdupq_n_u8(0x30); + + // 1x8 tile = 2 x 4 + float32x4_t acc_f32[2]; + + const block_q8_K * GGML_RESTRICT q8_ptr = (const block_q8_K *) vy; + + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q6_Kx8 * GGML_RESTRICT q6_ptr = (const block_q6_Kx8 *) vx + (x * nb); + + acc_f32[0] = vdupq_n_f32(0); + acc_f32[1] = vdupq_n_f32(0); + + for (int b = 0; b < nb; b++) { + float32x4_t q6_d_0 = vcvt_f32_f16(vld1_f16((const __fp16 *) q6_ptr[b].d)); // d0 d1 d2 d3 + float32x4_t q6_d_1 = vcvt_f32_f16(vld1_f16((const __fp16 *) q6_ptr[b].d + 4)); // d4 d5 d6 d7 + float32x4_t q8_d = vdupq_n_f32(q8_ptr[b].d); + float32x4_t sb_scale_0 = vmulq_f32(q6_d_0, q8_d); + float32x4_t sb_scale_1 = vmulq_f32(q6_d_1, q8_d); + + int32x2_t acc[col_pairs]; + for (int i = 0; i < col_pairs; i++) { + acc[i] = vdup_n_s32(0); + } + + // Load all 16 scales once and widen to int16 (Q6_K has 16 scales per block) + // Reused for bias and dequantization later + int16_t q6_scales[16 * 8]; + for (int i = 0; i < 16; i++) { + int16x8_t scales = vmovl_s8(vld1_s8(q6_ptr[b].scales + i * 8)); + vst1q_s16(q6_scales + i * 8, scales); + } + + // Compute bias per column using q8 bsums and preloaded scales to skip the -32 shift + int32x4_t bias_lo = vdupq_n_s32(0); + int32x4_t bias_hi = vdupq_n_s32(0); + + // Load bsums in chunks of 4 to process with vectorized operations + for (int i = 0; i < 16; i += 4) { + int16x4_t bsums_vec = vld1_s16(q8_ptr[b].bsums + i); + int16x4_t scales_lo_0 = vld1_s16(q6_scales + (i + 0) * 8); + int16x4_t scales_hi_0 = vld1_s16(q6_scales + (i + 0) * 8 + 4); + int16x4_t scales_lo_1 = vld1_s16(q6_scales + (i + 1) * 8); + int16x4_t scales_hi_1 = vld1_s16(q6_scales + (i + 1) * 8 + 4); + int16x4_t scales_lo_2 = vld1_s16(q6_scales + (i + 2) * 8); + int16x4_t scales_hi_2 = vld1_s16(q6_scales + (i + 2) * 8 + 4); + int16x4_t scales_lo_3 = vld1_s16(q6_scales + (i + 3) * 8); + int16x4_t scales_hi_3 = vld1_s16(q6_scales + (i + 3) * 8 + 4); + + bias_lo = vmlal_lane_s16(bias_lo, scales_lo_0, bsums_vec, 0); + bias_hi = vmlal_lane_s16(bias_hi, scales_hi_0, bsums_vec, 0); + bias_lo = vmlal_lane_s16(bias_lo, scales_lo_1, bsums_vec, 1); + bias_hi = vmlal_lane_s16(bias_hi, scales_hi_1, bsums_vec, 1); + bias_lo = vmlal_lane_s16(bias_lo, scales_lo_2, bsums_vec, 2); + bias_hi = vmlal_lane_s16(bias_hi, scales_hi_2, bsums_vec, 2); + bias_lo = vmlal_lane_s16(bias_lo, scales_lo_3, bsums_vec, 3); + bias_hi = vmlal_lane_s16(bias_hi, scales_hi_3, bsums_vec, 3); + } + bias_lo = vshlq_n_s32(bias_lo, 5); + bias_hi = vshlq_n_s32(bias_hi, 5); + + // Process two 128-value halves per superblock + for (int half = 0; half < 2; half++) { + const uint8_t * ql_base = q6_ptr[b].ql + half * 512; + const uint8_t * qh_base = q6_ptr[b].qh + half * 256; + + // A subblock (sb) is a set of weights that share the scale + // Since q6_K scales are per 16 elements + // num sbs -> 256 elements / (16 elements/scale * 2 elements/byte * 2 halves) + for (int sb = 0; sb < QK_K / 64; sb++) { + const int8_t * q8_base_l = q8_ptr[b].qs + half * 128 + sb * 16; + const int8_t * q8_base_h = q8_base_l + 64; + + // Load and duplicate q8 values (each register covers two interleaved columns of q6) + int8x16_t q8_l[2]; + int8x16_t q8_h[2]; + for (int i = 0; i < 2; i++) { + q8_l[i] = (int8x16_t) vld1q_dup_s64((const int64_t *) (q8_base_l + i * 8)); + q8_h[i] = (int8x16_t) vld1q_dup_s64((const int64_t *) (q8_base_h + i * 8)); + } + + // TODO: Test other qh repack patterns to reduce loads + const int ql_off_base = sb * QK_K / 2; + const int qh_off_base = ql_off_base & 255; // wraps after 256 bytes + + // Load 4 vectors at once (64 bytes each for ql_0, ql_1, qh_0, qh_1) + ggml_uint8x16x4_t q6_ql_0 = ggml_vld1q_u8_x4(ql_base + ql_off_base); + ggml_uint8x16x4_t q6_ql_1 = ggml_vld1q_u8_x4(ql_base + ql_off_base + 64); + ggml_uint8x16x4_t q6_qh_0 = ggml_vld1q_u8_x4(qh_base + qh_off_base); + ggml_uint8x16x4_t q6_qh_1 = ggml_vld1q_u8_x4(qh_base + qh_off_base + 64); + + // Adjust qh for subblocks 2 and 3 (shift right by 2) + if (sb > 1) { + q6_qh_0.val[0] = vshrq_n_u8(q6_qh_0.val[0], 2); + q6_qh_0.val[1] = vshrq_n_u8(q6_qh_0.val[1], 2); + q6_qh_0.val[2] = vshrq_n_u8(q6_qh_0.val[2], 2); + q6_qh_0.val[3] = vshrq_n_u8(q6_qh_0.val[3], 2); + q6_qh_1.val[0] = vshrq_n_u8(q6_qh_1.val[0], 2); + q6_qh_1.val[1] = vshrq_n_u8(q6_qh_1.val[1], 2); + q6_qh_1.val[2] = vshrq_n_u8(q6_qh_1.val[2], 2); + q6_qh_1.val[3] = vshrq_n_u8(q6_qh_1.val[3], 2); + } + + // Process column pairs (0-1, 2-3, 4-5, 6-7) + for (int cp = 0; cp < col_pairs; cp++) { + const uint8x16_t q6_qs_cp_0_l = q6_ql_0.val[cp]; + const uint8x16_t q6_qs_cp_1_l = q6_ql_1.val[cp]; + const uint8x16_t q6_qs_cp_0_h = q6_qh_0.val[cp]; + const uint8x16_t q6_qs_cp_1_h = q6_qh_1.val[cp]; + + // Extract high 2 bits for upper nibble reconstruction + const uint8x16_t q6_qs_cp_0_hh = vandq_u8(q6_qs_cp_0_h, mask_hi); + const uint8x16_t q6_qs_cp_1_hh = vandq_u8(q6_qs_cp_1_h, mask_hi); + + // q6 = (low4 | high2<<4), without -32 bias (handled via bsums) + const int8x16_t q6_l0 = vreinterpretq_s8_u8( + vsliq_n_u8(vandq_u8(q6_qs_cp_0_l, m4b), vandq_u8(q6_qs_cp_0_h, mask_lo), 4)); + const int8x16_t q6_l1 = vreinterpretq_s8_u8( + vsliq_n_u8(vandq_u8(q6_qs_cp_1_l, m4b), vandq_u8(q6_qs_cp_1_h, mask_lo), 4)); + const int8x16_t q6_h0 = + vreinterpretq_s8_u8(vorrq_u8(vshrq_n_u8(q6_qs_cp_0_l, 4), q6_qs_cp_0_hh)); + const int8x16_t q6_h1 = + vreinterpretq_s8_u8(vorrq_u8(vshrq_n_u8(q6_qs_cp_1_l, 4), q6_qs_cp_1_hh)); + + int32x4_t sb_acc_l = vdupq_n_s32(0); + sb_acc_l = vdotq_s32(sb_acc_l, q6_l0, q8_l[0]); + sb_acc_l = vdotq_s32(sb_acc_l, q6_l1, q8_l[1]); + + int32x4_t sb_acc_h = vdupq_n_s32(0); + sb_acc_h = vdotq_s32(sb_acc_h, q6_h0, q8_h[0]); + sb_acc_h = vdotq_s32(sb_acc_h, q6_h1, q8_h[1]); + + // Pairwise add to get per-column sums: [col0, col1] + int32x2_t sum_l = vpadd_s32(vget_low_s32(sb_acc_l), vget_high_s32(sb_acc_l)); + int32x2_t sum_h = vpadd_s32(vget_low_s32(sb_acc_h), vget_high_s32(sb_acc_h)); + + const int scale_idx_l = half * 8 + sb; + const int scale_idx_h = half * 8 + sb + 4; + + // Access scales using array indexing (scales are interleaved by column) + const int32x2_t scale_vec_l = { (int32_t) q6_scales[scale_idx_l * 8 + cp * 2], + (int32_t) q6_scales[scale_idx_l * 8 + cp * 2 + 1] }; + const int32x2_t scale_vec_h = { (int32_t) q6_scales[scale_idx_h * 8 + cp * 2], + (int32_t) q6_scales[scale_idx_h * 8 + cp * 2 + 1] }; + + // Accumulate scaled results + acc[cp] = vmla_s32(acc[cp], sum_l, scale_vec_l); + acc[cp] = vmla_s32(acc[cp], sum_h, scale_vec_h); + } + } + } // for half + + // Bias correction + acc[0] = vsub_s32(acc[0], vget_low_s32(bias_lo)); + acc[1] = vsub_s32(acc[1], vget_high_s32(bias_lo)); + acc[2] = vsub_s32(acc[2], vget_low_s32(bias_hi)); + acc[3] = vsub_s32(acc[3], vget_high_s32(bias_hi)); + + // Apply superblock scale (no mins for q6_K) + // acc[cp] has [c0, c1] + float32x2_t w_01 = vmul_f32(vcvt_f32_s32(acc[0]), vget_low_f32(sb_scale_0)); + float32x2_t w_23 = vmul_f32(vcvt_f32_s32(acc[1]), vget_high_f32(sb_scale_0)); + float32x2_t w_45 = vmul_f32(vcvt_f32_s32(acc[2]), vget_low_f32(sb_scale_1)); + float32x2_t w_67 = vmul_f32(vcvt_f32_s32(acc[3]), vget_high_f32(sb_scale_1)); + + acc_f32[0] = vaddq_f32(acc_f32[0], vcombine_f32(w_01, w_23)); + acc_f32[1] = vaddq_f32(acc_f32[1], vcombine_f32(w_45, w_67)); + } // for b + + int base = x * ncols_interleaved; + vst1q_f32(s + base, acc_f32[0]); + vst1q_f32(s + base + 4, acc_f32[1]); + } // for x + return; +#endif // defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_DOTPROD) + ggml_gemv_q6_K_8x8_q8_K_generic(n, s, bs, vx, vy, nr, nc); +} + void ggml_gemv_q8_0_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, @@ -3146,8 +3348,8 @@ void ggml_gemm_q5_K_8x8_q8_K(int n, const int8x16_t qs_lo_0 = vreinterpretq_s8_u8(vsliq_n_u8(vandq_u8(qs_cp_0, m4b), hbit_lo_0, 4)); int32x4_t acc_0 = sb_acc[0]; acc_0 = vmmlaq_s32(acc_0, qs_lo_0, q8s[0][0]); - int32x4_t acc_2 = sb_acc[2]; - acc_2 = vmmlaq_s32(acc_2, qs_lo_0, q8s[1][0]); + int32x4_t acc_2 = sb_acc[2]; + acc_2 = vmmlaq_s32(acc_2, qs_lo_0, q8s[1][0]); const int8x16_t qs_hi_0 = vreinterpretq_s8_u8(vorrq_u8(vshrq_n_u8(qs_cp_0, 4), hbit_hi_0)); int32x4_t acc_1 = sb_acc[1]; acc_1 = vmmlaq_s32(acc_1, qs_hi_0, q8s[0][4]); @@ -3271,6 +3473,223 @@ void ggml_gemm_q5_K_8x8_q8_K(int n, ggml_gemm_q5_K_8x8_q8_K_generic(n, s, bs, vx, vy, nr, nc); } +void ggml_gemm_q6_K_8x8_q8_K(int n, + float * GGML_RESTRICT s, + size_t bs, + const void * GGML_RESTRICT vx, + const void * GGML_RESTRICT vy, + int nr, + int nc) { + constexpr int qk = QK_K; + const int nb = n / qk; + + constexpr int ncols_interleaved = 8; + constexpr int blocklen = 8; + + assert(n % qk == 0); + assert(nr % 4 == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(nb); + UNUSED(ncols_interleaved); + UNUSED(blocklen); + +#if defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8) + constexpr int q8_k_blocklen = 4; + const uint8x16_t m4b = vdupq_n_u8(0x0f); + const uint8x16_t mask_lo = vdupq_n_u8(0x03); + const uint8x16_t mask_hi = vdupq_n_u8(0x30); + const int8x16_t m32s = vdupq_n_s8(32); + + // 8 accumulators: 4 q8 rows × 2 col groups (0-3, 4-7) + float32x4_t acc_f32[blocklen]; + + for (int y = 0; y < nr / q8_k_blocklen; y++) { + const block_q8_Kx4 * GGML_RESTRICT q8_ptr = (const block_q8_Kx4 *) vy + (y * nb); + + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q6_Kx8 * GGML_RESTRICT q6_ptr = (const block_q6_Kx8 *) vx + (x * nb); + + for (int i = 0; i < blocklen; i++) { + acc_f32[i] = vdupq_n_f32(0); + } + + for (int b = 0; b < nb; b++) { + int32x4_t acc[8]; // rows 01 stored in [0][1][2][3], rows 23 stored in [4][5][6][7] + for (int i = 0; i < 8; i++) { + acc[i] = vdupq_n_s32(0); + } + + // Q6_K has simple 8-bit scales, 16 per block (one per 16 values) + // Reused for bias and dequantization later + int16_t q6_scales[16 * 8]; + for (int i = 0; i < 16; ++i) { + int16x8_t s16 = vmovl_s8(vld1_s8(q6_ptr[b].scales + i * 8)); + vst1q_s16(q6_scales + i * 8, s16); + } + + // Process two 128-value halves per superblock + for (int half = 0; half < 2; half++) { + + const uint8_t * ql_base = q6_ptr[b].ql + half * 512; + const uint8_t * qh_base = q6_ptr[b].qh + half * 256; + + // A subblock (sb) is a set of weights that share the scale + // Since q6_K scales are per 16 elements + // num sbs -> 256 elements / (16 elements/scale * 2 elements/byte * 2 halves) + for (int sb = 0; sb < QK_K / 64; sb++) { + // Q6_K weight index increasing by 64 instead of 32 requires + // loading various q8 memory regions + const int8_t * q8_base_l = q8_ptr[b].qs + half * 512 + sb * 64; + const int8_t * q8_base_h = q8_ptr[b].qs + half * 512 + 256 + sb * 64; + + int8x16_t q8_l_01[2]; + int8x16_t q8_l_23[2]; + for (int i = 0; i < 2; i++) { + const int offset = i * 32; + q8_l_01[i] = vld1q_s8(q8_base_l + offset); // 0..7 & 8..15 (r01) + q8_l_23[i] = vld1q_s8(q8_base_l + offset + 16); // 0..7 & 8..15 (r23) + } + + int8x16_t q8_h_01[2]; + int8x16_t q8_h_23[2]; + for (int i = 0; i < 2; i++) { + const int offset = i * 32; + q8_h_01[i] = vld1q_s8(q8_base_h + offset); + q8_h_23[i] = vld1q_s8(q8_base_h + offset + 16); + } + + const int ql_off_base = sb * QK_K / 2; + + uint8x16_t q6_ql_0[4]; + uint8x16_t q6_ql_1[4]; + for (int k = 0; k < 4; k++) { + q6_ql_0[k] = vld1q_u8(ql_base + ql_off_base + 16 * k); + q6_ql_1[k] = vld1q_u8(ql_base + ql_off_base + 64 + 16 * k); + } + + const int qh_off_base = (sb * QK_K / 2) & 255; // wrap after 256 bytes + uint8x16_t q6_qh_0[4]; + uint8x16_t q6_qh_1[4]; + for (int k = 0; k < 4; k++) { + q6_qh_0[k] = vld1q_u8(qh_base + qh_off_base + 16 * k); + q6_qh_1[k] = vld1q_u8(qh_base + qh_off_base + 64 + 16 * k); + } + + // Adjust for the proper high bits (Sb 2 and 3) + if (sb > 1) { + for (int k = 0; k < 4; k++) { + q6_qh_0[k] = vshrq_n_u8(q6_qh_0[k], 2); + q6_qh_1[k] = vshrq_n_u8(q6_qh_1[k], 2); + } + } + + // Process column pairs (0-1, 2-3, 4-5, 6-7) + for (int cp = 0; cp < ncols_interleaved / 2; cp++) { + const uint8x16_t q6_qs_cp_0_l = q6_ql_0[cp]; + const uint8x16_t q6_qs_cp_1_l = q6_ql_1[cp]; + const uint8x16_t q6_qs_cp_0_h = q6_qh_0[cp]; + const uint8x16_t q6_qs_cp_1_h = q6_qh_1[cp]; + + // Extract high 2 bits for upper nibble reconstruction + const uint8x16_t q6_qs_cp_0_hh = vandq_u8(q6_qs_cp_0_h, mask_hi); + const uint8x16_t q6_qs_cp_1_hh = vandq_u8(q6_qs_cp_1_h, mask_hi); + + // q6 = (low4 | high2<<4) - 32 + // Use vsliq_n_u8 to combine shift-left-insert in one instruction (like Q5_K) + const int8x16_t q6_l0 = vsubq_s8( + vreinterpretq_s8_u8(vsliq_n_u8(vandq_u8(q6_qs_cp_0_l, m4b), vandq_u8(q6_qs_cp_0_h, mask_lo), 4)), + m32s); + const int8x16_t q6_l1 = vsubq_s8( + vreinterpretq_s8_u8(vsliq_n_u8(vandq_u8(q6_qs_cp_1_l, m4b), vandq_u8(q6_qs_cp_1_h, mask_lo), 4)), + m32s); + const int8x16_t q6_h0 = vsubq_s8( + vreinterpretq_s8_u8(vorrq_u8(vshrq_n_u8(q6_qs_cp_0_l, 4), q6_qs_cp_0_hh)), m32s); + const int8x16_t q6_h1 = vsubq_s8( + vreinterpretq_s8_u8(vorrq_u8(vshrq_n_u8(q6_qs_cp_1_l, 4), q6_qs_cp_1_hh)), m32s); + + // row pair 0, base_l + int32x4_t sb_acc_0l = vmmlaq_s32(vdupq_n_s32(0), q6_l0, q8_l_01[0]); + sb_acc_0l = vmmlaq_s32(sb_acc_0l, q6_l1, q8_l_01[1]); + // row pair 0, base_h + int32x4_t sb_acc_0h = vmmlaq_s32(vdupq_n_s32(0), q6_h0, q8_h_01[0]); + sb_acc_0h = vmmlaq_s32(sb_acc_0h, q6_h1, q8_h_01[1]); + // row pair 1, base_l + int32x4_t sb_acc_1l = vmmlaq_s32(vdupq_n_s32(0), q6_l0, q8_l_23[0]); + sb_acc_1l = vmmlaq_s32(sb_acc_1l, q6_l1, q8_l_23[1]); + // row pair 1, base_h + int32x4_t sb_acc_1h = vmmlaq_s32(vdupq_n_s32(0), q6_h0, q8_h_23[0]); + sb_acc_1h = vmmlaq_s32(sb_acc_1h, q6_h1, q8_h_23[1]); + + const int scale_idx_l = half * 8 + sb; + const int scale_idx_h = half * 8 + sb + 4; + + const int32x4_t scale_vec_l = { + q6_scales[scale_idx_l * 8 + cp * 2 + 0], + q6_scales[scale_idx_l * 8 + cp * 2 + 0], + q6_scales[scale_idx_l * 8 + cp * 2 + 1], + q6_scales[scale_idx_l * 8 + cp * 2 + 1], + }; + const int32x4_t scale_vec_h = { + q6_scales[scale_idx_h * 8 + cp * 2 + 0], + q6_scales[scale_idx_h * 8 + cp * 2 + 0], + q6_scales[scale_idx_h * 8 + cp * 2 + 1], + q6_scales[scale_idx_h * 8 + cp * 2 + 1], + }; + + acc[cp] = vmlaq_s32(acc[cp], sb_acc_0l, scale_vec_l); + acc[cp] = vmlaq_s32(acc[cp], sb_acc_0h, scale_vec_h); + acc[cp + 4] = vmlaq_s32(acc[cp + 4], sb_acc_1l, scale_vec_l); + acc[cp + 4] = vmlaq_s32(acc[cp + 4], sb_acc_1h, scale_vec_h); + } + } + } // for half + + // Reorder i8mm output to match memory layout + for (int i = 0; i < 8; i++) { + int32x2x2_t aux = vzip_s32(vget_low_s32(acc[i]), vget_high_s32(acc[i])); + acc[i] = vcombine_s32(aux.val[0], aux.val[1]); + } + int32x4_t reorder_acc[8] = { + vcombine_s32(vget_low_s32(acc[0]), vget_low_s32(acc[1])), + vcombine_s32(vget_low_s32(acc[2]), vget_low_s32(acc[3])), + vcombine_s32(vget_high_s32(acc[0]), vget_high_s32(acc[1])), + vcombine_s32(vget_high_s32(acc[2]), vget_high_s32(acc[3])), + vcombine_s32(vget_low_s32(acc[4]), vget_low_s32(acc[5])), + vcombine_s32(vget_low_s32(acc[6]), vget_low_s32(acc[7])), + vcombine_s32(vget_high_s32(acc[4]), vget_high_s32(acc[5])), + vcombine_s32(vget_high_s32(acc[6]), vget_high_s32(acc[7])), + }; + + // Apply superblock scale (no mins for q6_K) + for (int i = 0; i < q8_k_blocklen; i++) { + for (int j = 0; j < 2; j++) { + float32x4_t q8_d = vdupq_n_f32(q8_ptr[b].d[i]); + float32x4_t q6_d = vcvt_f32_f16(vld1_f16((const __fp16 *) (q6_ptr[b].d + j * 4))); + const float32x4_t scale = vmulq_f32(q6_d, q8_d); + + acc_f32[2 * i + j] = + vmlaq_f32(acc_f32[2 * i + j], vcvtq_f32_s32(reorder_acc[2 * i + j]), scale); + } + } + } // for b + + // Store results + for (int i = 0; i < q8_k_blocklen; i++) { + int row = y * q8_k_blocklen + i; + for (int j = 0; j < 2; j++) { + int col = x * ncols_interleaved + j * 4; + int offset = row * bs + col; + vst1q_f32(s + offset, acc_f32[2 * i + j]); + } + } + } // for x + } // for y + return; +#endif // defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8) + ggml_gemm_q6_K_8x8_q8_K_generic(n, s, bs, vx, vy, nr, nc); +} + void ggml_gemm_q8_0_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, diff --git a/ggml/src/ggml-cpu/repack.cpp b/ggml/src/ggml-cpu/repack.cpp index 19e021e59a..24e8ab4618 100644 --- a/ggml/src/ggml-cpu/repack.cpp +++ b/ggml/src/ggml-cpu/repack.cpp @@ -703,6 +703,97 @@ void ggml_gemv_q5_K_8x8_q8_K_generic(int n, } } + +void ggml_gemv_q6_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { + constexpr int qk = QK_K; + const int nb = n / qk; + const int ncols_interleaved = 8; + const int blocklen = 8; + + assert(n % qk == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(bs); + UNUSED(nr); + + float sumf[8]; + + const block_q8_K * a_ptr = (const block_q8_K *) vy; + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q6_Kx8 * b_ptr = (const block_q6_Kx8 *) vx + (x * nb); + + for (int j = 0; j < ncols_interleaved; j++) { + sumf[j] = 0.0f; + } + + for (int l = 0; l < nb; l++) { + + + for (int k = 0; k < 16; k++) { + // k = 0.. 7 weights 0-63 low, 64-127 high + // k = 8..15 weights 128-191 low, 192-255 high + const int base_l = (k / 8) * 128 + (k % 8) * 8; + const int base_h = base_l + 64; + + const int scale_idx_l = base_l / 16; + const int scale_idx_h = base_h / 16; + + // Bit shift cycles 0,2,4,6 for each 32-value group within a 128-value half + const int qh_shift_l = ((base_l % 128) / 32) * 2; + const int qh_shift_h = ((base_h % 128) / 32) * 2; + + // qh_half: offset to the correct 32-byte half (0 or 32) + const int qh_half_l = (base_l / 128) * 32; + const int qh_half_h = (base_h / 128) * 32; + + for (int j = 0; j < ncols_interleaved; j++) { + // Interleaved scales + const int8_t scale_l = b_ptr[l].scales[scale_idx_l * 8 + j]; + const int8_t scale_h = b_ptr[l].scales[scale_idx_h * 8 + j]; + + int sumi_l = 0; + int sumi_h = 0; + + for (int i = 0; i < blocklen; i++) { + const int ql_pos = k * 64 + j * 8 + i; + const int l_4 = b_ptr[l].ql[ql_pos] & 0xF; + const int hi_4 = (b_ptr[l].ql[ql_pos] >> 4) & 0xF; + + // qh indexing with 8-byte interleaving (like q5_K) + const int qh_byte_l = qh_half_l + ((base_l + i) % 32); + const int qh_chunk_l = qh_byte_l / 8; + const int qh_pos_l = qh_byte_l % 8; + const int qh_offset_l = qh_chunk_l * 64 + j * 8 + qh_pos_l; + const int hi_2_l = (b_ptr[l].qh[qh_offset_l] >> qh_shift_l) & 0x3; + + const int qh_byte_h = qh_half_h + ((base_h + i) % 32); + const int qh_chunk_h = qh_byte_h / 8; + const int qh_pos_h = qh_byte_h % 8; + const int qh_offset_h = qh_chunk_h * 64 + j * 8 + qh_pos_h; + const int hi_2_h = (b_ptr[l].qh[qh_offset_h] >> qh_shift_h) & 0x3; + + const int q_l = ((hi_2_l << 4) | l_4) - 32; + const int q_h = ((hi_2_h << 4) | hi_4) - 32; + + const int8_t a_l = a_ptr[l].qs[base_l + i]; + const int8_t a_h = a_ptr[l].qs[base_h + i]; + + sumi_l += q_l * a_l; + sumi_h += q_h * a_h; + } + + sumf[j] += + (sumi_l * scale_l + sumi_h * scale_h) * GGML_CPU_FP16_TO_FP32(b_ptr[l].d[j]) * a_ptr[l].d; + } + } + } + + for (int j = 0; j < ncols_interleaved; j++) { + s[x * ncols_interleaved + j] = sumf[j]; + } + } +} + void ggml_gemv_iq4_nl_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { const int qk = QK8_0; const int nb = n / qk; @@ -1133,15 +1224,7 @@ void ggml_gemm_q4_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, assert (nr % 4 == 0); assert (nc % ncols_interleaved == 0); - UNUSED(s); UNUSED(bs); - UNUSED(vx); - UNUSED(vy); - UNUSED(nr); - UNUSED(nc); - UNUSED(nb); - UNUSED(ncols_interleaved); - UNUSED(blocklen); float sumf[4][8]; float sum_minf[4][8]; @@ -1402,6 +1485,111 @@ void ggml_gemm_q5_K_8x8_q8_K_generic(int n, } } +void ggml_gemm_q6_K_8x8_q8_K_generic(int n, + float * GGML_RESTRICT s, + size_t bs, + const void * GGML_RESTRICT vx, + const void * GGML_RESTRICT vy, + int nr, + int nc) { + const int qk = QK_K; + const int nb = n / qk; + const int ncols_interleaved = 8; + const int blocklen = 8; + + assert(n % qk == 0); + assert(nr % 4 == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(bs); + + float sumf[4][8]; + + for (int y = 0; y < nr / 4; y++) { + const block_q8_Kx4 * a_ptr = (const block_q8_Kx4 *) vy + (y * nb); + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q6_Kx8 * b_ptr = (const block_q6_Kx8 *) vx + (x * nb); + + for (int m = 0; m < 4; m++) { + for (int j = 0; j < ncols_interleaved; j++) { + sumf[m][j] = 0.0f; + } + } + + for (int l = 0; l < nb; l++) { + for (int k = 0; k < 16; k++) { + // k = 0.. 7 weights 0-63 low, 64-127 high + // k = 8..15 weights 128-191 low, 192-255 high + const int base_l = (k / 8) * 128 + (k % 8) * 8; + const int base_h = base_l + 64; + + const int scale_idx_l = base_l / 16; + const int scale_idx_h = base_h / 16; + + // Bit shift cycles 0,2,4,6 for each 32-value group within a 128-value half + const int qh_shift_l = ((base_l % 128) / 32) * 2; + const int qh_shift_h = ((base_h % 128) / 32) * 2; + + // qh_half: offset to the correct 32-byte half (0 or 32) + const int qh_half_l = (base_l / 128) * 32; + const int qh_half_h = (base_h / 128) * 32; + + // Activation base indices for q8_Kx4 interleaved format + // Layout: 128-value halves (k/8), then 8-value sub-blocks (k%8) with stride 32 + const int q8_base = (k / 8) * 512 + (k % 8) * 32; + + for (int m = 0; m < 4; m++) { + for (int j = 0; j < ncols_interleaved; j++) { + // Interleaved scales + const int8_t scale_l = b_ptr[l].scales[scale_idx_l * 8 + j]; + const int8_t scale_h = b_ptr[l].scales[scale_idx_h * 8 + j]; + + int sumi_l = 0; + int sumi_h = 0; + + for (int i = 0; i < blocklen; i++) { + const int ql_pos = k * 64 + j * 8 + i; + const int l_4 = b_ptr[l].ql[ql_pos] & 0xF; + const int hi_4 = (b_ptr[l].ql[ql_pos] >> 4) & 0xF; + + const int qh_idx_l = qh_half_l + ((base_l + i) % 32); + const int qh_chunk_l = qh_idx_l / 8; + const int qh_pos_l = qh_idx_l % 8; + const int qh_offset_l = qh_chunk_l * 64 + j * 8 + qh_pos_l; + const int hi_2_l = (b_ptr[l].qh[qh_offset_l] >> qh_shift_l) & 0x3; + + const int qh_idx_h = qh_half_h + ((base_h + i) % 32); + const int qh_chunk_h = qh_idx_h / 8; + const int qh_pos_h = qh_idx_h % 8; + const int qh_offset_h = qh_chunk_h * 64 + j * 8 + qh_pos_h; + const int hi_2_h = (b_ptr[l].qh[qh_offset_h] >> qh_shift_h) & 0x3; + + const int q_l = ((hi_2_l << 4) | l_4) - 32; + const int q_h = ((hi_2_h << 4) | hi_4) - 32; + + const int8_t q8_l = a_ptr[l].qs[q8_base + m * 8 + i]; + const int8_t q8_h = a_ptr[l].qs[q8_base + m * 8 + i + 256]; + + sumi_l += q_l * q8_l; + sumi_h += q_h * q8_h; + } + + sumf[m][j] += (sumi_l * scale_l + sumi_h * scale_h) * GGML_CPU_FP16_TO_FP32(b_ptr[l].d[j]) * + a_ptr[l].d[m]; + } + } + } + } + + for (int m = 0; m < 4; m++) { + for (int j = 0; j < ncols_interleaved; j++) { + s[(y * 4 + m) * bs + x * ncols_interleaved + j] = sumf[m][j]; + } + } + } + } +} + void ggml_gemm_iq4_nl_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { const int qk = QK8_0; const int nb = n / qk; @@ -1801,8 +1989,7 @@ static block_q2_Kx8 make_block_q2_Kx8(block_q2_K * in, unsigned int blck_size_in // Every 16 byte is packed such that it contains scales and mins for corresponding sub blocks from Q2_K structure // For eg - First 16 bytes contains 16 scales and 16 mins - each of first and second sub blocks from different Q2_K structures - for(int i = 0; i < 128; i++){ - + for (int i = 0; i < 128; i++) { // Index for selecting which q2k super block int src1 = (i % 16) / 2; // Index for selecting scale @@ -1902,6 +2089,52 @@ static block_q5_Kx8 make_block_q5_Kx8(block_q5_K * in, unsigned int blck_size_in return out; } +static block_q6_Kx8 make_block_q6_Kx8(block_q6_K * in, unsigned int blck_size_interleave) { + block_q6_Kx8 out; + constexpr int n_blocks = 8; // Kx8 + for (int i = 0; i < n_blocks; i++) { + out.d[i] = in[i].d; + } + + const int end_ls = QK_K * 4 / blck_size_interleave; + // Interleave Q6_K quants by taking 8 bytes at a time + for (int i = 0; i < end_ls; ++i) { + int src_id = i % n_blocks; + int src_offset = (i / n_blocks) * blck_size_interleave; + int dst_offset = i * blck_size_interleave; + + uint64_t elem_ls; + memcpy(&elem_ls, &in[src_id].ql[src_offset], sizeof(uint64_t)); + memcpy(&out.ql[dst_offset], &elem_ls, sizeof(uint64_t)); + } + + // Interleave high bits using same 8-byte pattern as low bits + const int end_hs = end_ls / 2; + for (int i = 0; i < end_hs; ++i) { + int src_id = i % n_blocks; + int src_offset = (i / n_blocks) * blck_size_interleave; + int dst_offset = i * blck_size_interleave; + + uint64_t elem_hs; + memcpy(&elem_hs, &in[src_id].qh[src_offset], sizeof(uint64_t)); + memcpy(&out.qh[dst_offset], &elem_hs, sizeof(uint64_t)); + } + + // The below logic is designed so as to unpack and rearrange scales in Q6_K + // The output Q6_Kx8 structure interleaves the 8 bit scales in the same fashion as the quants + // Q6_K structure has an 8-bit scale per 16 elements -> 16 scales + // scales: [0 bl0 0 bl1 ... 0 bl7][1 bl0 ... 1 bl7] ... [15 bl0 ... 15 bl7] (bl = block) + constexpr int n_scales = QK_K / 16; + + for (int i = 0; i < n_blocks; i++) { + for (int j = 0; j < n_scales; j++) { + out.scales[j * n_blocks + i] = in[i].scales[j]; + } + } + + return out; +} + static int repack_q4_0_to_q4_0_4_bl(struct ggml_tensor * t, int interleave_block, const void * GGML_RESTRICT data, size_t data_size) { GGML_ASSERT(t->type == GGML_TYPE_Q4_0); GGML_ASSERT(interleave_block == 4 || interleave_block == 8); @@ -1983,7 +2216,7 @@ static int repack_q2_K_to_q2_K_8_bl(struct ggml_tensor * t, int interleave_block for (int b = 0; b < nrow; b += nrows_interleaved) { for (int64_t x = 0; x < nblocks; x++) { - for (int i = 0; i < nrows_interleaved; i++ ) { + for (int i = 0; i < nrows_interleaved; i++) { dst_tmp[i] = src[x + i * nblocks]; } *dst++ = make_block_q2_Kx8(dst_tmp, interleave_block); @@ -2027,6 +2260,35 @@ static int repack_q5_K_to_q5_K_8_bl(struct ggml_tensor * t, return 0; } +static int repack_q6_K_to_q6_K_8_bl(struct ggml_tensor * t, int interleave_block, const void * GGML_RESTRICT data, size_t data_size) { + GGML_ASSERT(t->type == GGML_TYPE_Q6_K); + GGML_ASSERT(interleave_block == 8); + constexpr int nrows_interleaved = 8; + + block_q6_Kx8 * dst = (block_q6_Kx8 *)t->data; + const block_q6_K * src = (const block_q6_K *) data; + block_q6_K dst_tmp[8]; + int nrow = ggml_nrows(t); + int nblocks = t->ne[0] / QK_K; + + GGML_ASSERT(data_size == nrow * nblocks * sizeof(block_q6_K)); + + if (t->ne[1] % nrows_interleaved != 0 || t->ne[0] % 8 != 0) { + return -1; + } + + for (int b = 0; b < nrow; b += nrows_interleaved) { + for (int64_t x = 0; x < nblocks; x++) { + for (int i = 0; i < nrows_interleaved; i++) { + dst_tmp[i] = src[x + i * nblocks]; + } + *dst++ = make_block_q6_Kx8(dst_tmp, interleave_block); + } + src += nrows_interleaved * nblocks; + } + return 0; +} + static int repack_q4_0_to_q4_0_8_bl(struct ggml_tensor * t, int interleave_block, const void * GGML_RESTRICT data, size_t data_size) { GGML_ASSERT(t->type == GGML_TYPE_Q4_0); GGML_ASSERT(interleave_block == 8); @@ -2249,6 +2511,10 @@ template <> int repack(struct ggml_tensor * t, const void * da return repack_q5_K_to_q5_K_8_bl(t, 8, data, data_size); } +template <> int repack(struct ggml_tensor * t, const void * data, size_t data_size) { + return repack_q6_K_to_q6_K_8_bl(t, 8, data, data_size); +} + template <> int repack(struct ggml_tensor * t, const void * data, size_t data_size) { return repack_iq4_nl_to_iq4_nl_4_bl(t, 4, data, data_size); } @@ -2286,7 +2552,14 @@ template <> void gemv(int n, float * s, size_t ggml_gemv_q4_0_8x8_q8_0(n, s, bs, vx, vy, nr, nc); } -template <> void gemv(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { +template <> +void gemv(int n, + float * s, + size_t bs, + const void * vx, + const void * vy, + int nr, + int nc) { ggml_gemv_q2_K_8x8_q8_K(n, s, bs, vx, vy, nr, nc); } @@ -2302,6 +2575,10 @@ template <> void gemv(int n, float * s, size_t ggml_gemv_q5_K_8x8_q8_K(n, s, bs, vx, vy, nr, nc); } +template <> void gemv(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { + ggml_gemv_q6_K_8x8_q8_K(n, s, bs, vx, vy, nr, nc); +} + template <> void gemv(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { ggml_gemv_iq4_nl_4x4_q8_0(n, s, bs, vx, vy, nr, nc); } @@ -2330,7 +2607,14 @@ template <> void gemm(int n, float * s, size_t ggml_gemm_q4_0_4x8_q8_0(n, s, bs, vx, vy, nr, nc); } -template <> void gemm(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { +template <> +void gemm(int n, + float * s, + size_t bs, + const void * vx, + const void * vy, + int nr, + int nc) { ggml_gemm_q4_0_8x8_q8_0(n, s, bs, vx, vy, nr, nc); } @@ -2350,6 +2634,10 @@ template <> void gemm(int n, float * s, size_t ggml_gemm_q5_K_8x8_q8_K(n, s, bs, vx, vy, nr, nc); } +template <> void gemm(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { + ggml_gemm_q6_K_8x8_q8_K(n, s, bs, vx, vy, nr, nc); +} + template <> void gemm(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { ggml_gemm_iq4_nl_4x4_q8_0(n, s, bs, vx, vy, nr, nc); } @@ -2714,20 +3002,19 @@ template (ne00, - (float *)((char *) dst->data + (i1 * nb1 + i2 * nb2)) + src0_cur_start, ne01, - src0_cur + src0_cur_start * nb01, - src1_col, 1, src0_cur_end - src0_cur_start); + gemv( + ne00, (float *) ((char *) dst->data + (i1 * nb1 + i2 * nb2)) + src0_cur_start, ne01, + src0_cur + src0_cur_start * nb01, src1_col, 1, src0_cur_end - src0_cur_start); } } #undef MMID_MATRIX_ROW @@ -2743,7 +3030,6 @@ template q4_0_4x4_q8_0; static const ggml::cpu::repack::tensor_traits q4_0_4x8_q8_0; @@ -2756,6 +3042,9 @@ static const ggml::cpu::tensor_traits * ggml_repack_get_optimal_repack_type(cons // instance for Q5_K static const ggml::cpu::repack::tensor_traits q5_K_8x8_q8_K; + // instance for Q6_K + static const ggml::cpu::repack::tensor_traits q6_K_8x8_q8_K; + // instance for Q2 static const ggml::cpu::repack::tensor_traits q2_K_8x8_q8_K; @@ -2812,6 +3101,12 @@ static const ggml::cpu::tensor_traits * ggml_repack_get_optimal_repack_type(cons return &q5_K_8x8_q8_K; } } + } else if (cur->type == GGML_TYPE_Q6_K) { + if (ggml_cpu_has_neon() && ggml_cpu_has_matmul_int8()) { + if (cur->ne[1] % 8 == 0) { + return &q6_K_8x8_q8_K; + } + } } else if (cur->type == GGML_TYPE_IQ4_NL) { if (ggml_cpu_has_avx2()) { if (cur->ne[1] % 8 == 0) { diff --git a/ggml/src/ggml-cpu/repack.h b/ggml/src/ggml-cpu/repack.h index da87103157..855320eeeb 100644 --- a/ggml/src/ggml-cpu/repack.h +++ b/ggml/src/ggml-cpu/repack.h @@ -65,6 +65,16 @@ struct block_q5_Kx8 { static_assert(sizeof(block_q5_Kx8) == sizeof(ggml_half) * 16 + K_SCALE_SIZE * 8 + QK_K * 5, "wrong q5_K block size/padding"); +struct block_q6_Kx8 { + ggml_half d[8]; + int8_t scales[QK_K / 16 * 8]; + uint8_t ql[QK_K / 2 * 8]; // low bits of 6-bit quants (groups of 2) + uint8_t qh[QK_K / 4 * 8]; // high bits of 6-bit quants (groups of 4) +}; + +static_assert(sizeof(block_q6_Kx8) == sizeof(ggml_half) * 8 + QK_K / 16 * 8 + 3 * QK_K / 4 * 8, + "wrong q6_K block size/padding"); + struct block_q8_Kx4 { float d[4]; // delta int8_t qs[QK_K * 4]; // quants @@ -95,13 +105,14 @@ void ggml_quantize_mat_q8_0_4x4(const float * GGML_RESTRICT x, void * GGML_RESTR void ggml_quantize_mat_q8_0_4x8(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k); void ggml_quantize_mat_q8_K_4x4(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k); void ggml_quantize_mat_q8_K_4x8(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k); -void ggml_gemv_q2_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q4_0_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q4_0_4x8_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q4_0_8x8_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); +void ggml_gemv_q2_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q4_K_8x4_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q4_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q5_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); +void ggml_gemv_q6_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_iq4_nl_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_iq4_nl_8x8_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q4_0_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); @@ -111,6 +122,7 @@ void ggml_gemm_q2_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const vo void ggml_gemm_q4_K_8x4_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q4_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q5_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); +void ggml_gemm_q6_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_iq4_nl_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_iq4_nl_8x8_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q8_0_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); @@ -130,6 +142,7 @@ void ggml_gemv_q2_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, void ggml_gemv_q4_K_8x4_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q4_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q5_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); +void ggml_gemv_q6_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_iq4_nl_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_iq4_nl_8x8_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q4_0_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); @@ -139,6 +152,7 @@ void ggml_gemm_q2_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, void ggml_gemm_q4_K_8x4_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q4_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q5_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); +void ggml_gemm_q6_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_iq4_nl_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_iq4_nl_8x8_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q8_0_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); From c0204a0893a9e9408c4025e1648832d06fa1c564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Tue, 27 Jan 2026 11:54:25 +0100 Subject: [PATCH 030/206] ci : revert slim runner for winget (#19129) --- .github/workflows/winget.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/winget.yml b/.github/workflows/winget.yml index e3981f30b9..7506091647 100644 --- a/.github/workflows/winget.yml +++ b/.github/workflows/winget.yml @@ -8,7 +8,7 @@ on: jobs: update: name: Update Winget Package - runs-on: ubuntu-slim + runs-on: ubuntu-latest if: github.repository_owner == 'ggml-org' steps: From a5bb8ba4c50257437630c136210396810741bbf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Tue, 27 Jan 2026 14:28:56 +0100 Subject: [PATCH 031/206] CUDA: tune GLM 4.7 Flash FA kernel selection logic (#19097) --- ggml/src/ggml-cuda/fattn.cu | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index 2f5dbd13a3..b061fdf9a2 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -148,6 +148,10 @@ static void ggml_cuda_flash_attn_ext_mma_f16(ggml_backend_cuda_context & ctx, gg const int gqa_ratio = Q->ne[2] / K->ne[2]; if (gqa_ratio == 20) { // GLM 4.7 Flash if (cc >= GGML_CUDA_CC_BLACKWELL) { + if (Q->ne[1] <= 4 && K->ne[1] >= 65536) { + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 16>(ctx, dst); + break; + } ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 4>(ctx, dst); break; } @@ -161,6 +165,10 @@ static void ggml_cuda_flash_attn_ext_mma_f16(ggml_backend_cuda_context & ctx, gg } if (cc >= GGML_CUDA_CC_TURING) { if (Q->ne[1] <= 4) { + if (K->ne[1] <= 16384) { + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 16>(ctx, dst); + break; + } ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 32>(ctx, dst); break; } From 68ac3acb435450d5ba1e62748e17671815313dc3 Mon Sep 17 00:00:00 2001 From: David Lima Date: Tue, 27 Jan 2026 10:48:51 -0300 Subject: [PATCH 032/206] docs: Remove duplicated word on CUDA build section (#19136) --- docs/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/build.md b/docs/build.md index 4983cfcfea..e088c519a7 100644 --- a/docs/build.md +++ b/docs/build.md @@ -144,7 +144,7 @@ We also have a [guide](./backend/CUDA-FEDORA.md) for setting up CUDA toolkit in - ***Necessary*** for users of [Atomic Desktops for Fedora](https://fedoraproject.org/atomic-desktops/); such as: [Silverblue](https://fedoraproject.org/atomic-desktops/silverblue/) and [Kinoite](https://fedoraproject.org/atomic-desktops/kinoite/). - (there are no supported CUDA packages for these systems) - ***Necessary*** for users that have a host that is not a: [Supported Nvidia CUDA Release Platform](https://developer.nvidia.com/cuda-downloads). - - (for example, you may have [Fedora 42 Beta](https://fedoramagazine.org/announcing-fedora-linux-42-beta/) as your your host operating system) + - (for example, you may have [Fedora 42 Beta](https://fedoramagazine.org/announcing-fedora-linux-42-beta/) as your host operating system) - ***Convenient*** For those running [Fedora Workstation](https://fedoraproject.org/workstation/) or [Fedora KDE Plasma Desktop](https://fedoraproject.org/spins/kde), and want to keep their host system clean. - *Optionally* toolbox packages are available: [Arch Linux](https://archlinux.org/), [Red Hat Enterprise Linux >= 8.5](https://www.redhat.com/en/technologies/linux-platforms/enterprise-linux), or [Ubuntu](https://ubuntu.com/download) From 2b4cbd2834e427024bc7f935a1f232aecac6679b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Tue, 27 Jan 2026 19:50:42 +0100 Subject: [PATCH 033/206] jinja : implement mixed type object keys (#18955) * implement mixed type object keys * add tests * refactor * minor fixes * massive refactor * add more tests * forgotten tuples * fix array/object is_hashable * correct (albeit broken) jinja responses verified with transformers * improved hashing and equality * refactor hash function * more exhausive test case * clean up * cont * cont (2) * missing cstring --------- Co-authored-by: Xuan Son Nguyen --- common/jinja/runtime.cpp | 55 ++-- common/jinja/runtime.h | 26 +- common/jinja/string.cpp | 6 + common/jinja/string.h | 3 + common/jinja/utils.h | 100 ++++++++ common/jinja/value.cpp | 86 ++++--- common/jinja/value.h | 473 ++++++++++++++++++++++++++++------- tests/test-chat-template.cpp | 4 +- tests/test-jinja.cpp | 217 ++++++++++++++++ 9 files changed, 802 insertions(+), 168 deletions(-) diff --git a/common/jinja/runtime.cpp b/common/jinja/runtime.cpp index e3e4ebf1ec..f234d9284f 100644 --- a/common/jinja/runtime.cpp +++ b/common/jinja/runtime.cpp @@ -44,6 +44,12 @@ static std::string get_line_col(const std::string & source, size_t pos) { return "line " + std::to_string(line) + ", column " + std::to_string(col); } +static void ensure_key_type_allowed(const value & val) { + if (!val->is_hashable()) { + throw std::runtime_error("Type: " + val->type() + " is not allowed as object key"); + } +} + // execute with error handling value statement::execute(context & ctx) { try { @@ -95,20 +101,10 @@ value identifier::execute_impl(context & ctx) { value object_literal::execute_impl(context & ctx) { auto obj = mk_val(); for (const auto & pair : val) { - value key_val = pair.first->execute(ctx); - if (!is_val(key_val) && !is_val(key_val)) { - throw std::runtime_error("Object literal: keys must be string or int values, got " + key_val->type()); - } - std::string key = key_val->as_string().str(); + value key = pair.first->execute(ctx); value val = pair.second->execute(ctx); - JJ_DEBUG("Object literal: setting key '%s' with value type %s", key.c_str(), val->type().c_str()); + JJ_DEBUG("Object literal: setting key '%s' with value type %s", key->as_string().str().c_str(), val->type().c_str()); obj->insert(key, val); - - if (is_val(key_val)) { - obj->val_obj.is_key_numeric = true; - } else if (obj->val_obj.is_key_numeric) { - throw std::runtime_error("Object literal: cannot mix numeric and non-numeric keys"); - } } return obj; } @@ -127,9 +123,9 @@ value binary_expression::execute_impl(context & ctx) { value right_val = right->execute(ctx); JJ_DEBUG("Executing binary expression %s '%s' %s", left_val->type().c_str(), op.value.c_str(), right_val->type().c_str()); if (op.value == "==") { - return mk_val(value_compare(left_val, right_val, value_compare_op::eq)); + return mk_val(*left_val == *right_val); } else if (op.value == "!=") { - return mk_val(!value_compare(left_val, right_val, value_compare_op::eq)); + return mk_val(!(*left_val == *right_val)); } auto workaround_concat_null_with_str = [&](value & res) -> bool { @@ -230,7 +226,7 @@ value binary_expression::execute_impl(context & ctx) { auto & arr = right_val->as_array(); bool member = false; for (const auto & item : arr) { - if (value_compare(left_val, item, value_compare_op::eq)) { + if (*left_val == *item) { member = true; break; } @@ -265,10 +261,9 @@ value binary_expression::execute_impl(context & ctx) { } } - // String in object - if (is_val(left_val) && is_val(right_val)) { - auto key = left_val->as_string().str(); - bool has_key = right_val->has_key(key); + // Value key in object + if (is_val(right_val)) { + bool has_key = right_val->has_key(left_val); if (op.value == "in") { return mk_val(has_key); } else if (op.value == "not in") { @@ -465,14 +460,8 @@ value for_statement::execute_impl(context & ctx) { JJ_DEBUG("%s", "For loop over object keys"); auto & obj = iterable_val->as_ordered_object(); for (auto & p : obj) { - auto tuple = mk_val(); - if (iterable_val->val_obj.is_key_numeric) { - tuple->push_back(mk_val(std::stoll(p.first))); - } else { - tuple->push_back(mk_val(p.first)); - } - tuple->push_back(p.second); - items.push_back(tuple); + auto tuple = mk_val(p); + items.push_back(std::move(tuple)); } if (ctx.is_get_stats) { iterable_val->stats.used = true; @@ -602,11 +591,13 @@ value set_statement::execute_impl(context & ctx) { auto rhs = val ? val->execute(ctx) : exec_statements(body, ctx); if (is_stmt(assignee)) { + // case: {% set my_var = value %} auto var_name = cast_stmt(assignee)->val; JJ_DEBUG("Setting global variable '%s' with value type %s", var_name.c_str(), rhs->type().c_str()); ctx.set_val(var_name, rhs); } else if (is_stmt(assignee)) { + // case: {% set a, b = value %} auto tuple = cast_stmt(assignee); if (!is_val(rhs)) { throw std::runtime_error("Cannot unpack non-iterable type in set: " + rhs->type()); @@ -625,6 +616,7 @@ value set_statement::execute_impl(context & ctx) { } } else if (is_stmt(assignee)) { + // case: {% set ns.my_var = value %} auto member = cast_stmt(assignee); if (member->computed) { throw std::runtime_error("Cannot assign to computed member"); @@ -767,22 +759,22 @@ value member_expression::execute_impl(context & ctx) { } JJ_DEBUG("Member expression on object type %s, property type %s", object->type().c_str(), property->type().c_str()); + ensure_key_type_allowed(property); value val = mk_val("object_property"); if (is_val(object)) { JJ_DEBUG("%s", "Accessing property on undefined object, returning undefined"); return val; + } else if (is_val(object)) { - if (!is_val(property)) { - throw std::runtime_error("Cannot access object with non-string: got " + property->type()); - } auto key = property->as_string().str(); - val = object->at(key, val); + val = object->at(property, val); if (is_val(val)) { val = try_builtin_func(ctx, key, object, true); } JJ_DEBUG("Accessed property '%s' value, got type: %s", key.c_str(), val->type().c_str()); + } else if (is_val(object) || is_val(object)) { if (is_val(property)) { int64_t index = property->as_int(); @@ -806,6 +798,7 @@ value member_expression::execute_impl(context & ctx) { auto key = property->as_string().str(); JJ_DEBUG("Accessing %s built-in '%s'", is_val(object) ? "array" : "string", key.c_str()); val = try_builtin_func(ctx, key, object, true); + } else { throw std::runtime_error("Cannot access property with non-string/non-number: got " + property->type()); } diff --git a/common/jinja/runtime.h b/common/jinja/runtime.h index dc7f4e471c..17a6dff5aa 100644 --- a/common/jinja/runtime.h +++ b/common/jinja/runtime.h @@ -79,18 +79,18 @@ struct context { } value get_val(const std::string & name) { - auto it = env->val_obj.unordered.find(name); - if (it != env->val_obj.unordered.end()) { - return it->second; - } else { - return mk_val(name); - } + value default_val = mk_val(name); + return env->at(name, default_val); } void set_val(const std::string & name, const value & val) { env->insert(name, val); } + void set_val(const value & name, const value & val) { + env->insert(name, val); + } + void print_vars() const { printf("Context Variables:\n%s\n", value_to_json(env, 2).c_str()); } @@ -344,9 +344,19 @@ struct array_literal : public expression { } }; -struct tuple_literal : public array_literal { - explicit tuple_literal(statements && val) : array_literal(std::move(val)) {} +struct tuple_literal : public expression { + statements val; + explicit tuple_literal(statements && val) : val(std::move(val)) { + for (const auto& item : this->val) chk_type(item); + } std::string type() const override { return "TupleLiteral"; } + value execute_impl(context & ctx) override { + auto arr = mk_val(); + for (const auto & item_stmt : val) { + arr->push_back(item_stmt->execute(ctx)); + } + return mk_val(std::move(arr->as_array())); + } }; struct object_literal : public expression { diff --git a/common/jinja/string.cpp b/common/jinja/string.cpp index 21ebde39e3..8087e15b35 100644 --- a/common/jinja/string.cpp +++ b/common/jinja/string.cpp @@ -61,6 +61,12 @@ size_t string::length() const { return len; } +void string::hash_update(hasher & hash) const noexcept { + for (const auto & part : parts) { + hash.update(part.val.data(), part.val.length()); + } +} + bool string::all_parts_are_input() const { for (const auto & part : parts) { if (!part.is_input) { diff --git a/common/jinja/string.h b/common/jinja/string.h index 78457f9e41..c4963000ad 100644 --- a/common/jinja/string.h +++ b/common/jinja/string.h @@ -4,6 +4,8 @@ #include #include +#include "utils.h" + namespace jinja { // allow differentiate between user input strings and template strings @@ -37,6 +39,7 @@ struct string { std::string str() const; size_t length() const; + void hash_update(hasher & hash) const noexcept; bool all_parts_are_input() const; bool is_uppercase() const; bool is_lowercase() const; diff --git a/common/jinja/utils.h b/common/jinja/utils.h index 1e9f2a12a1..de6947fc28 100644 --- a/common/jinja/utils.h +++ b/common/jinja/utils.h @@ -3,6 +3,8 @@ #include #include #include +#include +#include namespace jinja { @@ -46,4 +48,102 @@ static std::string fmt_error_with_source(const std::string & tag, const std::str return oss.str(); } +// Note: this is a simple hasher, not cryptographically secure, just for hash table usage +struct hasher { + static constexpr auto size_t_digits = sizeof(size_t) * 8; + static constexpr size_t prime = size_t_digits == 64 ? 0x100000001b3 : 0x01000193; + static constexpr size_t seed = size_t_digits == 64 ? 0xcbf29ce484222325 : 0x811c9dc5; + static constexpr auto block_size = sizeof(size_t); // in bytes; allowing the compiler to vectorize the computation + + static_assert(size_t_digits == 64 || size_t_digits == 32); + static_assert(block_size == 8 || block_size == 4); + + uint8_t buffer[block_size]; + size_t idx = 0; // current index in buffer + size_t state = seed; + + hasher() = default; + hasher(const std::type_info & type_inf) noexcept { + const auto type_hash = type_inf.hash_code(); + update(&type_hash, sizeof(type_hash)); + } + + // Properties: + // - update is not associative: update(a).update(b) != update(b).update(a) + // - update(a ~ b) == update(a).update(b) with ~ as concatenation operator --> useful for streaming + // - update("", 0) --> state unchanged with empty input + hasher& update(void const * bytes, size_t len) noexcept { + const uint8_t * c = static_cast(bytes); + if (len == 0) { + return *this; + } + size_t processed = 0; + + // first, fill the existing buffer if it's partial + if (idx > 0) { + size_t to_fill = block_size - idx; + if (to_fill > len) { + to_fill = len; + } + std::memcpy(buffer + idx, c, to_fill); + idx += to_fill; + processed += to_fill; + if (idx == block_size) { + update_block(buffer); + idx = 0; + } + } + + // process full blocks from the remaining input + for (; processed + block_size <= len; processed += block_size) { + update_block(c + processed); + } + + // buffer any remaining bytes + size_t remaining = len - processed; + if (remaining > 0) { + std::memcpy(buffer, c + processed, remaining); + idx = remaining; + } + return *this; + } + + // convenience function for testing only + hasher& update(const std::string & s) noexcept { + return update(s.data(), s.size()); + } + + // finalize and get the hash value + // note: after calling digest, the hasher state is modified, do not call update() again + size_t digest() noexcept { + // if there are remaining bytes in buffer, fill the rest with zeros and process + if (idx > 0) { + for (size_t i = idx; i < block_size; ++i) { + buffer[i] = 0; + } + update_block(buffer); + idx = 0; + } + + return state; + } + +private: + // IMPORTANT: block must have at least block_size bytes + void update_block(const uint8_t * block) noexcept { + size_t blk = static_cast(block[0]) + | (static_cast(block[1]) << 8) + | (static_cast(block[2]) << 16) + | (static_cast(block[3]) << 24); + if constexpr (block_size == 8) { + blk = blk | (static_cast(block[4]) << 32) + | (static_cast(block[5]) << 40) + | (static_cast(block[6]) << 48) + | (static_cast(block[7]) << 56); + } + state ^= blk; + state *= prime; + } +}; + } // namespace jinja diff --git a/common/jinja/value.cpp b/common/jinja/value.cpp index d2ed824269..2d77068143 100644 --- a/common/jinja/value.cpp +++ b/common/jinja/value.cpp @@ -163,7 +163,7 @@ static value selectattr(const func_args & args) { args.ensure_vals(true, true, false, false); auto arr = args.get_pos(0)->as_array(); - auto attr_name = args.get_pos(1)->as_string().str(); + auto attribute = args.get_pos(1); auto out = mk_val(); value val_default = mk_val(); @@ -173,7 +173,7 @@ static value selectattr(const func_args & args) { if (!is_val(item)) { throw raised_exception("selectattr: item is not an object"); } - value attr_val = item->at(attr_name, val_default); + value attr_val = item->at(attribute, val_default); bool is_selected = attr_val->as_bool(); if constexpr (is_reject) is_selected = !is_selected; if (is_selected) out->push_back(item); @@ -217,7 +217,7 @@ static value selectattr(const func_args & args) { if (!is_val(item)) { throw raised_exception("selectattr: item is not an object"); } - value attr_val = item->at(attr_name, val_default); + value attr_val = item->at(attribute, val_default); func_args test_args(args.ctx); test_args.push_back(attr_val); // attribute value test_args.push_back(extra_arg); // extra argument @@ -741,6 +741,7 @@ const func_builtins & value_array_t::get_builtins() const { args.ensure_count(1, 4); args.ensure_vals(true, true, false, false); + auto val = args.get_pos(0); auto arg0 = args.get_pos(1); auto arg1 = args.get_pos(2, mk_val()); auto arg2 = args.get_pos(3, mk_val()); @@ -762,10 +763,8 @@ const func_builtins & value_array_t::get_builtins() const { if (step == 0) { throw raised_exception("slice step cannot be zero"); } - auto arr = slice(args.get_pos(0)->as_array(), start, stop, step); - auto res = mk_val(); - res->val_arr = std::move(arr); - return res; + auto arr = slice(val->as_array(), start, stop, step); + return is_val(val) ? mk_val(std::move(arr)) : mk_val(std::move(arr)); }}, {"selectattr", selectattr}, {"select", selectattr}, @@ -785,15 +784,14 @@ const func_builtins & value_array_t::get_builtins() const { } const int64_t attr_int = attr_is_int ? attribute->as_int() : 0; const std::string delim = val_delim->is_undefined() ? "" : val_delim->as_string().str(); - const std::string attr_name = attribute->is_undefined() ? "" : attribute->as_string().str(); std::string result; for (size_t i = 0; i < arr.size(); ++i) { value val_arr = arr[i]; if (!attribute->is_undefined()) { if (attr_is_int && is_val(val_arr)) { val_arr = val_arr->at(attr_int); - } else if (!attr_is_int && !attr_name.empty() && is_val(val_arr)) { - val_arr = val_arr->at(attr_name); + } else if (!attr_is_int && is_val(val_arr)) { + val_arr = val_arr->at(attribute); } } if (!is_val(val_arr) && !is_val(val_arr) && !is_val(val_arr)) { @@ -808,9 +806,7 @@ const func_builtins & value_array_t::get_builtins() const { }}, {"string", [](const func_args & args) -> value { args.ensure_vals(); - auto str = mk_val(); - gather_string_parts_recursive(args.get_pos(0), str); - return str; + return mk_val(args.get_pos(0)->as_string()); }}, {"tojson", tojson}, {"map", [](const func_args & args) -> value { @@ -821,26 +817,26 @@ const func_builtins & value_array_t::get_builtins() const { if (!is_val(args.get_args().at(1))) { throw not_implemented_exception("map: filter-mapping not implemented"); } + value val = args.get_pos(0); value attribute = args.get_kwarg_or_pos("attribute", 1); const bool attr_is_int = is_val(attribute); if (!is_val(attribute) && !attr_is_int) { throw raised_exception("map: attribute must be string or integer"); } const int64_t attr_int = attr_is_int ? attribute->as_int() : 0; - const std::string attr_name = attribute->as_string().str(); value default_val = args.get_kwarg("default", mk_val()); auto out = mk_val(); - auto arr = args.get_pos(0)->as_array(); + auto arr = val->as_array(); for (const auto & item : arr) { value attr_val; if (attr_is_int) { attr_val = is_val(item) ? item->at(attr_int, default_val) : default_val; } else { - attr_val = is_val(item) ? item->at(attr_name, default_val) : default_val; + attr_val = is_val(item) ? item->at(attribute, default_val) : default_val; } out->push_back(attr_val); } - return out; + return is_val(val) ? mk_val(std::move(out->as_array())) : out; }}, {"append", [](const func_args & args) -> value { args.ensure_count(2); @@ -867,6 +863,7 @@ const func_builtins & value_array_t::get_builtins() const { if (!is_val(args.get_pos(0))) { throw raised_exception("sort: first argument must be an array"); } + value val = args.get_pos(0); value val_reverse = args.get_kwarg_or_pos("reverse", 1); value val_case = args.get_kwarg_or_pos("case_sensitive", 2); value attribute = args.get_kwarg_or_pos("attribute", 3); @@ -875,8 +872,7 @@ const func_builtins & value_array_t::get_builtins() const { const bool reverse = val_reverse->as_bool(); // undefined == false const bool attr_is_int = is_val(attribute); const int64_t attr_int = attr_is_int ? attribute->as_int() : 0; - const std::string attr_name = attribute->is_undefined() ? "" : attribute->as_string().str(); - std::vector arr = cast_val(args.get_pos(0))->as_array(); // copy + std::vector arr = val->as_array(); // copy std::sort(arr.begin(), arr.end(),[&](const value & a, const value & b) { value val_a = a; value val_b = b; @@ -884,22 +880,23 @@ const func_builtins & value_array_t::get_builtins() const { if (attr_is_int && is_val(a) && is_val(b)) { val_a = a->at(attr_int); val_b = b->at(attr_int); - } else if (!attr_is_int && !attr_name.empty() && is_val(a) && is_val(b)) { - val_a = a->at(attr_name); - val_b = b->at(attr_name); + } else if (!attr_is_int && is_val(a) && is_val(b)) { + val_a = a->at(attribute); + val_b = b->at(attribute); } else { - throw raised_exception("sort: unsupported object attribute comparison"); + throw raised_exception("sort: unsupported object attribute comparison between " + a->type() + " and " + b->type()); } } return value_compare(val_a, val_b, reverse ? value_compare_op::gt : value_compare_op::lt); }); - return mk_val(arr); + return is_val(val) ? mk_val(std::move(arr)) : mk_val(std::move(arr)); }}, {"reverse", [](const func_args & args) -> value { args.ensure_vals(); - std::vector arr = cast_val(args.get_pos(0))->as_array(); // copy + value val = args.get_pos(0); + std::vector arr = val->as_array(); // copy std::reverse(arr.begin(), arr.end()); - return mk_val(arr); + return is_val(val) ? mk_val(std::move(arr)) : mk_val(std::move(arr)); }}, {"unique", [](const func_args &) -> value { throw not_implemented_exception("Array unique builtin not implemented"); @@ -930,7 +927,7 @@ const func_builtins & value_object_t::get_builtins() const { default_val = args.get_pos(2); } const value obj = args.get_pos(0); - std::string key = args.get_pos(1)->as_string().str(); + const value key = args.get_pos(1); return obj->at(key, default_val); }}, {"keys", [](const func_args & args) -> value { @@ -938,7 +935,7 @@ const func_builtins & value_object_t::get_builtins() const { const auto & obj = args.get_pos(0)->as_ordered_object(); auto result = mk_val(); for (const auto & pair : obj) { - result->push_back(mk_val(pair.first)); + result->push_back(pair.first); } return result; }}, @@ -956,15 +953,16 @@ const func_builtins & value_object_t::get_builtins() const { const auto & obj = args.get_pos(0)->as_ordered_object(); auto result = mk_val(); for (const auto & pair : obj) { - auto item = mk_val(); - item->push_back(mk_val(pair.first)); - item->push_back(pair.second); + auto item = mk_val(pair); result->push_back(std::move(item)); } return result; }}, {"tojson", tojson}, - {"string", tojson}, + {"string", [](const func_args & args) -> value { + args.ensure_vals(); + return mk_val(args.get_pos(0)->as_string()); + }}, {"length", [](const func_args & args) -> value { args.ensure_vals(); const auto & obj = args.get_pos(0)->as_ordered_object(); @@ -985,11 +983,11 @@ const func_builtins & value_object_t::get_builtins() const { const bool reverse = val_reverse->as_bool(); // undefined == false const bool by_value = is_val(val_by) && val_by->as_string().str() == "value" ? true : false; auto result = mk_val(val_input); // copy - std::sort(result->val_obj.ordered.begin(), result->val_obj.ordered.end(), [&](const auto & a, const auto & b) { + std::sort(result->val_obj.begin(), result->val_obj.end(), [&](const auto & a, const auto & b) { if (by_value) { return value_compare(a.second, b.second, reverse ? value_compare_op::gt : value_compare_op::lt); } else { - return reverse ? a.first > b.first : a.first < b.first; + return value_compare(a.first, b.first, reverse ? value_compare_op::gt : value_compare_op::lt); } }); return result; @@ -1134,6 +1132,8 @@ void global_from_json(context & ctx, const nlohmann::ordered_json & json_obj, bo } } +// recursively convert value to JSON string +// TODO: avoid circular references static void value_to_json_internal(std::ostringstream & oss, const value & val, int curr_lvl, int indent, const std::string_view item_sep, const std::string_view key_sep) { auto indent_str = [indent, curr_lvl]() -> std::string { return (indent > 0) ? std::string(curr_lvl * indent, ' ') : ""; @@ -1196,7 +1196,8 @@ static void value_to_json_internal(std::ostringstream & oss, const value & val, size_t i = 0; for (const auto & pair : obj) { oss << indent_str() << (indent > 0 ? std::string(indent, ' ') : ""); - oss << "\"" << pair.first << "\"" << key_sep; + value_to_json_internal(oss, mk_val(pair.first->as_string().str()), curr_lvl + 1, indent, item_sep, key_sep); + oss << key_sep; value_to_json_internal(oss, pair.second, curr_lvl + 1, indent, item_sep, key_sep); if (i < obj.size() - 1) { oss << item_sep; @@ -1219,4 +1220,19 @@ std::string value_to_json(const value & val, int indent, const std::string_view return oss.str(); } +// TODO: avoid circular references +std::string value_to_string_repr(const value & val) { + if (is_val(val)) { + const std::string val_str = val->as_string().str(); + + if (val_str.find('\'') != std::string::npos) { + return value_to_json(val); + } else { + return "'" + val_str + "'"; + } + } else { + return val->as_repr(); + } +} + } // namespace jinja diff --git a/common/jinja/value.h b/common/jinja/value.h index ccb05c6fd4..a2f92d2c69 100644 --- a/common/jinja/value.h +++ b/common/jinja/value.h @@ -1,8 +1,10 @@ #pragma once #include "string.h" +#include "utils.h" #include +#include #include #include #include @@ -93,7 +95,8 @@ void global_from_json(context & ctx, const T_JSON & json_obj, bool mark_input); struct func_args; // function argument values -using func_handler = std::function; +using func_hptr = value(const func_args &); +using func_handler = std::function; using func_builtins = std::map; enum value_compare_op { eq, ge, gt, lt, ne }; @@ -103,28 +106,9 @@ struct value_t { int64_t val_int; double val_flt; string val_str; - bool val_bool; std::vector val_arr; - - struct map { - // once set to true, all keys must be numeric - // caveat: we only allow either all numeric keys or all non-numeric keys - // for now, this only applied to for_statement in case of iterating over object keys/items - bool is_key_numeric = false; - std::map unordered; - std::vector> ordered; - void insert(const std::string & key, const value & val) { - if (unordered.find(key) != unordered.end()) { - // if key exists, remove from ordered list - ordered.erase(std::remove_if(ordered.begin(), ordered.end(), - [&](const std::pair & p) { return p.first == key; }), - ordered.end()); - } - unordered[key] = val; - ordered.push_back({key, val}); - } - } val_obj; + std::vector> val_obj; func_handler val_func; @@ -139,6 +123,7 @@ struct value_t { value_t(const value_t &) = default; virtual ~value_t() = default; + // Note: only for debugging and error reporting purposes virtual std::string type() const { return ""; } virtual int64_t as_int() const { throw std::runtime_error(type() + " is not an int value"); } @@ -146,7 +131,7 @@ struct value_t { virtual string as_string() const { throw std::runtime_error(type() + " is not a string value"); } virtual bool as_bool() const { throw std::runtime_error(type() + " is not a bool value"); } virtual const std::vector & as_array() const { throw std::runtime_error(type() + " is not an array value"); } - virtual const std::vector> & as_ordered_object() const { throw std::runtime_error(type() + " is not an object value"); } + virtual const std::vector> & as_ordered_object() const { throw std::runtime_error(type() + " is not an object value"); } virtual value invoke(const func_args &) const { throw std::runtime_error(type() + " is not a function value"); } virtual bool is_none() const { return false; } virtual bool is_undefined() const { return false; } @@ -154,43 +139,66 @@ struct value_t { throw std::runtime_error("No builtins available for type " + type()); } - virtual bool has_key(const std::string & key) { - return val_obj.unordered.find(key) != val_obj.unordered.end(); - } - virtual value & at(const std::string & key, value & default_val) { - auto it = val_obj.unordered.find(key); - if (it == val_obj.unordered.end()) { - return default_val; - } - return val_obj.unordered.at(key); - } - virtual value & at(const std::string & key) { - auto it = val_obj.unordered.find(key); - if (it == val_obj.unordered.end()) { - throw std::runtime_error("Key '" + key + "' not found in value of type " + type()); - } - return val_obj.unordered.at(key); - } - virtual value & at(int64_t index, value & default_val) { - if (index < 0) { - index += val_arr.size(); - } - if (index < 0 || static_cast(index) >= val_arr.size()) { - return default_val; - } - return val_arr[index]; - } - virtual value & at(int64_t index) { - if (index < 0) { - index += val_arr.size(); - } - if (index < 0 || static_cast(index) >= val_arr.size()) { - throw std::runtime_error("Index " + std::to_string(index) + " out of bounds for array of size " + std::to_string(val_arr.size())); - } - return val_arr[index]; - } + virtual bool has_key(const value &) { throw std::runtime_error(type() + " is not an object value"); } + virtual void insert(const value & /* key */, const value & /* val */) { throw std::runtime_error(type() + " is not an object value"); } + virtual value & at(const value & /* key */, value & /* default_val */) { throw std::runtime_error(type() + " is not an object value"); } + virtual value & at(const value & /* key */) { throw std::runtime_error(type() + " is not an object value"); } + virtual value & at(const std::string & /* key */, value & /* default_val */) { throw std::runtime_error(type() + " is not an object value"); } + virtual value & at(const std::string & /* key */) { throw std::runtime_error(type() + " is not an object value"); } + virtual value & at(int64_t /* idx */, value & /* default_val */) { throw std::runtime_error(type() + " is not an array value"); } + virtual value & at(int64_t /* idx */) { throw std::runtime_error(type() + " is not an array value"); } + virtual bool is_numeric() const { return false; } + virtual bool is_hashable() const { return false; } + virtual bool is_immutable() const { return true; } + virtual hasher unique_hash() const noexcept = 0; + // TODO: C++20 <=> operator + // NOTE: We are treating == as equivalent (for normal comparisons) and != as strict nonequal (for strict (is) comparisons) + virtual bool operator==(const value_t & other) const { return equivalent(other); } + virtual bool operator!=(const value_t & other) const { return nonequal(other); } + + // Note: only for debugging purposes virtual std::string as_repr() const { return as_string().str(); } + +protected: + virtual bool equivalent(const value_t &) const = 0; + virtual bool nonequal(const value_t & other) const { return !equivalent(other); } +}; + +// +// utils +// + +const func_builtins & global_builtins(); + +std::string value_to_json(const value & val, int indent = -1, const std::string_view item_sep = ", ", const std::string_view key_sep = ": "); + +// Note: only used for debugging purposes +std::string value_to_string_repr(const value & val); + +struct not_implemented_exception : public std::runtime_error { + not_implemented_exception(const std::string & msg) : std::runtime_error("NotImplemented: " + msg) {} +}; + +struct value_hasher { + size_t operator()(const value & val) const noexcept { + return val->unique_hash().digest(); + } +}; + +struct value_equivalence { + bool operator()(const value & lhs, const value & rhs) const { + return *lhs == *rhs; + } + bool operator()(const std::pair & lhs, const std::pair & rhs) const { + return *(lhs.first) == *(rhs.first) && *(lhs.second) == *(rhs.second); + } +}; + +struct value_equality { + bool operator()(const value & lhs, const value & rhs) const { + return !(*lhs != *rhs); + } }; // @@ -198,24 +206,49 @@ struct value_t { // struct value_int_t : public value_t { - value_int_t(int64_t v) { val_int = v; } + value_int_t(int64_t v) { + val_int = v; + val_flt = static_cast(v); + if (static_cast(val_flt) != v) { + val_flt = v < 0 ? -INFINITY : INFINITY; + } + } virtual std::string type() const override { return "Integer"; } virtual int64_t as_int() const override { return val_int; } - virtual double as_float() const override { return static_cast(val_int); } + virtual double as_float() const override { return val_flt; } virtual string as_string() const override { return std::to_string(val_int); } virtual bool as_bool() const override { return val_int != 0; } virtual const func_builtins & get_builtins() const override; + virtual bool is_numeric() const override { return true; } + virtual bool is_hashable() const override { return true; } + virtual hasher unique_hash() const noexcept override { + return hasher(typeid(*this)) + .update(&val_int, sizeof(val_int)) + .update(&val_flt, sizeof(val_flt)); + } +protected: + virtual bool equivalent(const value_t & other) const override { + return other.is_numeric() && val_int == other.val_int && val_flt == other.val_flt; + } + virtual bool nonequal(const value_t & other) const override { + return !(typeid(*this) == typeid(other) && val_int == other.val_int); + } }; using value_int = std::shared_ptr; struct value_float_t : public value_t { - value_float_t(double v) { val_flt = v; } + value val; + value_float_t(double v) { + val_flt = v; + val_int = std::isfinite(v) ? static_cast(v) : 0; + val = mk_val(val_int); + } virtual std::string type() const override { return "Float"; } virtual double as_float() const override { return val_flt; } - virtual int64_t as_int() const override { return static_cast(val_flt); } + virtual int64_t as_int() const override { return val_int; } virtual string as_string() const override { std::string out = std::to_string(val_flt); out.erase(out.find_last_not_of('0') + 1, std::string::npos); // remove trailing zeros @@ -226,6 +259,24 @@ struct value_float_t : public value_t { return val_flt != 0.0; } virtual const func_builtins & get_builtins() const override; + virtual bool is_numeric() const override { return true; } + virtual bool is_hashable() const override { return true; } + virtual hasher unique_hash() const noexcept override { + if (static_cast(val_int) == val_flt) { + return val->unique_hash(); + } else { + return hasher(typeid(*this)) + .update(&val_int, sizeof(val_int)) + .update(&val_flt, sizeof(val_flt)); + } + } +protected: + virtual bool equivalent(const value_t & other) const override { + return other.is_numeric() && val_int == other.val_int && val_flt == other.val_flt; + } + virtual bool nonequal(const value_t & other) const override { + return !(typeid(*this) == typeid(other) && val_flt == other.val_flt); + } }; using value_float = std::shared_ptr; @@ -247,19 +298,49 @@ struct value_string_t : public value_t { return val_str.length() > 0; } virtual const func_builtins & get_builtins() const override; + virtual bool is_hashable() const override { return true; } + virtual hasher unique_hash() const noexcept override { + const auto type_hash = typeid(*this).hash_code(); + auto hash = hasher(); + hash.update(&type_hash, sizeof(type_hash)); + val_str.hash_update(hash); + return hash; + } void mark_input() { val_str.mark_input(); } +protected: + virtual bool equivalent(const value_t & other) const override { + return typeid(*this) == typeid(other) && val_str.str() == other.val_str.str(); + } }; using value_string = std::shared_ptr; struct value_bool_t : public value_t { - value_bool_t(bool v) { val_bool = v; } + value val; + value_bool_t(bool v) { + val_int = static_cast(v); + val_flt = static_cast(v); + val = mk_val(val_int); + } virtual std::string type() const override { return "Boolean"; } - virtual bool as_bool() const override { return val_bool; } - virtual string as_string() const override { return std::string(val_bool ? "True" : "False"); } + virtual int64_t as_int() const override { return val_int; } + virtual bool as_bool() const override { return val_int; } + virtual string as_string() const override { return std::string(val_int ? "True" : "False"); } virtual const func_builtins & get_builtins() const override; + virtual bool is_numeric() const override { return true; } + virtual bool is_hashable() const override { return true; } + virtual hasher unique_hash() const noexcept override { + return val->unique_hash(); + } +protected: + virtual bool equivalent(const value_t & other) const override { + return other.is_numeric() && val_int == other.val_int && val_flt == other.val_flt; + } + virtual bool nonequal(const value_t & other) const override { + return !(typeid(*this) == typeid(other) && val_int == other.val_int); + } }; using value_bool = std::shared_ptr; @@ -269,13 +350,34 @@ struct value_array_t : public value_t { value_array_t(value & v) { val_arr = v->val_arr; } + value_array_t(std::vector && arr) { + val_arr = arr; + } value_array_t(const std::vector & arr) { val_arr = arr; } - void reverse() { std::reverse(val_arr.begin(), val_arr.end()); } - void push_back(const value & val) { val_arr.push_back(val); } - void push_back(value && val) { val_arr.push_back(std::move(val)); } + void reverse() { + if (is_immutable()) { + throw std::runtime_error("Attempting to modify immutable type"); + } + std::reverse(val_arr.begin(), val_arr.end()); + } + void push_back(const value & val) { + if (is_immutable()) { + throw std::runtime_error("Attempting to modify immutable type"); + } + val_arr.push_back(val); + } + void push_back(value && val) { + if (is_immutable()) { + throw std::runtime_error("Attempting to modify immutable type"); + } + val_arr.push_back(std::move(val)); + } value pop_at(int64_t index) { + if (is_immutable()) { + throw std::runtime_error("Attempting to modify immutable type"); + } if (index < 0) { index = static_cast(val_arr.size()) + index; } @@ -287,64 +389,225 @@ struct value_array_t : public value_t { return val; } virtual std::string type() const override { return "Array"; } + virtual bool is_immutable() const override { return false; } virtual const std::vector & as_array() const override { return val_arr; } virtual string as_string() const override { + const bool immutable = is_immutable(); std::ostringstream ss; - ss << "["; + ss << (immutable ? "(" : "["); for (size_t i = 0; i < val_arr.size(); i++) { if (i > 0) ss << ", "; - ss << val_arr.at(i)->as_repr(); + value val = val_arr.at(i); + ss << value_to_string_repr(val); } - ss << "]"; + if (immutable && val_arr.size() == 1) { + ss << ","; + } + ss << (immutable ? ")" : "]"); return ss.str(); } virtual bool as_bool() const override { return !val_arr.empty(); } + virtual value & at(int64_t index, value & default_val) override { + if (index < 0) { + index += val_arr.size(); + } + if (index < 0 || static_cast(index) >= val_arr.size()) { + return default_val; + } + return val_arr[index]; + } + virtual value & at(int64_t index) override { + if (index < 0) { + index += val_arr.size(); + } + if (index < 0 || static_cast(index) >= val_arr.size()) { + throw std::runtime_error("Index " + std::to_string(index) + " out of bounds for array of size " + std::to_string(val_arr.size())); + } + return val_arr[index]; + } virtual const func_builtins & get_builtins() const override; + virtual bool is_hashable() const override { + if (std::all_of(val_arr.begin(), val_arr.end(), [&](auto & val) -> bool { + return val->is_immutable() && val->is_hashable(); + })) { + return true; + } + return false; + } + virtual hasher unique_hash() const noexcept override { + auto hash = hasher(typeid(*this)); + for (const auto & val : val_arr) { + // must use digest to prevent problems from "concatenation" property of hasher + // for ex. hash of [ "ab", "c" ] should be different from [ "a", "bc" ] + const size_t val_hash = val->unique_hash().digest(); + hash.update(&val_hash, sizeof(size_t)); + } + return hash; + } +protected: + virtual bool equivalent(const value_t & other) const override { + return typeid(*this) == typeid(other) && is_hashable() && other.is_hashable() && std::equal(val_arr.begin(), val_arr.end(), other.val_arr.begin(), value_equivalence()); + } }; using value_array = std::shared_ptr; +struct value_tuple_t : public value_array_t { + value_tuple_t(value & v) { + val_arr = v->val_arr; + } + value_tuple_t(std::vector && arr) { + val_arr = arr; + } + value_tuple_t(const std::vector & arr) { + val_arr = arr; + } + value_tuple_t(const std::pair & pair) { + val_arr.push_back(pair.first); + val_arr.push_back(pair.second); + } + virtual std::string type() const override { return "Tuple"; } + virtual bool is_immutable() const override { return true; } +}; +using value_tuple = std::shared_ptr; + + struct value_object_t : public value_t { + std::unordered_map unordered; bool has_builtins = true; // context and loop objects do not have builtins value_object_t() = default; value_object_t(value & v) { val_obj = v->val_obj; - } - value_object_t(const std::map & obj) { - for (const auto & pair : obj) { - val_obj.insert(pair.first, pair.second); + for (const auto & pair : val_obj) { + unordered[pair.first] = pair.second; } } - value_object_t(const std::vector> & obj) { + value_object_t(const std::map & obj) { for (const auto & pair : obj) { - val_obj.insert(pair.first, pair.second); + insert(pair.first, pair.second); + } + } + value_object_t(const std::vector> & obj) { + for (const auto & pair : obj) { + insert(pair.first, pair.second); } } void insert(const std::string & key, const value & val) { - val_obj.insert(key, val); + insert(mk_val(key), val); } virtual std::string type() const override { return "Object"; } - virtual const std::vector> & as_ordered_object() const override { return val_obj.ordered; } + virtual bool is_immutable() const override { return false; } + virtual const std::vector> & as_ordered_object() const override { return val_obj; } + virtual string as_string() const override { + std::ostringstream ss; + ss << "{"; + for (size_t i = 0; i < val_obj.size(); i++) { + if (i > 0) ss << ", "; + auto & [key, val] = val_obj.at(i); + ss << value_to_string_repr(key) << ": " << value_to_string_repr(val); + } + ss << "}"; + return ss.str(); + } virtual bool as_bool() const override { - return !val_obj.unordered.empty(); + return !unordered.empty(); + } + virtual bool has_key(const value & key) override { + if (!key->is_immutable() || !key->is_hashable()) { + throw std::runtime_error("Object key of unhashable type: " + key->type()); + } + return unordered.find(key) != unordered.end(); + } + virtual void insert(const value & key, const value & val) override { + bool replaced = false; + if (is_immutable()) { + throw std::runtime_error("Attempting to modify immutable type"); + } + if (has_key(key)) { + // if key exists, replace value in ordered list instead of appending + for (auto & pair : val_obj) { + if (*(pair.first) == *key) { + pair.second = val; + replaced = true; + break; + } + } + } + unordered[key] = val; + if (!replaced) { + val_obj.push_back({key, val}); + } + } + virtual value & at(const value & key, value & default_val) override { + if (!has_key(key)) { + return default_val; + } + return unordered.at(key); + } + virtual value & at(const value & key) override { + if (!has_key(key)) { + throw std::runtime_error("Key '" + key->as_string().str() + "' not found in value of type " + type()); + } + return unordered.at(key); + } + virtual value & at(const std::string & key, value & default_val) override { + value key_val = mk_val(key); + return at(key_val, default_val); + } + virtual value & at(const std::string & key) override { + value key_val = mk_val(key); + return at(key_val); } virtual const func_builtins & get_builtins() const override; + virtual bool is_hashable() const override { + if (std::all_of(val_obj.begin(), val_obj.end(), [&](auto & pair) -> bool { + const auto & val = pair.second; + return val->is_immutable() && val->is_hashable(); + })) { + return true; + } + return false; + } + virtual hasher unique_hash() const noexcept override { + auto hash = hasher(typeid(*this)); + for (const auto & [key, val] : val_obj) { + // must use digest to prevent problems from "concatenation" property of hasher + // for ex. hash of key="ab", value="c" should be different from key="a", value="bc" + const size_t key_hash = key->unique_hash().digest(); + const size_t val_hash = val->unique_hash().digest(); + hash.update(&key_hash, sizeof(key_hash)); + hash.update(&val_hash, sizeof(val_hash)); + } + return hash; + } +protected: + virtual bool equivalent(const value_t & other) const override { + return typeid(*this) == typeid(other) && is_hashable() && other.is_hashable() && std::equal(val_obj.begin(), val_obj.end(), other.val_obj.begin(), value_equivalence()); + } }; using value_object = std::shared_ptr; // -// null and undefined types +// none and undefined types // struct value_none_t : public value_t { virtual std::string type() const override { return "None"; } virtual bool is_none() const override { return true; } virtual bool as_bool() const override { return false; } - virtual string as_string() const override { return string("None"); } + virtual string as_string() const override { return string(type()); } virtual std::string as_repr() const override { return type(); } virtual const func_builtins & get_builtins() const override; + virtual bool is_hashable() const override { return true; } + virtual hasher unique_hash() const noexcept override { + return hasher(typeid(*this)); + } +protected: + virtual bool equivalent(const value_t & other) const override { + return typeid(*this) == typeid(other); + } }; using value_none = std::shared_ptr; @@ -356,6 +619,13 @@ struct value_undefined_t : public value_t { virtual bool as_bool() const override { return false; } virtual std::string as_repr() const override { return type(); } virtual const func_builtins & get_builtins() const override; + virtual hasher unique_hash() const noexcept override { + return hasher(typeid(*this)); + } +protected: + virtual bool equivalent(const value_t & other) const override { + return is_undefined() == other.is_undefined(); + } }; using value_undefined = std::shared_ptr; @@ -436,7 +706,23 @@ struct value_func_t : public value_t { return val_func(new_args); } virtual std::string type() const override { return "Function"; } - virtual std::string as_repr() const override { return type(); } + virtual std::string as_repr() const override { return type() + "<" + name + ">(" + (arg0 ? arg0->as_repr() : "") + ")"; } + virtual bool is_hashable() const override { return false; } + virtual hasher unique_hash() const noexcept override { + // Note: this is unused for now, we don't support function as object keys + // use function pointer as unique identifier + const auto target = val_func.target(); + return hasher(typeid(*this)).update(&target, sizeof(target)); + } +protected: + virtual bool equivalent(const value_t & other) const override { + // Note: this is unused for now, we don't support function as object keys + // compare function pointers + // (val_func == other.val_func does not work as std::function::operator== is only used for nullptr check) + const auto target_this = this->val_func.target(); + const auto target_other = other.val_func.target(); + return typeid(*this) == typeid(other) && target_this == target_other; + } }; using value_func = std::shared_ptr; @@ -447,18 +733,21 @@ struct value_kwarg_t : public value_t { value_kwarg_t(const std::string & k, const value & v) : key(k), val(v) {} virtual std::string type() const override { return "KwArg"; } virtual std::string as_repr() const override { return type(); } + virtual bool is_hashable() const override { return true; } + virtual hasher unique_hash() const noexcept override { + const auto type_hash = typeid(*this).hash_code(); + auto hash = val->unique_hash(); + hash.update(&type_hash, sizeof(type_hash)) + .update(key.data(), key.size()); + return hash; + } +protected: + virtual bool equivalent(const value_t & other) const override { + const value_kwarg_t & other_val = static_cast(other); + return typeid(*this) == typeid(other) && key == other_val.key && val == other_val.val; + } }; using value_kwarg = std::shared_ptr; -// utils - -const func_builtins & global_builtins(); -std::string value_to_json(const value & val, int indent = -1, const std::string_view item_sep = ", ", const std::string_view key_sep = ": "); - -struct not_implemented_exception : public std::runtime_error { - not_implemented_exception(const std::string & msg) : std::runtime_error("NotImplemented: " + msg) {} -}; - - } // namespace jinja diff --git a/tests/test-chat-template.cpp b/tests/test-chat-template.cpp index e142900723..d2a1437ca4 100644 --- a/tests/test-chat-template.cpp +++ b/tests/test-chat-template.cpp @@ -481,7 +481,7 @@ int main_automated_tests(void) { /* .name= */ "Mistral-Large-Instruct-2407 (mistralai 'v3' template; modified to have system prompt at start)", /* .template_str= */ "{%- if messages[0][\"role\"] == \"system\" %}\n {%- set system_message = messages[0][\"content\"] %}\n {%- set loop_messages = messages[1:] %}\n{%- else %}\n {%- set loop_messages = messages %}\n{%- endif %}\n{%- if not tools is defined %}\n {%- set tools = none %}\n{%- endif %}\n{%- set user_messages = loop_messages | selectattr(\"role\", \"equalto\", \"user\") | list %}\n\n{#- This block checks for alternating user/assistant messages, skipping tool calling messages #}\n{%- set ns = namespace() %}\n{%- set ns.index = 0 %}\n{%- for message in loop_messages %}\n {%- if not (message.role == \"tool\" or message.role == \"tool_results\" or (message.tool_calls is defined and message.tool_calls is not none)) %}\n {%- if (message[\"role\"] == \"user\") != (ns.index % 2 == 0) %}\n {{- raise_exception(\"After the optional system message, conversation roles must alternate user/assistant/user/assistant/...\") }}\n {%- endif %}\n {%- set ns.index = ns.index + 1 %}\n {%- endif %}\n{%- endfor %}\n\n{{- bos_token }}\n{%- for message in loop_messages %}\n {%- if message[\"role\"] == \"user\" %}\n {%- if tools is not none and (message == user_messages[-1]) %}\n {{- \"[AVAILABLE_TOOLS] [\" }}\n {%- for tool in tools %}\n {%- set tool = tool.function %}\n {{- '{\"type\": \"function\", \"function\": {' }}\n {%- for key, val in tool.items() if key != \"return\" %}\n {%- if val is string %}\n {{- '\"' + key + '\": \"' + val + '\"' }}\n {%- else %}\n {{- '\"' + key + '\": ' + val|tojson }}\n {%- endif %}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- endif %}\n {%- endfor %}\n {{- \"}}\" }}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- else %}\n {{- \"]\" }}\n {%- endif %}\n {%- endfor %}\n {{- \"[/AVAILABLE_TOOLS]\" }}\n {%- endif %}\n {%- if loop.last and system_message is defined %}\n {{- \"[INST] \" + system_message + \"\\n\\n\" + message[\"content\"] + \"[/INST]\" }}\n {%- else %}\n {{- \"[INST] \" + message[\"content\"] + \"[/INST]\" }}\n {%- endif %}\n {%- elif message.tool_calls is defined and message.tool_calls is not none %}\n {{- \"[TOOL_CALLS] [\" }}\n {%- for tool_call in message.tool_calls %}\n {%- set out = tool_call.function|tojson %}\n {{- out[:-1] }}\n {%- if not tool_call.id is defined or tool_call.id|length != 9 %}\n {{- raise_exception(\"Tool call IDs should be alphanumeric strings with length 9!\") }}\n {%- endif %}\n {{- ', \"id\": \"' + tool_call.id + '\"}' }}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- else %}\n {{- \"]\" + eos_token }}\n {%- endif %}\n {%- endfor %}\n {%- elif message[\"role\"] == \"assistant\" %}\n {{- \" \" + message[\"content\"]|trim + eos_token}}\n {%- elif message[\"role\"] == \"tool_results\" or message[\"role\"] == \"tool\" %}\n {%- if message.content is defined and message.content.content is defined %}\n {%- set content = message.content.content %}\n {%- else %}\n {%- set content = message.content %}\n {%- endif %}\n {{- '[TOOL_RESULTS] {\"content\": ' + content|string + \", \" }}\n {%- if not message.tool_call_id is defined or message.tool_call_id|length != 9 %}\n {{- raise_exception(\"Tool call IDs should be alphanumeric strings with length 9!\") }}\n {%- endif %}\n {{- '\"call_id\": \"' + message.tool_call_id + '\"}[/TOOL_RESULTS]' }}\n {%- else %}\n {{- raise_exception(\"Only user and assistant roles are supported, with the exception of an initial optional system message!\") }}\n {%- endif %}\n{%- endfor %}\n", /* .expected_output= */ "[INST] You are a helpful assistant\n\nHello[/INST] Hi there[INST] Who are you[/INST] I am an assistant[INST] Another question[/INST]", - /* .expected_output_jinja= */ "[INST] Hello[/INST] Hi there[INST] Who are you[/INST] I am an assistant[INST] You are a helpful assistant\n\nAnother question[/INST]", + /* .expected_output_jinja= */ "[INST] Hello[/INST] Hi there[INST] Who are you[/INST] I am an assistant[AVAILABLE_TOOLS] [[/AVAILABLE_TOOLS][INST] You are a helpful assistant\n\nAnother question[/INST]", /* .bos_token= */ "", /* .eos_token= */ "", }, @@ -489,7 +489,7 @@ int main_automated_tests(void) { /* .name= */ "Mistral-Nemo-Instruct-2407 (mistralai 'v3-tekken' template; modified to have system prompt at start)", /* .template_str= */ "{%- if messages[0][\"role\"] == \"system\" %}\n {%- set system_message = messages[0][\"content\"] %}\n {%- set loop_messages = messages[1:] %}\n{%- else %}\n {%- set loop_messages = messages %}\n{%- endif %}\n{%- if not tools is defined %}\n {%- set tools = none %}\n{%- endif %}\n{%- set user_messages = loop_messages | selectattr(\"role\", \"equalto\", \"user\") | list %}\n\n{#- This block checks for alternating user/assistant messages, skipping tool calling messages #}\n{%- set ns = namespace() %}\n{%- set ns.index = 0 %}\n{%- for message in loop_messages %}\n {%- if not (message.role == \"tool\" or message.role == \"tool_results\" or (message.tool_calls is defined and message.tool_calls is not none)) %}\n {%- if (message[\"role\"] == \"user\") != (ns.index % 2 == 0) %}\n {{- raise_exception(\"After the optional system message, conversation roles must alternate user/assistant/user/assistant/...\") }}\n {%- endif %}\n {%- set ns.index = ns.index + 1 %}\n {%- endif %}\n{%- endfor %}\n\n{{- bos_token }}\n{%- for message in loop_messages %}\n {%- if message[\"role\"] == \"user\" %}\n {%- if tools is not none and (message == user_messages[-1]) %}\n {{- \"[AVAILABLE_TOOLS][\" }}\n {%- for tool in tools %}\n {%- set tool = tool.function %}\n {{- '{\"type\": \"function\", \"function\": {' }}\n {%- for key, val in tool.items() if key != \"return\" %}\n {%- if val is string %}\n {{- '\"' + key + '\": \"' + val + '\"' }}\n {%- else %}\n {{- '\"' + key + '\": ' + val|tojson }}\n {%- endif %}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- endif %}\n {%- endfor %}\n {{- \"}}\" }}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- else %}\n {{- \"]\" }}\n {%- endif %}\n {%- endfor %}\n {{- \"[/AVAILABLE_TOOLS]\" }}\n {%- endif %}\n {%- if loop.last and system_message is defined %}\n {{- \"[INST]\" + system_message + \"\\n\\n\" + message[\"content\"] + \"[/INST]\" }}\n {%- else %}\n {{- \"[INST]\" + message[\"content\"] + \"[/INST]\" }}\n {%- endif %}\n {%- elif (message.tool_calls is defined and message.tool_calls is not none) %}\n {{- \"[TOOL_CALLS][\" }}\n {%- for tool_call in message.tool_calls %}\n {%- set out = tool_call.function|tojson %}\n {{- out[:-1] }}\n {%- if not tool_call.id is defined or tool_call.id|length != 9 %}\n {{- raise_exception(\"Tool call IDs should be alphanumeric strings with length 9!\") }}\n {%- endif %}\n {{- ', \"id\": \"' + tool_call.id + '\"}' }}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- else %}\n {{- \"]\" + eos_token }}\n {%- endif %}\n {%- endfor %}\n {%- elif message[\"role\"] == \"assistant\" %}\n {{- message[\"content\"] + eos_token}}\n {%- elif message[\"role\"] == \"tool_results\" or message[\"role\"] == \"tool\" %}\n {%- if message.content is defined and message.content.content is defined %}\n {%- set content = message.content.content %}\n {%- else %}\n {%- set content = message.content %}\n {%- endif %}\n {{- '[TOOL_RESULTS]{\"content\": ' + content|string + \", \" }}\n {%- if not message.tool_call_id is defined or message.tool_call_id|length != 9 %}\n {{- raise_exception(\"Tool call IDs should be alphanumeric strings with length 9!\") }}\n {%- endif %}\n {{- '\"call_id\": \"' + message.tool_call_id + '\"}[/TOOL_RESULTS]' }}\n {%- else %}\n {{- raise_exception(\"Only user and assistant roles are supported, with the exception of an initial optional system message!\") }}\n {%- endif %}\n{%- endfor %}\n", /* .expected_output= */ "[INST]You are a helpful assistant\n\nHello[/INST]Hi there[INST]Who are you[/INST] I am an assistant [INST]Another question[/INST]", - /* .expected_output_jinja= */ "[INST]Hello[/INST]Hi there[INST]Who are you[/INST] I am an assistant [INST]You are a helpful assistant\n\nAnother question[/INST]", + /* .expected_output_jinja= */ "[INST]Hello[/INST]Hi there[INST]Who are you[/INST] I am an assistant [AVAILABLE_TOOLS][[/AVAILABLE_TOOLS][INST]You are a helpful assistant\n\nAnother question[/INST]", /* .bos_token= */ "", /* .eos_token= */ "", }, diff --git a/tests/test-jinja.cpp b/tests/test-jinja.cpp index 54d3a0923b..7c6eeb311c 100644 --- a/tests/test-jinja.cpp +++ b/tests/test-jinja.cpp @@ -9,6 +9,7 @@ #include "jinja/runtime.h" #include "jinja/parser.h" #include "jinja/lexer.h" +#include "jinja/utils.h" #include "testing.h" @@ -30,6 +31,7 @@ static void test_tests(testing & t); static void test_string_methods(testing & t); static void test_array_methods(testing & t); static void test_object_methods(testing & t); +static void test_hasher(testing & t); static void test_fuzzing(testing & t); static bool g_python_mode = false; @@ -67,6 +69,7 @@ int main(int argc, char *argv[]) { t.test("array methods", test_array_methods); t.test("object methods", test_object_methods); if (!g_python_mode) { + t.test("hasher", test_hasher); t.test("fuzzing", test_fuzzing); } @@ -156,6 +159,18 @@ static void test_conditionals(testing & t) { "big" ); + test_template(t, "object comparison", + "{% if {0: 1, none: 2, 1.0: 3, '0': 4, true: 5} == {false: 1, none: 2, 1: 5, '0': 4} %}equal{% endif %}", + json::object(), + "equal" + ); + + test_template(t, "array comparison", + "{% if [0, 1.0, false] == [false, 1, 0.0] %}equal{% endif %}", + json::object(), + "equal" + ); + test_template(t, "logical and", "{% if a and b %}both{% endif %}", {{"a", true}, {"b", true}}, @@ -358,6 +373,30 @@ static void test_expressions(testing & t) { "b" ); + test_template(t, "array negative access", + "{{ items[-1] }}", + {{"items", json::array({"a", "b", "c"})}}, + "c" + ); + + test_template(t, "array slice", + "{{ items[1:-1]|string }}", + {{"items", json::array({"a", "b", "c"})}}, + "['b']" + ); + + test_template(t, "array slice step", + "{{ items[::2]|string }}", + {{"items", json::array({"a", "b", "c"})}}, + "['a', 'c']" + ); + + test_template(t, "tuple slice", + "{{ ('a', 'b', 'c')[::-1]|string }}", + json::object(), + "('c', 'b', 'a')" + ); + test_template(t, "arithmetic", "{{ (a + b) * c }}", {{"a", 2}, {"b", 3}, {"c", 4}}, @@ -401,6 +440,36 @@ static void test_set_statement(testing & t) { json::object(), "1" ); + + test_template(t, "set dict with mixed type keys", + "{% set d = {0: 1, none: 2, 1.0: 3, '0': 4, (0, 0): 5, false: 6, 1: 7} %}{{ d[(0, 0)] + d[0] + d[none] + d['0'] + d[false] + d[1.0] + d[1] }}", + json::object(), + "37" + ); + + test_template(t, "print dict with mixed type keys", + "{% set d = {0: 1, none: 2, 1.0: 3, '0': 4, (0, 0): 5, true: 6} %}{{ d|string }}", + json::object(), + "{0: 1, None: 2, 1.0: 6, '0': 4, (0, 0): 5}" + ); + + test_template(t, "print array with mixed types", + "{% set d = [0, none, 1.0, '0', true, (0, 0)] %}{{ d|string }}", + json::object(), + "[0, None, 1.0, '0', True, (0, 0)]" + ); + + test_template(t, "object member assignment with mixed key types", + "{% set d = namespace() %}{% set d.a = 123 %}{{ d['a'] == 123 }}", + json::object(), + "True" + ); + + test_template(t, "tuple unpacking", + "{% set t = (1, 2, 3) %}{% set a, b, c = t %}{{ a + b + c }}", + json::object(), + "6" + ); } static void test_filters(testing & t) { @@ -1312,6 +1381,154 @@ static void test_object_methods(testing & t) { {{"obj", {{"a", "b"}}}}, "True True" ); + + test_template(t, "expression as object key", + "{% set d = {'ab': 123} %}{{ d['a' + 'b'] == 123 }}", + json::object(), + "True" + ); + + test_template(t, "numeric as object key (template: Seed-OSS)", + "{% set d = {1: 'a', 2: 'b'} %}{{ d[1] == 'a' and d[2] == 'b' }}", + json::object(), + "True" + ); +} + +static void test_hasher(testing & t) { + static const std::vector> chunk_sizes = { + {1, 2}, + {1, 16}, + {8, 1}, + {1, 1024}, + {5, 512}, + {16, 256}, + {45, 122}, + {70, 634}, + }; + + static auto random_bytes = [](size_t length) -> std::string { + std::string data; + data.resize(length); + for (size_t i = 0; i < length; ++i) { + data[i] = static_cast(rand() % 256); + } + return data; + }; + + t.test("state unchanged with empty input", [](testing & t) { + jinja::hasher hasher; + hasher.update("some data"); + size_t initial_state = hasher.digest(); + hasher.update("", 0); + size_t final_state = hasher.digest(); + t.assert_true("Hasher state should remain unchanged", initial_state == final_state); + }); + + t.test("different inputs produce different hashes", [](testing & t) { + jinja::hasher hasher1; + hasher1.update("data one"); + size_t hash1 = hasher1.digest(); + + jinja::hasher hasher2; + hasher2.update("data two"); + size_t hash2 = hasher2.digest(); + + t.assert_true("Different inputs should produce different hashes", hash1 != hash2); + }); + + t.test("same inputs produce same hashes", [](testing & t) { + jinja::hasher hasher1; + hasher1.update("consistent data"); + size_t hash1 = hasher1.digest(); + + jinja::hasher hasher2; + hasher2.update("consistent data"); + size_t hash2 = hasher2.digest(); + + t.assert_true("Same inputs should produce same hashes", hash1 == hash2); + }); + + t.test("property: update(a ~ b) == update(a).update(b)", [](testing & t) { + for (const auto & [size1, size2] : chunk_sizes) { + std::string data1 = random_bytes(size1); + std::string data2 = random_bytes(size2); + + jinja::hasher hasher1; + hasher1.update(data1); + hasher1.update(data2); + size_t hash1 = hasher1.digest(); + + jinja::hasher hasher2; + hasher2.update(data1 + data2); + size_t hash2 = hasher2.digest(); + + t.assert_true( + "Hashing in multiple updates should match single update (" + std::to_string(size1) + ", " + std::to_string(size2) + ")", + hash1 == hash2); + } + }); + + t.test("property: update(a ~ b) == update(a).update(b) with more update passes", [](testing & t) { + static const std::vector sizes = {3, 732, 131, 13, 17, 256, 436, 99, 4}; + + jinja::hasher hasher1; + jinja::hasher hasher2; + + std::string combined_data; + for (size_t size : sizes) { + std::string data = random_bytes(size); + hasher1.update(data); + combined_data += data; + } + + hasher2.update(combined_data); + size_t hash1 = hasher1.digest(); + size_t hash2 = hasher2.digest(); + t.assert_true( + "Hashing in multiple updates should match single update with many chunks", + hash1 == hash2); + }); + + t.test("property: non associativity of update", [](testing & t) { + for (const auto & [size1, size2] : chunk_sizes) { + std::string data1 = random_bytes(size1); + std::string data2 = random_bytes(size2); + + jinja::hasher hasher1; + hasher1.update(data1); + hasher1.update(data2); + size_t hash1 = hasher1.digest(); + + jinja::hasher hasher2; + hasher2.update(data2); + hasher2.update(data1); + size_t hash2 = hasher2.digest(); + + t.assert_true( + "Hashing order should matter (" + std::to_string(size1) + ", " + std::to_string(size2) + ")", + hash1 != hash2); + } + }); + + t.test("property: different lengths produce different hashes (padding block size)", [](testing & t) { + std::string random_data = random_bytes(64); + + jinja::hasher hasher1; + hasher1.update(random_data); + size_t hash1 = hasher1.digest(); + + for (int i = 0; i < 16; ++i) { + random_data.push_back('A'); // change length + jinja::hasher hasher2; + hasher2.update(random_data); + size_t hash2 = hasher2.digest(); + + t.assert_true("Different lengths should produce different hashes (length " + std::to_string(random_data.size()) + ")", hash1 != hash2); + + hash1 = hash2; + } + }); } static void test_template_cpp(testing & t, const std::string & name, const std::string & tmpl, const json & vars, const std::string & expect) { From f2571df8b71ba78f9fb99f3fc951b514c2d2a4bb Mon Sep 17 00:00:00 2001 From: Vishal Singh Date: Wed, 28 Jan 2026 03:51:36 +0530 Subject: [PATCH 034/206] ggml-zendnn : update ZenDNN git tag to main branch (#19133) --- ggml/src/ggml-zendnn/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ggml/src/ggml-zendnn/CMakeLists.txt b/ggml/src/ggml-zendnn/CMakeLists.txt index bdbfc74369..f5cf6eedd3 100644 --- a/ggml/src/ggml-zendnn/CMakeLists.txt +++ b/ggml/src/ggml-zendnn/CMakeLists.txt @@ -21,7 +21,7 @@ if (NOT ZENDNN_ROOT OR ZENDNN_ROOT STREQUAL "" OR ZENDNN_ROOT STREQUAL "OFF") ExternalProject_Add( zendnn GIT_REPOSITORY https://github.com/amd/ZenDNN.git - GIT_TAG zendnnl + GIT_TAG 21ce8f7879c86bf3637f707fae6f29e0951db5fe PREFIX ${ZENDNN_PREFIX} SOURCE_DIR ${ZENDNN_SOURCE_DIR} BINARY_DIR ${ZENDNN_BUILD_DIR} From 06961e2876c7ed5ebe43c7e7c9b284dedba567c9 Mon Sep 17 00:00:00 2001 From: Nikhil Jain Date: Tue, 27 Jan 2026 20:53:36 -0800 Subject: [PATCH 035/206] ggml webgpu: Split shared state (webgpu_context) into global state and per-thread state (#18976) * Squashed commit of the following: commit b3c6bf4b0450d8d452b934df27a0fb7cb53cd755 Author: Abhijit Ramesh Date: Mon Dec 1 18:29:00 2025 -0800 ggml webgpu: fix xielu parameter passing (#11) The XIELU operation was incorrectly using static_cast to convert float parameters to uint32_t, which converted numeric values instead of preserving IEEE 754 bit patterns. This caused incorrect values to be interpreted by the GPU shader. * Use reinterpret_cast to preserve float bit patterns when passing through uint32_t params buffer * Update WGSL shader parameter types from u32 to f32 * Re-enable XIELU support (was disabled due to numerical issues) Fixes NMSE test failures for XIELU operation on WebGPU backend. commit 5ca9b5e49ea7cddc9ab7c8b43a11a9c76a4dff4a Author: neha-ha <137219201+neha-ha@users.noreply.github.com> Date: Tue Nov 18 12:17:00 2025 -0800 Refactored pipelines and workgroup calculations (#10) * refactored pipelines * refactored workgroup calculation * removed commented out block of prior maps * Clean up ceiling division pattern --------- Co-authored-by: Neha Abbas Co-authored-by: Reese Levine Author: James Contini Date: Wed Oct 29 23:13:06 2025 -0700 formatted embed wgsl and ggml-webgpu.cpp commit e1f6baea31645e5d96ad53664acae856f74b96f4 Author: James Contini Date: Wed Oct 29 23:08:37 2025 -0700 implemented REPL_Template support and removed bug in unary operators kernel commit 8c70b8fece445cdc9a8c660dbddbf201e52da2bb Author: James Contini Date: Wed Oct 15 16:14:20 2025 -0700 responded and dealt with PR comments commit f9282c660c10dec4487d434549bdb707a9cd9f37 Author: James Contini Date: Sun Oct 12 13:41:41 2025 -0700 removed unnecesarry checking if node->src[1] exists for unary operators commit 4cf28d7dec41c29186d66152735b244c5699f9dc Author: James Contini Date: Sun Oct 12 13:32:45 2025 -0700 All operators (inlcluding xielu) working commit 74c6add1761a59d2c2ff60b60e8ad3c8300f6d3e Author: James Contini Date: Fri Oct 10 13:16:48 2025 -0700 fixed autoconfig commit 362749910be4f0120c8ffb21ceddeb7d2c088e51 Author: James Contini Date: Fri Oct 10 13:10:46 2025 -0700 removed vestigial files commit cb0858333785757804c5104e59c4981843207c16 Author: James Contini Date: Fri Oct 10 12:59:32 2025 -0700 abides by editor-config commit 5360e2852a4b51197d7d67d0a5d42e908b02d7ed Author: James Contini Date: Fri Oct 10 12:45:57 2025 -0700 rms_norm double declaration bug atoned commit 7b09baa4aa53711be5a126043670cc182c78bfcd Merge: 8a6ec843 74b8fc17 Author: James Contini Date: Fri Oct 10 11:50:03 2025 -0700 resolving merge conflicts commit 8a6ec843a50ab82f8cef59b4558eb63f318ba02d Author: James Contini Date: Wed Oct 8 18:06:47 2025 -0700 unary operators pass ggml tests commit c3ae38278a2db236adc5912c9140e4f0d63f2c19 Author: James Contini Date: Wed Oct 1 16:22:40 2025 -0700 neg passes backend test commit aa1c9b2f8877a405470ca56709c42a1fd43713de Author: James Contini Date: Tue Sep 30 23:55:27 2025 -0700 neg f16xf32xip builds and runs, havent actually ran a model that uses neg kernel yet though Co-authored-by: James Contini Co-authored-by: Neha Abbas Co-authored-by: Abhijit Ramesh * Remove extra code and format * Add ops documentation (finally) * ggml webgpu: add SOFTPLUS unary operator Implements SOFTPLUS (log(1 + exp(x))) with f16/f32 support. Uses f32 precision for intermediate calculations to prevent f16 overflow. * Add shader implementation and 4 variants (f32/f16, inplace/non-inplace) * Register pipelines and device support * Follow Vulkan backend numerical stability pattern * ggml webgpu: add EXPM1 unary operator Implements EXPM1 (exp(x) - 1) with f16/f32 support. * Add shader implementation and 4 variants (f32/f16, inplace/non-inplace) * Register pipelines and device support * ggml webgpu: add FLOOR unary operator Implements FLOOR (rounds down to nearest integer) with f16/f32 support. * Add shader implementation and 4 variants (f32/f16, inplace/non-inplace) * Register pipelines and device support * ggml webgpu: add CEIL unary operator Implements CEIL (rounds up to nearest integer) with f16/f32 support. * Add shader implementation and 4 variants (f32/f16, inplace/non-inplace) * Register pipelines and device support * ggml webgpu: add ROUND unary operator Implements ROUND (rounds to nearest integer) with f16/f32 support. * Add shader implementation and 4 variants (f32/f16, inplace/non-inplace) * Register pipelines and device support * ggml webgpu: add TRUNC unary operator Implements TRUNC (truncates towards zero) with f16/f32 support. * Add shader implementation and 4 variants (f32/f16, inplace/non-inplace) * Register pipelines and device support * docs : update WebGPU support for unary operators (FLOOR, CEIL, ROUND, TRUNC, EXPM1, SOFTPLUS) * Updates to webgpu get_memory * Move shared state (webgpu_context) and device creation out of registration context, device context, and buffer context, and move into backend context * Small cleanup * Move Instance, Device, Adapter, Device creation, and capabilities to global state while moving Queue, pipelines, and buffers to per-thread state. * Cleanups * More cleanup * Move staging_buf mutex to global context * Resolve merge * Resolve merge * Resolve merge * Clean up merge errors, delete forward declaration, and run clang-format * Rename device_init to backend_init * Move webgpu_context to backend_context * Move buffer context members into global context and refactor function calls * Run clang-format * Remove commends * Move parameter buffers to per-thread, add single memset_tensor param buf * Fix CI compilation issue * Fix builds for emscripten not supporting subgroups * cleanup * cleanup --------- Co-authored-by: Reese Levine --- ggml/src/ggml-webgpu/ggml-webgpu.cpp | 1246 ++++++++++++++------------ 1 file changed, 662 insertions(+), 584 deletions(-) diff --git a/ggml/src/ggml-webgpu/ggml-webgpu.cpp b/ggml/src/ggml-webgpu/ggml-webgpu.cpp index 584cea7698..22e2bfeb4c 100644 --- a/ggml/src/ggml-webgpu/ggml-webgpu.cpp +++ b/ggml/src/ggml-webgpu/ggml-webgpu.cpp @@ -47,7 +47,6 @@ double cpu_total_time_##id = \ std::chrono::duration(cpu_total_end_##id - cpu_total_start_##id).count(); \ (ctx)->cpu_time_ms[#id] += cpu_total_time_##id; - // fine-grained timing (not included in totals) # define WEBGPU_CPU_PROFILE_DETAIL_START(id) auto cpu_detail_start_##id = std::chrono::high_resolution_clock::now(); @@ -74,13 +73,13 @@ #define WEBGPU_MAX_WG_SIZE 288 #define WEBGPU_MUL_MAT_WG_SIZE 256 -#define WEBGPU_NUM_PARAM_BUFS 32u +#define WEBGPU_NUM_PARAM_BUFS 16u #define WEBGPU_COMMAND_SUBMIT_BATCH_SIZE 8u #define WEBGPU_WAIT_ANY_TIMEOUT_MS 0 // Maximum number of in-flight submissions per-thread, to avoid exhausting the parameter buffer pool #define WEBGPU_MAX_INFLIGHT_SUBS_PER_THREAD WEBGPU_NUM_PARAM_BUFS / WEBGPU_COMMAND_SUBMIT_BATCH_SIZE #define WEBGPU_PARAMS_BUF_SIZE_BYTES 128 // enough for 32 parameters -#define WEBGPU_NUM_SET_ROWS_ERROR_BUFS 32 +#define WEBGPU_NUM_SET_ROWS_ERROR_BUFS 16 #define WEBGPU_SET_ROWS_ERROR_BUF_SIZE_BYTES 4 #define WEBGPU_STORAGE_BUF_BINDING_MULT 4 // a storage buffer binding size must be a multiple of 4 @@ -267,30 +266,67 @@ struct webgpu_command { #endif }; -// All the base objects needed to run operations on a WebGPU device -struct webgpu_context_struct { +struct webgpu_capabilities_base { + wgpu::Limits limits; + bool supports_subgroup_matrix = false; + + uint32_t sg_mat_m = 0; + uint32_t sg_mat_n = 0; + uint32_t sg_mat_k = 0; + + uint32_t subgroup_size = 0; + uint32_t max_subgroup_size = 0; + size_t memset_bytes_per_thread; +}; + +// Stores global webgpu members +struct webgpu_global_context_struct { wgpu::Instance instance; wgpu::Adapter adapter; wgpu::Device device; wgpu::Queue queue; - wgpu::Limits limits; - uint32_t max_subgroup_size; + webgpu_capabilities_base capabilities; + // Shared buffer to move data from device to host + wgpu::Buffer get_tensor_staging_buf; + // Global mutex for pipeline and staging buffer, will be refactored to exclude pipeline caches. + std::recursive_mutex mutex; - bool supports_subgroup_matrix = false; - uint32_t sg_mat_m; - uint32_t sg_mat_n; - uint32_t sg_mat_k; + webgpu_buf_pool memset_buf_pool; + std::map memset_pipelines; // variant or type index + std::atomic_uint inflight_threads = 0; - std::recursive_mutex mutex; - std::atomic_uint inflight_threads = 0; +#ifdef GGML_WEBGPU_CPU_PROFILE + // Profiling: labeled CPU time in ms (total) + std::unordered_map cpu_time_ms; + // Profiling: detailed CPU time in ms + std::unordered_map cpu_detail_ms; +#endif - webgpu_buf_pool param_buf_pool; - webgpu_buf_pool set_rows_error_buf_pool; +#ifdef GGML_WEBGPU_GPU_PROFILE + // Profiling: per-shader GPU time in ms + std::unordered_map shader_gpu_time_ms; + // Profiling: pool of timestamp query buffers (one per operation) + webgpu_gpu_profile_buf_pool timestamp_query_buf_pool; +#endif + +#ifdef GGML_WEBGPU_DEBUG + wgpu::Buffer debug_host_buf; + wgpu::Buffer debug_dev_buf; +#endif +}; + +typedef std::shared_ptr webgpu_global_context; + +// All the base objects needed to run operations on a WebGPU device +struct webgpu_context_struct { + // Points to global instances owned by ggml_backend_webgpu_reg_context + webgpu_global_context global_ctx; pre_wgsl::Preprocessor p; - std::map memset_pipelines; // variant or type index + webgpu_buf_pool param_buf_pool; + webgpu_buf_pool set_rows_error_buf_pool; std::map>> mul_mat_pipelines; // src0_type, src1_type, vectorized std::map>> @@ -326,57 +362,42 @@ struct webgpu_context_struct { size_t memset_bytes_per_thread; - // Staging buffer for reading data from the GPU - wgpu::Buffer get_tensor_staging_buf; - -#ifdef GGML_WEBGPU_DEBUG - wgpu::Buffer debug_host_buf; - wgpu::Buffer debug_dev_buf; -#endif - -#ifdef GGML_WEBGPU_CPU_PROFILE - // Profiling: labeled CPU time in ms (total) - std::unordered_map cpu_time_ms; - // Profiling: detailed CPU time in ms - std::unordered_map cpu_detail_ms; -#endif - -#ifdef GGML_WEBGPU_GPU_PROFILE - // Profiling: per-shader GPU time in ms - std::unordered_map shader_gpu_time_ms; - // Profiling: pool of timestamp query buffers (one per operation) - webgpu_gpu_profile_buf_pool timestamp_query_buf_pool; -#endif }; typedef std::shared_ptr webgpu_context; +// Metadata required for the ggml backend registration/discovery interface struct ggml_backend_webgpu_reg_context { - webgpu_context webgpu_ctx; - size_t device_count; - const char * name; + // Since the Instance is a global entrypoint into the WebGPU API, it lives here + webgpu_global_context webgpu_global_ctx; + size_t device_count; + const char * name; }; +// Per-device struct for the global logical device interface struct ggml_backend_webgpu_device_context { - webgpu_context webgpu_ctx; - std::string device_name; - std::string device_desc; + webgpu_global_context webgpu_global_ctx; + std::string device_name; + std::string device_desc; }; +// Per-thread data required to actually run WebGPU operations in a backend instance struct ggml_backend_webgpu_context { - webgpu_context webgpu_ctx; - std::string name; + webgpu_context webgpu_ctx; + std::once_flag init_once; + std::string name; }; +// Per-thread data related to buffers struct ggml_backend_webgpu_buffer_context { - webgpu_context webgpu_ctx; - wgpu::Buffer buffer; - std::string label; + wgpu::Buffer buffer; + std::string label; + webgpu_global_context global_ctx; - ggml_backend_webgpu_buffer_context(webgpu_context ctx, wgpu::Buffer buf, std::string lbl) : - webgpu_ctx(std::move(ctx)), + ggml_backend_webgpu_buffer_context(wgpu::Buffer buf, std::string lbl, webgpu_global_context global_ctx_) : buffer(std::move(buf)), - label(std::move(lbl)) {} + label(std::move(lbl)), + global_ctx(std::move(global_ctx_)) {} }; /* WebGPU object initializations */ @@ -444,7 +465,7 @@ static void ggml_webgpu_create_buffer(wgpu::Device & device, /** WebGPU Actions */ // Wait for the queue to finish processing all submitted work -static void ggml_backend_webgpu_wait(webgpu_context & ctx, +static void ggml_backend_webgpu_wait(webgpu_global_context & ctx, std::vector & futures, bool block = true) { // If we have too many in-flight submissions, wait on the oldest one first. If there are many threads, @@ -476,11 +497,11 @@ static void ggml_backend_webgpu_wait(webgpu_context & ct } } -static void ggml_backend_webgpu_map_buffer(webgpu_context & ctx, - wgpu::Buffer & buffer, - wgpu::MapMode mode, - size_t offset, - size_t size) { +static void ggml_backend_webgpu_map_buffer(webgpu_global_context & ctx, + wgpu::Buffer & buffer, + wgpu::MapMode mode, + size_t offset, + size_t size) { ctx->instance.WaitAny(buffer.MapAsync(mode, offset, size, wgpu::CallbackMode::AllowSpontaneous, [](wgpu::MapAsyncStatus status, wgpu::StringView message) { if (status != wgpu::MapAsyncStatus::Success) { @@ -495,7 +516,7 @@ static void ggml_backend_webgpu_map_buffer(webgpu_context & ctx, // This function adds debugging information to shaders, as WebGPU does not support printing directly. // To use, add a bind group entry to the setup for the shader you are debugging, add the buffer and // debug statements in the shader, and then call this function after encoding the commands and submitting them. -static void ggml_backend_webgpu_debug(webgpu_context & ctx) { +static void ggml_backend_webgpu_debug(webgpu_global_context & ctx) { wgpu::CommandEncoder encoder = ctx->device.CreateCommandEncoder(); encoder.CopyBufferToBuffer(ctx->debug_dev_buf, 0, ctx->debug_host_buf, 0, ctx->debug_host_buf.GetSize()); wgpu::CommandBuffer commands = encoder.Finish(); @@ -507,7 +528,10 @@ static void ggml_backend_webgpu_debug(webgpu_context & ctx) { } #endif -static webgpu_submission_futures ggml_backend_webgpu_submit(webgpu_context ctx, std::vector commands) { +static webgpu_submission_futures ggml_backend_webgpu_submit(webgpu_global_context ctx, + std::vector commands, + webgpu_buf_pool & param_buf_pool, + webgpu_buf_pool * set_rows_error_buf_pool = nullptr) { std::vector command_buffers; std::vector params_bufs; std::vector set_rows_error_bufs; @@ -528,19 +552,19 @@ static webgpu_submission_futures ggml_backend_webgpu_submit(webgpu_context ctx, wgpu::Future p_f = ctx->queue.OnSubmittedWorkDone( wgpu::CallbackMode::AllowSpontaneous, - [ctx, params_bufs](wgpu::QueueWorkDoneStatus status, wgpu::StringView message) { + [¶m_buf_pool, params_bufs](wgpu::QueueWorkDoneStatus status, wgpu::StringView message) { if (status != wgpu::QueueWorkDoneStatus::Success) { GGML_LOG_ERROR("ggml_webgpu: Failed to submit commands: %s\n", std::string(message).c_str()); } // Free the staged buffers - ctx->param_buf_pool.free_bufs(params_bufs); + param_buf_pool.free_bufs(params_bufs); }); futures.push_back({ p_f }); for (const auto & bufs : set_rows_error_bufs) { wgpu::Future f = bufs.host_buf.MapAsync( wgpu::MapMode::Read, 0, bufs.host_buf.GetSize(), wgpu::CallbackMode::AllowSpontaneous, - [ctx, bufs](wgpu::MapAsyncStatus status, wgpu::StringView message) { + [set_rows_error_buf_pool, bufs](wgpu::MapAsyncStatus status, wgpu::StringView message) { if (status != wgpu::MapAsyncStatus::Success) { GGML_LOG_ERROR("ggml_webgpu: Failed to map error buffer: %s\n", std::string(message).c_str()); } else { @@ -549,7 +573,9 @@ static webgpu_submission_futures ggml_backend_webgpu_submit(webgpu_context ctx, GGML_ABORT("ggml_webgpu: SET_ROWS index > 2^32, unsupported."); } // We can't unmap in here due to WebGPU reentrancy limitations. - ctx->set_rows_error_buf_pool.free_bufs({ bufs }); + if (set_rows_error_buf_pool) { + set_rows_error_buf_pool->free_bufs({ bufs }); + } } }); futures.push_back({ f }); @@ -581,7 +607,8 @@ static webgpu_submission_futures ggml_backend_webgpu_submit(webgpu_context ctx, } static webgpu_command ggml_backend_webgpu_build_multi( - webgpu_context & ctx, + webgpu_global_context & ctx, + webgpu_buf_pool & param_buf_pool, const std::vector & pipelines, const std::vector> & params_list, const std::vector> & bind_group_entries_list, @@ -595,7 +622,7 @@ static webgpu_command ggml_backend_webgpu_build_multi( std::vector bind_groups; for (size_t i = 0; i < pipelines.size(); i++) { - webgpu_pool_bufs params_bufs = ctx->param_buf_pool.alloc_bufs(); + webgpu_pool_bufs params_bufs = param_buf_pool.alloc_bufs(); ggml_backend_webgpu_map_buffer(ctx, params_bufs.host_buf, wgpu::MapMode::Write, 0, params_bufs.host_buf.GetSize()); @@ -672,34 +699,37 @@ static webgpu_command ggml_backend_webgpu_build_multi( return result; } -static webgpu_command ggml_backend_webgpu_build(webgpu_context & ctx, +static webgpu_command ggml_backend_webgpu_build(webgpu_global_context & ctx, + webgpu_buf_pool & param_buf_pool, webgpu_pipeline & pipeline, std::vector params, std::vector bind_group_entries, uint32_t wg_x, uint32_t wg_y = 1, std::optional set_rows_error_bufs = std::nullopt) { - return ggml_backend_webgpu_build_multi(ctx, + return ggml_backend_webgpu_build_multi(ctx, param_buf_pool, { pipeline }, { params }, { bind_group_entries }, { { wg_x, wg_y } }, set_rows_error_bufs); } -static void ggml_backend_webgpu_buffer_memset(webgpu_context & ctx, - wgpu::Buffer & buf, - uint32_t value, - size_t offset, - size_t size) { +static void ggml_backend_webgpu_buffer_memset(webgpu_global_context & ctx, + wgpu::Buffer & buf, + uint32_t value, + size_t offset, + size_t size) { std::vector params = { (uint32_t) offset, (uint32_t) size, value }; std::vector entries = { { .binding = 0, .buffer = buf, .offset = 0, .size = buf.GetSize() } }; - size_t bytes_per_wg = WEBGPU_MAX_WG_SIZE * ctx->memset_bytes_per_thread; + size_t bytes_per_wg = WEBGPU_MAX_WG_SIZE * ctx->capabilities.memset_bytes_per_thread; uint32_t wg_x = CEIL_DIV(size + 3, bytes_per_wg); - webgpu_command command = ggml_backend_webgpu_build(ctx, ctx->memset_pipelines[0], params, entries, wg_x); - std::vector futures = { ggml_backend_webgpu_submit(ctx, { command }) }; + webgpu_command command = + ggml_backend_webgpu_build(ctx, ctx->memset_buf_pool, ctx->memset_pipelines[0], params, entries, wg_x); + std::vector futures = { ggml_backend_webgpu_submit(ctx, { command }, + ctx->memset_buf_pool) }; ggml_backend_webgpu_wait(ctx, futures); } @@ -720,19 +750,19 @@ static void ggml_backend_webgpu_free(ggml_backend_t backend) { #ifdef GGML_WEBGPU_CPU_PROFILE std::cout << "\n[ggml_webgpu cpu profiling summary]\n"; double total_cpu = 0.0; - for (const auto & kv : ctx->webgpu_ctx->cpu_time_ms) { + for (const auto & kv : ctx->webgpu_ctx->global_ctx->cpu_time_ms) { total_cpu += kv.second; } std::cout << "ggml_webgpu: total cpu time: " << total_cpu << " ms\n"; std::cout << "ggml_webgpu: cpu breakdown:\n"; - for (const auto & kv : ctx->webgpu_ctx->cpu_time_ms) { + for (const auto & kv : ctx->webgpu_ctx->global_ctx->cpu_time_ms) { double pct = (total_cpu > 0.0) ? (kv.second / total_cpu * 100.0) : 0.0; std::cout << "ggml_webgpu: " << kv.first << ": " << kv.second << " ms (" << pct << "%)\n"; } - if (ctx->webgpu_ctx->cpu_detail_ms.size() > 0) { + if (ctx->webgpu_ctx->global_ctx->cpu_detail_ms.size() > 0) { std::cout << "ggml_webgpu: cpu detailed breakdown:\n"; } - for (const auto & kv : ctx->webgpu_ctx->cpu_detail_ms) { + for (const auto & kv : ctx->webgpu_ctx->global_ctx->cpu_detail_ms) { double pct = (total_cpu > 0.0) ? (kv.second / total_cpu * 100.0) : 0.0; std::cout << "ggml_webgpu: " << kv.first << ": " << kv.second << " ms (" << pct << "%)\n"; } @@ -741,12 +771,12 @@ static void ggml_backend_webgpu_free(ggml_backend_t backend) { #ifdef GGML_WEBGPU_GPU_PROFILE std::cout << "\n[ggml_webgpu gpu profiling summary]\n"; double total_gpu = 0.0; - for (const auto & kv : ctx->webgpu_ctx->shader_gpu_time_ms) { + for (const auto & kv : ctx->webgpu_ctx->global_ctx->shader_gpu_time_ms) { total_gpu += kv.second; } std::cout << "ggml_webgpu: total gpu time (all shaders): " << total_gpu << " ms\n"; std::cout << "\nggml_webgpu: gpu breakdown:\n"; - for (const auto & kv : ctx->webgpu_ctx->shader_gpu_time_ms) { + for (const auto & kv : ctx->webgpu_ctx->global_ctx->shader_gpu_time_ms) { double pct = (total_gpu > 0.0) ? (kv.second / total_gpu * 100.0) : 0.0; std::cout << "ggml_webgpu: " << kv.first << ": " << kv.second << " ms (" << pct << "%)\n"; } @@ -772,12 +802,12 @@ static wgpu::Buffer ggml_webgpu_tensor_buf(const ggml_tensor * tensor) { static size_t ggml_webgpu_tensor_misalignment(webgpu_context & ctx, const ggml_tensor * t) { size_t offset = ggml_webgpu_tensor_offset(t); - return offset & (ctx->limits.minStorageBufferOffsetAlignment - 1); + return offset & (ctx->global_ctx->capabilities.limits.minStorageBufferOffsetAlignment - 1); } static size_t ggml_webgpu_tensor_align_offset(webgpu_context & ctx, const ggml_tensor * t) { size_t offset = ggml_webgpu_tensor_offset(t); - return offset & ~(ctx->limits.minStorageBufferOffsetAlignment - 1); + return offset & ~(ctx->global_ctx->capabilities.limits.minStorageBufferOffsetAlignment - 1); } static size_t ggml_webgpu_tensor_binding_size(webgpu_context & ctx, ggml_tensor * t) { @@ -818,28 +848,30 @@ static webgpu_command ggml_webgpu_cpy(webgpu_context & ctx, ggml_tensor * src, g }; uint32_t wg_x = CEIL_DIV(ne, WEBGPU_MAX_WG_SIZE); - return ggml_backend_webgpu_build(ctx, ctx->cpy_pipelines[src->type][dst->type], params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, ctx->cpy_pipelines[src->type][dst->type], + params, entries, wg_x); } static webgpu_command ggml_webgpu_pad(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { const bool circular = ggml_get_op_params_i32(dst, 8) != 0; ggml_webgpu_pad_pipeline_key pipeline_key = { .circular = circular }; - ggml_webgpu_pad_shader_lib_context shader_lib_ctx = { .key = pipeline_key, - .max_wg_size = - ctx->limits.maxComputeInvocationsPerWorkgroup }; + ggml_webgpu_pad_shader_lib_context shader_lib_ctx = { + .key = pipeline_key, .max_wg_size = ctx->global_ctx->capabilities.limits.maxComputeInvocationsPerWorkgroup + }; webgpu_pipeline pipeline; { // TODO: remove guard once pipeline caches are per-thread - std::lock_guard lock(ctx->mutex); + std::lock_guard lock(ctx->global_ctx->mutex); auto it = ctx->pad_pipelines.find(pipeline_key); if (it != ctx->pad_pipelines.end()) { pipeline = it->second; } else { ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_pad_shader(ctx->p, wgsl_pad, shader_lib_ctx); - pipeline = ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); pipeline.context = processed.decisions; ctx->pad_pipelines.emplace(pipeline_key, pipeline); } @@ -891,7 +923,7 @@ static webgpu_command ggml_webgpu_pad(webgpu_context & ctx, ggml_tensor * src, g }; uint32_t wg_x = CEIL_DIV(ne, decisions.wg_size); - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } static std::optional ggml_webgpu_set_rows(webgpu_context & ctx, @@ -907,21 +939,22 @@ static std::optional ggml_webgpu_set_rows(webgpu_context & ctx, .vec4 = src->ne[0] % 4 == 0, .i64_idx = idx->type == GGML_TYPE_I64 }; - ggml_webgpu_set_rows_shader_lib_context shader_lib_ctx = { .key = key, - .max_wg_size = - ctx->limits.maxComputeInvocationsPerWorkgroup }; + ggml_webgpu_set_rows_shader_lib_context shader_lib_ctx = { + .key = key, .max_wg_size = ctx->global_ctx->capabilities.limits.maxComputeInvocationsPerWorkgroup + }; webgpu_pipeline pipeline; // TODO: remove guard once pipeline caches are per-thread { - std::lock_guard lock(ctx->mutex); + std::lock_guard lock(ctx->global_ctx->mutex); auto it = ctx->set_rows_pipelines.find(key); if (it != ctx->set_rows_pipelines.end()) { pipeline = it->second; } else { ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_set_rows_shader(ctx->p, wgsl_set_rows, shader_lib_ctx); - pipeline = ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); pipeline.context = processed.decisions; ctx->set_rows_pipelines.emplace(key, pipeline); } @@ -981,7 +1014,8 @@ static std::optional ggml_webgpu_set_rows(webgpu_context & ctx, threads = src->ne[0] * src->ne[1] * src->ne[2] * src->ne[3]; } uint32_t wg_x = CEIL_DIV(threads, decisions.wg_size); - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x, 1, error_bufs); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x, 1, + error_bufs); } static webgpu_command ggml_webgpu_get_rows(webgpu_context & ctx, @@ -1023,7 +1057,7 @@ static webgpu_command ggml_webgpu_get_rows(webgpu_context & ctx, uint32_t vectorized = src->type == GGML_TYPE_F32 && dst->ne[0] % 4 == 0; webgpu_pipeline pipeline = ctx->get_rows_pipelines[src->type][vectorized]; - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } static webgpu_command ggml_webgpu_mul_mat(webgpu_context & ctx, @@ -1098,19 +1132,21 @@ static webgpu_command ggml_webgpu_mul_mat(webgpu_context & ctx, uint32_t batches = dst->ne[2] * dst->ne[3]; uint32_t output_groups = CEIL_DIV(dst->ne[0], WEBGPU_MUL_MAT_VEC_OUTPUTS_PER_WG); uint32_t total_wg = output_groups * batches; - wg_x = total_wg % ctx->limits.maxComputeWorkgroupsPerDimension; - wg_y = CEIL_DIV(total_wg, ctx->limits.maxComputeWorkgroupsPerDimension); + wg_x = total_wg % ctx->global_ctx->capabilities.limits.maxComputeWorkgroupsPerDimension; + wg_y = CEIL_DIV(total_wg, ctx->global_ctx->capabilities.limits.maxComputeWorkgroupsPerDimension); } else { pipeline = ctx->mul_mat_pipelines[src0->type][src1->type][vectorized]; uint32_t wg_m; uint32_t wg_n; #ifndef __EMSCRIPTEN__ - if (ctx->supports_subgroup_matrix) { + if (ctx->global_ctx->capabilities.supports_subgroup_matrix) { // The total number of subgroups/workgroups needed per matrix. - uint32_t wg_m_sg_tile = WEBGPU_MUL_MAT_SUBGROUP_M * WEBGPU_MUL_MAT_SUBGROUP_MATRIX_M * ctx->sg_mat_m; + uint32_t wg_m_sg_tile = WEBGPU_MUL_MAT_SUBGROUP_M * WEBGPU_MUL_MAT_SUBGROUP_MATRIX_M * + ctx->global_ctx->capabilities.sg_mat_m; wg_m = CEIL_DIV(dst->ne[0], wg_m_sg_tile); - uint32_t wg_n_sg_tile = WEBGPU_MUL_MAT_SUBGROUP_N * WEBGPU_MUL_MAT_SUBGROUP_MATRIX_N * ctx->sg_mat_n; - wg_n = CEIL_DIV(dst->ne[1], wg_n_sg_tile); + uint32_t wg_n_sg_tile = WEBGPU_MUL_MAT_SUBGROUP_N * WEBGPU_MUL_MAT_SUBGROUP_MATRIX_N * + ctx->global_ctx->capabilities.sg_mat_n; + wg_n = CEIL_DIV(dst->ne[1], wg_n_sg_tile); } else { #endif uint32_t tile_m_s = WEBGPU_MUL_MAT_TILE_M * WEBGPU_MUL_MAT_WG_SIZE_M; @@ -1124,9 +1160,10 @@ static webgpu_command ggml_webgpu_mul_mat(webgpu_context & ctx, wg_x = wg_m * wg_n * dst->ne[2] * dst->ne[3]; } } - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x, wg_y); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x, wg_y); } +#ifndef __EMSCRIPTEN__ static webgpu_command ggml_webgpu_flash_attn(webgpu_context & ctx, ggml_tensor * Q, ggml_tensor * K, @@ -1210,8 +1247,8 @@ static webgpu_command ggml_webgpu_flash_attn(webgpu_context & ctx, .offset = ggml_webgpu_tensor_align_offset(ctx, dst), .size = ggml_webgpu_tensor_binding_size(ctx, dst) }); - bool kv_direct = - (K->type == GGML_TYPE_F16) && (Q->ne[0] % ctx->sg_mat_k == 0) && (K->ne[1] % GGML_WEBGPU_KV_SEQ_PAD == 0); + bool kv_direct = (K->type == GGML_TYPE_F16) && (Q->ne[0] % ctx->global_ctx->capabilities.sg_mat_k == 0) && + (K->ne[1] % GGML_WEBGPU_KV_SEQ_PAD == 0); ggml_webgpu_flash_attn_pipeline_key key = { .kv_type = K->type, @@ -1223,25 +1260,27 @@ static webgpu_command ggml_webgpu_flash_attn(webgpu_context & ctx, .uses_logit_softcap = logit_softcap != 0.0f, }; - webgpu_pipeline pipeline; + webgpu_pipeline pipeline; // TODO: remove guard once pipeline caches are per-thread { - std::lock_guard lock(ctx->mutex); + std::lock_guard lock(ctx->global_ctx->mutex); auto it = ctx->flash_attn_pipelines.find(key); if (it != ctx->flash_attn_pipelines.end()) { - pipeline = it->second; + pipeline = it->second; } else { - ggml_webgpu_flash_attn_shader_lib_context shader_lib_ctx = { .key = key, - .sg_mat_m = ctx->sg_mat_m, - .sg_mat_n = ctx->sg_mat_n, - .sg_mat_k = ctx->sg_mat_k, - .wg_mem_limit_bytes = - ctx->limits.maxComputeWorkgroupStorageSize, - .max_subgroup_size = ctx->max_subgroup_size }; + ggml_webgpu_flash_attn_shader_lib_context shader_lib_ctx = { + .key = key, + .sg_mat_m = ctx->global_ctx->capabilities.sg_mat_m, + .sg_mat_n = ctx->global_ctx->capabilities.sg_mat_n, + .sg_mat_k = ctx->global_ctx->capabilities.sg_mat_k, + .wg_mem_limit_bytes = ctx->global_ctx->capabilities.limits.maxComputeWorkgroupStorageSize, + .max_subgroup_size = ctx->global_ctx->capabilities.max_subgroup_size + }; ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_flash_attn_shader(ctx->p, wgsl_flash_attn, shader_lib_ctx); - pipeline = ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); pipeline.context = processed.decisions; ctx->flash_attn_pipelines.emplace(key, pipeline); } @@ -1250,11 +1289,11 @@ static webgpu_command ggml_webgpu_flash_attn(webgpu_context & ctx, ggml_webgpu_flash_attn_shader_decisions decisions = *static_cast(pipeline.context); - uint32_t wg_per_head = CEIL_DIV(Q->ne[1], decisions.q_tile); uint32_t wg_x = wg_per_head * Q->ne[2] * Q->ne[3]; // wg per head * number of heads * number of batches - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } +#endif static webgpu_command ggml_webgpu_unary_op(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { bool is_unary = dst->op == GGML_OP_UNARY; @@ -1264,21 +1303,22 @@ static webgpu_command ggml_webgpu_unary_op(webgpu_context & ctx, ggml_tensor * s ggml_webgpu_unary_pipeline_key pipeline_key = { .type = dst->type, .op = op, .is_unary = is_unary, .inplace = inplace }; - ggml_webgpu_unary_shader_lib_context shader_lib_ctx = { .key = pipeline_key, - .max_wg_size = - ctx->limits.maxComputeInvocationsPerWorkgroup }; + ggml_webgpu_unary_shader_lib_context shader_lib_ctx = { + .key = pipeline_key, .max_wg_size = ctx->global_ctx->capabilities.limits.maxComputeInvocationsPerWorkgroup + }; webgpu_pipeline pipeline; { // TODO: remove guard once pipeline caches are per-thread - std::lock_guard lock(ctx->mutex); + std::lock_guard lock(ctx->global_ctx->mutex); auto it = ctx->unary_pipelines.find(pipeline_key); if (it != ctx->unary_pipelines.end()) { pipeline = it->second; } else { ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_unary_shader(ctx->p, wgsl_unary, shader_lib_ctx); - pipeline = ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); pipeline.context = processed.decisions; ctx->unary_pipelines.emplace(pipeline_key, pipeline); } @@ -1346,7 +1386,7 @@ static webgpu_command ggml_webgpu_unary_op(webgpu_context & ctx, ggml_tensor * s } uint32_t wg_x = CEIL_DIV(ne, decisions.wg_size); - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } static webgpu_command ggml_webgpu_binary_op(webgpu_context & ctx, @@ -1391,7 +1431,7 @@ static webgpu_command ggml_webgpu_binary_op(webgpu_context & ctx, } uint32_t wg_x = CEIL_DIV(ggml_nelements(dst), WEBGPU_MAX_WG_SIZE); - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } static webgpu_command ggml_webgpu_rms_norm(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { @@ -1426,7 +1466,8 @@ static webgpu_command ggml_webgpu_rms_norm(webgpu_context & ctx, ggml_tensor * s .size = ggml_webgpu_tensor_binding_size(ctx, dst) }); } - return ggml_backend_webgpu_build(ctx, ctx->rms_norm_pipelines[inplace], params, entries, ggml_nrows(src)); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, ctx->rms_norm_pipelines[inplace], params, + entries, ggml_nrows(src)); } static webgpu_command ggml_webgpu_rope(webgpu_context & ctx, @@ -1513,7 +1554,7 @@ static webgpu_command ggml_webgpu_rope(webgpu_context & ctx, webgpu_pipeline pipeline = ctx->rope_pipelines[dst->type][has_freq_factor][inplace]; uint32_t wg_x = CEIL_DIV(ggml_nelements(dst), WEBGPU_MAX_WG_SIZE); - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } static webgpu_command ggml_webgpu_glu(webgpu_context & ctx, ggml_tensor * src0, ggml_tensor * src1, ggml_tensor * dst) { @@ -1565,7 +1606,7 @@ static webgpu_command ggml_webgpu_glu(webgpu_context & ctx, ggml_tensor * src0, webgpu_pipeline pipeline = ctx->glu_pipelines[ggml_get_glu_op(dst)][dst->type][split]; uint32_t wg_x = CEIL_DIV(ggml_nelements(dst), WEBGPU_MAX_WG_SIZE); - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } static webgpu_command ggml_webgpu_scale(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { @@ -1602,7 +1643,8 @@ static webgpu_command ggml_webgpu_scale(webgpu_context & ctx, ggml_tensor * src, } uint32_t wg_x = CEIL_DIV(ggml_nelements(dst), WEBGPU_MAX_WG_SIZE); - return ggml_backend_webgpu_build(ctx, ctx->scale_pipelines[inplace], params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, ctx->scale_pipelines[inplace], params, + entries, wg_x); } static webgpu_command ggml_webgpu_soft_max(webgpu_context & ctx, @@ -1674,7 +1716,8 @@ static webgpu_command ggml_webgpu_soft_max(webgpu_context & ctx, .size = ggml_webgpu_tensor_binding_size(ctx, dst) }); } - return ggml_backend_webgpu_build(ctx, ctx->soft_max_pipelines[mask_type][has_sink][inplace], params, entries, + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, + ctx->soft_max_pipelines[mask_type][has_sink][inplace], params, entries, ggml_nrows(dst)); } @@ -1696,25 +1739,26 @@ static webgpu_command ggml_webgpu_argmax(webgpu_context & ctx, ggml_tensor * src ggml_webgpu_generic_shader_lib_context shader_lib_ctx = { .vec4 = src->ne[0] % 4 == 0, - .max_wg_size = ctx->limits.maxComputeInvocationsPerWorkgroup, + .max_wg_size = ctx->global_ctx->capabilities.limits.maxComputeInvocationsPerWorkgroup, }; webgpu_pipeline pipeline; { // TODO: remove guard once pipeline caches are per-thread - std::lock_guard lock(ctx->mutex); + std::lock_guard lock(ctx->global_ctx->mutex); auto it = ctx->argmax_pipelines.find(shader_lib_ctx.vec4); if (it != ctx->argmax_pipelines.end()) { pipeline = it->second; } else { ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_generic_shader(ctx->p, wgsl_argmax, shader_lib_ctx, "argmax"); - pipeline = ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); ctx->argmax_pipelines.emplace(shader_lib_ctx.vec4, pipeline); } } uint32_t wg_x = ggml_nelements(dst); - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { @@ -1722,13 +1766,13 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr // ascending order is 0, descending order is 1 const int32_t order = is_top_k ? (int32_t) GGML_SORT_ORDER_DESC : (int32_t) ggml_get_op_params_i32(dst, 0); - ggml_webgpu_argsort_shader_lib_context shader_lib_ctx = { .max_wg_size = - ctx->limits.maxComputeInvocationsPerWorkgroup, - .wg_mem_limit_bytes = - ctx->limits.maxComputeWorkgroupStorageSize, - .order = order }; + ggml_webgpu_argsort_shader_lib_context shader_lib_ctx = { + .max_wg_size = ctx->global_ctx->capabilities.limits.maxComputeInvocationsPerWorkgroup, + .wg_mem_limit_bytes = ctx->global_ctx->capabilities.limits.maxComputeWorkgroupStorageSize, + .order = order + }; - std::lock_guard lock(ctx->mutex); + std::lock_guard lock(ctx->global_ctx->mutex); webgpu_pipeline argsort_pipeline; auto it = ctx->argsort_pipelines.find(order); if (it != ctx->argsort_pipelines.end()) { @@ -1736,7 +1780,8 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr } else { ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_argsort_shader(ctx->p, wgsl_argsort, shader_lib_ctx); - argsort_pipeline = ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + argsort_pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); argsort_pipeline.context = processed.decisions; ctx->argsort_pipelines.emplace(order, argsort_pipeline); } @@ -1751,7 +1796,7 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_argsort_merge_shader(ctx->p, wgsl_argsort_merge, shader_lib_ctx); argsort_merge_pipeline = - ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); argsort_merge_pipeline.context = processed.decisions; ctx->argsort_merge_pipelines.emplace(order, argsort_merge_pipeline); } @@ -1780,9 +1825,10 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr const bool start_in_tmp = (merge_passes % 2) == 1; - const size_t dst_offset = ggml_webgpu_tensor_offset(dst); - const size_t idx_nbytes = out_ne0 * ggml_nrows(dst) * sizeof(int32_t); - const size_t tmp_offset = ROUNDUP_POW2(dst_offset + idx_nbytes, ctx->limits.minStorageBufferOffsetAlignment); + const size_t dst_offset = ggml_webgpu_tensor_offset(dst); + const size_t idx_nbytes = out_ne0 * ggml_nrows(dst) * sizeof(int32_t); + const size_t tmp_offset = + ROUNDUP_POW2(dst_offset + idx_nbytes, ctx->global_ctx->capabilities.limits.minStorageBufferOffsetAlignment); const size_t tmp_binding_size = ROUNDUP_POW2(idx_nbytes, WEBGPU_STORAGE_BUF_BINDING_MULT); const size_t dst_binding_size = ROUNDUP_POW2(idx_nbytes + ggml_webgpu_tensor_misalignment(ctx, dst), WEBGPU_STORAGE_BUF_BINDING_MULT); @@ -1813,10 +1859,10 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr }; const uint32_t total_wg_init = npr * nrows; - const uint32_t max_wg = ctx->limits.maxComputeWorkgroupsPerDimension; - const uint32_t wg_x_init = std::min(total_wg_init, max_wg); - const uint32_t wg_y_init = CEIL_DIV(total_wg_init, wg_x_init); - std::vector init_entries = { + const uint32_t max_wg = ctx->global_ctx->capabilities.limits.maxComputeWorkgroupsPerDimension; + const uint32_t wg_x_init = std::min(total_wg_init, max_wg); + const uint32_t wg_y_init = CEIL_DIV(total_wg_init, wg_x_init); + std::vector init_entries = { { .binding = 0, .buffer = ggml_webgpu_tensor_buf(src), .offset = ggml_webgpu_tensor_align_offset(ctx, src), @@ -1830,7 +1876,8 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr workgroups_list.push_back({ wg_x_init, wg_y_init }); if (merge_passes == 0) { - return ggml_backend_webgpu_build_multi(ctx, pipelines, params_list, entries_list, workgroups_list); + return ggml_backend_webgpu_build_multi(ctx->global_ctx, ctx->param_buf_pool, pipelines, params_list, + entries_list, workgroups_list); } bool in_is_tmp = start_in_tmp; @@ -1891,7 +1938,8 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr in_is_tmp = !in_is_tmp; } - return ggml_backend_webgpu_build_multi(ctx, pipelines, params_list, entries_list, workgroups_list); + return ggml_backend_webgpu_build_multi(ctx->global_ctx, ctx->param_buf_pool, pipelines, params_list, entries_list, + workgroups_list); } static webgpu_command ggml_webgpu_cumsum(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { @@ -1912,24 +1960,25 @@ static webgpu_command ggml_webgpu_cumsum(webgpu_context & ctx, ggml_tensor * src ggml_webgpu_generic_shader_lib_context shader_lib_ctx = { .vec4 = false, - .max_wg_size = ctx->limits.maxComputeInvocationsPerWorkgroup, + .max_wg_size = ctx->global_ctx->capabilities.limits.maxComputeInvocationsPerWorkgroup, }; webgpu_pipeline pipeline; // TODO: remove guard once pipeline caches are per-thread { - std::lock_guard lock(ctx->mutex); + std::lock_guard lock(ctx->global_ctx->mutex); auto it = ctx->cumsum_pipelines.find(1); if (it != ctx->cumsum_pipelines.end()) { pipeline = it->second; } else { ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_generic_shader(ctx->p, wgsl_cumsum, shader_lib_ctx, "cumsum"); - pipeline = ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); ctx->cumsum_pipelines.emplace(1, pipeline); } } uint32_t wg_x = ggml_nrows(dst); - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } static webgpu_command ggml_webgpu_sum_rows(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) { @@ -1956,25 +2005,26 @@ static webgpu_command ggml_webgpu_sum_rows(webgpu_context & ctx, ggml_tensor * s ggml_webgpu_generic_shader_lib_context shader_lib_ctx = { .vec4 = false, - .max_wg_size = ctx->limits.maxComputeInvocationsPerWorkgroup, + .max_wg_size = ctx->global_ctx->capabilities.limits.maxComputeInvocationsPerWorkgroup, }; webgpu_pipeline pipeline; { // TODO: remove guard once pipeline caches are per-thread - std::lock_guard lock(ctx->mutex); + std::lock_guard lock(ctx->global_ctx->mutex); auto it = ctx->sum_rows_pipelines.find(1); if (it != ctx->sum_rows_pipelines.end()) { pipeline = it->second; } else { ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_generic_shader(ctx->p, wgsl_sum_rows, shader_lib_ctx, "sum_rows"); - pipeline = ggml_webgpu_create_pipeline(ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); ctx->sum_rows_pipelines.emplace(1, pipeline); } } uint32_t wg_x = total_sum ? 1 : ggml_nrows(dst); - return ggml_backend_webgpu_build(ctx, pipeline, params, entries, wg_x); + return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } // Returns the encoded command, or std::nullopt if the operation is a no-op @@ -2009,7 +2059,11 @@ static std::optional ggml_webgpu_encode_node(webgpu_context ctx, case GGML_OP_MUL_MAT: return ggml_webgpu_mul_mat(ctx, src0, src1, node); case GGML_OP_FLASH_ATTN_EXT: +#ifndef __EMSCRIPTEN__ return ggml_webgpu_flash_attn(ctx, src0, src1, src2, node->src[3], node->src[4], node); +#else + return std::nullopt; +#endif case GGML_OP_ADD: { int inplace = ggml_webgpu_tensor_equal(src0, node); @@ -2070,12 +2124,12 @@ static std::optional ggml_webgpu_encode_node(webgpu_context ctx, static ggml_status ggml_backend_webgpu_graph_compute(ggml_backend_t backend, struct ggml_cgraph * cgraph) { WEBGPU_LOG_DEBUG("ggml_backend_webgpu_graph_compute(" << cgraph->n_nodes << " nodes)"); - ggml_backend_webgpu_context * backend_ctx = static_cast(backend->context); + ggml_backend_webgpu_context * backend_ctx = (ggml_backend_webgpu_context *) backend->context; webgpu_context ctx = backend_ctx->webgpu_ctx; WEBGPU_CPU_PROFILE_TOTAL_START(graph_compute); - ctx->inflight_threads++; + ctx->global_ctx->inflight_threads++; std::vector commands; std::vector futures; @@ -2084,25 +2138,27 @@ static ggml_status ggml_backend_webgpu_graph_compute(ggml_backend_t backend, str commands.push_back(*cmd); } // compute the batch size based on the number of inflight threads - uint32_t inflight_threads = ctx->inflight_threads; + uint32_t inflight_threads = ctx->global_ctx->inflight_threads; uint32_t batch_size = std::min(std::max(1u, WEBGPU_NUM_PARAM_BUFS / std::max(inflight_threads, 1u)), WEBGPU_COMMAND_SUBMIT_BATCH_SIZE); if (commands.size() >= batch_size) { - futures.push_back(ggml_backend_webgpu_submit(ctx, commands)); + futures.push_back(ggml_backend_webgpu_submit(ctx->global_ctx, commands, ctx->param_buf_pool, + &ctx->set_rows_error_buf_pool)); // Process events and check for completed submissions - ctx->instance.ProcessEvents(); - ggml_backend_webgpu_wait(ctx, futures, false); + ctx->global_ctx->instance.ProcessEvents(); + ggml_backend_webgpu_wait(ctx->global_ctx, futures, false); commands.clear(); } } if (!commands.empty()) { - webgpu_submission_futures new_futures = ggml_backend_webgpu_submit(ctx, commands); + webgpu_submission_futures new_futures = + ggml_backend_webgpu_submit(ctx->global_ctx, commands, ctx->param_buf_pool, &ctx->set_rows_error_buf_pool); futures.push_back(new_futures); } - ggml_backend_webgpu_wait(ctx, futures); - ctx->inflight_threads--; - WEBGPU_CPU_PROFILE_TOTAL_END(graph_compute, ctx); + ggml_backend_webgpu_wait(ctx->global_ctx, futures); + ctx->global_ctx->inflight_threads--; + WEBGPU_CPU_PROFILE_TOTAL_END(graph_compute, ctx->global_ctx); return GGML_STATUS_SUCCESS; } @@ -2159,8 +2215,8 @@ static void ggml_backend_webgpu_buffer_memset_tensor(ggml_backend_buffer_t buffe // This is a trick to set all bytes of a u32 to the same 1 byte value. uint32_t val32 = (uint32_t) value * 0x01010101; - ggml_backend_webgpu_buffer_memset(buf_ctx->webgpu_ctx, buf_ctx->buffer, val32, total_offset, size); - WEBGPU_CPU_PROFILE_TOTAL_END(memset_tensor, buf_ctx->webgpu_ctx); + ggml_backend_webgpu_buffer_memset(buf_ctx->global_ctx, buf_ctx->buffer, val32, total_offset, size); + WEBGPU_CPU_PROFILE_TOTAL_END(memset_tensor, buf_ctx->global_ctx); } static void ggml_backend_webgpu_buffer_set_tensor(ggml_backend_buffer_t buffer, @@ -2169,15 +2225,14 @@ static void ggml_backend_webgpu_buffer_set_tensor(ggml_backend_buffer_t buffer, size_t offset, size_t size) { WEBGPU_CPU_PROFILE_TOTAL_START(set_tensor); - ggml_backend_webgpu_buffer_context * buf_ctx = (ggml_backend_webgpu_buffer_context *) buffer->context; - webgpu_context webgpu_ctx = buf_ctx->webgpu_ctx; + ggml_backend_webgpu_buffer_context * buf_ctx = (ggml_backend_webgpu_buffer_context *) buffer->context; WEBGPU_LOG_DEBUG("ggml_backend_webgpu_buffer_set_tensor(" << buf_ctx->label << ", " << tensor << ", " << data << ", " << offset << ", " << size << ")"); size_t total_offset = webgpu_tensor_offset(tensor) + tensor->view_offs + offset; - webgpu_ctx->queue.WriteBuffer(buf_ctx->buffer, total_offset, data, (size / 4) * 4); + buf_ctx->global_ctx->queue.WriteBuffer(buf_ctx->buffer, total_offset, data, (size / 4) * 4); if (size % 4 != 0) { // If size is not a multiple of 4, we need to memset the remaining bytes @@ -2190,21 +2245,21 @@ static void ggml_backend_webgpu_buffer_set_tensor(ggml_backend_buffer_t buffer, ((uint8_t *) &val32)[i] = ((const uint8_t *) data)[size - remaining_size + i]; } // memset the remaining bytes - ggml_backend_webgpu_buffer_memset(webgpu_ctx, buf_ctx->buffer, val32, total_offset + (size - remaining_size), - remaining_size); + ggml_backend_webgpu_buffer_memset(buf_ctx->global_ctx, buf_ctx->buffer, val32, + total_offset + (size - remaining_size), remaining_size); } else { // wait for WriteBuffer to complete - webgpu_ctx->instance.WaitAny( - webgpu_ctx->queue.OnSubmittedWorkDone(wgpu::CallbackMode::AllowSpontaneous, + buf_ctx->global_ctx->instance.WaitAny(buf_ctx->global_ctx->queue.OnSubmittedWorkDone( + wgpu::CallbackMode::AllowSpontaneous, [](wgpu::QueueWorkDoneStatus status, wgpu::StringView message) { if (status != wgpu::QueueWorkDoneStatus::Success) { GGML_LOG_ERROR("ggml_webgpu: Failed to submit commands: %s\n", std::string(message).c_str()); } }), - UINT64_MAX); + UINT64_MAX); } - WEBGPU_CPU_PROFILE_TOTAL_END(set_tensor, webgpu_ctx); + WEBGPU_CPU_PROFILE_TOTAL_END(set_tensor, buf_ctx->global_ctx); } static void ggml_backend_webgpu_buffer_get_tensor(ggml_backend_buffer_t buffer, @@ -2216,8 +2271,7 @@ static void ggml_backend_webgpu_buffer_get_tensor(ggml_backend_buffer_t buffer, ggml_backend_webgpu_buffer_context * buf_ctx = (ggml_backend_webgpu_buffer_context *) buffer->context; WEBGPU_LOG_DEBUG("ggml_backend_webgpu_buffer_get_tensor(" << buf_ctx->label << ", " << tensor << ", " << data << ", " << offset << ", " << size << ")"); - webgpu_context webgpu_ctx = buf_ctx->webgpu_ctx; - wgpu::Device device = webgpu_ctx->device; + wgpu::Device device = buf_ctx->global_ctx->device; size_t total_offset = webgpu_tensor_offset(tensor) + tensor->view_offs + offset; @@ -2227,42 +2281,45 @@ static void ggml_backend_webgpu_buffer_get_tensor(ggml_backend_buffer_t buffer, final_size = size + (4 - (size % 4)); } - std::lock_guard lock(webgpu_ctx->mutex); + std::lock_guard lock(buf_ctx->global_ctx->mutex); - if (webgpu_ctx->get_tensor_staging_buf == nullptr || webgpu_ctx->get_tensor_staging_buf.GetSize() < final_size) { + if (buf_ctx->global_ctx->get_tensor_staging_buf == nullptr || + buf_ctx->global_ctx->get_tensor_staging_buf.GetSize() < final_size) { // Create a new staging buffer if it doesn't exist or is too small - if (webgpu_ctx->get_tensor_staging_buf) { - webgpu_ctx->get_tensor_staging_buf.Destroy(); + if (buf_ctx->global_ctx->get_tensor_staging_buf) { + buf_ctx->global_ctx->get_tensor_staging_buf.Destroy(); } - ggml_webgpu_create_buffer(device, webgpu_ctx->get_tensor_staging_buf, final_size, + ggml_webgpu_create_buffer(device, buf_ctx->global_ctx->get_tensor_staging_buf, final_size, wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead, "get_tensor_staging_buf"); } // Copy the data from the buffer to the staging buffer wgpu::CommandEncoder encoder = device.CreateCommandEncoder(); - encoder.CopyBufferToBuffer(buf_ctx->buffer, total_offset, webgpu_ctx->get_tensor_staging_buf, 0, final_size); + encoder.CopyBufferToBuffer(buf_ctx->buffer, total_offset, buf_ctx->global_ctx->get_tensor_staging_buf, 0, + final_size); wgpu::CommandBuffer commands = encoder.Finish(); // Submit the command buffer to the queue - webgpu_ctx->queue.Submit(1, &commands); + buf_ctx->global_ctx->queue.Submit(1, &commands); // Map the staging buffer to read the data - ggml_backend_webgpu_map_buffer(webgpu_ctx, webgpu_ctx->get_tensor_staging_buf, wgpu::MapMode::Read, 0, final_size); + ggml_backend_webgpu_map_buffer(buf_ctx->global_ctx, buf_ctx->global_ctx->get_tensor_staging_buf, + wgpu::MapMode::Read, 0, final_size); // Must specify size here since the staging buffer might be larger than the tensor size - const void * mapped_range = webgpu_ctx->get_tensor_staging_buf.GetConstMappedRange(0, final_size); + const void * mapped_range = buf_ctx->global_ctx->get_tensor_staging_buf.GetConstMappedRange(0, final_size); // Copy the data from the mapped range to the output buffer std::memcpy(data, mapped_range, size); - webgpu_ctx->get_tensor_staging_buf.Unmap(); - WEBGPU_CPU_PROFILE_TOTAL_END(get_tensor, webgpu_ctx); + buf_ctx->global_ctx->get_tensor_staging_buf.Unmap(); + WEBGPU_CPU_PROFILE_TOTAL_END(get_tensor, buf_ctx->global_ctx); } static void ggml_backend_webgpu_buffer_clear(ggml_backend_buffer_t buffer, uint8_t value) { WEBGPU_LOG_DEBUG("ggml_backend_webgpu_buffer_clear(" << buffer << ", " << (uint32_t) value << ")"); WEBGPU_CPU_PROFILE_TOTAL_START(clear); ggml_backend_webgpu_buffer_context * buf_ctx = (ggml_backend_webgpu_buffer_context *) buffer->context; - ggml_backend_webgpu_buffer_memset(buf_ctx->webgpu_ctx, buf_ctx->buffer, value, 0, buffer->size); - WEBGPU_CPU_PROFILE_TOTAL_END(clear, buf_ctx->webgpu_ctx); + ggml_backend_webgpu_buffer_memset(buf_ctx->global_ctx, buf_ctx->buffer, value, 0, buffer->size); + WEBGPU_CPU_PROFILE_TOTAL_END(clear, buf_ctx->global_ctx); } static ggml_backend_buffer_i ggml_backend_webgpu_buffer_interface = { @@ -2292,28 +2349,30 @@ static ggml_backend_buffer_t ggml_backend_webgpu_buffer_type_alloc_buffer(ggml_b int buffer_id = buffer_count++; std::string buf_name = "tensor_buf" + std::to_string(buffer_id); WEBGPU_LOG_DEBUG("ggml_backend_webgpu_buffer_type_alloc_buffer_" << buffer_id << ": " << size << " bytes"); - ggml_backend_webgpu_device_context * ctx = static_cast(buft->device->context); - wgpu::Buffer buf; - ggml_webgpu_create_buffer(ctx->webgpu_ctx->device, buf, ROUNDUP_POW2(size, WEBGPU_STORAGE_BUF_BINDING_MULT), + ggml_backend_webgpu_device_context * ctx = static_cast(buft->device->context); + wgpu::Buffer buf; + ggml_webgpu_create_buffer(ctx->webgpu_global_ctx->device, buf, ROUNDUP_POW2(size, WEBGPU_STORAGE_BUF_BINDING_MULT), wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::CopyDst, buf_name.c_str()); ggml_backend_webgpu_buffer_context * buf_ctx = - new ggml_backend_webgpu_buffer_context(ctx->webgpu_ctx, buf, buf_name); + new ggml_backend_webgpu_buffer_context(buf, buf_name, ctx->webgpu_global_ctx); return ggml_backend_buffer_init(buft, ggml_backend_webgpu_buffer_interface, buf_ctx, size); } static size_t ggml_backend_webgpu_buffer_type_get_alignment(ggml_backend_buffer_type_t buft) { - ggml_backend_webgpu_device_context * ctx = static_cast(buft->device->context); - return ctx->webgpu_ctx->limits.minStorageBufferOffsetAlignment; + ggml_backend_webgpu_device_context * dev_ctx = + static_cast(buft->device->context); + return dev_ctx->webgpu_global_ctx->capabilities.limits.minStorageBufferOffsetAlignment; } // maxBufferSize might be larger, but you can't bind more than maxStorageBufferBindingSize to a single binding. static size_t ggml_backend_webgpu_buffer_type_get_max_size(ggml_backend_buffer_type_t buft) { - ggml_backend_webgpu_device_context * ctx = static_cast(buft->device->context); - return ctx->webgpu_ctx->limits.maxStorageBufferBindingSize; + ggml_backend_webgpu_device_context * dev_ctx = + static_cast(buft->device->context); + return dev_ctx->webgpu_global_ctx->capabilities.limits.maxStorageBufferBindingSize; } static size_t ggml_backend_webgpu_buffer_type_get_alloc_size(ggml_backend_buffer_type_t buft, @@ -2322,7 +2381,7 @@ static size_t ggml_backend_webgpu_buffer_type_get_alloc_size(ggml_backend_buffer size_t res = ggml_nbytes(tensor); switch (tensor->op) { case GGML_OP_ARGSORT: - res = ROUNDUP_POW2(res * 2 + ctx->webgpu_ctx->limits.minStorageBufferOffsetAlignment, + res = ROUNDUP_POW2(res * 2 + ctx->webgpu_global_ctx->capabilities.limits.minStorageBufferOffsetAlignment, WEBGPU_STORAGE_BUF_BINDING_MULT); break; case GGML_OP_TOP_K: @@ -2330,8 +2389,9 @@ static size_t ggml_backend_webgpu_buffer_type_get_alloc_size(ggml_backend_buffer const ggml_tensor * src0 = tensor->src[0]; if (src0) { const size_t full = sizeof(int32_t) * ggml_nelements(src0); - res = ROUNDUP_POW2(full * 2 + ctx->webgpu_ctx->limits.minStorageBufferOffsetAlignment, - WEBGPU_STORAGE_BUF_BINDING_MULT); + res = ROUNDUP_POW2( + full * 2 + ctx->webgpu_global_ctx->capabilities.limits.minStorageBufferOffsetAlignment, + WEBGPU_STORAGE_BUF_BINDING_MULT); } } break; @@ -2359,7 +2419,7 @@ static void ggml_backend_webgpu_device_get_memory(ggml_backend_dev_t dev, size_t ggml_backend_webgpu_device_context * ctx = static_cast(dev->context); // TODO: for now, return maxBufferSize as both free and total memory // Track https://github.com/gpuweb/gpuweb/issues/5505 for updates. - uint64_t max_buffer_size = ctx->webgpu_ctx->limits.maxBufferSize; + uint64_t max_buffer_size = ctx->webgpu_global_ctx->capabilities.limits.maxBufferSize; // If we're on a 32-bit system, clamp to UINTPTR_MAX #if UINTPTR_MAX < UINT64_MAX uint64_t max_ptr_size = static_cast(UINTPTR_MAX); @@ -2402,66 +2462,67 @@ static std::vector ggml_webgpu_wg_size_entry(uint32_t wg_si return constants; } -static void ggml_webgpu_init_memset_pipeline(webgpu_context & webgpu_ctx) { +static void ggml_webgpu_init_memset_pipeline(webgpu_global_context & ctx) { // we use the maximum workgroup size for the memset pipeline - size_t max_threads = WEBGPU_MAX_WG_SIZE * webgpu_ctx->limits.maxComputeWorkgroupsPerDimension; + size_t max_threads = WEBGPU_MAX_WG_SIZE * ctx->capabilities.limits.maxComputeWorkgroupsPerDimension; // Size the bytes_per_thread so that the largest buffer size can be handled - webgpu_ctx->memset_bytes_per_thread = CEIL_DIV(webgpu_ctx->limits.maxStorageBufferBindingSize, max_threads); + ctx->capabilities.memset_bytes_per_thread = + CEIL_DIV(ctx->capabilities.limits.maxStorageBufferBindingSize, max_threads); std::vector constants(2); - constants[0].key = "wg_size"; - constants[0].value = WEBGPU_MAX_WG_SIZE; - constants[1].key = "bytes_per_thread"; - constants[1].value = webgpu_ctx->memset_bytes_per_thread; - webgpu_ctx->memset_pipelines[0] = ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_memset, "memset", constants); + constants[0].key = "wg_size"; + constants[0].value = WEBGPU_MAX_WG_SIZE; + constants[1].key = "bytes_per_thread"; + constants[1].value = ctx->capabilities.memset_bytes_per_thread; + ctx->memset_pipelines[0] = ggml_webgpu_create_pipeline(ctx->device, wgsl_memset, "memset", constants); } static void ggml_webgpu_init_mul_mat_pipeline(webgpu_context & webgpu_ctx) { // Q4/Q5/Q8 classic quantizations webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q4_0_f32, "mul_mat_q4_0_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q4_0_f32, "mul_mat_q4_0_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_1][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q4_1_f32, "mul_mat_q4_1_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q4_1_f32, "mul_mat_q4_1_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q5_0][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q5_0_f32, "mul_mat_q5_0_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q5_0_f32, "mul_mat_q5_0_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q5_1][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q5_1_f32, "mul_mat_q5_1_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q5_1_f32, "mul_mat_q5_1_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q8_0][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q8_0_f32, "mul_mat_q8_0_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q8_0_f32, "mul_mat_q8_0_f32"); // K-quantizations webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q2_K][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q2_k_f32, "mul_mat_q2_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q2_k_f32, "mul_mat_q2_k_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q3_K][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q3_k_f32, "mul_mat_q3_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q3_k_f32, "mul_mat_q3_k_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_K][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q4_k_f32, "mul_mat_q4_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q4_k_f32, "mul_mat_q4_k_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q5_K][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q5_k_f32, "mul_mat_q5_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q5_k_f32, "mul_mat_q5_k_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q6_K][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_q6_k_f32, "mul_mat_q6_k_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_q6_k_f32, "mul_mat_q6_k_f32"); // IQ quantizations (2-, 3-, 4-bit variants) webgpu_ctx->mul_mat_pipelines[GGML_TYPE_IQ2_XXS][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_iq2_xxs_f32, "mul_mat_iq2_xxs_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_iq2_xxs_f32, "mul_mat_iq2_xxs_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_IQ2_XS][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_iq2_xs_f32, "mul_mat_iq2_xs_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_iq2_xs_f32, "mul_mat_iq2_xs_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_IQ2_S][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_iq2_s_f32, "mul_mat_iq2_s_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_iq2_s_f32, "mul_mat_iq2_s_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_IQ3_XXS][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_iq3_xxs_f32, "mul_mat_iq3_xxs_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_iq3_xxs_f32, "mul_mat_iq3_xxs_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_IQ3_S][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_iq3_s_f32, "mul_mat_iq3_s_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_iq3_s_f32, "mul_mat_iq3_s_f32"); // 1-bit and 4-bit IQ variants webgpu_ctx->mul_mat_pipelines[GGML_TYPE_IQ1_S][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_iq1_s_f32, "mul_mat_iq1_s_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_iq1_s_f32, "mul_mat_iq1_s_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_IQ1_M][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_iq1_m_f32, "mul_mat_iq1_m_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_iq1_m_f32, "mul_mat_iq1_m_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_IQ4_NL][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_iq4_nl_f32, "mul_mat_iq4_nl_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_iq4_nl_f32, "mul_mat_iq4_nl_f32"); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_IQ4_XS][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_mat_iq4_xs_f32, "mul_mat_iq4_xs_f32"); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_mat_iq4_xs_f32, "mul_mat_iq4_xs_f32"); std::string proc_mul_mat_f32_f32; std::string proc_mul_mat_f32_f32_vec; @@ -2474,18 +2535,18 @@ static void ggml_webgpu_init_mul_mat_pipeline(webgpu_context & webgpu_ctx) { std::vector mul_mat_constants; #ifndef __EMSCRIPTEN__ - if (webgpu_ctx->supports_subgroup_matrix) { + if (webgpu_ctx->global_ctx->capabilities.supports_subgroup_matrix) { std::map sg_matrix_repls; - sg_matrix_repls["WEBGPU_MAX_SUBGROUP_SIZE"] = std::to_string(webgpu_ctx->max_subgroup_size); + sg_matrix_repls["WEBGPU_MAX_SUBGROUP_SIZE"] = + std::to_string(webgpu_ctx->global_ctx->capabilities.max_subgroup_size); sg_matrix_repls["WEBGPU_TILE_K"] = std::to_string(WEBGPU_MUL_MAT_TILE_K); sg_matrix_repls["WEBGPU_SUBGROUP_M"] = std::to_string(WEBGPU_MUL_MAT_SUBGROUP_M); sg_matrix_repls["WEBGPU_SUBGROUP_N"] = std::to_string(WEBGPU_MUL_MAT_SUBGROUP_N); sg_matrix_repls["WEBGPU_SUBGROUP_MATRIX_M"] = std::to_string(WEBGPU_MUL_MAT_SUBGROUP_MATRIX_M); sg_matrix_repls["WEBGPU_SUBGROUP_MATRIX_N"] = std::to_string(WEBGPU_MUL_MAT_SUBGROUP_MATRIX_N); - sg_matrix_repls["WEBGPU_SG_MAT_M_SIZE"] = std::to_string(webgpu_ctx->sg_mat_m); - sg_matrix_repls["WEBGPU_SG_MAT_N_SIZE"] = std::to_string(webgpu_ctx->sg_mat_n); - sg_matrix_repls["WEBGPU_SG_MAT_K_SIZE"] = std::to_string(webgpu_ctx->sg_mat_k); - + sg_matrix_repls["WEBGPU_SG_MAT_M_SIZE"] = std::to_string(webgpu_ctx->global_ctx->capabilities.sg_mat_m); + sg_matrix_repls["WEBGPU_SG_MAT_N_SIZE"] = std::to_string(webgpu_ctx->global_ctx->capabilities.sg_mat_n); + sg_matrix_repls["WEBGPU_SG_MAT_K_SIZE"] = std::to_string(webgpu_ctx->global_ctx->capabilities.sg_mat_k); proc_mul_mat_f32_f32 = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f32_f32, sg_matrix_repls); proc_mul_mat_f32_f32_vec = ggml_webgpu_process_shader_repls(wgsl_mul_mat_subgroup_matrix_f32_f32_vec, sg_matrix_repls); @@ -2522,21 +2583,21 @@ static void ggml_webgpu_init_mul_mat_pipeline(webgpu_context & webgpu_ctx) { #endif webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, proc_mul_mat_f32_f32.c_str(), "mul_mat_f32_f32", mul_mat_constants); + webgpu_ctx->global_ctx->device, proc_mul_mat_f32_f32.c_str(), "mul_mat_f32_f32", mul_mat_constants); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, proc_mul_mat_f32_f32_vec.c_str(), "mul_mat_f32_f32_vec", mul_mat_constants); + webgpu_ctx->global_ctx->device, proc_mul_mat_f32_f32_vec.c_str(), "mul_mat_f32_f32_vec", mul_mat_constants); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, proc_mul_mat_f16_f32.c_str(), "mul_mat_f16_f32", mul_mat_constants); + webgpu_ctx->global_ctx->device, proc_mul_mat_f16_f32.c_str(), "mul_mat_f16_f32", mul_mat_constants); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, proc_mul_mat_f16_f32_vec.c_str(), "mul_mat_f16_f32_vec", mul_mat_constants); + webgpu_ctx->global_ctx->device, proc_mul_mat_f16_f32_vec.c_str(), "mul_mat_f16_f32_vec", mul_mat_constants); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, proc_mul_mat_f16_f16.c_str(), "mul_mat_f16_f16", mul_mat_constants); + webgpu_ctx->global_ctx->device, proc_mul_mat_f16_f16.c_str(), "mul_mat_f16_f16", mul_mat_constants); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, proc_mul_mat_f16_f16_vec.c_str(), "mul_mat_f16_f16_vec", mul_mat_constants); + webgpu_ctx->global_ctx->device, proc_mul_mat_f16_f16_vec.c_str(), "mul_mat_f16_f16_vec", mul_mat_constants); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, proc_mul_mat_q4_0_f32.c_str(), "mul_mat_q4_0_f32", mul_mat_constants); + webgpu_ctx->global_ctx->device, proc_mul_mat_q4_0_f32.c_str(), "mul_mat_q4_0_f32", mul_mat_constants); webgpu_ctx->mul_mat_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, proc_mul_mat_q4_0_f32_vec.c_str(), "mul_mat_q4_0_f32_vec", mul_mat_constants); + webgpu_ctx->global_ctx->device, proc_mul_mat_q4_0_f32_vec.c_str(), "mul_mat_q4_0_f32_vec", mul_mat_constants); std::vector mul_mat_vec_constants(3); mul_mat_vec_constants[0].key = "WORKGROUP_SIZE"; @@ -2547,171 +2608,171 @@ static void ggml_webgpu_init_mul_mat_pipeline(webgpu_context & webgpu_ctx) { mul_mat_vec_constants[2].value = WEBGPU_MUL_MAT_VEC_OUTPUTS_PER_WG; webgpu_ctx->mul_mat_vec_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_mul_mat_vec_f32_f32, "mul_mat_vec_f32_f32", mul_mat_vec_constants); + webgpu_ctx->global_ctx->device, wgsl_mul_mat_vec_f32_f32, "mul_mat_vec_f32_f32", mul_mat_vec_constants); webgpu_ctx->mul_mat_vec_pipelines[GGML_TYPE_F32][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_mul_mat_vec_f32_f32_vec, "mul_mat_vec_f32_f32_vec", mul_mat_vec_constants); + webgpu_ctx->global_ctx->device, wgsl_mul_mat_vec_f32_f32_vec, "mul_mat_vec_f32_f32_vec", mul_mat_vec_constants); webgpu_ctx->mul_mat_vec_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_mul_mat_vec_f16_f32, "mul_mat_vec_f16_f32", mul_mat_vec_constants); + webgpu_ctx->global_ctx->device, wgsl_mul_mat_vec_f16_f32, "mul_mat_vec_f16_f32", mul_mat_vec_constants); webgpu_ctx->mul_mat_vec_pipelines[GGML_TYPE_F16][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_mul_mat_vec_f16_f32_vec, "mul_mat_vec_f16_f32_vec", mul_mat_vec_constants); + webgpu_ctx->global_ctx->device, wgsl_mul_mat_vec_f16_f32_vec, "mul_mat_vec_f16_f32_vec", mul_mat_vec_constants); webgpu_ctx->mul_mat_vec_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_mul_mat_vec_f16_f16, "mul_mat_vec_f16_f16", mul_mat_vec_constants); + webgpu_ctx->global_ctx->device, wgsl_mul_mat_vec_f16_f16, "mul_mat_vec_f16_f16", mul_mat_vec_constants); webgpu_ctx->mul_mat_vec_pipelines[GGML_TYPE_F16][GGML_TYPE_F16][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_mul_mat_vec_f16_f16_vec, "mul_mat_vec_f16_f16_vec", mul_mat_vec_constants); + webgpu_ctx->global_ctx->device, wgsl_mul_mat_vec_f16_f16_vec, "mul_mat_vec_f16_f16_vec", mul_mat_vec_constants); webgpu_ctx->mul_mat_vec_pipelines[GGML_TYPE_Q4_0][GGML_TYPE_F32][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_mul_mat_vec_q4_0_f32, "mul_mat_vec_q4_0_f32", mul_mat_vec_constants); + webgpu_ctx->global_ctx->device, wgsl_mul_mat_vec_q4_0_f32, "mul_mat_vec_q4_0_f32", mul_mat_vec_constants); } static void ggml_webgpu_init_get_rows_pipeline(webgpu_context & webgpu_ctx) { std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE); webgpu_ctx->get_rows_pipelines[GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_f32, "get_rows_f32", constants); - webgpu_ctx->get_rows_pipelines[GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_f32_vec, "get_rows_f32_vec", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_f32, "get_rows_f32", constants); + webgpu_ctx->get_rows_pipelines[GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_get_rows_f32_vec, "get_rows_f32_vec", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_f16, "get_rows_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_f16, "get_rows_f16", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_I32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_i32, "get_rows_i32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_i32, "get_rows_i32", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q4_0][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q4_0, "get_rows_q4_0", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q4_0, "get_rows_q4_0", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q4_1][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q4_1, "get_rows_q4_1", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q4_1, "get_rows_q4_1", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q5_0][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q5_0, "get_rows_q5_0", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q5_0, "get_rows_q5_0", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q5_1][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q5_1, "get_rows_q5_1", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q5_1, "get_rows_q5_1", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q8_0][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q8_0, "get_rows_q8_0", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q8_0, "get_rows_q8_0", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q2_K][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q2_k, "get_rows_q2_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q2_k, "get_rows_q2_k", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q3_K][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q3_k, "get_rows_q3_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q3_k, "get_rows_q3_k", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q4_K][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q4_k, "get_rows_q4_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q4_k, "get_rows_q4_k", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q5_K][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q5_k, "get_rows_q5_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q5_k, "get_rows_q5_k", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_Q6_K][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_q6_k, "get_rows_q6_k", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_q6_k, "get_rows_q6_k", constants); - webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ2_XXS][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_iq2_xxs, "get_rows_iq2_xxs", constants); + webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ2_XXS][0] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_get_rows_iq2_xxs, "get_rows_iq2_xxs", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ2_XS][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_iq2_xs, "get_rows_iq2_xs", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_iq2_xs, "get_rows_iq2_xs", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ2_S][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_iq2_s, "get_rows_iq2_s", constants); - webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ3_XXS][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_iq3_xxs, "get_rows_iq3_xxs", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_iq2_s, "get_rows_iq2_s", constants); + webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ3_XXS][0] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_get_rows_iq3_xxs, "get_rows_iq3_xxs", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ3_S][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_iq3_s, "get_rows_iq3_s", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_iq3_s, "get_rows_iq3_s", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ1_S][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_iq1_s, "get_rows_iq1_s", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_iq1_s, "get_rows_iq1_s", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ1_M][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_iq1_m, "get_rows_iq1_m", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_iq1_m, "get_rows_iq1_m", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ4_NL][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_iq4_nl, "get_rows_iq4_nl", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_iq4_nl, "get_rows_iq4_nl", constants); webgpu_ctx->get_rows_pipelines[GGML_TYPE_IQ4_XS][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_get_rows_iq4_xs, "get_rows_iq4_xs", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_get_rows_iq4_xs, "get_rows_iq4_xs", constants); } static void ggml_webgpu_init_cpy_pipeline(webgpu_context & webgpu_ctx) { std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE); webgpu_ctx->cpy_pipelines[GGML_TYPE_F32][GGML_TYPE_F32] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_cpy_f32_f32, "cpy_f32_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_cpy_f32_f32, "cpy_f32_f32", constants); webgpu_ctx->cpy_pipelines[GGML_TYPE_F32][GGML_TYPE_I32] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_cpy_f32_i32, "cpy_f32_i32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_cpy_f32_i32, "cpy_f32_i32", constants); webgpu_ctx->cpy_pipelines[GGML_TYPE_F32][GGML_TYPE_F16] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_cpy_f32_f16, "cpy_f32_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_cpy_f32_f16, "cpy_f32_f16", constants); webgpu_ctx->cpy_pipelines[GGML_TYPE_F16][GGML_TYPE_F32] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_cpy_f16_f32, "cpy_f16_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_cpy_f16_f32, "cpy_f16_f32", constants); webgpu_ctx->cpy_pipelines[GGML_TYPE_F16][GGML_TYPE_F16] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_cpy_f16_f16, "cpy_f16_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_cpy_f16_f16, "cpy_f16_f16", constants); } static void ggml_webgpu_init_add_pipeline(webgpu_context & webgpu_ctx) { std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE); webgpu_ctx->add_pipelines[GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_add_f32, "add_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_add_f32, "add_f32", constants); webgpu_ctx->add_pipelines[GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_add_f16, "add_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_add_f16, "add_f16", constants); webgpu_ctx->add_pipelines[GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_add_f32_inplace, "add_f32_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_add_f32_inplace, "add_f32_inplace", constants); webgpu_ctx->add_pipelines[GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_add_f16_inplace, "add_f16_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_add_f16_inplace, "add_f16_inplace", constants); } static void ggml_webgpu_init_sub_pipeline(webgpu_context & webgpu_ctx) { std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE); webgpu_ctx->sub_pipelines[GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_sub_f32, "sub_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_sub_f32, "sub_f32", constants); webgpu_ctx->sub_pipelines[GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_sub_f16, "sub_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_sub_f16, "sub_f16", constants); webgpu_ctx->sub_pipelines[GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_sub_f32_inplace, "sub_f32_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_sub_f32_inplace, "sub_f32_inplace", constants); webgpu_ctx->sub_pipelines[GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_sub_f16_inplace, "sub_f16_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_sub_f16_inplace, "sub_f16_inplace", constants); } static void ggml_webgpu_init_mul_pipeline(webgpu_context & webgpu_ctx) { std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE); webgpu_ctx->mul_pipelines[GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_f32, "mul_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_f32, "mul_f32", constants); webgpu_ctx->mul_pipelines[GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_f16, "mul_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_f16, "mul_f16", constants); webgpu_ctx->mul_pipelines[GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_f32_inplace, "mul_f32_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_f32_inplace, "mul_f32_inplace", constants); webgpu_ctx->mul_pipelines[GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_mul_f16_inplace, "mul_f16_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_f16_inplace, "mul_f16_inplace", constants); } static void ggml_webgpu_init_div_pipeline(webgpu_context & webgpu_ctx) { std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE); webgpu_ctx->div_pipelines[GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_div_f32, "div_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_div_f32, "div_f32", constants); webgpu_ctx->div_pipelines[GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_div_f16, "div_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_div_f16, "div_f16", constants); webgpu_ctx->div_pipelines[GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_div_f32_inplace, "div_f32_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_div_f32_inplace, "div_f32_inplace", constants); webgpu_ctx->div_pipelines[GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_div_f16_inplace, "div_f16_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_div_f16_inplace, "div_f16_inplace", constants); } static void ggml_webgpu_init_rms_norm_pipeline(webgpu_context & webgpu_ctx) { std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_ROW_SPLIT_WG_SIZE); webgpu_ctx->rms_norm_pipelines[0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rms_norm, "rms_norm", constants); - webgpu_ctx->rms_norm_pipelines[1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rms_norm_inplace, "rms_norm_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_rms_norm, "rms_norm", constants); + webgpu_ctx->rms_norm_pipelines[1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_rms_norm_inplace, "rms_norm_inplace", constants); } static void ggml_webgpu_init_rope_pipeline(webgpu_context & webgpu_ctx) { std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE); webgpu_ctx->rope_pipelines[GGML_TYPE_F32][0][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rope_f32, "rope_f32", constants); - webgpu_ctx->rope_pipelines[GGML_TYPE_F32][0][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rope_f32_inplace, "rope_f32_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_rope_f32, "rope_f32", constants); + webgpu_ctx->rope_pipelines[GGML_TYPE_F32][0][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_rope_f32_inplace, "rope_f32_inplace", constants); webgpu_ctx->rope_pipelines[GGML_TYPE_F32][1][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rope_f32_ff, "rope_f32_ff", constants); - webgpu_ctx->rope_pipelines[GGML_TYPE_F32][1][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rope_f32_ff_inplace, "rope_f32_ff_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_rope_f32_ff, "rope_f32_ff", constants); + webgpu_ctx->rope_pipelines[GGML_TYPE_F32][1][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_rope_f32_ff_inplace, "rope_f32_ff_inplace", constants); webgpu_ctx->rope_pipelines[GGML_TYPE_F16][0][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rope_f16, "rope_f16", constants); - webgpu_ctx->rope_pipelines[GGML_TYPE_F16][0][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rope_f16_inplace, "rope_f16_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_rope_f16, "rope_f16", constants); + webgpu_ctx->rope_pipelines[GGML_TYPE_F16][0][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_rope_f16_inplace, "rope_f16_inplace", constants); webgpu_ctx->rope_pipelines[GGML_TYPE_F16][1][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rope_f16_ff, "rope_f16_ff", constants); - webgpu_ctx->rope_pipelines[GGML_TYPE_F16][1][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_rope_f16_ff_inplace, "rope_f16_ff_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_rope_f16_ff, "rope_f16_ff", constants); + webgpu_ctx->rope_pipelines[GGML_TYPE_F16][1][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_rope_f16_ff_inplace, "rope_f16_ff_inplace", constants); } static void ggml_webgpu_init_glu_pipeline(webgpu_context & webgpu_ctx) { @@ -2719,68 +2780,68 @@ static void ggml_webgpu_init_glu_pipeline(webgpu_context & webgpu_ctx) { // REGLU webgpu_ctx->glu_pipelines[GGML_GLU_OP_REGLU][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_reglu_f32, "reglu_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_reglu_f32, "reglu_f32", constants); webgpu_ctx->glu_pipelines[GGML_GLU_OP_REGLU][GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_reglu_f16, "reglu_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_reglu_f16, "reglu_f16", constants); webgpu_ctx->glu_pipelines[GGML_GLU_OP_REGLU][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_reglu_f32_split, "reglu_f32_split", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_reglu_f32_split, "reglu_f32_split", constants); webgpu_ctx->glu_pipelines[GGML_GLU_OP_REGLU][GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_reglu_f16_split, "reglu_f16_split", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_reglu_f16_split, "reglu_f16_split", constants); // GEGLU webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_f32, "geglu_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_geglu_f32, "geglu_f32", constants); webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU][GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_f16, "geglu_f16", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_geglu_f16, "geglu_f16", constants); webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_f32_split, "geglu_f32_split", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_geglu_f32_split, "geglu_f32_split", constants); webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU][GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_f16_split, "geglu_f16_split", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_geglu_f16_split, "geglu_f16_split", constants); // SWIGLU webgpu_ctx->glu_pipelines[GGML_GLU_OP_SWIGLU][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_swiglu_f32, "swiglu_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_swiglu_f32, "swiglu_f32", constants); webgpu_ctx->glu_pipelines[GGML_GLU_OP_SWIGLU][GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_swiglu_f16, "swiglu_f16", constants); - webgpu_ctx->glu_pipelines[GGML_GLU_OP_SWIGLU][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_swiglu_f32_split, "swiglu_f32_split", constants); - webgpu_ctx->glu_pipelines[GGML_GLU_OP_SWIGLU][GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_swiglu_f16_split, "swiglu_f16_split", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_swiglu_f16, "swiglu_f16", constants); + webgpu_ctx->glu_pipelines[GGML_GLU_OP_SWIGLU][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_swiglu_f32_split, "swiglu_f32_split", constants); + webgpu_ctx->glu_pipelines[GGML_GLU_OP_SWIGLU][GGML_TYPE_F16][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_swiglu_f16_split, "swiglu_f16_split", constants); // SWIGLU_OAI webgpu_ctx->glu_pipelines[GGML_GLU_OP_SWIGLU_OAI][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_swiglu_oai_f32, "swiglu_oai_f32", constants); - webgpu_ctx->glu_pipelines[GGML_GLU_OP_SWIGLU_OAI][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_swiglu_oai_f32_split, "swiglu_oai_f32_split", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_swiglu_oai_f32, "swiglu_oai_f32", constants); + webgpu_ctx->glu_pipelines[GGML_GLU_OP_SWIGLU_OAI][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_swiglu_oai_f32_split, "swiglu_oai_f32_split", constants); // GEGLU_ERF webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_ERF][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_erf_f32, "geglu_erf_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_geglu_erf_f32, "geglu_erf_f32", constants); webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_ERF][GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_erf_f16, "geglu_erf_f16", constants); - webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_ERF][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_erf_f32_split, "geglu_erf_f32_split", constants); - webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_ERF][GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_erf_f16_split, "geglu_erf_f16_split", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_geglu_erf_f16, "geglu_erf_f16", constants); + webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_ERF][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_geglu_erf_f32_split, "geglu_erf_f32_split", constants); + webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_ERF][GGML_TYPE_F16][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_geglu_erf_f16_split, "geglu_erf_f16_split", constants); // GEGLU_QUICK webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_QUICK][GGML_TYPE_F32][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_quick_f32, "geglu_quick_f32", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_geglu_quick_f32, "geglu_quick_f32", constants); webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_QUICK][GGML_TYPE_F16][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_quick_f16, "geglu_quick_f16", constants); - webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_QUICK][GGML_TYPE_F32][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_quick_f32_split, "geglu_quick_f32_split", constants); - webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_QUICK][GGML_TYPE_F16][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_geglu_quick_f16_split, "geglu_quick_f16_split", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_geglu_quick_f16, "geglu_quick_f16", constants); + webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_QUICK][GGML_TYPE_F32][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_geglu_quick_f32_split, "geglu_quick_f32_split", constants); + webgpu_ctx->glu_pipelines[GGML_GLU_OP_GEGLU_QUICK][GGML_TYPE_F16][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_geglu_quick_f16_split, "geglu_quick_f16_split", constants); } static void ggml_webgpu_init_scale_pipeline(webgpu_context & webgpu_ctx) { std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE); webgpu_ctx->scale_pipelines[0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_scale_f32, "scale_f32", constants); - webgpu_ctx->scale_pipelines[1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_scale_f32_inplace, "scale_f32_inplace", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_scale_f32, "scale_f32", constants); + webgpu_ctx->scale_pipelines[1] = ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_scale_f32_inplace, + "scale_f32_inplace", constants); } static void ggml_webgpu_init_soft_max_pipeline(webgpu_context & webgpu_ctx) { @@ -2788,56 +2849,243 @@ static void ggml_webgpu_init_soft_max_pipeline(webgpu_context & webgpu_ctx) { // f32 (no mask) webgpu_ctx->soft_max_pipelines[2][0][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_soft_max_f32, "soft_max_f32", constants); - webgpu_ctx->soft_max_pipelines[2][0][1] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_soft_max_f32_inplace, "soft_max_f32_inplace", constants); - webgpu_ctx->soft_max_pipelines[2][1][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_soft_max_f32_sink, "soft_max_f32_sink", constants); + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_soft_max_f32, "soft_max_f32", constants); + webgpu_ctx->soft_max_pipelines[2][0][1] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_inplace, "soft_max_f32_inplace", constants); + webgpu_ctx->soft_max_pipelines[2][1][0] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_sink, "soft_max_f32_sink", constants); webgpu_ctx->soft_max_pipelines[2][1][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_soft_max_f32_sink_inplace, "soft_max_f32_sink_inplace", constants); + webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_sink_inplace, "soft_max_f32_sink_inplace", constants); // f32 mask (mask_type = 0) - webgpu_ctx->soft_max_pipelines[0][0][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_soft_max_f32_mask_f32, "soft_max_f32_mask_f32", constants); + webgpu_ctx->soft_max_pipelines[0][0][0] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_mask_f32, "soft_max_f32_mask_f32", constants); webgpu_ctx->soft_max_pipelines[0][0][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_soft_max_f32_mask_f32_inplace, "soft_max_f32_mask_f32_inplace", constants); + webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_mask_f32_inplace, "soft_max_f32_mask_f32_inplace", constants); webgpu_ctx->soft_max_pipelines[0][1][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_soft_max_f32_mask_f32_sink, "soft_max_f32_mask_f32_sink", constants); - webgpu_ctx->soft_max_pipelines[0][1][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_soft_max_f32_mask_f32_sink_inplace, "soft_max_f32_mask_f32_sink_inplace", constants); + webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_mask_f32_sink, "soft_max_f32_mask_f32_sink", constants); + webgpu_ctx->soft_max_pipelines[0][1][1] = + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_mask_f32_sink_inplace, + "soft_max_f32_mask_f32_sink_inplace", constants); // f16 mask (mask_type = 1) - webgpu_ctx->soft_max_pipelines[1][0][0] = - ggml_webgpu_create_pipeline(webgpu_ctx->device, wgsl_soft_max_f32_mask_f16, "soft_max_f32_mask_f16", constants); + webgpu_ctx->soft_max_pipelines[1][0][0] = ggml_webgpu_create_pipeline( + webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_mask_f16, "soft_max_f32_mask_f16", constants); webgpu_ctx->soft_max_pipelines[1][0][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_soft_max_f32_mask_f16_inplace, "soft_max_f32_mask_f16_inplace", constants); + webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_mask_f16_inplace, "soft_max_f32_mask_f16_inplace", constants); webgpu_ctx->soft_max_pipelines[1][1][0] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_soft_max_f32_mask_f16_sink, "soft_max_f32_mask_f16_sink", constants); - webgpu_ctx->soft_max_pipelines[1][1][1] = ggml_webgpu_create_pipeline( - webgpu_ctx->device, wgsl_soft_max_f32_mask_f16_sink_inplace, "soft_max_f32_mask_f16_sink_inplace", constants); + webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_mask_f16_sink, "soft_max_f32_mask_f16_sink", constants); + webgpu_ctx->soft_max_pipelines[1][1][1] = + ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_soft_max_f32_mask_f16_sink_inplace, + "soft_max_f32_mask_f16_sink_inplace", constants); } -// TODO: move most initialization logic here -static ggml_backend_t ggml_backend_webgpu_device_init(ggml_backend_dev_t dev, const char * params) { +static bool create_webgpu_device(ggml_backend_webgpu_reg_context * ctx) { + wgpu::RequestAdapterOptions options = {}; + +#ifndef __EMSCRIPTEN__ + // TODO: track need for these toggles: https://issues.chromium.org/issues/42251215 + const char * const adapterEnabledToggles[] = { "vulkan_enable_f16_on_nvidia", "use_vulkan_memory_model" }; + wgpu::DawnTogglesDescriptor adapterTogglesDesc; + adapterTogglesDesc.enabledToggles = adapterEnabledToggles; + adapterTogglesDesc.enabledToggleCount = 2; + options.nextInChain = &adapterTogglesDesc; +#endif + + ctx->webgpu_global_ctx->instance.WaitAny( + ctx->webgpu_global_ctx->instance.RequestAdapter( + &options, wgpu::CallbackMode::AllowSpontaneous, + [&ctx](wgpu::RequestAdapterStatus status, wgpu::Adapter adapter, const char * message) { + if (status != wgpu::RequestAdapterStatus::Success) { + GGML_LOG_ERROR("ggml_webgpu: Failed to get an adapter: %s\n", message); + return; + } + ctx->webgpu_global_ctx->adapter = std::move(adapter); + }), + UINT64_MAX); + GGML_ASSERT(ctx->webgpu_global_ctx->adapter != nullptr); + + ctx->webgpu_global_ctx->adapter.GetLimits(&ctx->webgpu_global_ctx->capabilities.limits); + + wgpu::AdapterInfo info{}; +#ifndef __EMSCRIPTEN__ + wgpu::AdapterPropertiesSubgroupMatrixConfigs subgroup_matrix_configs{}; + if (ctx->webgpu_global_ctx->adapter.HasFeature(wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix)) { + info.nextInChain = &subgroup_matrix_configs; + } +#endif + ctx->webgpu_global_ctx->adapter.GetInfo(&info); + wgpu::SupportedFeatures features; + ctx->webgpu_global_ctx->adapter.GetFeatures(&features); + // we require f16 support + GGML_ASSERT(ctx->webgpu_global_ctx->adapter.HasFeature(wgpu::FeatureName::ShaderF16)); + +#ifndef __EMSCRIPTEN__ + // Only support square f16 matrices of size 8 or 16 for now + bool valid_subgroup_matrix_config = false; + if (ctx->webgpu_global_ctx->adapter.HasFeature(wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix)) { + for (size_t i = 0; i < subgroup_matrix_configs.configCount; i++) { + const wgpu::SubgroupMatrixConfig config = subgroup_matrix_configs.configs[i]; + if (config.M == config.N && config.N == config.K && (config.K == 8 || config.K == 16) && + config.componentType == wgpu::SubgroupMatrixComponentType::F16 && + config.resultComponentType == wgpu::SubgroupMatrixComponentType::F16) { + ctx->webgpu_global_ctx->capabilities.sg_mat_m = config.M; + ctx->webgpu_global_ctx->capabilities.sg_mat_n = config.N; + ctx->webgpu_global_ctx->capabilities.sg_mat_k = config.K; + valid_subgroup_matrix_config = true; + break; + } + } + } + ctx->webgpu_global_ctx->capabilities.supports_subgroup_matrix = valid_subgroup_matrix_config; +#endif + + // For subgroup matrix code to be the most efficient, we would like the subgroup size to be consistent and accurate. + // Unfortunately, that is not possible, so we use the maximum subgroup size reported by the adapter. + ctx->webgpu_global_ctx->capabilities.max_subgroup_size = info.subgroupMaxSize; + // Initialize device + std::vector required_features = { wgpu::FeatureName::ShaderF16 }; + +#ifndef __EMSCRIPTEN__ + required_features.push_back(wgpu::FeatureName::ImplicitDeviceSynchronization); + if (ctx->webgpu_global_ctx->capabilities.supports_subgroup_matrix) { + required_features.push_back(wgpu::FeatureName::Subgroups); + required_features.push_back(wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix); + } +#endif + +#ifdef GGML_WEBGPU_GPU_PROFILE + required_features.push_back(wgpu::FeatureName::TimestampQuery); +#endif + + wgpu::DeviceDescriptor dev_desc; + dev_desc.requiredLimits = &ctx->webgpu_global_ctx->capabilities.limits; + dev_desc.requiredFeatures = required_features.data(); + dev_desc.requiredFeatureCount = required_features.size(); + dev_desc.SetDeviceLostCallback( + wgpu::CallbackMode::AllowSpontaneous, + [](const wgpu::Device & device, wgpu::DeviceLostReason reason, wgpu::StringView message) { + GGML_UNUSED(device); + GGML_UNUSED(reason); + GGML_UNUSED(message); + //TODO: uncomment once proper free logic is in place + //GGML_LOG_ERROR("ggml_webgpu: Device lost! Reason: %d, Message: %s\n", static_cast(reason), + //std::string(message).c_str()); + }); + dev_desc.SetUncapturedErrorCallback( + [](const wgpu::Device & device, wgpu::ErrorType reason, wgpu::StringView message) { + GGML_UNUSED(device); + GGML_ABORT("ggml_webgpu: Device error! Reason: %d, Message: %s\n", static_cast(reason), + std::string(message).c_str()); + }); + +#ifndef __EMSCRIPTEN__ + // Enable Dawn-specific toggles to increase native performance + // TODO: Maybe WebGPU needs a "fast" mode where you can request compilers skip adding checks like these, + // only for native performance? + const char * const deviceEnabledToggles[] = { "skip_validation", "disable_robustness", "disable_workgroup_init", + "disable_polyfills_on_integer_div_and_mod" }; + const char * const deviceDisabledToggles[] = { "timestamp_quantization" }; + wgpu::DawnTogglesDescriptor deviceTogglesDesc; + deviceTogglesDesc.enabledToggles = deviceEnabledToggles; + deviceTogglesDesc.enabledToggleCount = 4; + deviceTogglesDesc.disabledToggles = deviceDisabledToggles; + deviceTogglesDesc.disabledToggleCount = 1; + + dev_desc.nextInChain = &deviceTogglesDesc; +#endif + + ctx->webgpu_global_ctx->instance.WaitAny( + ctx->webgpu_global_ctx->adapter.RequestDevice( + &dev_desc, wgpu::CallbackMode::AllowSpontaneous, + [ctx](wgpu::RequestDeviceStatus status, wgpu::Device device, wgpu::StringView message) { + if (status != wgpu::RequestDeviceStatus::Success) { + GGML_LOG_ERROR("ggml_webgpu: Failed to get a device: %s\n", std::string(message).c_str()); + return; + } + ctx->webgpu_global_ctx->device = std::move(device); + }), + UINT64_MAX); + GGML_ASSERT(ctx->webgpu_global_ctx->device != nullptr); + + ggml_webgpu_init_memset_pipeline(ctx->webgpu_global_ctx); + ctx->webgpu_global_ctx->memset_buf_pool.init(ctx->webgpu_global_ctx->device, 1, WEBGPU_PARAMS_BUF_SIZE_BYTES, + wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::Uniform, + wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::MapWrite); + ctx->webgpu_global_ctx->queue = ctx->webgpu_global_ctx->device.GetQueue(); + +#ifdef GGML_WEBGPU_GPU_PROFILE + // Initialize buffer pool for timestamp queries, used for profiling + ctx->webgpu_global_ctx->timestamp_query_buf_pool.init(ctx->webgpu_global_ctx->device, WEBGPU_NUM_TIMESTAMP_QUERY_BUFS, + WEBGPU_TIMESTAMP_QUERY_BUF_SIZE_BYTES, + wgpu::BufferUsage::QueryResolve | wgpu::BufferUsage::CopySrc, + wgpu::BufferUsage::MapRead | wgpu::BufferUsage::CopyDst); +#endif + + GGML_LOG_INFO( + "ggml_webgpu: adapter_info: vendor_id: %u | vendor: %s | architecture: %s | device_id: %u | name: %s | " + "device_desc: %s\n", + info.vendorID, std::string(info.vendor).c_str(), std::string(info.architecture).c_str(), info.deviceID, + std::string(info.device).c_str(), std::string(info.description).c_str()); + return true; +} + +static webgpu_context initialize_webgpu_context(ggml_backend_dev_t dev) { + ggml_backend_webgpu_device_context * dev_ctx = (ggml_backend_webgpu_device_context *) dev->context; + webgpu_context webgpu_ctx = std::make_shared(); + webgpu_ctx->global_ctx = dev_ctx->webgpu_global_ctx; + webgpu_ctx->param_buf_pool.init(webgpu_ctx->global_ctx->device, WEBGPU_NUM_PARAM_BUFS, WEBGPU_PARAMS_BUF_SIZE_BYTES, + wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::Uniform, + wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::MapWrite); + webgpu_ctx->set_rows_error_buf_pool.init(webgpu_ctx->global_ctx->device, WEBGPU_NUM_SET_ROWS_ERROR_BUFS, + WEBGPU_SET_ROWS_ERROR_BUF_SIZE_BYTES, + wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::Storage, + wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead); + + ggml_webgpu_init_mul_mat_pipeline(webgpu_ctx); + ggml_webgpu_init_get_rows_pipeline(webgpu_ctx); + ggml_webgpu_init_cpy_pipeline(webgpu_ctx); + ggml_webgpu_init_add_pipeline(webgpu_ctx); + ggml_webgpu_init_sub_pipeline(webgpu_ctx); + ggml_webgpu_init_mul_pipeline(webgpu_ctx); + ggml_webgpu_init_div_pipeline(webgpu_ctx); + ggml_webgpu_init_rms_norm_pipeline(webgpu_ctx); + ggml_webgpu_init_rope_pipeline(webgpu_ctx); + ggml_webgpu_init_glu_pipeline(webgpu_ctx); + ggml_webgpu_init_scale_pipeline(webgpu_ctx); + ggml_webgpu_init_soft_max_pipeline(webgpu_ctx); +#ifdef GGML_WEBGPU_DEBUG + // Initialize debug buffers + ggml_webgpu_create_buffer(webgpu_ctx->global_ctx->device, webgpu_ctx->global_ctx->debug_host_buf, + WEBGPU_DEBUG_BUF_ELEMS * sizeof(uint32_t), + wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead, "debug_host_buf"); + ggml_webgpu_create_buffer(webgpu_ctx->global_ctx->device, webgpu_ctx->global_ctx->debug_dev_buf, + WEBGPU_DEBUG_BUF_ELEMS * sizeof(uint32_t), + wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopySrc, "debug_dev_buf"); +#endif + return webgpu_ctx; +} + +static ggml_backend_t ggml_backend_webgpu_backend_init(ggml_backend_dev_t dev, const char * params) { GGML_UNUSED(params); - WEBGPU_LOG_DEBUG("ggml_backend_webgpu_device_init()"); + WEBGPU_LOG_DEBUG("ggml_backend_webgpu_backend_init()"); - ggml_backend_webgpu_device_context * dev_ctx = static_cast(dev->context); - webgpu_context webgpu_ctx = dev_ctx->webgpu_ctx; + ggml_backend_webgpu_device_context * dev_ctx = static_cast(dev->context); - static ggml_backend_webgpu_context backend_ctx; - backend_ctx.name = GGML_WEBGPU_NAME + std::string(": ") + dev_ctx->device_name; - backend_ctx.webgpu_ctx = webgpu_ctx; + auto * backend_ctx = new ggml_backend_webgpu_context(); + backend_ctx->name = GGML_WEBGPU_NAME + std::string(": ") + dev_ctx->device_name; + backend_ctx->webgpu_ctx = initialize_webgpu_context(dev); // See GGML Backend Interface section - static ggml_backend backend = { + auto * backend = new ggml_backend(); + *backend = { /* .guid = */ ggml_backend_webgpu_guid(), /* .interface = */ ggml_backend_webgpu_i, /* .device = */ dev, - /* .context = */ &backend_ctx, + /* .context = */ backend_ctx, }; - return &backend; + return backend; } static ggml_backend_buffer_type_t ggml_backend_webgpu_device_get_buffer_type(ggml_backend_dev_t dev) { @@ -2854,7 +3102,8 @@ static ggml_backend_buffer_type_t ggml_backend_webgpu_device_get_buffer_type(ggm }, /* .device = */ dev, - /* .context = */ NULL, + /* .context = */ + NULL }; return &ggml_backend_webgpu_buffer_type; @@ -2895,16 +3144,16 @@ static bool ggml_webgpu_supported_qtype(ggml_type type) { static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const ggml_tensor * op) { ggml_backend_webgpu_device_context * ctx = static_cast(dev->context); - webgpu_context webgpu_ctx = ctx->webgpu_ctx; - ggml_tensor * src0 = op->src[0]; ggml_tensor * src1 = op->src[1]; ggml_tensor * src2 = op->src[2]; // on smaller devices (or CI), tensors may be larger than the max storage buffer size - if (ggml_nbytes(op) > webgpu_ctx->limits.maxStorageBufferBindingSize || - (src0 != nullptr && ggml_nbytes(src0) > webgpu_ctx->limits.maxStorageBufferBindingSize) || - (src1 != nullptr && ggml_nbytes(src1) > webgpu_ctx->limits.maxStorageBufferBindingSize)) { + if (ggml_nbytes(op) > ctx->webgpu_global_ctx->capabilities.limits.maxStorageBufferBindingSize || + (src0 != nullptr && + ggml_nbytes(src0) > ctx->webgpu_global_ctx->capabilities.limits.maxStorageBufferBindingSize) || + (src1 != nullptr && + ggml_nbytes(src1) > ctx->webgpu_global_ctx->capabilities.limits.maxStorageBufferBindingSize)) { return false; } @@ -2984,17 +3233,19 @@ static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const } case GGML_OP_FLASH_ATTN_EXT: { - if (!webgpu_ctx->supports_subgroup_matrix) { +#ifndef __EMSCRIPTEN__ + if (!ctx->webgpu_global_ctx->capabilities.supports_subgroup_matrix) { break; } // Head dimensions must fit in workgroup memory with minimum tile sizes - size_t limit_bytes = webgpu_ctx->limits.maxComputeWorkgroupStorageSize; + size_t limit_bytes = ctx->webgpu_global_ctx->capabilities.limits.maxComputeWorkgroupStorageSize; const bool has_mask = op->src[3] != nullptr; - const bool kv_direct = src1->type == GGML_TYPE_F16 && (src0->ne[0] % webgpu_ctx->sg_mat_k) == 0 && + const bool kv_direct = src1->type == GGML_TYPE_F16 && + (src0->ne[0] % ctx->webgpu_global_ctx->capabilities.sg_mat_k) == 0 && (src1->ne[1] % GGML_WEBGPU_KV_SEQ_PAD) == 0; const size_t min_bytes = ggml_webgpu_flash_attn_wg_mem_bytes( - webgpu_ctx->sg_mat_m, webgpu_ctx->sg_mat_n, (uint32_t) src0->ne[0], (uint32_t) src2->ne[0], - has_mask, kv_direct); + ctx->webgpu_global_ctx->capabilities.sg_mat_m, ctx->webgpu_global_ctx->capabilities.sg_mat_n, + (uint32_t) src0->ne[0], (uint32_t) src2->ne[0], has_mask, kv_direct); if (min_bytes > limit_bytes) { break; } @@ -3003,6 +3254,7 @@ static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const (src1->type == GGML_TYPE_F32 || src1->type == GGML_TYPE_F16 || src1->type == GGML_TYPE_Q4_0 || src1->type == GGML_TYPE_Q8_0) && src2->type == src1->type && op->type == GGML_TYPE_F32; +#endif break; } case GGML_OP_RMS_NORM: @@ -3099,10 +3351,13 @@ static bool ggml_backend_webgpu_device_supports_op(ggml_backend_dev_t dev, const default: break; } - if (ggml_nbytes(op) > webgpu_ctx->limits.maxStorageBufferBindingSize || - (src0 != nullptr && ggml_nbytes(src0) > webgpu_ctx->limits.maxStorageBufferBindingSize) || - (src1 != nullptr && ggml_nbytes(src1) > webgpu_ctx->limits.maxStorageBufferBindingSize) || - (src2 != nullptr && ggml_nbytes(src2) > webgpu_ctx->limits.maxStorageBufferBindingSize)) { + if (ggml_nbytes(op) > ctx->webgpu_global_ctx->capabilities.limits.maxStorageBufferBindingSize || + (src0 != nullptr && + ggml_nbytes(src0) > ctx->webgpu_global_ctx->capabilities.limits.maxStorageBufferBindingSize) || + (src1 != nullptr && + ggml_nbytes(src1) > ctx->webgpu_global_ctx->capabilities.limits.maxStorageBufferBindingSize) || + (src2 != nullptr && + ggml_nbytes(src2) > ctx->webgpu_global_ctx->capabilities.limits.maxStorageBufferBindingSize)) { supports_op = false; WEBGPU_LOG_DEBUG("ggml_webgpu op not supported due to size: "); } @@ -3127,7 +3382,7 @@ static struct ggml_backend_device_i ggml_backend_webgpu_device_i = { /* .get_memory = */ ggml_backend_webgpu_device_get_memory, /* .get_type = */ ggml_backend_webgpu_device_get_type, /* .get_props = */ ggml_backend_webgpu_device_get_props, - /* .init_backend = */ ggml_backend_webgpu_device_init, + /* .init_backend = */ ggml_backend_webgpu_backend_init, /* .get_buffer_type = */ ggml_backend_webgpu_device_get_buffer_type, /* .get_host_buffer_type = */ NULL, /* .buffer_from_host_ptr = */ NULL, @@ -3156,6 +3411,7 @@ static size_t ggml_backend_webgpu_reg_get_device_count(ggml_backend_reg_t reg) { // TODO: Does this need to be thread safe? Is it only called once? // TODO: move most logic to device_init function so backend can be freed/initialized properly // Only one device is supported for now + static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t reg, size_t index) { GGML_ASSERT(index == 0); WEBGPU_LOG_DEBUG("ggml_backend_reg_get_device()"); @@ -3164,189 +3420,12 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t ggml_backend_webgpu_reg_context * reg_ctx = static_cast(reg->context); - webgpu_context ctx = reg_ctx->webgpu_ctx; - - wgpu::RequestAdapterOptions options = {}; - -#ifndef __EMSCRIPTEN__ - // TODO: track need for these toggles: https://issues.chromium.org/issues/42251215 - const char * const adapterEnabledToggles[] = { "vulkan_enable_f16_on_nvidia", "use_vulkan_memory_model" }; - wgpu::DawnTogglesDescriptor adapterTogglesDesc; - adapterTogglesDesc.enabledToggles = adapterEnabledToggles; - adapterTogglesDesc.enabledToggleCount = 2; - options.nextInChain = &adapterTogglesDesc; -#endif - - ctx->instance.WaitAny(ctx->instance.RequestAdapter( - &options, wgpu::CallbackMode::AllowSpontaneous, - [&ctx](wgpu::RequestAdapterStatus status, wgpu::Adapter adapter, const char * message) { - if (status != wgpu::RequestAdapterStatus::Success) { - GGML_LOG_ERROR("ggml_webgpu: Failed to get an adapter: %s\n", message); - return; - } - ctx->adapter = std::move(adapter); - }), - UINT64_MAX); - GGML_ASSERT(ctx->adapter != nullptr); - - ctx->adapter.GetLimits(&ctx->limits); - - wgpu::AdapterInfo info{}; -#ifndef __EMSCRIPTEN__ - wgpu::AdapterPropertiesSubgroupMatrixConfigs subgroup_matrix_configs{}; - if (ctx->adapter.HasFeature(wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix)) { - info.nextInChain = &subgroup_matrix_configs; - } -#endif - ctx->adapter.GetInfo(&info); - - wgpu::SupportedFeatures features; - ctx->adapter.GetFeatures(&features); - // we require f16 support - GGML_ASSERT(ctx->adapter.HasFeature(wgpu::FeatureName::ShaderF16)); - -#ifndef __EMSCRIPTEN__ - // Only support square f16 matrices of size 8 or 16 for now - bool valid_subgroup_matrix_config = false; - if (ctx->adapter.HasFeature(wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix)) { - for (size_t i = 0; i < subgroup_matrix_configs.configCount; i++) { - const wgpu::SubgroupMatrixConfig config = subgroup_matrix_configs.configs[i]; - if (config.M == config.N && config.N == config.K && (config.K == 8 || config.K == 16) && - config.componentType == wgpu::SubgroupMatrixComponentType::F16 && - config.resultComponentType == wgpu::SubgroupMatrixComponentType::F16) { - ctx->sg_mat_m = config.M; - ctx->sg_mat_n = config.N; - ctx->sg_mat_k = config.K; - valid_subgroup_matrix_config = true; - break; - } - } - } - - ctx->supports_subgroup_matrix = valid_subgroup_matrix_config; -#endif - // For subgroup matrix code to be the most efficient, we would like the subgroup size to be consistent and accurate. - // Unfortunately, that is not possible, so we use the maximum subgroup size reported by the adapter. - ctx->max_subgroup_size = info.subgroupMaxSize; - - // Initialize device - std::vector required_features = { wgpu::FeatureName::ShaderF16 }; - -#ifndef __EMSCRIPTEN__ - required_features.push_back(wgpu::FeatureName::ImplicitDeviceSynchronization); - if (ctx->supports_subgroup_matrix) { - required_features.push_back(wgpu::FeatureName::Subgroups); - required_features.push_back(wgpu::FeatureName::ChromiumExperimentalSubgroupMatrix); - } -#endif - -#ifdef GGML_WEBGPU_GPU_PROFILE - required_features.push_back(wgpu::FeatureName::TimestampQuery); -#endif - - wgpu::DeviceDescriptor dev_desc; - dev_desc.requiredLimits = &ctx->limits; - dev_desc.requiredFeatures = required_features.data(); - dev_desc.requiredFeatureCount = required_features.size(); - dev_desc.SetDeviceLostCallback( - wgpu::CallbackMode::AllowSpontaneous, - [](const wgpu::Device & device, wgpu::DeviceLostReason reason, wgpu::StringView message) { - GGML_UNUSED(device); - GGML_UNUSED(reason); - GGML_UNUSED(message); - //TODO: uncomment once proper free logic is in place - //GGML_LOG_ERROR("ggml_webgpu: Device lost! Reason: %d, Message: %s\n", static_cast(reason), - //std::string(message).c_str()); - }); - dev_desc.SetUncapturedErrorCallback( - [](const wgpu::Device & device, wgpu::ErrorType reason, wgpu::StringView message) { - GGML_UNUSED(device); - GGML_ABORT("ggml_webgpu: Device error! Reason: %d, Message: %s\n", static_cast(reason), - std::string(message).c_str()); - }); - -#ifndef __EMSCRIPTEN__ - // Enable Dawn-specific toggles to increase native performance - // TODO: Maybe WebGPU needs a "fast" mode where you can request compilers skip adding checks like these, - // only for native performance? - const char * const deviceEnabledToggles[] = { "skip_validation", "disable_robustness", "disable_workgroup_init", - "disable_polyfills_on_integer_div_and_mod" }; - const char * const deviceDisabledToggles[] = { "timestamp_quantization" }; - wgpu::DawnTogglesDescriptor deviceTogglesDesc; - deviceTogglesDesc.enabledToggles = deviceEnabledToggles; - deviceTogglesDesc.enabledToggleCount = 4; - deviceTogglesDesc.disabledToggles = deviceDisabledToggles; - deviceTogglesDesc.disabledToggleCount = 1; - - dev_desc.nextInChain = &deviceTogglesDesc; -#endif - - ctx->instance.WaitAny(ctx->adapter.RequestDevice( - &dev_desc, wgpu::CallbackMode::AllowSpontaneous, - [ctx](wgpu::RequestDeviceStatus status, wgpu::Device device, wgpu::StringView message) { - if (status != wgpu::RequestDeviceStatus::Success) { - GGML_LOG_ERROR("ggml_webgpu: Failed to get a device: %s\n", - std::string(message).c_str()); - return; - } - ctx->device = std::move(device); - }), - UINT64_MAX); - GGML_ASSERT(ctx->device != nullptr); - - // Initialize (compute) queue - ctx->queue = ctx->device.GetQueue(); - - // Create buffer pool for shader parameters - ctx->param_buf_pool.init(ctx->device, WEBGPU_NUM_PARAM_BUFS, WEBGPU_PARAMS_BUF_SIZE_BYTES, - wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::Uniform, - wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::MapWrite); - -#ifdef GGML_WEBGPU_GPU_PROFILE - // Initialize buffer pool for timestamp queries (profiling) - ctx->timestamp_query_buf_pool.init(ctx->device, WEBGPU_NUM_TIMESTAMP_QUERY_BUFS, - WEBGPU_TIMESTAMP_QUERY_BUF_SIZE_BYTES, - wgpu::BufferUsage::QueryResolve | wgpu::BufferUsage::CopySrc, - wgpu::BufferUsage::MapRead | wgpu::BufferUsage::CopyDst); -#endif - - ctx->set_rows_error_buf_pool.init(ctx->device, WEBGPU_NUM_SET_ROWS_ERROR_BUFS, WEBGPU_SET_ROWS_ERROR_BUF_SIZE_BYTES, - wgpu::BufferUsage::CopySrc | wgpu::BufferUsage::Storage, - wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead); - - ggml_webgpu_init_memset_pipeline(ctx); - ggml_webgpu_init_mul_mat_pipeline(ctx); - ggml_webgpu_init_get_rows_pipeline(ctx); - ggml_webgpu_init_cpy_pipeline(ctx); - ggml_webgpu_init_add_pipeline(ctx); - ggml_webgpu_init_sub_pipeline(ctx); - ggml_webgpu_init_mul_pipeline(ctx); - ggml_webgpu_init_div_pipeline(ctx); - ggml_webgpu_init_rms_norm_pipeline(ctx); - ggml_webgpu_init_rope_pipeline(ctx); - ggml_webgpu_init_glu_pipeline(ctx); - ggml_webgpu_init_scale_pipeline(ctx); - ggml_webgpu_init_soft_max_pipeline(ctx); - -#ifdef GGML_WEBGPU_DEBUG - // Initialize debug buffers - ggml_webgpu_create_buffer(ctx->device, ctx->debug_host_buf, WEBGPU_DEBUG_BUF_ELEMS * sizeof(uint32_t), - wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::MapRead, "debug_host_buf"); - ggml_webgpu_create_buffer(ctx->device, ctx->debug_dev_buf, WEBGPU_DEBUG_BUF_ELEMS * sizeof(uint32_t), - wgpu::BufferUsage::Storage | wgpu::BufferUsage::CopySrc, "debug_dev_buf"); -#endif + create_webgpu_device(reg_ctx); static ggml_backend_webgpu_device_context device_ctx; - device_ctx.webgpu_ctx = ctx; - device_ctx.device_name = GGML_WEBGPU_NAME; - device_ctx.device_desc = info.description; - - GGML_LOG_INFO( - "ggml_webgpu: adapter_info: vendor_id: %u | vendor: %s | architecture: %s | device_id: %u | name: %s | " - "device_desc: %s\n", - info.vendorID, std::string(info.vendor).c_str(), std::string(info.architecture).c_str(), info.deviceID, - std::string(info.device).c_str(), std::string(info.description).c_str()); - + device_ctx.device_name = GGML_WEBGPU_NAME; + device_ctx.device_desc = GGML_WEBGPU_NAME; + device_ctx.webgpu_global_ctx = reg_ctx->webgpu_global_ctx; // See GGML Backend Device Interface section static ggml_backend_device device = { /* .iface = */ ggml_backend_webgpu_device_i, @@ -3354,7 +3433,7 @@ static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t /* .context = */ &device_ctx, }; - WEBGPU_CPU_PROFILE_TOTAL_END(reg_get_device, ctx); + WEBGPU_CPU_PROFILE_TOTAL_END(reg_get_device, reg_ctx->webgpu_global_ctx); return &device; } @@ -3370,10 +3449,7 @@ static const struct ggml_backend_reg_i ggml_backend_webgpu_reg_i = { ggml_backend_reg_t ggml_backend_webgpu_reg() { WEBGPU_LOG_DEBUG("ggml_backend_webgpu_reg()"); - webgpu_context webgpu_ctx = std::make_shared(); - static ggml_backend_webgpu_reg_context ctx; - ctx.webgpu_ctx = webgpu_ctx; ctx.name = GGML_WEBGPU_NAME; ctx.device_count = 1; @@ -3390,15 +3466,17 @@ ggml_backend_reg_t ggml_backend_webgpu_reg() { instance_descriptor.nextInChain = &instanceTogglesDesc; #endif - webgpu_ctx->instance = wgpu::CreateInstance(&instance_descriptor); + wgpu::Instance inst = wgpu::CreateInstance(&instance_descriptor); + ctx.webgpu_global_ctx = webgpu_global_context(new webgpu_global_context_struct()); + ctx.webgpu_global_ctx->instance = std::move(inst); #ifdef __EMSCRIPTEN__ - if (webgpu_ctx->instance == nullptr) { + if (ctx.webgpu_global_ctx->instance == nullptr) { GGML_LOG_ERROR("ggml_webgpu: Failed to create WebGPU instance. Make sure either -sASYNCIFY or -sJSPI is set\n"); return nullptr; } #endif - GGML_ASSERT(webgpu_ctx->instance != nullptr); + GGML_ASSERT(ctx.webgpu_global_ctx->instance != nullptr); static ggml_backend_reg reg = { /* .api_version = */ GGML_BACKEND_API_VERSION, @@ -3411,7 +3489,7 @@ ggml_backend_reg_t ggml_backend_webgpu_reg() { ggml_backend_t ggml_backend_webgpu_init(void) { ggml_backend_dev_t dev = ggml_backend_reg_dev_get(ggml_backend_webgpu_reg(), 0); - return ggml_backend_webgpu_device_init(dev, nullptr); + return ggml_backend_webgpu_backend_init(dev, nullptr); } GGML_BACKEND_DL_IMPL(ggml_backend_webgpu_reg) From eef375ce167cf36d8ed2cf347be95a7a7a90fb5e Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 28 Jan 2026 05:59:30 +0100 Subject: [PATCH 036/206] sampling : remove sampling branching in output_reserve (#18811) * sampling : remove sampling branching in output_reserve This commit updates output_reserve in llama-context.cpp to always allocate sampling buffers regardless of whether sampling is needed for the current batch. The motivation for this is to avoid reallocations and branching based on the sampling requirements of the batch. --- src/llama-context.cpp | 88 ++++++++++++++++--------------------------- src/llama-context.h | 2 +- 2 files changed, 33 insertions(+), 57 deletions(-) diff --git a/src/llama-context.cpp b/src/llama-context.cpp index 0b2b05c419..10b306a853 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -253,11 +253,7 @@ llama_context::llama_context( // graph outputs buffer { - // resized during inference when a batch uses more outputs - // Create a dummy batch for initialization. - llama_batch dummy_batch = {}; - dummy_batch.n_tokens = 0; - if (output_reserve(params.n_seq_max, dummy_batch) < params.n_seq_max) { + if (output_reserve(params.n_seq_max) < params.n_seq_max) { throw std::runtime_error("failed to reserve initial output buffer"); } @@ -1225,7 +1221,7 @@ int llama_context::encode(const llama_batch & batch_inp) { n_queued_tokens += n_tokens; // reserve output buffer - if (output_reserve(n_tokens, batch_inp) < n_tokens) { + if (output_reserve(n_tokens) < n_tokens) { LLAMA_LOG_ERROR("%s: could not reserve space for batch with %u outputs\n", __func__, n_tokens); return -2; }; @@ -1456,6 +1452,23 @@ static void copy_tensor_async_candidates( } } +static bool needs_raw_logits(const llama_ubatch & ubatch, const std::map & samplers) { + for (uint32_t i = 0; i < ubatch.n_tokens; i++) { + if (!ubatch.output[i]) { + continue; + } + + // Check if the output token has at least one sequence without a backend sampler. + for (int32_t j = 0; j < ubatch.n_seq_id[i]; ++j) { + llama_seq_id seq_id = ubatch.seq_id[i][j]; + if (samplers.find(seq_id) == samplers.end()) { + return true; + } + } + } + return false; // all sequences use backend sampling +} + int llama_context::decode(const llama_batch & batch_inp) { GGML_ASSERT((!batch_inp.token && batch_inp.embd) || (batch_inp.token && !batch_inp.embd)); // NOLINT @@ -1588,7 +1601,7 @@ int llama_context::decode(const llama_batch & batch_inp) { } // reserve output buffer - if (output_reserve(n_outputs_all, balloc->get_batch()) < n_outputs_all) { + if (output_reserve(n_outputs_all) < n_outputs_all) { LLAMA_LOG_ERROR("%s: could not reserve space for batch with %d outputs\n", __func__, n_outputs_all); return -2; }; @@ -1661,10 +1674,7 @@ int llama_context::decode(const llama_batch & batch_inp) { } // extract logits - // For multi-sequence batches that mix backend samplers and CPU sampler - // this is currently inefficient as we copy all logits even for the - // backend sampled tokens. - if (logits && t_logits && n_outputs > 0) { + if (logits && t_logits && n_outputs > 0 && needs_raw_logits(ubatch, sampling.samplers)) { ggml_backend_t backend_res = ggml_backend_sched_get_tensor_backend(sched.get(), t_logits); GGML_ASSERT(backend_res != nullptr); GGML_ASSERT(logits != nullptr); @@ -1734,11 +1744,8 @@ int llama_context::decode(const llama_batch & batch_inp) { } } - // This flag indicates whether a backend sampler has actually sampled a specific - // token, or if it has produced probabilites. If true, we can skip the normal copying of logits and embeddings. - const bool has_sampled = !res->t_sampled.empty() || !res->t_sampled_probs.empty() || !res->t_sampled_logits.empty(); - - if (has_samplers && has_sampled) { + // Copy backend sampling output if this ubatch produced any sampling tensors. + if (has_samplers && (!res->t_sampled.empty() || !res->t_sampled_probs.empty() || !res->t_sampled_logits.empty())) { const auto seq_to_output_row = build_seq_to_output_row(ubatch, n_outputs_prev); const auto stride = n_vocab; @@ -1813,7 +1820,8 @@ int llama_context::decode(const llama_batch & batch_inp) { // output // -uint32_t llama_context::output_reserve(int32_t n_outputs, const llama_batch & batch) { +uint32_t llama_context::output_reserve(int32_t n_outputs) { + const auto & hparams = model.hparams; const auto & vocab = model.vocab; @@ -1832,45 +1840,16 @@ uint32_t llama_context::output_reserve(int32_t n_outputs, const llama_batch & ba has_embd = true; } - // Check which sampling modes are needed for the current batch. - // TODO: avoid this branching by working with the worst-case - bool has_sampling = false; - bool cpu_logits = false; - - if (batch.logits) { - for (int32_t i = 0; i < batch.n_tokens; i++) { - if (!batch.logits[i]) { - continue; - } - for (int32_t j = 0; j < batch.n_seq_id[i]; j++) { - llama_seq_id seq_id = batch.seq_id[i][j]; - if (sampling.samplers.find(seq_id) != sampling.samplers.end()) { - has_sampling = true; - } else { - cpu_logits = true; - } - } - } - } else { - // When batch.logits is nullptr (when loading state with a dummy batch), - // allocate CPU logits. - cpu_logits = true; - } size_t backend_float_count = 0; size_t backend_token_count = 0; - // Allocate CPU logits buffer only if needed by sequences in this batch - logits_size = (has_logits && cpu_logits) ? n_vocab*n_outputs_max : 0; + logits_size = has_logits ? n_vocab*n_outputs_max : 0; embd_size = has_embd ? n_embd_out*n_outputs_max : 0; - // TODO: avoid this branching by working with the worst-case - if (!has_sampling) { - sampling.logits_size = 0; - sampling.probs_size = 0; - sampling.sampled_size = 0; - sampling.candidates_size = 0; - } else { + // Allocate backend sampling output buffers if there are backend samplers configured. + const bool has_sampling = !sampling.samplers.empty(); + if (has_sampling) { sampling.logits_size = n_vocab*n_outputs_max; sampling.probs_size = n_vocab*n_outputs_max; sampling.sampled_size = n_outputs_max; @@ -1928,7 +1907,7 @@ uint32_t llama_context::output_reserve(int32_t n_outputs, const llama_batch & ba size_t offset = 0; uint8_t * base = (uint8_t *) output_base; - logits = (has_logits && cpu_logits) ? output_base : nullptr; + logits = has_logits ? output_base : nullptr; offset += logits_size * sizeof(float); embd = has_embd ? (float *) (base + offset) : nullptr; @@ -2614,10 +2593,7 @@ size_t llama_context::state_read_data(llama_io_read_i & io) { auto n_outputs = this->n_outputs; io.read_to(&n_outputs, sizeof(n_outputs)); - // Create a dummy batch for state loading. - llama_batch dummy_batch = {}; - dummy_batch.n_tokens = 0; - if (n_outputs > output_reserve(n_outputs, dummy_batch)) { + if (n_outputs > output_reserve(n_outputs)) { throw std::runtime_error("could not reserve outputs"); } @@ -2862,7 +2838,7 @@ void llama_context::opt_epoch_iter( } // reserve output buffer - if (output_reserve(n_outputs_all, balloc->get_batch()) < n_outputs_all) { + if (output_reserve(n_outputs_all) < n_outputs_all) { LLAMA_LOG_ERROR("%s: could not reserve space for batch with %d outputs\n", __func__, n_outputs_all); GGML_ABORT("TODO: handle this error"); }; diff --git a/src/llama-context.h b/src/llama-context.h index 86decc05fb..8e71cdd1dc 100644 --- a/src/llama-context.h +++ b/src/llama-context.h @@ -212,7 +212,7 @@ private: // Make sure enough space is available for outputs. // Returns max number of outputs for which space was reserved. - uint32_t output_reserve(int32_t n_outputs, const llama_batch & batch); + uint32_t output_reserve(int32_t n_outputs); void output_reorder(); From c5c64f72ac452b4be8335631ac9269f10355b597 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 28 Jan 2026 09:11:13 +0200 Subject: [PATCH 037/206] llama : disable Direct IO by default (#19109) * llama : disable Direct IO by default * cont : override mmap if supported --- common/arg.cpp | 7 ++----- common/common.h | 2 +- include/llama.h | 2 +- src/llama-model-loader.cpp | 8 ++++---- src/llama-model.cpp | 2 +- src/llama-quant.cpp | 2 +- 6 files changed, 10 insertions(+), 13 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 04fd375d56..2f68bdc1c0 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -2198,18 +2198,15 @@ common_params_context common_params_parser_init(common_params & params, llama_ex add_opt(common_arg( {"--mmap"}, {"--no-mmap"}, - string_format("whether to memory-map model. Explicitly enabling mmap disables direct-io. (if mmap disabled, slower load but may reduce pageouts if not using mlock) (default: %s)", params.use_mmap ? "enabled" : "disabled"), + string_format("whether to memory-map model. (if mmap disabled, slower load but may reduce pageouts if not using mlock) (default: %s)", params.use_mmap ? "enabled" : "disabled"), [](common_params & params, bool value) { params.use_mmap = value; - if (value) { - params.use_direct_io = false; // disable direct io when mmap is explicitly enabled - } } ).set_env("LLAMA_ARG_MMAP")); add_opt(common_arg( {"-dio", "--direct-io"}, {"-ndio", "--no-direct-io"}, - string_format("use DirectIO if available. Takes precedence over --mmap (default: %s)", params.use_direct_io ? "enabled" : "disabled"), + string_format("use DirectIO if available. (default: %s)", params.use_direct_io ? "enabled" : "disabled"), [](common_params & params, bool value) { params.use_direct_io = value; } diff --git a/common/common.h b/common/common.h index 96c990c05d..21c11f457d 100644 --- a/common/common.h +++ b/common/common.h @@ -438,7 +438,7 @@ struct common_params { bool input_prefix_bos = false; // prefix BOS to user inputs, preceding input_prefix bool use_mmap = true; // enable mmap to use filesystem cache - bool use_direct_io = true; // read from disk without buffering for faster model loading + bool use_direct_io = false; // read from disk without buffering bool use_mlock = false; // use mlock to keep model in memory bool verbose_prompt = false; // print prompt tokens before generation bool display_prompt = true; // print prompt before generation diff --git a/include/llama.h b/include/llama.h index c3360ae57c..bf4e28a8be 100644 --- a/include/llama.h +++ b/include/llama.h @@ -309,7 +309,7 @@ extern "C" { // Keep the booleans together to avoid misalignment during copy-by-value. bool vocab_only; // only load the vocabulary, no weights bool use_mmap; // use mmap if possible - bool use_direct_io; // use direct io, takes precedence over use_mmap + bool use_direct_io; // use direct io, takes precedence over use_mmap when supported bool use_mlock; // force system to keep model in RAM bool check_tensors; // validate model tensor data bool use_extra_bufts; // use extra buffer types (used for weight repacking) diff --git a/src/llama-model-loader.cpp b/src/llama-model-loader.cpp index 383b8dc761..1501e392ca 100644 --- a/src/llama-model-loader.cpp +++ b/src/llama-model-loader.cpp @@ -541,15 +541,15 @@ llama_model_loader::llama_model_loader( if (use_mmap && use_direct_io) { if (files.back()->has_direct_io()) { - // Disable mmap, as DirectIO is available - use_mmap = false; LLAMA_LOG_WARN("%s: direct I/O is enabled, disabling mmap\n", __func__); + use_mmap = false; } else { - // Disable DirectIO and reopen file using std::fopen for mmap + LLAMA_LOG_WARN("%s: direct I/O is not available, using mmap\n", __func__); use_direct_io = false; + + // reopen file using std::fopen for mmap files.pop_back(); files.emplace_back(new llama_file(fname.c_str(), "rb", false)); - LLAMA_LOG_WARN("%s: direct I/O is not available, using mmap\n", __func__); } } diff --git a/src/llama-model.cpp b/src/llama-model.cpp index cc784e1cb0..72490a89b5 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -8125,7 +8125,7 @@ llama_model_params llama_model_default_params() { /*.kv_overrides =*/ nullptr, /*.vocab_only =*/ false, /*.use_mmap =*/ true, - /*.use_direct_io =*/ true, + /*.use_direct_io =*/ false, /*.use_mlock =*/ false, /*.check_tensors =*/ false, /*.use_extra_bufts =*/ true, diff --git a/src/llama-quant.cpp b/src/llama-quant.cpp index a2b8d4e56c..776222cb6f 100644 --- a/src/llama-quant.cpp +++ b/src/llama-quant.cpp @@ -545,7 +545,7 @@ static void llama_model_quantize_impl(const std::string & fname_inp, const std:: } std::vector splits = {}; - llama_model_loader ml(fname_inp, splits, use_mmap, /*use_direct_io*/ true, /*check_tensors*/ true, /*no_alloc*/ false, kv_overrides, nullptr); + llama_model_loader ml(fname_inp, splits, use_mmap, /*use_direct_io*/ false, /*check_tensors*/ true, /*no_alloc*/ false, kv_overrides, nullptr); ml.init_mappings(false); // no prefetching llama_model model(llama_model_default_params()); From b931f81b5a3bc3e16bd74cebc8fee8cbd69f8d4d Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 28 Jan 2026 09:11:40 +0200 Subject: [PATCH 038/206] server : adjust spec tests to generate up to 16 tokens (#19093) --- tools/server/tests/unit/test_speculative.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/server/tests/unit/test_speculative.py b/tools/server/tests/unit/test_speculative.py index d2f3fba5fe..eebd3cc8fa 100644 --- a/tools/server/tests/unit/test_speculative.py +++ b/tools/server/tests/unit/test_speculative.py @@ -30,6 +30,7 @@ def test_with_and_without_draft(): "prompt": "I believe the meaning of life is", "temperature": 0.0, "top_k": 1, + "n_predict": 16, }) assert res.status_code == 200 content_no_draft = res.body["content"] @@ -42,6 +43,7 @@ def test_with_and_without_draft(): "prompt": "I believe the meaning of life is", "temperature": 0.0, "top_k": 1, + "n_predict": 16, }) assert res.status_code == 200 content_draft = res.body["content"] @@ -68,6 +70,7 @@ def test_different_draft_min_draft_max(): "prompt": "I believe the meaning of life is", "temperature": 0.0, "top_k": 1, + "n_predict": 16, }) assert res.status_code == 200 if last_content is not None: From 2eee6c866c89bcb101693c8b33fa6e1a7f98932c Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 28 Jan 2026 09:15:11 +0200 Subject: [PATCH 039/206] CUDA: tune GLM 4.7 Flash FA kernel selection logic (DGX Spark) (#19142) --- ggml/src/ggml-cuda/common.cuh | 1 + ggml/src/ggml-cuda/fattn.cu | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 09a491a836..3335f443ae 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -53,6 +53,7 @@ // While BW spans CC 1000, 1100 & 1200, we are integrating Tensor Core instructions available to 1200 family, see // https://docs.nvidia.com/cutlass/media/docs/cpp/blackwell_functionality.html#blackwell-sm120-gemms #define GGML_CUDA_CC_BLACKWELL 1200 +#define GGML_CUDA_CC_DGX_SPARK 1210 #define GGML_CUDA_CC_RUBIN 1300 #define GGML_CUDA_CC_OFFSET_AMD 0x1000000 #define GGML_CUDA_CC_OFFSET_MTHREADS 0x0100000 diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index b061fdf9a2..fe18ff6c7d 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -147,6 +147,14 @@ static void ggml_cuda_flash_attn_ext_mma_f16(ggml_backend_cuda_context & ctx, gg GGML_ASSERT(Q->ne[2] % K->ne[2] == 0); const int gqa_ratio = Q->ne[2] / K->ne[2]; if (gqa_ratio == 20) { // GLM 4.7 Flash + if (cc >= GGML_CUDA_CC_DGX_SPARK) { + if (Q->ne[1] <= 8) { + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 16>(ctx, dst); + break; + } + ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 4>(ctx, dst); + break; + } if (cc >= GGML_CUDA_CC_BLACKWELL) { if (Q->ne[1] <= 4 && K->ne[1] >= 65536) { ggml_cuda_flash_attn_ext_mma_f16_switch_ncols1<576, 512, 16>(ctx, dst); From 631cbfcc7a21869e2f3f6b78ed88e9863cc5a862 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 28 Jan 2026 09:15:27 +0200 Subject: [PATCH 040/206] cuda : fix "V is K view" check for non-unified KV cache (#19145) --- common/arg.cpp | 5 +++-- ggml/src/ggml-cuda/fattn-common.cuh | 2 +- ggml/src/ggml-cuda/fattn.cu | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 2f68bdc1c0..cd3a1b6397 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1295,9 +1295,10 @@ common_params_context common_params_parser_init(common_params & params, llama_ex ).set_env("LLAMA_ARG_CACHE_RAM").set_examples({LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_CLI})); add_opt(common_arg( {"-kvu", "--kv-unified"}, + {"-no-kvu", "--no-kv-unified"}, "use single unified KV buffer shared across all sequences (default: enabled if number of slots is auto)", - [](common_params & params) { - params.kv_unified = true; + [](common_params & params, bool value) { + params.kv_unified = value; } ).set_env("LLAMA_ARG_KV_UNIFIED").set_examples({LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_PERPLEXITY, LLAMA_EXAMPLE_BATCHED})); add_opt(common_arg( diff --git a/ggml/src/ggml-cuda/fattn-common.cuh b/ggml/src/ggml-cuda/fattn-common.cuh index 3d7daccfdf..b6a7460da8 100644 --- a/ggml/src/ggml-cuda/fattn-common.cuh +++ b/ggml/src/ggml-cuda/fattn-common.cuh @@ -789,7 +789,7 @@ void launch_fattn( const ggml_tensor * K = dst->src[1]; const ggml_tensor * V = dst->src[2]; - const bool V_is_K_view = V->view_src && V->view_offs == 0 && (V->view_src == K || V->view_src == K->view_src); + const bool V_is_K_view = V->view_src && (V->view_src == K || (V->view_src == K->view_src && V->view_offs == K->view_offs)); const ggml_tensor * mask = dst->src[3]; const ggml_tensor * sinks = dst->src[4]; diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index fe18ff6c7d..195904ee20 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -310,7 +310,7 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const } } - const bool V_is_K_view = V->view_src && V->view_offs == 0 && (V->view_src == K || V->view_src == K->view_src); + const bool V_is_K_view = V->view_src && (V->view_src == K || (V->view_src == K->view_src && V->view_offs == K->view_offs)); const int cc = ggml_cuda_info().devices[device].cc; From 6ad70c5a779f770a37b91c51d88daf30313fca08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Cabrera=20P=C3=A9rez?= <1478977+Alcpz@users.noreply.github.com> Date: Wed, 28 Jan 2026 07:15:56 +0000 Subject: [PATCH 041/206] ggml-cpu: arm64: Q4_K scale unroll and vectorization (#19108) --- ggml/src/ggml-cpu/arch/arm/repack.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/ggml/src/ggml-cpu/arch/arm/repack.cpp b/ggml/src/ggml-cpu/arch/arm/repack.cpp index f40226494c..99bb70274c 100644 --- a/ggml/src/ggml-cpu/arch/arm/repack.cpp +++ b/ggml/src/ggml-cpu/arch/arm/repack.cpp @@ -3148,16 +3148,17 @@ void ggml_gemm_q4_K_8x8_q8_K(int n, // Scales[i] corresponds to column i const int scale_offset = cp * 2; - for (int blk = 0; blk < 2; blk++) { - const int32x4_t block_scale = { - (int32_t) q4sb_scales[blk][scale_offset], - (int32_t) q4sb_scales[blk][scale_offset], - (int32_t) q4sb_scales[blk][scale_offset + 1], - (int32_t) q4sb_scales[blk][scale_offset + 1], - }; - acc[cp] = vmlaq_s32(acc[cp], sb_acc[blk], block_scale); - acc[cp + 4] = vmlaq_s32(acc[cp + 4], sb_acc[blk + 2], block_scale); - } + const int32_t scale_00 = q4sb_scales[0][scale_offset]; + const int32_t scale_01 = q4sb_scales[0][scale_offset + 1]; + const int32_t scale_10 = q4sb_scales[1][scale_offset]; + const int32_t scale_11 = q4sb_scales[1][scale_offset + 1]; + const int32x4_t block_scale_0 = vcombine_s32(vdup_n_s32(scale_00), vdup_n_s32(scale_01)); + const int32x4_t block_scale_1 = vcombine_s32(vdup_n_s32(scale_10), vdup_n_s32(scale_11)); + + acc[cp] = vmlaq_s32(acc[cp], sb_acc[0], block_scale_0); + acc[cp + 4] = vmlaq_s32(acc[cp + 4], sb_acc[2], block_scale_0); + acc[cp] = vmlaq_s32(acc[cp], sb_acc[1], block_scale_1); + acc[cp + 4] = vmlaq_s32(acc[cp + 4], sb_acc[3], block_scale_1); } // Multiply Acc bsum + mins From b7feacf7f39d79518e6ca48a9fcf697c5244b585 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Wed, 28 Jan 2026 10:49:40 +0100 Subject: [PATCH 042/206] ggml: new backend for Virglrenderer API Remoting acceleration (v2) (#18718) --- CODEOWNERS | 1 + ggml/CMakeLists.txt | 3 + ggml/include/ggml-virtgpu.h | 16 + ggml/src/CMakeLists.txt | 1 + ggml/src/ggml-backend-reg.cpp | 14 + ggml/src/ggml-virtgpu/CMakeLists.txt | 70 +++ .../ggml-virtgpu/apir_cs_ggml-rpc-front.cpp | 87 +++ ggml/src/ggml-virtgpu/backend/CMakeLists.txt | 21 + .../backend/apir_cs_ggml-rpc-back.cpp | 115 ++++ .../ggml-virtgpu/backend/backend-convert.h | 13 + .../backend/backend-dispatched-backend.cpp | 65 +++ .../backend-dispatched-buffer-type.cpp | 89 ++++ .../backend/backend-dispatched-buffer.cpp | 131 +++++ .../backend/backend-dispatched-device.cpp | 148 ++++++ .../backend/backend-dispatched.cpp | 46 ++ .../backend/backend-dispatched.gen.h | 130 +++++ .../ggml-virtgpu/backend/backend-dispatched.h | 23 + .../ggml-virtgpu/backend/backend-virgl-apir.h | 32 ++ ggml/src/ggml-virtgpu/backend/backend.cpp | 148 ++++++ .../backend/shared/api_remoting.h | 90 ++++ .../backend/shared/apir_backend.gen.h | 36 ++ .../backend/shared/apir_backend.h | 46 ++ .../src/ggml-virtgpu/backend/shared/apir_cs.h | 383 ++++++++++++++ .../backend/shared/apir_cs_ggml.h | 211 ++++++++ .../ggml-virtgpu/backend/shared/apir_cs_rpc.h | 54 ++ .../ggml-virtgpu/ggml-backend-buffer-type.cpp | 98 ++++ ggml/src/ggml-virtgpu/ggml-backend-buffer.cpp | 119 +++++ ggml/src/ggml-virtgpu/ggml-backend-device.cpp | 144 +++++ ggml/src/ggml-virtgpu/ggml-backend-reg.cpp | 137 +++++ ggml/src/ggml-virtgpu/ggml-backend.cpp | 69 +++ ggml/src/ggml-virtgpu/ggml-remoting.h | 68 +++ .../ggml-virtgpu/ggmlremoting_functions.yaml | 168 ++++++ ggml/src/ggml-virtgpu/include/apir_hw.h | 9 + ggml/src/ggml-virtgpu/regenerate_remoting.py | 322 +++++++++++ ggml/src/ggml-virtgpu/virtgpu-apir.h | 15 + .../ggml-virtgpu/virtgpu-forward-backend.cpp | 50 ++ .../virtgpu-forward-buffer-type.cpp | 125 +++++ .../ggml-virtgpu/virtgpu-forward-buffer.cpp | 157 ++++++ .../ggml-virtgpu/virtgpu-forward-device.cpp | 200 +++++++ ggml/src/ggml-virtgpu/virtgpu-forward-impl.h | 29 + ggml/src/ggml-virtgpu/virtgpu-forward.gen.h | 51 ++ ggml/src/ggml-virtgpu/virtgpu-shm.cpp | 99 ++++ ggml/src/ggml-virtgpu/virtgpu-shm.h | 23 + ggml/src/ggml-virtgpu/virtgpu-utils.cpp | 179 +++++++ ggml/src/ggml-virtgpu/virtgpu-utils.h | 86 +++ ggml/src/ggml-virtgpu/virtgpu.cpp | 498 ++++++++++++++++++ ggml/src/ggml-virtgpu/virtgpu.h | 92 ++++ 47 files changed, 4711 insertions(+) create mode 100644 ggml/include/ggml-virtgpu.h create mode 100644 ggml/src/ggml-virtgpu/CMakeLists.txt create mode 100644 ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp create mode 100644 ggml/src/ggml-virtgpu/backend/CMakeLists.txt create mode 100644 ggml/src/ggml-virtgpu/backend/apir_cs_ggml-rpc-back.cpp create mode 100644 ggml/src/ggml-virtgpu/backend/backend-convert.h create mode 100644 ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp create mode 100644 ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp create mode 100644 ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp create mode 100644 ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp create mode 100644 ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp create mode 100644 ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h create mode 100644 ggml/src/ggml-virtgpu/backend/backend-dispatched.h create mode 100644 ggml/src/ggml-virtgpu/backend/backend-virgl-apir.h create mode 100644 ggml/src/ggml-virtgpu/backend/backend.cpp create mode 100644 ggml/src/ggml-virtgpu/backend/shared/api_remoting.h create mode 100644 ggml/src/ggml-virtgpu/backend/shared/apir_backend.gen.h create mode 100644 ggml/src/ggml-virtgpu/backend/shared/apir_backend.h create mode 100644 ggml/src/ggml-virtgpu/backend/shared/apir_cs.h create mode 100644 ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h create mode 100644 ggml/src/ggml-virtgpu/backend/shared/apir_cs_rpc.h create mode 100644 ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp create mode 100644 ggml/src/ggml-virtgpu/ggml-backend-buffer.cpp create mode 100644 ggml/src/ggml-virtgpu/ggml-backend-device.cpp create mode 100644 ggml/src/ggml-virtgpu/ggml-backend-reg.cpp create mode 100644 ggml/src/ggml-virtgpu/ggml-backend.cpp create mode 100644 ggml/src/ggml-virtgpu/ggml-remoting.h create mode 100644 ggml/src/ggml-virtgpu/ggmlremoting_functions.yaml create mode 100644 ggml/src/ggml-virtgpu/include/apir_hw.h create mode 100755 ggml/src/ggml-virtgpu/regenerate_remoting.py create mode 100644 ggml/src/ggml-virtgpu/virtgpu-apir.h create mode 100644 ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp create mode 100644 ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp create mode 100644 ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp create mode 100644 ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp create mode 100644 ggml/src/ggml-virtgpu/virtgpu-forward-impl.h create mode 100644 ggml/src/ggml-virtgpu/virtgpu-forward.gen.h create mode 100644 ggml/src/ggml-virtgpu/virtgpu-shm.cpp create mode 100644 ggml/src/ggml-virtgpu/virtgpu-shm.h create mode 100644 ggml/src/ggml-virtgpu/virtgpu-utils.cpp create mode 100644 ggml/src/ggml-virtgpu/virtgpu-utils.h create mode 100644 ggml/src/ggml-virtgpu/virtgpu.cpp create mode 100644 ggml/src/ggml-virtgpu/virtgpu.h diff --git a/CODEOWNERS b/CODEOWNERS index 55f5011dfa..6086abb564 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -67,6 +67,7 @@ /ggml/src/ggml-rpc/ @rgerganov /ggml/src/ggml-threading.* @ggerganov /ggml/src/ggml-vulkan/ @0cc4m +/ggml/src/ggml-virtgpu/ @kpouget /ggml/src/ggml-webgpu/ @reeselevine /ggml/src/ggml-zdnn/ @taronaeo @Andreas-Krebbel @AlekseiNikiforovIBM /ggml/src/ggml.c @ggerganov diff --git a/ggml/CMakeLists.txt b/ggml/CMakeLists.txt index 0176ca1ce9..b0b8e57898 100644 --- a/ggml/CMakeLists.txt +++ b/ggml/CMakeLists.txt @@ -228,6 +228,8 @@ option(GGML_WEBGPU_CPU_PROFILE "ggml: enable WebGPU profiling (CPU) option(GGML_WEBGPU_GPU_PROFILE "ggml: enable WebGPU profiling (GPU)" OFF) option(GGML_WEBGPU_JSPI "ggml: use JSPI for WebGPU" ON) option(GGML_ZDNN "ggml: use zDNN" OFF) +option(GGML_VIRTGPU "ggml: use the VirtGPU/Virglrenderer API Remoting frontend" OFF) +option(GGML_VIRTGPU_BACKEND "ggml: build the VirtGPU/Virglrenderer API Remoting backend" OFF) option(GGML_METAL "ggml: use Metal" ${GGML_METAL_DEFAULT}) option(GGML_METAL_NDEBUG "ggml: disable Metal debugging" OFF) option(GGML_METAL_SHADER_DEBUG "ggml: compile Metal with -fno-fast-math" OFF) @@ -320,6 +322,7 @@ set(GGML_PUBLIC_HEADERS include/ggml-opt.h include/ggml-metal.h include/ggml-rpc.h + include/ggml-virtgpu.h include/ggml-sycl.h include/ggml-vulkan.h include/ggml-webgpu.h diff --git a/ggml/include/ggml-virtgpu.h b/ggml/include/ggml-virtgpu.h new file mode 100644 index 0000000000..1cb4bd7a03 --- /dev/null +++ b/ggml/include/ggml-virtgpu.h @@ -0,0 +1,16 @@ +#pragma once + +#include "ggml.h" +#include "ggml-backend.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define GGML_REMOTING_FRONTEND_NAME "RemotingFrontend" + +GGML_BACKEND_API ggml_backend_reg_t ggml_backend_virtgpu_reg(); + +#ifdef __cplusplus +} +#endif diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 6192a87046..260ad48f0e 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -451,6 +451,7 @@ ggml_add_backend(HIP) ggml_add_backend(METAL) ggml_add_backend(MUSA) ggml_add_backend(RPC) +ggml_add_backend(VirtGPU) ggml_add_backend(SYCL) ggml_add_backend(Vulkan) ggml_add_backend(WebGPU) diff --git a/ggml/src/ggml-backend-reg.cpp b/ggml/src/ggml-backend-reg.cpp index 6bee1bc4b4..dd991f262e 100644 --- a/ggml/src/ggml-backend-reg.cpp +++ b/ggml/src/ggml-backend-reg.cpp @@ -69,6 +69,10 @@ #include "ggml-rpc.h" #endif +#ifdef GGML_USE_VIRTGPU_FRONTEND +#include "ggml-virtgpu.h" +#endif + #ifdef GGML_USE_CANN #include "ggml-cann.h" #endif @@ -180,7 +184,12 @@ struct ggml_backend_registry { register_backend(ggml_backend_sycl_reg()); #endif #ifdef GGML_USE_VULKAN + // Add runtime disable check + if (getenv("GGML_DISABLE_VULKAN") == nullptr) { register_backend(ggml_backend_vk_reg()); + } else { + GGML_LOG_DEBUG("Vulkan backend disabled by GGML_DISABLE_VULKAN environment variable\n"); + } #endif #ifdef GGML_USE_WEBGPU register_backend(ggml_backend_webgpu_reg()); @@ -188,6 +197,10 @@ struct ggml_backend_registry { #ifdef GGML_USE_ZDNN register_backend(ggml_backend_zdnn_reg()); #endif +#ifdef GGML_USE_VIRTGPU_FRONTEND + register_backend(ggml_backend_virtgpu_reg()); +#endif + #ifdef GGML_USE_OPENCL register_backend(ggml_backend_opencl_reg()); #endif @@ -604,6 +617,7 @@ void ggml_backend_load_all_from_path(const char * dir_path) { ggml_backend_load_best("rpc", silent, dir_path); ggml_backend_load_best("sycl", silent, dir_path); ggml_backend_load_best("vulkan", silent, dir_path); + ggml_backend_load_best("virtgpu", silent, dir_path); ggml_backend_load_best("opencl", silent, dir_path); ggml_backend_load_best("hexagon", silent, dir_path); ggml_backend_load_best("musa", silent, dir_path); diff --git a/ggml/src/ggml-virtgpu/CMakeLists.txt b/ggml/src/ggml-virtgpu/CMakeLists.txt new file mode 100644 index 0000000000..e6b020beb5 --- /dev/null +++ b/ggml/src/ggml-virtgpu/CMakeLists.txt @@ -0,0 +1,70 @@ +cmake_minimum_required(VERSION 3.19) +cmake_policy(SET CMP0114 NEW) + +include(ExternalProject) + +message(STATUS "Including the VirtGPU/Virglrenderer API Remoting") + +# Download venus_hw.h from virglrenderer repository +ExternalProject_Add( + venus_hw_header + URL https://gitlab.freedesktop.org/virgl/virglrenderer/-/raw/virglrenderer-1.2.0/src/venus_hw.h + DOWNLOAD_NO_EXTRACT YES + DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include + DOWNLOAD_NAME venus_hw.h + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND "" + LOG_DOWNLOAD ON +) + +if (NOT GGML_VIRTGPU_BACKEND STREQUAL "ONLY") + message(STATUS "Enable the VirtGPU/Virglrenderer API Remoting frontend library") + + find_package(PkgConfig REQUIRED) + pkg_check_modules(DRM REQUIRED libdrm) + if (NOT GGML_BACKEND_DL) + # cannot simply use USE_VIRTGPU, as in the 'else()' case the + # frontend isn't compiled + target_compile_definitions(ggml PUBLIC "GGML_USE_VIRTGPU_FRONTEND") + endif() + + ggml_add_backend_library(ggml-virtgpu + ggml-backend-buffer.cpp + ggml-backend.cpp + ggml-backend-device.cpp + ggml-backend-reg.cpp + ggml-backend-buffer-type.cpp + virtgpu-apir.h + virtgpu-forward.gen.h + virtgpu.cpp + virtgpu-shm.cpp + virtgpu-utils.cpp + virtgpu-forward-device.cpp + virtgpu-forward-buffer-type.cpp + virtgpu-forward-buffer.cpp + virtgpu-forward-backend.cpp + virtgpu-forward-impl.h + apir_cs_ggml-rpc-front.cpp + ../../include/ggml-virtgpu.h) + + target_include_directories(ggml-virtgpu PUBLIC /usr/include/libdrm/) + + target_link_libraries(ggml-virtgpu PUBLIC ${DRM_LIBRARIES}) + target_include_directories(ggml-virtgpu PUBLIC ${DRM_INCLUDE_DIRS}) + target_compile_options(ggml-virtgpu PUBLIC ${DRM_CFLAGS_OTHER}) + + target_include_directories(ggml-virtgpu PUBLIC ./include) + target_include_directories(ggml-virtgpu PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) + + # Ensure venus_hw.h is downloaded before building ggml-virtgpu + add_dependencies(ggml-virtgpu venus_hw_header) + + target_compile_options(ggml-virtgpu PRIVATE -std=c++20) +else() + message(STATUS "Not building the VirtGPU/Virglrenderer API Remoting frontend library") +endif() + +if (NOT GGML_VIRTGPU_BACKEND STREQUAL "OFF") + add_subdirectory("backend") +endif() diff --git a/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp b/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp new file mode 100644 index 0000000000..f60ae3556c --- /dev/null +++ b/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp @@ -0,0 +1,87 @@ +#include "backend/shared/apir_cs_rpc.h" +#include "ggml-backend-impl.h" +#include "ggml-impl.h" +#include "ggml-remoting.h" + +#include +#include +#include +#include + +apir_rpc_tensor apir_serialize_tensor(const ggml_tensor * tensor) { + apir_rpc_tensor result; + result.id = reinterpret_cast(tensor); + result.type = tensor->type; + if (tensor->buffer) { + ggml_backend_buffer_t buffer = tensor->buffer; + + result.buffer = BUFFER_TO_HOST_HANDLE(buffer); + } else { + result.buffer = 0; + } + for (uint32_t i = 0; i < GGML_MAX_DIMS; i++) { + result.ne[i] = tensor->ne[i]; + result.nb[i] = tensor->nb[i]; + } + result.op = tensor->op; + for (uint32_t i = 0; i < GGML_MAX_OP_PARAMS / sizeof(int32_t); i++) { + result.op_params[i] = tensor->op_params[i]; + } + result.flags = tensor->flags; + for (uint32_t i = 0; i < GGML_MAX_SRC; i++) { + result.src[i] = reinterpret_cast(tensor->src[i]); + } + result.view_src = reinterpret_cast(tensor->view_src); + result.view_offs = tensor->view_offs; + result.data = reinterpret_cast(tensor->data); + if (tensor->data) { + if (!tensor->buffer) { + GGML_ABORT("tensor has data but not buffer"); + } + // tensor->data is serialized as an offset to the buffer base address + result.data -= reinterpret_cast(BUFFER_TO_GGML_CONTEXT(tensor->buffer)->base); + } + snprintf(result.name, GGML_MAX_NAME, "%s", tensor->name); + return result; +} + +void apir_add_tensor(ggml_tensor * tensor, + std::vector & tensors, + std::unordered_set & visited) { + if (tensor == nullptr) { + return; + } + if (visited.find(tensor) != visited.end()) { + return; + } + visited.insert(tensor); + for (int i = 0; i < GGML_MAX_SRC; i++) { + apir_add_tensor(tensor->src[i], tensors, visited); + } + apir_add_tensor(tensor->view_src, tensors, visited); + tensors.push_back(apir_serialize_tensor(tensor)); +} + +void apir_serialize_graph(const ggml_cgraph * cgraph, std::vector & output) { + uint32_t n_nodes = cgraph->n_nodes; + std::vector tensors; + std::unordered_set visited; + for (uint32_t i = 0; i < n_nodes; i++) { + apir_add_tensor(cgraph->nodes[i], tensors, visited); + } + // serialization format: + // | n_nodes (4 bytes) | nodes (n_nodes * sizeof(uint64_t) | n_tensors (4 bytes) | tensors (n_tensors * sizeof(apir_rpc_tensor)) | + uint32_t n_tensors = tensors.size(); + int output_size = + sizeof(uint32_t) + n_nodes * sizeof(uint64_t) + sizeof(uint32_t) + n_tensors * sizeof(apir_rpc_tensor); + output.resize(output_size, 0); + memcpy(output.data(), &n_nodes, sizeof(n_nodes)); + for (uint32_t i = 0; i < n_nodes; i++) { + memcpy(output.data() + sizeof(n_nodes) + i * sizeof(uint64_t), &cgraph->nodes[i], sizeof(uint64_t)); + } + uint32_t * out_ntensors = (uint32_t *) (output.data() + sizeof(n_nodes) + n_nodes * sizeof(uint64_t)); + *out_ntensors = n_tensors; + apir_rpc_tensor * out_tensors = + (apir_rpc_tensor *) (output.data() + sizeof(n_nodes) + n_nodes * sizeof(uint64_t) + sizeof(uint32_t)); + memcpy(out_tensors, tensors.data(), n_tensors * sizeof(apir_rpc_tensor)); +} diff --git a/ggml/src/ggml-virtgpu/backend/CMakeLists.txt b/ggml/src/ggml-virtgpu/backend/CMakeLists.txt new file mode 100644 index 0000000000..0b49c403b9 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.19) +cmake_policy(SET CMP0114 NEW) + +message(STATUS "Enable the VirtGPU/Virglrenderer backend library") + +ggml_add_backend_library(ggml-virtgpu-backend + backend.cpp + backend-dispatched.cpp + backend-dispatched-backend.cpp + backend-dispatched-device.cpp + backend-dispatched-buffer.cpp + backend-dispatched-buffer-type.cpp + shared/api_remoting.h + shared/apir_backend.h + shared/apir_cs.h + apir_cs_ggml-rpc-back.cpp) + +target_compile_options(ggml-virtgpu-backend PRIVATE -std=c++20) + +# Add include directory for ggml-backend-impl.h and other core headers +target_include_directories(ggml-virtgpu-backend PRIVATE ../..) diff --git a/ggml/src/ggml-virtgpu/backend/apir_cs_ggml-rpc-back.cpp b/ggml/src/ggml-virtgpu/backend/apir_cs_ggml-rpc-back.cpp new file mode 100644 index 0000000000..60a8a93bfb --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/apir_cs_ggml-rpc-back.cpp @@ -0,0 +1,115 @@ +#include "ggml-backend-impl.h" +#include "ggml-impl.h" +#include "shared/apir_cs_rpc.h" + +#include +#include +#include +#include + +std::unordered_set backend_buffers; + +void apir_track_backend_buffer(ggml_backend_buffer_t buffer) { + backend_buffers.insert(buffer); +} + +bool apir_untrack_backend_buffer(ggml_backend_buffer_t buffer) { + auto it = backend_buffers.find(buffer); + if (it == backend_buffers.end()) { + return false; + } + + backend_buffers.erase(it); + return true; +} + +std::unordered_set apir_get_track_backend_buffers() { + return backend_buffers; +} + +ggml_tensor * apir_deserialize_tensor(ggml_context * ctx, const apir_rpc_tensor * tensor) { + ggml_tensor * result = + ggml_new_tensor_4d(ctx, (ggml_type) tensor->type, tensor->ne[0], tensor->ne[1], tensor->ne[2], tensor->ne[3]); + for (uint32_t i = 0; i < GGML_MAX_DIMS; i++) { + result->nb[i] = tensor->nb[i]; + } + result->buffer = reinterpret_cast(tensor->buffer); + if (result->buffer && backend_buffers.find(result->buffer) == backend_buffers.end()) { + printf("WARNING: HOST BUFFER NOT FOUND | %p\n", (void *) result->buffer); + result->buffer = nullptr; + } + + uint64_t tensor_data = tensor->data; + if (result->buffer) { + // require that the tensor data does not go beyond the buffer end + uint64_t tensor_size = (uint64_t) ggml_nbytes(result); + uint64_t buffer_start = (uint64_t) ggml_backend_buffer_get_base(result->buffer); + uint64_t buffer_size = (uint64_t) ggml_backend_buffer_get_size(result->buffer); + + // tensor->data is serialized as an offset to the buffer base address + tensor_data += buffer_start; + + GGML_ASSERT(tensor_data + tensor_size >= tensor_data); // check for overflow + GGML_ASSERT(tensor_data >= buffer_start && tensor_data + tensor_size <= buffer_start + buffer_size); + } + + result->op = (ggml_op) tensor->op; + for (uint32_t i = 0; i < GGML_MAX_OP_PARAMS / sizeof(int32_t); i++) { + result->op_params[i] = tensor->op_params[i]; + } + result->flags = tensor->flags; + result->data = reinterpret_cast(tensor_data); + ggml_set_name(result, tensor->name); + return result; +} + +ggml_tensor * apir_create_node(uint64_t id, + ggml_context * ctx, + const std::unordered_map & tensor_ptrs, + std::unordered_map & tensor_map) { + if (id == 0) { + return nullptr; + } + if (tensor_map.find(id) != tensor_map.end()) { + return tensor_map[id]; + } + const apir_rpc_tensor * tensor = tensor_ptrs.at(id); + ggml_tensor * result = apir_deserialize_tensor(ctx, tensor); + if (result == nullptr) { + return nullptr; + } + tensor_map[id] = result; + for (int i = 0; i < GGML_MAX_SRC; i++) { + result->src[i] = apir_create_node(tensor->src[i], ctx, tensor_ptrs, tensor_map); + } + result->view_src = apir_create_node(tensor->view_src, ctx, tensor_ptrs, tensor_map); + result->view_offs = tensor->view_offs; + return result; +} + +ggml_cgraph * apir_deserialize_graph(uint32_t n_nodes, + uint32_t n_tensors, + const apir_rpc_tensor * tensors, + const uint64_t * nodes) { + size_t buf_size = ggml_tensor_overhead() * (n_nodes + n_tensors) + ggml_graph_overhead_custom(n_nodes, false); + ggml_init_params params = { + /*.mem_size =*/buf_size, + /*.mem_buffer =*/NULL, + /*.no_alloc =*/true, + }; + ggml_context * ctx = ggml_init(params); + ggml_cgraph * graph = ggml_new_graph_custom(ctx, n_nodes, false); + graph->n_nodes = n_nodes; + std::unordered_map tensor_ptrs; + for (uint32_t i = 0; i < n_tensors; i++) { + tensor_ptrs[tensors[i].id] = &tensors[i]; + } + std::unordered_map tensor_map; + for (uint32_t i = 0; i < n_nodes; i++) { + int64_t id; + memcpy(&id, &nodes[i], sizeof(id)); + graph->nodes[i] = apir_create_node(id, ctx, tensor_ptrs, tensor_map); + } + + return graph; +} diff --git a/ggml/src/ggml-virtgpu/backend/backend-convert.h b/ggml/src/ggml-virtgpu/backend/backend-convert.h new file mode 100644 index 0000000000..1978d21f7e --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend-convert.h @@ -0,0 +1,13 @@ +#include "shared/apir_backend.h" + +#define BUFFER_TO_HOST_HANDLE(name) ggml_buffer_to_apir_handle(name) + +static inline apir_buffer_host_handle_t ggml_buffer_to_apir_handle(ggml_backend_buffer_t buffer) { + // in the backend, the buffer handle is the buffer pointer + return (apir_buffer_host_handle_t) buffer; +} + +static inline apir_buffer_type_host_handle_t ggml_buffer_type_to_apir_handle(ggml_backend_buffer_type_t buft) { + // in the backend, the buffer handle is the buffer pointer + return (apir_buffer_type_host_handle_t) buft; +} diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp new file mode 100644 index 0000000000..77b4ee71e1 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp @@ -0,0 +1,65 @@ +#include "backend-dispatched.h" +#include "backend-virgl-apir.h" +#include "ggml-backend-impl.h" +#include "ggml-backend.h" +#include "ggml-impl.h" +#include "shared/apir_backend.h" + +#include + +uint32_t backend_backend_graph_compute(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(enc); + + static bool async_backend_initialized = false; + static bool async_backend; + + if (!async_backend_initialized) { + ggml_backend_dev_props props; + + dev->iface.get_props(dev, &props); + async_backend = props.caps.async; + async_backend_initialized = true; + } + + uint32_t shmem_res_id; + apir_decode_virtgpu_shmem_res_id(dec, &shmem_res_id); + + const void * shmem_data = ctx->iface->get_shmem_ptr(ctx->ctx_id, shmem_res_id); + if (!shmem_data) { + GGML_LOG_ERROR("Couldn't get the shmem addr from virgl\n"); + apir_decoder_set_fatal(dec); + return 1; + } + size_t cgraph_size; + apir_decode_size_t(dec, &cgraph_size); + + apir_decoder secondary_dec = apir_new_decoder((const char *) shmem_data, cgraph_size); + + ggml_cgraph * cgraph = apir_decode_ggml_cgraph(&secondary_dec, cgraph_size); + + ggml_status status; +#if APIR_BACKEND_CHECK_SUPPORTS_OP == 1 + for (int idx = 0; idx < cgraph->n_nodes; idx++) { + ggml_tensor * op = ggml_graph_node(cgraph, idx); + if (dev->iface.supports_op(dev, op)) { + continue; + } + GGML_LOG_ERROR("Graph node %d (%s) not supported by the backend\n", idx, ggml_op_desc(op)); + + status = GGML_STATUS_ABORTED; + apir_encode_ggml_status(enc, &status); + + return 0; + } +#endif + status = bck->iface.graph_compute(bck, cgraph); + + if (async_backend) { + bck->iface.synchronize(bck); + } + + apir_encode_ggml_status(enc, &status); + + return 0; +} diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp new file mode 100644 index 0000000000..8ea1bb4fb4 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp @@ -0,0 +1,89 @@ +#include "backend-dispatched.h" +#include "backend-virgl-apir.h" +#include "ggml-backend-impl.h" +#include "ggml-backend.h" +#include "ggml-impl.h" + +#include + +uint32_t backend_buffer_type_get_name(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + ggml_backend_buffer_type_t buft; + buft = apir_decode_ggml_buffer_type(dec); + + const char * string = buft->iface.get_name(buft); + + const size_t string_size = strlen(string) + 1; + apir_encode_array_size(enc, string_size); + apir_encode_char_array(enc, string, string_size); + + return 0; +} + +uint32_t backend_buffer_type_get_alignment(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + ggml_backend_buffer_type_t buft; + buft = apir_decode_ggml_buffer_type(dec); + + size_t value = buft->iface.get_alignment(buft); + apir_encode_size_t(enc, &value); + + return 0; +} + +uint32_t backend_buffer_type_get_max_size(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + ggml_backend_buffer_type_t buft; + buft = apir_decode_ggml_buffer_type(dec); + + size_t value = buft->iface.get_max_size(buft); + apir_encode_size_t(enc, &value); + + return 0; +} + +uint32_t backend_buffer_type_is_host(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + ggml_backend_buffer_type_t buft; + buft = apir_decode_ggml_buffer_type(dec); + + bool is_host = buft->iface.is_host(buft); + apir_encode_bool_t(enc, &is_host); + + return 0; +} + +uint32_t backend_buffer_type_alloc_buffer(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + ggml_backend_buffer_type_t buft; + buft = apir_decode_ggml_buffer_type(dec); + + size_t size; + apir_decode_size_t(dec, &size); + + ggml_backend_buffer_t buffer; + + buffer = buft->iface.alloc_buffer(buft, size); + + apir_encode_ggml_buffer(enc, buffer); + + if (buffer) { + apir_track_backend_buffer(buffer); + } + + return 0; +} + +uint32_t backend_buffer_type_get_alloc_size(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + ggml_backend_buffer_type_t buft; + buft = apir_decode_ggml_buffer_type(dec); + + const ggml_tensor * op = apir_decode_ggml_tensor_inplace(dec); + + size_t value = buft->iface.get_alloc_size(buft, op); + + apir_encode_size_t(enc, &value); + + return 0; +} diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp new file mode 100644 index 0000000000..cf81888e98 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp @@ -0,0 +1,131 @@ +#include "backend-dispatched.h" +#include "backend-virgl-apir.h" +#include "ggml-backend-impl.h" +#include "ggml-backend.h" +#include "ggml-impl.h" + +#include + +uint32_t backend_buffer_get_base(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + ggml_backend_buffer_t buffer; + buffer = apir_decode_ggml_buffer(dec); + + uintptr_t base = (uintptr_t) buffer->iface.get_base(buffer); + apir_encode_uintptr_t(enc, &base); + + return 0; +} + +uint32_t backend_buffer_set_tensor(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(enc); + + ggml_backend_buffer_t buffer; + buffer = apir_decode_ggml_buffer(dec); + + ggml_tensor * tensor; + // safe to remove the const qualifier here + tensor = (ggml_tensor *) (uintptr_t) apir_decode_ggml_tensor(dec); + + uint32_t shmem_res_id; + apir_decode_virtgpu_shmem_res_id(dec, &shmem_res_id); + + size_t offset; + apir_decode_size_t(dec, &offset); + + size_t size; + apir_decode_size_t(dec, &size); + + void * shmem_data = ctx->iface->get_shmem_ptr(ctx->ctx_id, shmem_res_id); + + if (!shmem_data) { + GGML_LOG_ERROR("Couldn't get the shmem addr from virgl\n"); + return 1; + } + + buffer->iface.set_tensor(buffer, tensor, shmem_data, offset, size); + + return 0; +} + +uint32_t backend_buffer_get_tensor(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(enc); + + ggml_backend_buffer_t buffer; + buffer = apir_decode_ggml_buffer(dec); + + const ggml_tensor * tensor; + // safe to remove the const qualifier here + tensor = apir_decode_ggml_tensor(dec); + + uint32_t shmem_res_id; + apir_decode_virtgpu_shmem_res_id(dec, &shmem_res_id); + + size_t offset; + apir_decode_size_t(dec, &offset); + + size_t size; + apir_decode_size_t(dec, &size); + + void * shmem_data = ctx->iface->get_shmem_ptr(ctx->ctx_id, shmem_res_id); + if (!shmem_data) { + GGML_LOG_ERROR("Couldn't get the shmem addr from virgl\n"); + return 1; + } + + buffer->iface.get_tensor(buffer, tensor, shmem_data, offset, size); + + return 0; +} + +uint32_t backend_buffer_cpy_tensor(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + + ggml_backend_buffer_t buffer; + buffer = apir_decode_ggml_buffer(dec); + + const ggml_tensor * src; + // safe to remove the const qualifier here + src = apir_decode_ggml_tensor(dec); + ggml_tensor * dst = (ggml_tensor *) (uintptr_t) apir_decode_ggml_tensor(dec); + + bool ret = buffer->iface.cpy_tensor(buffer, src, (ggml_tensor *) dst); + + apir_encode_bool_t(enc, &ret); + + return 0; +} + +uint32_t backend_buffer_clear(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(enc); + + ggml_backend_buffer_t buffer; + buffer = apir_decode_ggml_buffer(dec); + + uint8_t value; + apir_decode_uint8_t(dec, &value); + + buffer->iface.clear(buffer, value); + + return 0; +} + +uint32_t backend_buffer_free_buffer(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(enc); + + ggml_backend_buffer_t buffer; + buffer = apir_decode_ggml_buffer(dec); + + if (!apir_untrack_backend_buffer(buffer)) { + GGML_LOG_WARN("%s: unknown buffer %p\n", __func__, (void *) buffer); + return 1; + } + + buffer->iface.free_buffer(buffer); + + return 0; +} diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp new file mode 100644 index 0000000000..497f737a88 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp @@ -0,0 +1,148 @@ +#include "backend-dispatched.h" +#include "backend-virgl-apir.h" +#include "ggml-backend-impl.h" +#include "ggml-backend.h" +#include "ggml-impl.h" + +#include + +uint32_t backend_device_get_device_count(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(ctx); + GGML_UNUSED(dec); + + int32_t dev_count = reg->iface.get_device_count(reg); + apir_encode_int32_t(enc, &dev_count); + + return 0; +} + +uint32_t backend_device_get_count(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(ctx); + GGML_UNUSED(dec); + + int32_t dev_count = reg->iface.get_device_count(reg); + apir_encode_int32_t(enc, &dev_count); + + return 0; +} + +uint32_t backend_device_get_name(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(dec); + + const char * string = dev->iface.get_name(dev); + + const size_t string_size = strlen(string) + 1; + apir_encode_array_size(enc, string_size); + apir_encode_char_array(enc, string, string_size); + + return 0; +} + +uint32_t backend_device_get_description(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(dec); + + const char * string = dev->iface.get_description(dev); + + const size_t string_size = strlen(string) + 1; + apir_encode_array_size(enc, string_size); + apir_encode_char_array(enc, string, string_size); + + return 0; +} + +uint32_t backend_device_get_type(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(dec); + + uint32_t type = dev->iface.get_type(dev); + apir_encode_uint32_t(enc, &type); + + return 0; +} + +uint32_t backend_device_get_memory(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(dec); + + size_t free, total; + dev->iface.get_memory(dev, &free, &total); + + apir_encode_size_t(enc, &free); + apir_encode_size_t(enc, &total); + + return 0; +} + +uint32_t backend_device_supports_op(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + + const ggml_tensor * op = apir_decode_ggml_tensor_inplace(dec); + + bool supports_op = dev->iface.supports_op(dev, op); + + apir_encode_bool_t(enc, &supports_op); + + return 0; +} + +uint32_t backend_device_get_buffer_type(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(dec); + + ggml_backend_buffer_type_t bufft = dev->iface.get_buffer_type(dev); + + apir_encode_ggml_buffer_type(enc, bufft); + + return 0; +} + +uint32_t backend_device_get_props(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(dec); + + ggml_backend_dev_props props; + dev->iface.get_props(dev, &props); + + apir_encode_bool_t(enc, &props.caps.async); + apir_encode_bool_t(enc, &props.caps.host_buffer); + apir_encode_bool_t(enc, &props.caps.buffer_from_host_ptr); + apir_encode_bool_t(enc, &props.caps.events); + + return 0; +} + +uint32_t backend_device_buffer_from_ptr(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) { + GGML_UNUSED(ctx); + GGML_UNUSED(dec); + + uint32_t shmem_res_id; + apir_decode_virtgpu_shmem_res_id(dec, &shmem_res_id); + + void * shmem_ptr = ctx->iface->get_shmem_ptr(ctx->ctx_id, shmem_res_id); + if (!shmem_ptr) { + GGML_LOG_ERROR("Couldn't get the shmem addr from virgl\n"); + apir_decoder_set_fatal(dec); + return 1; + } + + size_t size; + apir_decode_size_t(dec, &size); + size_t max_tensor_size; + apir_decode_size_t(dec, &max_tensor_size); + + ggml_backend_buffer_t buffer; + buffer = dev->iface.buffer_from_host_ptr(dev, shmem_ptr, size, max_tensor_size); + + apir_encode_ggml_buffer(enc, buffer); + apir_encode_ggml_buffer_type(enc, buffer->buft); + + if (buffer) { + apir_track_backend_buffer(buffer); + } + + return 0; +} diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp new file mode 100644 index 0000000000..51d445725f --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp @@ -0,0 +1,46 @@ +#include "backend-dispatched.h" +#include "backend-virgl-apir.h" + +#include "ggml-backend-impl.h" +#include "ggml-backend.h" +#include "ggml-impl.h" + +#include + +ggml_backend_reg_t reg = NULL; +ggml_backend_dev_t dev = NULL; +ggml_backend_t bck = NULL; + +uint64_t timer_start = 0; +uint64_t timer_total = 0; +uint64_t timer_count = 0; + +uint32_t backend_dispatch_initialize(void * ggml_backend_reg_fct_p) { + if (reg != NULL) { + GGML_LOG_WARN("%s: already initialized\n", __func__); + return APIR_BACKEND_INITIALIZE_ALREADY_INITED; + } + ggml_backend_reg_t (*ggml_backend_reg_fct)(void) = (ggml_backend_reg_t (*)()) ggml_backend_reg_fct_p; + + reg = ggml_backend_reg_fct(); + if (reg == NULL) { + GGML_LOG_ERROR("%s: backend registration failed\n", __func__); + return APIR_BACKEND_INITIALIZE_BACKEND_REG_FAILED; + } + + if (!reg->iface.get_device_count(reg)) { + GGML_LOG_ERROR("%s: backend initialization failed: no device found\n", __func__); + return APIR_BACKEND_INITIALIZE_NO_DEVICE; + } + + dev = reg->iface.get_device(reg, 0); + + if (!dev) { + GGML_LOG_ERROR("%s: backend initialization failed: no device received\n", __func__); + return APIR_BACKEND_INITIALIZE_NO_DEVICE; + } + + bck = dev->iface.init_backend(dev, NULL); + + return APIR_BACKEND_INITIALIZE_SUCCESS; +} diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h b/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h new file mode 100644 index 0000000000..b81fd5039b --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h @@ -0,0 +1,130 @@ +#pragma once + +/* device */ +uint32_t backend_device_get_device_count(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_device_get_count(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_device_get_name(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_device_get_description(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_device_get_type(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_device_get_memory(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_device_supports_op(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_device_get_buffer_type(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_device_get_props(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_device_buffer_from_ptr(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); + +/* buffer-type */ +uint32_t backend_buffer_type_get_name(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_type_get_alignment(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_type_get_max_size(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_type_is_host(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_type_alloc_buffer(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_type_get_alloc_size(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); + +/* buffer */ +uint32_t backend_buffer_get_base(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_set_tensor(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_get_tensor(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_cpy_tensor(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_clear(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); +uint32_t backend_buffer_free_buffer(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); + +/* backend */ +uint32_t backend_backend_graph_compute(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); + +static inline const char * backend_dispatch_command_name(ApirBackendCommandType type) { + switch (type) { + /* device */ + case APIR_COMMAND_TYPE_DEVICE_GET_DEVICE_COUNT: + return "backend_device_get_device_count"; + case APIR_COMMAND_TYPE_DEVICE_GET_COUNT: + return "backend_device_get_count"; + case APIR_COMMAND_TYPE_DEVICE_GET_NAME: + return "backend_device_get_name"; + case APIR_COMMAND_TYPE_DEVICE_GET_DESCRIPTION: + return "backend_device_get_description"; + case APIR_COMMAND_TYPE_DEVICE_GET_TYPE: + return "backend_device_get_type"; + case APIR_COMMAND_TYPE_DEVICE_GET_MEMORY: + return "backend_device_get_memory"; + case APIR_COMMAND_TYPE_DEVICE_SUPPORTS_OP: + return "backend_device_supports_op"; + case APIR_COMMAND_TYPE_DEVICE_GET_BUFFER_TYPE: + return "backend_device_get_buffer_type"; + case APIR_COMMAND_TYPE_DEVICE_GET_PROPS: + return "backend_device_get_props"; + case APIR_COMMAND_TYPE_DEVICE_BUFFER_FROM_PTR: + return "backend_device_buffer_from_ptr"; + /* buffer-type */ + case APIR_COMMAND_TYPE_BUFFER_TYPE_GET_NAME: + return "backend_buffer_type_get_name"; + case APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALIGNMENT: + return "backend_buffer_type_get_alignment"; + case APIR_COMMAND_TYPE_BUFFER_TYPE_GET_MAX_SIZE: + return "backend_buffer_type_get_max_size"; + case APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST: + return "backend_buffer_type_is_host"; + case APIR_COMMAND_TYPE_BUFFER_TYPE_ALLOC_BUFFER: + return "backend_buffer_type_alloc_buffer"; + case APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALLOC_SIZE: + return "backend_buffer_type_get_alloc_size"; + /* buffer */ + case APIR_COMMAND_TYPE_BUFFER_GET_BASE: + return "backend_buffer_get_base"; + case APIR_COMMAND_TYPE_BUFFER_SET_TENSOR: + return "backend_buffer_set_tensor"; + case APIR_COMMAND_TYPE_BUFFER_GET_TENSOR: + return "backend_buffer_get_tensor"; + case APIR_COMMAND_TYPE_BUFFER_CPY_TENSOR: + return "backend_buffer_cpy_tensor"; + case APIR_COMMAND_TYPE_BUFFER_CLEAR: + return "backend_buffer_clear"; + case APIR_COMMAND_TYPE_BUFFER_FREE_BUFFER: + return "backend_buffer_free_buffer"; + /* backend */ + case APIR_COMMAND_TYPE_BACKEND_GRAPH_COMPUTE: + return "backend_backend_graph_compute"; + + default: + return "unknown"; + } +} + +extern "C" { +static const backend_dispatch_t apir_backend_dispatch_table[APIR_BACKEND_DISPATCH_TABLE_COUNT] = { + + /* device */ + + /* APIR_COMMAND_TYPE_DEVICE_GET_DEVICE_COUNT = */ backend_device_get_device_count, + /* APIR_COMMAND_TYPE_DEVICE_GET_COUNT = */ backend_device_get_count, + /* APIR_COMMAND_TYPE_DEVICE_GET_NAME = */ backend_device_get_name, + /* APIR_COMMAND_TYPE_DEVICE_GET_DESCRIPTION = */ backend_device_get_description, + /* APIR_COMMAND_TYPE_DEVICE_GET_TYPE = */ backend_device_get_type, + /* APIR_COMMAND_TYPE_DEVICE_GET_MEMORY = */ backend_device_get_memory, + /* APIR_COMMAND_TYPE_DEVICE_SUPPORTS_OP = */ backend_device_supports_op, + /* APIR_COMMAND_TYPE_DEVICE_GET_BUFFER_TYPE = */ backend_device_get_buffer_type, + /* APIR_COMMAND_TYPE_DEVICE_GET_PROPS = */ backend_device_get_props, + /* APIR_COMMAND_TYPE_DEVICE_BUFFER_FROM_PTR = */ backend_device_buffer_from_ptr, + + /* buffer-type */ + + /* APIR_COMMAND_TYPE_BUFFER_TYPE_GET_NAME = */ backend_buffer_type_get_name, + /* APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALIGNMENT = */ backend_buffer_type_get_alignment, + /* APIR_COMMAND_TYPE_BUFFER_TYPE_GET_MAX_SIZE = */ backend_buffer_type_get_max_size, + /* APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST = */ backend_buffer_type_is_host, + /* APIR_COMMAND_TYPE_BUFFER_TYPE_ALLOC_BUFFER = */ backend_buffer_type_alloc_buffer, + /* APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALLOC_SIZE = */ backend_buffer_type_get_alloc_size, + + /* buffer */ + + /* APIR_COMMAND_TYPE_BUFFER_GET_BASE = */ backend_buffer_get_base, + /* APIR_COMMAND_TYPE_BUFFER_SET_TENSOR = */ backend_buffer_set_tensor, + /* APIR_COMMAND_TYPE_BUFFER_GET_TENSOR = */ backend_buffer_get_tensor, + /* APIR_COMMAND_TYPE_BUFFER_CPY_TENSOR = */ backend_buffer_cpy_tensor, + /* APIR_COMMAND_TYPE_BUFFER_CLEAR = */ backend_buffer_clear, + /* APIR_COMMAND_TYPE_BUFFER_FREE_BUFFER = */ backend_buffer_free_buffer, + + /* backend */ + + /* APIR_COMMAND_TYPE_BACKEND_GRAPH_COMPUTE = */ backend_backend_graph_compute, +}; +} diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched.h b/ggml/src/ggml-virtgpu/backend/backend-dispatched.h new file mode 100644 index 0000000000..6ccbecf078 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched.h @@ -0,0 +1,23 @@ +#pragma once + +#include +#include + +#include + +#include "backend-convert.h" +#include "backend-virgl-apir.h" +#include "shared/apir_backend.h" +#include "shared/apir_cs.h" +#include "shared/apir_cs_ggml.h" + +struct virgl_apir_context { + uint32_t ctx_id; + virgl_apir_callbacks * iface; +}; + +typedef uint32_t (*backend_dispatch_t)(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx); + +#include "backend-dispatched.gen.h" + +uint32_t backend_dispatch_initialize(void * ggml_backend_reg_fct_p); diff --git a/ggml/src/ggml-virtgpu/backend/backend-virgl-apir.h b/ggml/src/ggml-virtgpu/backend/backend-virgl-apir.h new file mode 100644 index 0000000000..44b347f853 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend-virgl-apir.h @@ -0,0 +1,32 @@ +#pragma once + +#include "ggml-backend-impl.h" +#include "ggml-backend.h" +#include "ggml-impl.h" +#include "shared/api_remoting.h" + +#include +#include +#include + +extern ggml_backend_reg_t reg; +extern ggml_backend_dev_t dev; +extern ggml_backend_t bck; + +struct virgl_apir_callbacks { + const char * (*get_config)(uint32_t virgl_ctx_id, const char * key); + void * (*get_shmem_ptr)(uint32_t virgl_ctx_id, uint32_t res_id); +}; + +extern "C" { +ApirLoadLibraryReturnCode apir_backend_initialize(uint32_t virgl_ctx_id, struct virgl_apir_callbacks *virgl_cbs); +void apir_backend_deinit(uint32_t virgl_ctx_id); +uint32_t apir_backend_dispatcher(uint32_t virgl_ctx_id, + virgl_apir_callbacks * virgl_cbs, + uint32_t cmd_type, + char * dec_cur, + const char * dec_end, + char * enc_cur, + const char * enc_end, + char ** enc_cur_after); +} diff --git a/ggml/src/ggml-virtgpu/backend/backend.cpp b/ggml/src/ggml-virtgpu/backend/backend.cpp new file mode 100644 index 0000000000..95d602ed60 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/backend.cpp @@ -0,0 +1,148 @@ +#include "backend-dispatched.h" +#include "backend-virgl-apir.h" + +#include "shared/api_remoting.h" +#include "shared/apir_backend.h" +#include "shared/apir_cs.h" + +#include +#include + +#include + +#define APIR_LLAMA_CPP_GGML_LIBRARY_PATH_ENV "APIR_LLAMA_CPP_GGML_LIBRARY_PATH" +#define APIR_LLAMA_CPP_GGML_LIBRARY_REG_ENV "APIR_LLAMA_CPP_GGML_LIBRARY_REG" +#define APIR_LLAMA_CPP_LOG_TO_FILE_ENV "APIR_LLAMA_CPP_LOG_TO_FILE" + +#define GGML_DEFAULT_BACKEND_REG "ggml_backend_init" + +static void * backend_library_handle = NULL; +static FILE * apir_logfile = NULL; + +static void log_to_file_callback(enum ggml_log_level level, const char * text, void * user_data) { + FILE * logfile = (FILE *)user_data; + fprintf(logfile, "[%d] %s", level, text); + fflush(logfile); +} + +extern "C" { +void apir_backend_deinit(uint32_t virgl_ctx_id) { + GGML_UNUSED(virgl_ctx_id); + + auto buffers = apir_get_track_backend_buffers(); + for (const auto & buffer : buffers) { + apir_untrack_backend_buffer(buffer); + buffer->iface.free_buffer(buffer); + } + + if (dev) { + size_t free, total; + dev->iface.get_memory(dev, &free, &total); + GGML_LOG_INFO("%s: free memory: %ld MB\n", __func__, (size_t) free / 1024 / 1024); + } + + if (backend_library_handle) { + GGML_LOG_INFO("%s: The GGML backend library was loaded. Unloading it.\n", __func__); + dlclose(backend_library_handle); + backend_library_handle = NULL; + } + + if (apir_logfile) { + fclose(apir_logfile); + apir_logfile = NULL; + } +} + +#define APIR_GGML_LIBRARY_PATH_KEY "ggml.library.path" +#define APIR_GGML_LIBRARY_REG_KEY "ggml.library.reg" + +ApirLoadLibraryReturnCode apir_backend_initialize(uint32_t virgl_ctx_id, struct virgl_apir_callbacks *virgl_cbs) { + const char * dlsym_error; + + const char * apir_log_to_file = getenv(APIR_LLAMA_CPP_LOG_TO_FILE_ENV); + if (apir_log_to_file) { + apir_logfile = fopen(apir_log_to_file, "w"); + if (apir_logfile) { + ggml_log_set(log_to_file_callback, apir_logfile); + } else { + GGML_LOG_INFO("Could not open the log file at '%s'\n", apir_log_to_file); + } + } + + const char * library_name = virgl_cbs->get_config(virgl_ctx_id, APIR_GGML_LIBRARY_PATH_KEY); + const char * virgl_library_reg = virgl_cbs->get_config(virgl_ctx_id, APIR_GGML_LIBRARY_REG_KEY); + const char * library_reg = virgl_library_reg ? virgl_library_reg : GGML_DEFAULT_BACKEND_REG; + + if (!library_name) { + GGML_LOG_ERROR("cannot open the GGML library: env var '%s' not defined\n", APIR_LLAMA_CPP_GGML_LIBRARY_PATH_ENV); + + return APIR_LOAD_LIBRARY_ENV_VAR_MISSING; + } + + backend_library_handle = dlopen(library_name, RTLD_LAZY); + + if (!backend_library_handle) { + GGML_LOG_ERROR("cannot open the GGML library: %s\n", dlerror()); + + return APIR_LOAD_LIBRARY_CANNOT_OPEN; + } + + if (!library_reg) { + GGML_LOG_ERROR("cannot register the GGML library: env var '%s' not defined\n", APIR_LLAMA_CPP_GGML_LIBRARY_REG_ENV); + + return APIR_LOAD_LIBRARY_ENV_VAR_MISSING; + } + + void * ggml_backend_reg_fct = dlsym(backend_library_handle, library_reg); + dlsym_error = dlerror(); + if (dlsym_error) { + GGML_LOG_ERROR("cannot find the GGML backend registration symbol '%s' (from %s): %s\n", library_reg, + APIR_LLAMA_CPP_GGML_LIBRARY_REG_ENV, dlsym_error); + + return APIR_LOAD_LIBRARY_SYMBOL_MISSING; + } + + uint32_t ret = backend_dispatch_initialize(ggml_backend_reg_fct); + + return (ApirLoadLibraryReturnCode) (APIR_LOAD_LIBRARY_INIT_BASE_INDEX + ret); +} + +uint32_t apir_backend_dispatcher(uint32_t virgl_ctx_id, + virgl_apir_callbacks * virgl_cbs, + uint32_t cmd_type, + char * dec_cur, + const char * dec_end, + char * enc_cur, + const char * enc_end, + char ** enc_cur_after) { + apir_encoder enc = { + .cur = enc_cur, + .start = enc_cur, + .end = enc_end, + .fatal = false, + }; + + apir_decoder dec = { + .cur = dec_cur, + .end = dec_end, + .fatal = false, + }; + + virgl_apir_context ctx = { + .ctx_id = virgl_ctx_id, + .iface = virgl_cbs, + }; + + if (cmd_type >= APIR_BACKEND_DISPATCH_TABLE_COUNT) { + GGML_LOG_ERROR("Received an invalid dispatch index (%d >= %d)\n", cmd_type, APIR_BACKEND_DISPATCH_TABLE_COUNT); + return APIR_BACKEND_FORWARD_INDEX_INVALID; + } + + backend_dispatch_t forward_fct = apir_backend_dispatch_table[cmd_type]; + uint32_t ret = forward_fct(&enc, &dec, &ctx); + + *enc_cur_after = enc.cur; + + return ret; +} +} diff --git a/ggml/src/ggml-virtgpu/backend/shared/api_remoting.h b/ggml/src/ggml-virtgpu/backend/shared/api_remoting.h new file mode 100644 index 0000000000..f19a5d12d1 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/shared/api_remoting.h @@ -0,0 +1,90 @@ +#pragma once + +/* the rest of this file must match virglrenderer/src/apir-protocol.h */ + +#include + +#include + +#define APIR_PROTOCOL_MAJOR 0 +#define APIR_PROTOCOL_MINOR 1 + +#define APIR_HANDSHAKE_MAGIC 0xab1e + +enum ApirCommandType { + APIR_COMMAND_TYPE_HANDSHAKE = 0, + APIR_COMMAND_TYPE_LOADLIBRARY = 1, + APIR_COMMAND_TYPE_FORWARD = 2, + + APIR_COMMAND_TYPE_LENGTH = 3, +}; + +typedef uint64_t ApirCommandFlags; + +enum ApirLoadLibraryReturnCode { + APIR_LOAD_LIBRARY_SUCCESS = 0, + APIR_LOAD_LIBRARY_HYPERCALL_INITIALIZATION_ERROR = 1, + APIR_LOAD_LIBRARY_ALREADY_LOADED = 2, + APIR_LOAD_LIBRARY_ENV_VAR_MISSING = 3, + APIR_LOAD_LIBRARY_CANNOT_OPEN = 4, + APIR_LOAD_LIBRARY_SYMBOL_MISSING = 5, + APIR_LOAD_LIBRARY_INIT_BASE_INDEX = 6, // anything above this is a APIR backend library initialization return code +}; + +enum ApirForwardReturnCode { + APIR_FORWARD_SUCCESS = 0, + APIR_FORWARD_NO_DISPATCH_FCT = 1, + APIR_FORWARD_TIMEOUT = 2, + + APIR_FORWARD_BASE_INDEX = 3, // anything above this is a APIR backend library forward return code +} ; + +__attribute__((unused)) static inline const char * apir_command_name(ApirCommandType type) { + switch (type) { + case APIR_COMMAND_TYPE_HANDSHAKE: + return "HandShake"; + case APIR_COMMAND_TYPE_LOADLIBRARY: + return "LoadLibrary"; + case APIR_COMMAND_TYPE_FORWARD: + return "Forward"; + default: + return "unknown"; + } +} + +__attribute__((unused)) static const char * apir_load_library_error(ApirLoadLibraryReturnCode code) { +#define APIR_LOAD_LIBRARY_ERROR(code_name) \ + do { \ + if (code == code_name) \ + return #code_name; \ + } while (0) + + APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_SUCCESS); + APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_HYPERCALL_INITIALIZATION_ERROR); + APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_ALREADY_LOADED); + APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_ENV_VAR_MISSING); + APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_CANNOT_OPEN); + APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_SYMBOL_MISSING); + APIR_LOAD_LIBRARY_ERROR(APIR_LOAD_LIBRARY_INIT_BASE_INDEX); + + return "Unknown APIR_COMMAND_TYPE_LoadLibrary error"; + +#undef APIR_LOAD_LIBRARY_ERROR +} + +__attribute__((unused)) static const char * apir_forward_error(ApirForwardReturnCode code) { +#define APIR_FORWARD_ERROR(code_name) \ + do { \ + if (code == code_name) \ + return #code_name; \ + } while (0) + + APIR_FORWARD_ERROR(APIR_FORWARD_SUCCESS); + APIR_FORWARD_ERROR(APIR_FORWARD_NO_DISPATCH_FCT); + APIR_FORWARD_ERROR(APIR_FORWARD_TIMEOUT); + APIR_FORWARD_ERROR(APIR_FORWARD_BASE_INDEX); + + return "Unknown APIR_COMMAND_TYPE_FORWARD error"; + +#undef APIR_FORWARD_ERROR +} diff --git a/ggml/src/ggml-virtgpu/backend/shared/apir_backend.gen.h b/ggml/src/ggml-virtgpu/backend/shared/apir_backend.gen.h new file mode 100644 index 0000000000..d214b6f2a9 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/shared/apir_backend.gen.h @@ -0,0 +1,36 @@ +typedef enum ApirBackendCommandType { + + /* device */ + APIR_COMMAND_TYPE_DEVICE_GET_DEVICE_COUNT = 0, + APIR_COMMAND_TYPE_DEVICE_GET_COUNT = 1, + APIR_COMMAND_TYPE_DEVICE_GET_NAME = 2, + APIR_COMMAND_TYPE_DEVICE_GET_DESCRIPTION = 3, + APIR_COMMAND_TYPE_DEVICE_GET_TYPE = 4, + APIR_COMMAND_TYPE_DEVICE_GET_MEMORY = 5, + APIR_COMMAND_TYPE_DEVICE_SUPPORTS_OP = 6, + APIR_COMMAND_TYPE_DEVICE_GET_BUFFER_TYPE = 7, + APIR_COMMAND_TYPE_DEVICE_GET_PROPS = 8, + APIR_COMMAND_TYPE_DEVICE_BUFFER_FROM_PTR = 9, + + /* buffer-type */ + APIR_COMMAND_TYPE_BUFFER_TYPE_GET_NAME = 10, + APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALIGNMENT = 11, + APIR_COMMAND_TYPE_BUFFER_TYPE_GET_MAX_SIZE = 12, + APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST = 13, + APIR_COMMAND_TYPE_BUFFER_TYPE_ALLOC_BUFFER = 14, + APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALLOC_SIZE = 15, + + /* buffer */ + APIR_COMMAND_TYPE_BUFFER_GET_BASE = 16, + APIR_COMMAND_TYPE_BUFFER_SET_TENSOR = 17, + APIR_COMMAND_TYPE_BUFFER_GET_TENSOR = 18, + APIR_COMMAND_TYPE_BUFFER_CPY_TENSOR = 19, + APIR_COMMAND_TYPE_BUFFER_CLEAR = 20, + APIR_COMMAND_TYPE_BUFFER_FREE_BUFFER = 21, + + /* backend */ + APIR_COMMAND_TYPE_BACKEND_GRAPH_COMPUTE = 22, + + // last command_type index + 1 + APIR_BACKEND_DISPATCH_TABLE_COUNT = 23, +} ApirBackendCommandType; diff --git a/ggml/src/ggml-virtgpu/backend/shared/apir_backend.h b/ggml/src/ggml-virtgpu/backend/shared/apir_backend.h new file mode 100644 index 0000000000..f3efa52c72 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/shared/apir_backend.h @@ -0,0 +1,46 @@ +#pragma once + +#include "apir_backend.gen.h" + +#include // for uintptr_t +#include // for timespec, clock_gettime + +#define APIR_BACKEND_INITIALIZE_SUCCESS 0 +#define APIR_BACKEND_INITIALIZE_CANNOT_OPEN_BACKEND_LIBRARY 1 +#define APIR_BACKEND_INITIALIZE_CANNOT_OPEN_GGML_LIBRARY 2 +#define APIR_BACKEND_INITIALIZE_MISSING_BACKEND_SYMBOLS 3 +#define APIR_BACKEND_INITIALIZE_MISSING_GGML_SYMBOLS 4 +#define APIR_BACKEND_INITIALIZE_BACKEND_FAILED 5 +#define APIR_BACKEND_INITIALIZE_BACKEND_REG_FAILED 6 +#define APIR_BACKEND_INITIALIZE_ALREADY_INITED 7 +#define APIR_BACKEND_INITIALIZE_NO_DEVICE 8 + + +// new entries here need to be added to the apir_backend_initialize_error function below + +#define APIR_BACKEND_FORWARD_INDEX_INVALID 6 + +// 0 is fast, 1 avoids the backend to crash if an unsupported tensor is received +#define APIR_BACKEND_CHECK_SUPPORTS_OP 0 + +typedef uintptr_t apir_buffer_type_host_handle_t; +typedef uintptr_t apir_buffer_host_handle_t; + +static const char * apir_backend_initialize_error(int code) { +#define APIR_BACKEND_INITIALIZE_ERROR(code_name) \ + do { \ + if (code == code_name) \ + return #code_name; \ + } while (0) + + APIR_BACKEND_INITIALIZE_ERROR(APIR_BACKEND_INITIALIZE_SUCCESS); + APIR_BACKEND_INITIALIZE_ERROR(APIR_BACKEND_INITIALIZE_CANNOT_OPEN_BACKEND_LIBRARY); + APIR_BACKEND_INITIALIZE_ERROR(APIR_BACKEND_INITIALIZE_CANNOT_OPEN_GGML_LIBRARY); + APIR_BACKEND_INITIALIZE_ERROR(APIR_BACKEND_INITIALIZE_MISSING_BACKEND_SYMBOLS); + APIR_BACKEND_INITIALIZE_ERROR(APIR_BACKEND_INITIALIZE_MISSING_GGML_SYMBOLS); + APIR_BACKEND_INITIALIZE_ERROR(APIR_BACKEND_INITIALIZE_BACKEND_FAILED); + + return "Unknown APIR_BACKEND_INITIALIZE error:/"; + +#undef APIR_BACKEND_INITIALIZE_ERROR +} diff --git a/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h b/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h new file mode 100644 index 0000000000..27a61091ff --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h @@ -0,0 +1,383 @@ +#pragma once + +#include "ggml-impl.h" + +#include +#include + +#define likely(x) __builtin_expect(!!(x), 1) +#define unlikely(x) __builtin_expect(!!(x), 0) + +struct apir_encoder { + char * cur; + const char * start; + const char * end; + bool fatal; + +}; + +struct apir_decoder { + const char * cur; + const char * end; + bool fatal; +}; + +/* + * new encoder and decoder + */ + +static apir_decoder apir_new_decoder(const char * ptr, size_t size) { + apir_decoder dec = { + .cur = ptr, + .end = ptr + size, + .fatal = false, + }; + + return dec; +} + +static apir_encoder apir_new_encoder(char * ptr, size_t size) { + apir_encoder enc = { + .cur = ptr, + .start = ptr, + .end = ptr + size, + .fatal = false, + }; + + return enc; +} + +/* + * fatal flag handling + */ + +static inline void apir_encoder_reset_fatal(apir_encoder * enc) { + enc->fatal = false; +} + +static inline void apir_encoder_set_fatal(apir_encoder * enc) { + enc->fatal = true; +} + +static inline bool apir_encoder_get_fatal(const apir_encoder * enc) { + return enc->fatal; +} + +static inline void apir_decoder_reset_fatal(apir_decoder * dec) { + dec->fatal = false; +} + +static inline void apir_decoder_set_fatal(apir_decoder * dec) { + dec->fatal = true; +} + +static inline bool apir_decoder_get_fatal(const apir_decoder * dec) { + return dec->fatal; +} + +/* + * encode peek + */ + +static inline bool apir_decoder_peek_internal(apir_decoder * dec, + size_t size, + void * val, + size_t val_size) { + assert(val_size <= size); + + if (unlikely(size > (size_t) (dec->end - dec->cur))) { + GGML_LOG_ERROR("reading too much from the decoder ...\n"); + apir_decoder_set_fatal(dec); + memset(val, 0, val_size); + return false; + } + + /* we should not rely on the compiler to optimize away memcpy... */ + memcpy(val, dec->cur, val_size); + return true; +} + +static inline void apir_decoder_peek(apir_decoder * dec, size_t size, void * val, size_t val_size) { + apir_decoder_peek_internal(dec, size, val, val_size); +} + +static inline const void * apir_decoder_use_inplace(apir_decoder * dec, size_t size) { + if (unlikely(size > (size_t) (dec->end - dec->cur))) { + GGML_LOG_ERROR("reading too much from the decoder ...\n"); + apir_decoder_set_fatal(dec); + return NULL; + } + const void * addr = dec->cur; + dec->cur += size; + + return addr; +} + +/* + * read/write + */ + +static inline void apir_decoder_read(apir_decoder * dec, size_t size, void * val, size_t val_size) { + if (apir_decoder_peek_internal(dec, size, val, val_size)) { + dec->cur += size; + } +} + +static inline char * apir_encoder_write(apir_encoder * enc, size_t size, const void * val, size_t val_size) { + assert(val_size <= size); + assert(size <= ((size_t) (enc->end - enc->cur))); + + char * write_addr = enc->cur; + /* we should not rely on the compiler to optimize away memcpy... */ + memcpy(write_addr, val, val_size); + enc->cur += size; + + return write_addr; +} + +/* + * encode/decode + */ + +static inline void apir_decode(apir_decoder * dec, size_t size, void * data, size_t data_size) { + assert(size % 4 == 0); + apir_decoder_read(dec, size, data, data_size); +} + +static inline void apir_encode(apir_encoder * enc, size_t size, const void * data, size_t data_size) { + assert(size % 4 == 0); + apir_encoder_write(enc, size, data, data_size); +} + +/* + * typed encode/decode + */ + +/* uint8_t */ + +static inline void apir_encode_uint8_t(apir_encoder * enc, const uint8_t * val) { + apir_encode(enc, sizeof(int), val, sizeof(*val)); +} + +static inline void apir_decode_uint8_t(apir_decoder * dec, uint8_t * val) { + apir_decode(dec, sizeof(int), val, sizeof(*val)); +} + +/* uint64_t */ + +static inline void apir_encode_uint64_t(apir_encoder * enc, const uint64_t * val) { + apir_encode(enc, 8, val, sizeof(*val)); +} + +static inline void apir_decode_uint64_t(apir_decoder * dec, uint64_t * val) { + apir_decode(dec, 8, val, sizeof(*val)); +} + +static inline void apir_encode_uint64_t_array(apir_encoder * enc, const uint64_t * val, uint32_t count) { + const size_t size = sizeof(*val) * count; + assert(size >= count); + apir_encode(enc, size, val, size); +} + +static inline void apir_decode_uint64_t_array(apir_decoder * dec, uint64_t * val, uint32_t count) { + const size_t size = sizeof(*val) * count; + assert(size >= count); + apir_decode(dec, size, val, size); +} + +static inline const uint64_t * apir_decode_uint64_t_array_inplace(apir_decoder * dec, uint32_t count) { + return (uint64_t *) (uintptr_t) apir_decoder_use_inplace(dec, count * sizeof(uint64_t)); +} + +/* int32_t */ + +static inline void apir_encode_int32_t(apir_encoder * enc, const int32_t * val) { + apir_encode(enc, 4, val, sizeof(*val)); +} + +static inline void apir_decode_int32_t(apir_decoder * dec, int32_t * val) { + apir_decode(dec, 4, val, sizeof(*val)); +} + +static inline void apir_encode_int32_t_array(apir_encoder * enc, const int32_t * val, uint32_t count) { + const size_t size = sizeof(*val) * count; + assert(size >= count); + apir_encode(enc, size, val, size); +} + +static inline void apir_decode_int32_t_array(apir_decoder * dec, int32_t * val, uint32_t count) { + const size_t size = sizeof(*val) * count; + assert(size >= count); + apir_decode(dec, size, val, size); +} + +/* array size (uint64_t) */ + +static inline void apir_encode_array_size(apir_encoder * enc, uint64_t size) { + apir_encode_uint64_t(enc, &size); +} + +static inline uint64_t apir_decode_array_size(apir_decoder * dec, uint64_t expected_size) { + uint64_t size; + apir_decode_uint64_t(dec, &size); + if (size != expected_size) { + GGML_LOG_ERROR("Couldn't decode array from the decoder\n"); + apir_decoder_set_fatal(dec); + size = 0; + } + return size; +} + +static inline uint64_t apir_decode_array_size_unchecked(apir_decoder * dec) { + uint64_t size; + apir_decode_uint64_t(dec, &size); + return size; +} + +/* non-array pointer */ + +static inline bool apir_encode_simple_pointer(apir_encoder * enc, const void * val) { + apir_encode_array_size(enc, val ? 1 : 0); + return val; +} + +static inline bool apir_decode_simple_pointer(apir_decoder * dec) { + return apir_decode_array_size_unchecked(dec); +} + +/* uint32_t */ + +static inline void apir_encode_uint32_t(apir_encoder * enc, const uint32_t * val) { + apir_encode(enc, 4, val, sizeof(*val)); +} + +static inline void apir_decode_uint32_t(apir_decoder * dec, uint32_t * val) { + apir_decode(dec, 4, val, sizeof(*val)); +} + +static inline void apir_encode_uint32_t_array(apir_encoder * enc, const uint32_t * val, uint32_t count) { + const size_t size = sizeof(*val) * count; + assert(size >= count); + apir_encode(enc, size, val, size); +} + +static inline void apir_decode_uint32_t_array(apir_decoder * dec, uint32_t * val, uint32_t count) { + const size_t size = sizeof(*val) * count; + assert(size >= count); + apir_decode(dec, size, val, size); +} + +/* size_t */ + +static inline void apir_encode_size_t(apir_encoder * enc, const size_t * val) { + const uint64_t tmp = *val; + apir_encode_uint64_t(enc, &tmp); +} + +static inline void apir_decode_size_t(apir_decoder * dec, size_t * val) { + uint64_t tmp; + apir_decode_uint64_t(dec, &tmp); + *val = tmp; +} + +static inline void apir_encode_size_t_array(apir_encoder * enc, const size_t * val, uint32_t count) { + if (sizeof(size_t) == sizeof(uint64_t)) { + apir_encode_uint64_t_array(enc, (const uint64_t *) val, count); + } else { + for (uint32_t i = 0; i < count; i++) { + apir_encode_size_t(enc, &val[i]); + } + } +} + +static inline void apir_decode_size_t_array(apir_decoder * dec, size_t * val, uint32_t count) { + if (sizeof(size_t) == sizeof(uint64_t)) { + apir_decode_uint64_t_array(dec, (uint64_t *) val, count); + } else { + for (uint32_t i = 0; i < count; i++) { + apir_decode_size_t(dec, &val[i]); + } + } +} + +/* opaque blob */ + +static inline void apir_encode_blob_array(apir_encoder * enc, const void * val, size_t size) { + apir_encode(enc, (size + 3) & ~3, val, size); +} + +static inline void apir_decode_blob_array(apir_decoder * dec, void * val, size_t size) { + apir_decode(dec, (size + 3) & ~3, val, size); +} + +/* string */ + +static inline void apir_encode_char_array(apir_encoder * enc, const char * val, size_t size) { + assert(size && strlen(val) < size); + apir_encode_blob_array(enc, val, size); +} + +static inline void apir_decode_char_array(apir_decoder * dec, char * val, size_t size) { + apir_decode_blob_array(dec, val, size); + if (size) { + val[size - 1] = '\0'; + } else { + GGML_LOG_ERROR("Couldn't decode the blog array\n"); + apir_decoder_set_fatal(dec); + } +} + +/* (temp) buffer allocation */ + +static inline void * apir_decoder_alloc_array(size_t size, size_t count) { + size_t alloc_size; + if (unlikely(__builtin_mul_overflow(size, count, &alloc_size))) { + GGML_LOG_ERROR("overflow in array allocation of %zu * %zu bytes\n", size, count); + return NULL; + } + + return malloc(alloc_size); +} + +/* bool */ + +static inline void apir_encode_bool_t(apir_encoder * enc, const bool * val) { + apir_encode(enc, sizeof(int), val, sizeof(bool)); +} + +static inline void apir_decode_bool_t(apir_decoder * dec, bool * val) { + apir_decode(dec, sizeof(int), val, sizeof(bool)); +} + +/* apir_buffer_type_host_handle_t */ + +static inline void apir_encode_apir_buffer_type_host_handle_t(apir_encoder * enc, + const apir_buffer_type_host_handle_t * val) { + apir_encode(enc, sizeof(apir_buffer_type_host_handle_t), val, sizeof(apir_buffer_type_host_handle_t)); +} + +static inline void apir_decode_apir_buffer_type_host_handle_t(apir_decoder * dec, + apir_buffer_type_host_handle_t * val) { + apir_decode(dec, sizeof(apir_buffer_type_host_handle_t), val, sizeof(apir_buffer_type_host_handle_t)); +} + +/* apir_buffer_host_handle_t */ + +static inline void apir_encode_apir_buffer_host_handle_t(apir_encoder * enc, + const apir_buffer_host_handle_t * val) { + apir_encode(enc, sizeof(apir_buffer_host_handle_t), val, sizeof(apir_buffer_host_handle_t)); +} + +static inline void apir_decode_apir_buffer_host_handle_t(apir_decoder * dec, apir_buffer_host_handle_t * val) { + apir_decode(dec, sizeof(apir_buffer_host_handle_t), val, sizeof(apir_buffer_host_handle_t)); +} + +/* uintptr_t */ + +static inline void apir_encode_uintptr_t(apir_encoder * enc, const uintptr_t * val) { + apir_encode(enc, sizeof(*val), val, sizeof(*val)); +} + +static inline void apir_decode_uintptr_t(apir_decoder * dec, uintptr_t * val) { + apir_decode(dec, sizeof(*val), val, sizeof(*val)); +} diff --git a/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h b/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h new file mode 100644 index 0000000000..070c3b25fb --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h @@ -0,0 +1,211 @@ +#include "ggml-impl.h" +#include "apir_cs.h" +#include "apir_cs_rpc.h" + +// ggml_buffer_to_apir_host_handle(ggml_backend_buffer_t buffer); + +static inline void apir_encode_ggml_buffer_host_handle(apir_encoder * enc, + const apir_buffer_host_handle_t * handle); + +static inline ggml_backend_buffer_t apir_decode_ggml_buffer(apir_decoder * dec); + +/* apir_rpc_tensor */ + +static inline void apir_encode_rcp_tensor(apir_encoder * enc, const apir_rpc_tensor * apir_rpc_tensor) { + size_t apir_rpc_tensor_size = sizeof(*apir_rpc_tensor); + apir_encode(enc, apir_rpc_tensor_size, apir_rpc_tensor, apir_rpc_tensor_size); +} + +static inline apir_rpc_tensor * apir_decode_apir_rpc_tensor_inplace(apir_decoder * dec) { + size_t apir_rpc_tensor_size = sizeof(apir_rpc_tensor); + + return (apir_rpc_tensor *) (uintptr_t) apir_decoder_use_inplace(dec, apir_rpc_tensor_size); +} + +static inline apir_rpc_tensor * apir_decode_apir_rpc_tensor_array_inplace(apir_decoder * dec, + uint32_t n_tensors) { + size_t apir_rpc_tensor_size = sizeof(apir_rpc_tensor) * n_tensors; + + return (apir_rpc_tensor *) (uintptr_t) apir_decoder_use_inplace(dec, apir_rpc_tensor_size); +} + +/* ggml_tensor */ + +static inline void apir_encode_ggml_tensor(apir_encoder * enc, const ggml_tensor * tensor) { + apir_rpc_tensor serialized = apir_serialize_tensor(tensor); + + apir_encode_rcp_tensor(enc, &serialized); +} + +static inline const ggml_tensor * apir_decode_ggml_tensor(apir_decoder * dec) { + const apir_rpc_tensor * apir_rpc_tensor = apir_decode_apir_rpc_tensor_inplace(dec); + ggml_init_params params{ + /*.mem_size =*/ ggml_tensor_overhead(), + /*.mem_buffer =*/ NULL, + /*.no_alloc =*/ true, + }; + ggml_context * ctx = ggml_init(params); + + const ggml_tensor * tensor = apir_deserialize_tensor(ctx, apir_rpc_tensor); + + return tensor; +} + +/* *** ggml_backend_buffer_type_t *** */ + +// ggml_backend_buffer_type_t is a POINTER (to a struct). +// Only the host pointer is shared between the host and guest. +// The guest stores it in `buft->context`. +// The host simply writes the pointer address in the buffer variable. + +static inline void apir_encode_ggml_buffer_type(apir_encoder * enc, ggml_backend_buffer_type_t buft) { + apir_buffer_type_host_handle_t handle = ggml_buffer_type_to_apir_handle(buft); + apir_encoder_write(enc, sizeof(handle), &handle, sizeof(handle)); +} + +static inline ggml_backend_buffer_type_t apir_decode_ggml_buffer_type(apir_decoder * dec) { + apir_buffer_type_host_handle_t handle; + + apir_decoder_read(dec, sizeof(handle), &handle, sizeof(handle)); + + return (ggml_backend_buffer_type_t) handle; +} + +static inline apir_buffer_type_host_handle_t apir_decode_apir_buffer_type_host_handle(apir_decoder * dec) { + apir_buffer_type_host_handle_t handle; + + apir_decoder_read(dec, sizeof(handle), &handle, sizeof(handle)); + + return handle; +} + +/* *** ggml_backend_type_t *** */ + +// ggml_backend_buffer_t is a POINTER. +// same logic as for ggml_backend_buffer_type_t + +static inline void apir_encode_ggml_buffer(apir_encoder * enc, const ggml_backend_buffer_t buffer) { + apir_buffer_host_handle_t handle = BUFFER_TO_HOST_HANDLE(buffer); + apir_encoder_write(enc, sizeof(handle), &handle, sizeof(handle)); +} + +static inline ggml_backend_buffer_t apir_decode_ggml_buffer(apir_decoder * dec) { + ggml_backend_buffer_t buffer; + size_t buffer_ptr_size = sizeof(buffer); + + apir_decoder_read(dec, buffer_ptr_size, &buffer, buffer_ptr_size); + + return buffer; +} + +/* enum ggml_status */ + +static inline void apir_encode_ggml_status(apir_encoder * enc, const ggml_status * status) { + apir_encoder_write(enc, sizeof(*status), status, sizeof(*status)); +} + +static inline void apir_decode_ggml_status(apir_decoder * dec, ggml_status * status) { + apir_decoder_read(dec, sizeof(*status), status, sizeof(*status)); +} + +/* virtgpu_shmem */ + +static inline void apir_encode_virtgpu_shmem_res_id(apir_encoder * enc, uint32_t shmem_res_id) { + apir_encode_uint32_t(enc, &shmem_res_id); +} + +static inline void apir_decode_virtgpu_shmem_res_id(apir_decoder * dec, uint32_t * shmem_res_id) { + apir_decode_uint32_t(dec, shmem_res_id); +} + +/* ggml_cgraph */ + +static inline size_t apir_serialize_ggml_cgraph(ggml_cgraph * cgraph, std::vector & cgraph_data) { + apir_serialize_graph(cgraph, cgraph_data); + + return cgraph_data.size(); +} + +static inline void apir_encode_cgraph_data(apir_encoder * enc, std::vector & cgraph_data) { + size_t cgraph_size = cgraph_data.size(); + + apir_encode(enc, cgraph_size, cgraph_data.data(), cgraph_size); +} + +static inline ggml_cgraph * apir_decode_ggml_cgraph(apir_decoder * dec, size_t cgraph_size) { + GGML_UNUSED(cgraph_size); + + uint32_t n_nodes; + apir_decode_uint32_t(dec, &n_nodes); + const uint64_t * nodes = apir_decode_uint64_t_array_inplace(dec, n_nodes); + + uint32_t n_tensors; + apir_decode_uint32_t(dec, &n_tensors); + const apir_rpc_tensor * tensors = apir_decode_apir_rpc_tensor_array_inplace(dec, n_tensors); + + return apir_deserialize_graph(n_nodes, n_tensors, tensors, nodes); +} + +static inline void apir_encode_ggml_buffer_handle(apir_encoder * enc, const apir_buffer_host_handle_t * handle) { + apir_encoder_write(enc, sizeof(*handle), &handle, sizeof(*handle)); +} + +static inline void apir_encode_ggml_tensor_inline(apir_encoder * enc, const ggml_tensor * tensor) { + size_t tensor_size = sizeof(*tensor); + + if (tensor->extra) { + GGML_ABORT("Cannot pass tensors with extra"); + } + + if (tensor->src[0] && tensor->buffer) { + static int first = 1; + if (first) { + GGML_LOG_WARN("Cannot pass tensors with src and buffer\n"); + first = 0; + } + } + + apir_encoder_write(enc, tensor_size, tensor, tensor_size); + + // tensor->data is a pointer inside the device buffer. No need to touch it + // tensor->buffer is a pointer to a buffer. Encoding the buffer handle in sequence. + // (could also make a copy of the tensor, and update locally.) + + if (tensor->buffer) { + apir_buffer_host_handle_t buffer_handle = ggml_buffer_to_apir_handle(tensor->buffer); + apir_encode_ggml_buffer_handle(enc, &buffer_handle); + } + + if (tensor->view_src) { + apir_encoder_write(enc, tensor_size, tensor->view_src, tensor_size); + } + + for (int i = 0; tensor->src[i]; i++) { + const ggml_tensor * tensor_src = tensor->src[i]; + apir_encoder_write(enc, tensor_size, tensor_src, tensor_size); + } +} + +static inline const ggml_tensor * apir_decode_ggml_tensor_inplace(apir_decoder * dec) { + // it safe to remove the `const` qualifier here, we *do* want to + // modify the shared memory data to fix the `src` pointers. + ggml_tensor * tensor = (ggml_tensor *) (uintptr_t) apir_decoder_use_inplace(dec, sizeof(ggml_tensor)); + + // tensor->data is a pointer inside the device buffer. No need to touch it + // tensor->buffer is a pointer to a buffer. Decode the buffer handle encoded in sequence. + if (tensor->buffer) { + tensor->buffer = apir_decode_ggml_buffer(dec); + } + + if (tensor->view_src) { + ggml_tensor * tensor_view_src = (ggml_tensor *) (uintptr_t) apir_decoder_use_inplace(dec, sizeof(ggml_tensor)); + tensor->view_src = tensor_view_src; + } + + for (int i = 0; tensor->src[i]; i++) { + ggml_tensor * tensor_src = (ggml_tensor *) (uintptr_t) apir_decoder_use_inplace(dec, sizeof(ggml_tensor)); + tensor->src[i] = tensor_src; // overwrite op->src[i] pointer with the actual location of the src tensor + } + + return tensor; +} diff --git a/ggml/src/ggml-virtgpu/backend/shared/apir_cs_rpc.h b/ggml/src/ggml-virtgpu/backend/shared/apir_cs_rpc.h new file mode 100644 index 0000000000..f681798952 --- /dev/null +++ b/ggml/src/ggml-virtgpu/backend/shared/apir_cs_rpc.h @@ -0,0 +1,54 @@ +#include "ggml.h" +#include "ggml-backend-impl.h" + +#include +#include +#include +#include + +// ggml_tensor is serialized into apir_rpc_tensor +struct apir_rpc_tensor { + uint64_t id; + uint32_t type; + uint64_t buffer; + uint32_t ne[GGML_MAX_DIMS]; + uint32_t nb[GGML_MAX_DIMS]; + uint32_t op; + int32_t op_params[GGML_MAX_OP_PARAMS / sizeof(int32_t)]; + int32_t flags; + uint64_t src[GGML_MAX_SRC]; + uint64_t view_src; + uint64_t view_offs; + uint64_t data; + char name[GGML_MAX_NAME]; + + char padding[4]; +}; + +/* frontend */ + +apir_rpc_tensor apir_serialize_tensor(const ggml_tensor * tensor); + +void apir_serialize_graph(const ggml_cgraph * cgraph, std::vector & output); + +/* backend */ + +void apir_track_backend_buffer(ggml_backend_buffer_t buffer); +bool apir_untrack_backend_buffer(ggml_backend_buffer_t buffer); +std::unordered_set apir_get_track_backend_buffers(); + +void apir_add_tensor(ggml_tensor * tensor, + std::vector & tensors, + std::unordered_set & visited); + +ggml_tensor * apir_deserialize_tensor(ggml_context * ctx, const apir_rpc_tensor * tensor); + +ggml_tensor * apir_create_node(uint64_t id, + ggml_context * ctx, + const std::unordered_map & tensor_ptrs, + std::unordered_map & tensor_map); + +ggml_cgraph * apir_deserialize_graph(uint32_t n_nodes, + uint32_t n_tensors, + const apir_rpc_tensor * tensors, + const uint64_t * nodes); diff --git a/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp b/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp new file mode 100644 index 0000000000..7f650659b8 --- /dev/null +++ b/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp @@ -0,0 +1,98 @@ +#include "ggml-remoting.h" + +static ggml_backend_buffer_t ggml_backend_remoting_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft, + size_t size) { + virtgpu * gpu = BUFT_TO_GPU(buft); + + ggml_backend_remoting_buffer_context * context = (ggml_backend_remoting_buffer_context *) malloc(sizeof(*context)); + if (!context) { + GGML_ABORT("Couldn't allocate the buffer context ..."); + } + + context->gpu = gpu; + + bool async__unused, host_buffer__unused, events__unused; + bool buffer_from_host_ptr; + apir_device_get_props(gpu, &async__unused, &host_buffer__unused, &buffer_from_host_ptr, &events__unused); + + if (buffer_from_host_ptr) { + context->apir_context = apir_device_buffer_from_ptr(gpu, size, size); + context->base = context->apir_context.shmem.mmap_ptr; + context->is_from_ptr = true; + } else { + context->apir_context = apir_buffer_type_alloc_buffer(gpu, buft, size); + context->is_from_ptr = false; + context->base = NULL; + } + + ggml_backend_buffer_t buffer = + ggml_backend_buffer_init(buft, ggml_backend_remoting_buffer_interface, (void *) context, size); + + return buffer; +} + +static const char * ggml_backend_remoting_buffer_type_get_name(ggml_backend_buffer_type_t buft) { + virtgpu * gpu = BUFT_TO_GPU(buft); + + return apir_buffer_type_get_name(gpu, buft); +} + +static size_t ggml_backend_remoting_buffer_type_get_alignment(ggml_backend_buffer_type_t buft) { + virtgpu * gpu = BUFT_TO_GPU(buft); + + static size_t align = 0; + + if (align == 0) { + align = apir_buffer_type_get_alignment(gpu, buft); + } + + return align; +} + +static size_t ggml_backend_remoting_buffer_type_get_max_size(ggml_backend_buffer_type_t buft) { + virtgpu * gpu = BUFT_TO_GPU(buft); + + static size_t max_size = 0; + if (max_size == 0) { + max_size = apir_buffer_type_get_max_size(gpu, buft); + } + + return max_size; +} + +static bool ggml_backend_remoting_buffer_type_is_host(ggml_backend_buffer_type_t buft) { + virtgpu * gpu = BUFT_TO_GPU(buft); + + return apir_buffer_type_is_host(gpu, buft); +} + +static size_t ggml_backend_remoting_buffer_type_get_alloc_size(ggml_backend_buffer_type_t buft, + const ggml_tensor * tensor) { + virtgpu * gpu = BUFT_TO_GPU(buft); + + if (tensor->buffer == NULL + || !tensor->buffer->context + || !buft->device->iface.supports_buft(buft->device, tensor->buffer->buft)) { + return ggml_nbytes(tensor); + } + + return apir_buffer_type_get_alloc_size(gpu, buft, tensor); +} + +const ggml_backend_buffer_type_i ggml_backend_remoting_buffer_type_interface = { + /* .get_name = */ ggml_backend_remoting_buffer_type_get_name, + /* .alloc_buffer = */ ggml_backend_remoting_buffer_type_alloc_buffer, + /* .get_alignment = */ ggml_backend_remoting_buffer_type_get_alignment, + /* .get_max_size = */ ggml_backend_remoting_buffer_type_get_max_size, + /* .get_alloc_size = */ ggml_backend_remoting_buffer_type_get_alloc_size, + /* .is_host = */ NULL, +}; + +const ggml_backend_buffer_type_i ggml_backend_remoting_buffer_from_ptr_type_interface = { + /* .get_name = */ ggml_backend_remoting_buffer_type_get_name, + /* .alloc_buffer = */ NULL, + /* .get_alignment = */ ggml_backend_remoting_buffer_type_get_alignment, + /* .get_max_size = */ ggml_backend_remoting_buffer_type_get_max_size, + /* .get_alloc_size = */ ggml_backend_remoting_buffer_type_get_alloc_size, + /* .is_host = */ NULL, +}; diff --git a/ggml/src/ggml-virtgpu/ggml-backend-buffer.cpp b/ggml/src/ggml-virtgpu/ggml-backend-buffer.cpp new file mode 100644 index 0000000000..6b95362dd8 --- /dev/null +++ b/ggml/src/ggml-virtgpu/ggml-backend-buffer.cpp @@ -0,0 +1,119 @@ +#include "ggml-remoting.h" + +#define BUFFER_TO_GPU(name) ((ggml_backend_remoting_buffer_context *) (name)->context)->gpu + +static void * ggml_backend_remoting_buffer_get_base(ggml_backend_buffer_t buffer) { + ggml_backend_remoting_buffer_context * context = (ggml_backend_remoting_buffer_context *) buffer->context; + if (context->base) { + return context->base; + } + + context->base = apir_buffer_get_base(BUFFER_TO_GPU(buffer), BUFFER_TO_APIR_CONTEXT(buffer)); + + return context->base; +} + +static void ggml_backend_remoting_buffer_set_tensor(ggml_backend_buffer_t buffer, + ggml_tensor * tensor, + const void * data, + size_t offset, + size_t size) { + virtgpu * gpu = BUFFER_TO_GPU(buffer); + + ggml_backend_remoting_buffer_context * context = BUFFER_TO_GGML_CONTEXT(buffer); + if (context->is_from_ptr) { + memcpy((char *) tensor->data + offset, data, size); + } else { + apir_buffer_set_tensor(gpu, BUFFER_TO_APIR_CONTEXT(buffer), tensor, data, offset, size); + } + + return; +} + +static void ggml_backend_remoting_buffer_get_tensor(ggml_backend_buffer_t buffer, + const ggml_tensor * tensor, + void * data, + size_t offset, + size_t size) { + virtgpu * gpu = BUFFER_TO_GPU(buffer); + ggml_backend_remoting_buffer_context * context = BUFFER_TO_GGML_CONTEXT(buffer); + if (context->is_from_ptr) { + memcpy(data, (const char *) tensor->data + offset, size); + } else { + apir_buffer_get_tensor(gpu, BUFFER_TO_APIR_CONTEXT(buffer), tensor, data, offset, size); + } +} + +static void ggml_backend_remoting_buffer_set_tensor_from_ptr(ggml_backend_buffer_t buffer, + ggml_tensor * tensor, + const void * data, + size_t offset, + size_t size) { + UNUSED(buffer); + + memcpy((char *) tensor->data + offset, data, size); + + return; +} + +static void ggml_backend_remoting_buffer_get_tensor_from_ptr(ggml_backend_buffer_t buffer, + const ggml_tensor * tensor, + void * data, + size_t offset, + size_t size) { + UNUSED(buffer); + + memcpy(data, (const char *) tensor->data + offset, size); +} + +static bool ggml_backend_remoting_buffer_cpy_tensor(ggml_backend_buffer_t buffer, + const ggml_tensor * src, + ggml_tensor * dst) { + virtgpu * gpu = BUFFER_TO_GPU(buffer); + + bool ret = apir_buffer_cpy_tensor(gpu, BUFFER_TO_APIR_CONTEXT(buffer), src, dst); + + return ret; +} + +static void ggml_backend_remoting_buffer_clear(ggml_backend_buffer_t buffer, uint8_t value) { + virtgpu * gpu = BUFFER_TO_GPU(buffer); + + apir_buffer_clear(gpu, BUFFER_TO_APIR_CONTEXT(buffer), value); + + return; +} + +static void ggml_backend_remoting_buffer_free_buffer(ggml_backend_buffer_t buffer) { + virtgpu * gpu = BUFFER_TO_GPU(buffer); + + apir_buffer_free_buffer(gpu, BUFFER_TO_APIR_CONTEXT(buffer)); + + ggml_backend_remoting_buffer_context * context = BUFFER_TO_GGML_CONTEXT(buffer); + free(context); + buffer->context = NULL; +} + +const ggml_backend_buffer_i ggml_backend_remoting_buffer_interface = { + /* .free_buffer = */ ggml_backend_remoting_buffer_free_buffer, + /* .get_base = */ ggml_backend_remoting_buffer_get_base, + /* .init_tensor = */ NULL, + /* .memset_tensor = */ NULL, + /* .set_tensor = */ ggml_backend_remoting_buffer_set_tensor, + /* .get_tensor = */ ggml_backend_remoting_buffer_get_tensor, + /* .cpy_tensor = */ ggml_backend_remoting_buffer_cpy_tensor, + /* .clear = */ ggml_backend_remoting_buffer_clear, + /* .reset = */ NULL, +}; + +const ggml_backend_buffer_i ggml_backend_remoting_buffer_from_ptr_interface = { + /* .free_buffer = */ ggml_backend_remoting_buffer_free_buffer, + /* .get_base = */ ggml_backend_remoting_buffer_get_base, + /* .init_tensor = */ NULL, + /* .memset_tensor = */ NULL, + /* .set_tensor = */ ggml_backend_remoting_buffer_set_tensor_from_ptr, + /* .get_tensor = */ ggml_backend_remoting_buffer_get_tensor_from_ptr, + /* .cpy_tensor = */ ggml_backend_remoting_buffer_cpy_tensor, + /* .clear = */ ggml_backend_remoting_buffer_clear, + /* .reset = */ NULL, +}; diff --git a/ggml/src/ggml-virtgpu/ggml-backend-device.cpp b/ggml/src/ggml-virtgpu/ggml-backend-device.cpp new file mode 100644 index 0000000000..579eb99078 --- /dev/null +++ b/ggml/src/ggml-virtgpu/ggml-backend-device.cpp @@ -0,0 +1,144 @@ +#include "ggml-remoting.h" + +static const char * ggml_backend_remoting_device_get_name(ggml_backend_dev_t dev) { + virtgpu * gpu = DEV_TO_GPU(dev); + + return apir_device_get_name(gpu); +} + +static const char * ggml_backend_remoting_device_get_description(ggml_backend_dev_t dev) { + virtgpu * gpu = DEV_TO_GPU(dev); + + return apir_device_get_description(gpu); +} + +static enum ggml_backend_dev_type ggml_backend_remoting_device_get_type(ggml_backend_dev_t dev) { + virtgpu * gpu = DEV_TO_GPU(dev); + + static enum ggml_backend_dev_type type; + static bool has_type = false; + if (!has_type) { + has_type = true; + type = (enum ggml_backend_dev_type) apir_device_get_type(gpu); + } + + return type; +} + +static void ggml_backend_remoting_device_get_memory(ggml_backend_dev_t dev, size_t * free, size_t * total) { + virtgpu * gpu = DEV_TO_GPU(dev); + + return apir_device_get_memory(gpu, free, total); +} + +static bool ggml_backend_remoting_device_supports_op(ggml_backend_dev_t dev, const ggml_tensor * op) { +#if USE_ALWAYS_TRUE_SUPPORTS_OP == 1 + /* ggml-rpc cheats it like this */ + /* with the current implementation of serialize_tensor, the src/view aren't properly passed */ + UNUSED(dev); + UNUSED(op); + + return true; +#else + virtgpu * gpu = DEV_TO_GPU(dev); + + return apir_device_supports_op(gpu, op); +#endif +} + +static bool ggml_backend_remoting_device_supports_buft(ggml_backend_dev_t dev, ggml_backend_buffer_type_t buft) { + bool supported = buft->device == dev; + + return supported; +} + +static bool ggml_backend_remoting_device_offload_op(ggml_backend_dev_t dev, const ggml_tensor * op) { + UNUSED(dev); + UNUSED(op); + + return false; +} + +static void ggml_backend_remoting_device_get_props(ggml_backend_dev_t dev, ggml_backend_dev_props * props) { + props->name = ggml_backend_remoting_device_get_name(dev); + props->description = ggml_backend_remoting_device_get_description(dev); + props->type = ggml_backend_remoting_device_get_type(dev); + ggml_backend_remoting_device_get_memory(dev, &props->memory_free, &props->memory_total); + + virtgpu * gpu = DEV_TO_GPU(dev); + apir_device_get_props(gpu, &props->caps.async, &props->caps.host_buffer, &props->caps.buffer_from_host_ptr, + &props->caps.events); + + props->caps.buffer_from_host_ptr = false; + props->caps.async = false; + props->caps.events = false; +} + +ggml_backend_buffer_type_t ggml_backend_remoting_device_get_buffer_type(ggml_backend_dev_t dev) { + virtgpu * gpu = DEV_TO_GPU(dev); + + apir_buffer_type_host_handle_t ctx = apir_device_get_buffer_type(gpu); + + static ggml_backend_buffer_type buft{ + /* .iface = */ ggml_backend_remoting_buffer_type_interface, + /* .device = */ dev, + /* .context = */ (void *) ctx, + }; + + return &buft; +} + +static ggml_backend_buffer_type_t ggml_backend_remoting_device_get_buffer_from_ptr_type(ggml_backend_dev_t dev) { + virtgpu * gpu = DEV_TO_GPU(dev); + + apir_buffer_type_host_handle_t ctx = apir_device_get_buffer_type(gpu); + + static ggml_backend_buffer_type buft{ + /* .iface = */ ggml_backend_remoting_buffer_from_ptr_type_interface, + /* .device = */ dev, + /* .context = */ (void *) ctx, + }; + + return &buft; +} + +static ggml_backend_buffer_t ggml_backend_remoting_device_buffer_from_ptr(ggml_backend_dev_t dev, + void * ptr, + size_t size, + size_t max_tensor_size) { + virtgpu * gpu = DEV_TO_GPU(dev); + + ggml_backend_remoting_buffer_context * context = (ggml_backend_remoting_buffer_context *) malloc(sizeof(*context)); + if (!context) { + GGML_ABORT("Couldn't allocate the buffer context ..."); + } + + context->gpu = gpu; + context->apir_context = apir_device_buffer_from_ptr(gpu, size, max_tensor_size); + context->base = ptr; + context->is_from_ptr = true; + + ggml_backend_buffer_t buffer = + ggml_backend_buffer_init(ggml_backend_remoting_device_get_buffer_from_ptr_type(dev), + ggml_backend_remoting_buffer_from_ptr_interface, (void *) context, size); + + return buffer; +} + +const ggml_backend_device_i ggml_backend_remoting_device_interface = { + /* .get_name = */ ggml_backend_remoting_device_get_name, + /* .get_description = */ ggml_backend_remoting_device_get_description, + /* .get_memory = */ ggml_backend_remoting_device_get_memory, + /* .get_type = */ ggml_backend_remoting_device_get_type, + /* .get_props = */ ggml_backend_remoting_device_get_props, + /* .init_backend = */ ggml_backend_remoting_device_init, + /* .get_buffer_type = */ ggml_backend_remoting_device_get_buffer_type, + /* .get_host_buffer_type = */ NULL, + /* .buffer_from_host_ptr = */ ggml_backend_remoting_device_buffer_from_ptr, + /* .supports_op = */ ggml_backend_remoting_device_supports_op, + /* .supports_buft = */ ggml_backend_remoting_device_supports_buft, + /* .offload_op = */ ggml_backend_remoting_device_offload_op, + /* .event_new = */ NULL, + /* .event_free = */ NULL, + /* .event_synchronize = */ NULL, +}; diff --git a/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp b/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp new file mode 100644 index 0000000000..c46cf51c02 --- /dev/null +++ b/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp @@ -0,0 +1,137 @@ +#include "ggml-remoting.h" +#include "ggml-virtgpu.h" + +#include +#include + +static virtgpu * apir_initialize() { + static virtgpu * apir_gpu_instance = NULL; + static bool apir_initialized = false; + + { + static std::mutex mutex; + std::lock_guard lock(mutex); + + if (apir_initialized) { + return apir_gpu_instance; + } + + apir_gpu_instance = create_virtgpu(); + if (!apir_gpu_instance) { + GGML_ABORT("failed to initialize the virtgpu"); + } + + apir_initialized = true; + } + + return apir_gpu_instance; +} + +static int ggml_backend_remoting_get_device_count() { + virtgpu * gpu = apir_initialize(); + if (!gpu) { + GGML_LOG_WARN("apir_initialize failed\n"); + return 0; + } + + return apir_device_get_count(gpu); +} + +static size_t ggml_backend_remoting_reg_get_device_count(ggml_backend_reg_t reg) { + UNUSED(reg); + + return ggml_backend_remoting_get_device_count(); +} + +static std::vector devices; + +ggml_backend_dev_t ggml_backend_remoting_get_device(size_t device) { + GGML_ASSERT(device < devices.size()); + return devices[device]; +} + +static void ggml_backend_remoting_reg_init_devices(ggml_backend_reg_t reg) { + if (devices.size() > 0) { + GGML_LOG_INFO("%s: already initialized\n", __func__); + return; + } + + virtgpu * gpu = apir_initialize(); + if (!gpu) { + GGML_LOG_ERROR("apir_initialize failed\n"); + return; + } + + static bool initialized = false; + + { + static std::mutex mutex; + std::lock_guard lock(mutex); + if (!initialized) { + for (int i = 0; i < ggml_backend_remoting_get_device_count(); i++) { + ggml_backend_remoting_device_context * ctx = new ggml_backend_remoting_device_context; + char desc[256] = "API Remoting device"; + + ctx->device = i; + ctx->name = GGML_REMOTING_FRONTEND_NAME + std::to_string(i); + ctx->description = desc; + ctx->gpu = gpu; + + ggml_backend_dev_t dev = new ggml_backend_device{ + /* .iface = */ ggml_backend_remoting_device_interface, + /* .reg = */ reg, + /* .context = */ ctx, + }; + devices.push_back(dev); + } + initialized = true; + } + } +} + +static ggml_backend_dev_t ggml_backend_remoting_reg_get_device(ggml_backend_reg_t reg, size_t device) { + UNUSED(reg); + + return ggml_backend_remoting_get_device(device); +} + +static const char * ggml_backend_remoting_reg_get_name(ggml_backend_reg_t reg) { + UNUSED(reg); + + return GGML_REMOTING_FRONTEND_NAME; +} + +static const ggml_backend_reg_i ggml_backend_remoting_reg_i = { + /* .get_name = */ ggml_backend_remoting_reg_get_name, + /* .get_device_count = */ ggml_backend_remoting_reg_get_device_count, + /* .get_device = */ ggml_backend_remoting_reg_get_device, + /* .get_proc_address = */ NULL, +}; + +ggml_backend_reg_t ggml_backend_virtgpu_reg() { + virtgpu * gpu = apir_initialize(); + if (!gpu) { + GGML_LOG_ERROR("virtgpu_apir_initialize failed\n"); + return NULL; + } + + static ggml_backend_reg reg = { + /* .api_version = */ GGML_BACKEND_API_VERSION, + /* .iface = */ ggml_backend_remoting_reg_i, + /* .context = */ gpu, + }; + + static bool initialized = false; + if (initialized) { + return ® + } + initialized = true; + + ggml_backend_remoting_reg_init_devices(®); + + GGML_LOG_INFO("%s: initialized\n", __func__); + + return ® +} + +GGML_BACKEND_DL_IMPL(ggml_backend_virtgpu_reg) diff --git a/ggml/src/ggml-virtgpu/ggml-backend.cpp b/ggml/src/ggml-virtgpu/ggml-backend.cpp new file mode 100644 index 0000000000..5cd6c0c060 --- /dev/null +++ b/ggml/src/ggml-virtgpu/ggml-backend.cpp @@ -0,0 +1,69 @@ +#include "ggml-remoting.h" +#include "../../include/ggml-virtgpu.h" + +static const char * ggml_backend_remoting_get_name(ggml_backend_t backend) { + UNUSED(backend); + + return "API Remoting backend"; +} + +static void ggml_backend_remoting_free(ggml_backend_t backend) { + delete backend; +} + +static ggml_status ggml_backend_remoting_graph_compute(ggml_backend_t backend, ggml_cgraph * cgraph) { + virtgpu * gpu = DEV_TO_GPU(backend->device); + + return apir_backend_graph_compute(gpu, cgraph); +} + +static void ggml_backend_remoting_graph_optimize(ggml_backend_t backend, ggml_cgraph * cgraph) { + virtgpu * gpu = DEV_TO_GPU(backend->device); +#if true + UNUSED(gpu); + UNUSED(cgraph); +#else + // not working yet + + apir_backend_graph_optimize(gpu, cgraph); +#endif +} + +static ggml_backend_i ggml_backend_remoting_interface = { + /* .get_name = */ ggml_backend_remoting_get_name, + /* .free = */ ggml_backend_remoting_free, + /* .set_tensor_async = */ NULL, // ggml_backend_remoting_set_tensor_async, + /* .get_tensor_async = */ NULL, // ggml_backend_remoting_get_tensor_async, + /* .cpy_tensor_async = */ NULL, // ggml_backend_remoting_cpy_tensor_async, + /* .synchronize = */ NULL, // ggml_backend_remoting_synchronize, + /* .graph_plan_create = */ NULL, + /* .graph_plan_free = */ NULL, + /* .graph_plan_update = */ NULL, + /* .graph_plan_compute = */ NULL, + /* .graph_compute = */ ggml_backend_remoting_graph_compute, + /* .event_record = */ NULL, + /* .event_wait = */ NULL, + /* .graph_optimize = */ ggml_backend_remoting_graph_optimize, +}; + +static ggml_guid_t ggml_backend_remoting_guid() { + static ggml_guid guid = { 0xb8, 0xf7, 0x4f, 0x86, 0x14, 0x03, 0x86, 0x02, + 0x91, 0xc8, 0xdd, 0xe9, 0x02, 0x3f, 0xc0, 0x2b }; + + return &guid; +} + +ggml_backend_t ggml_backend_remoting_device_init(ggml_backend_dev_t dev, const char * params) { + UNUSED(params); + + ggml_backend_remoting_device_context * ctx = (ggml_backend_remoting_device_context *) dev->context; + + ggml_backend_t remoting_backend = new ggml_backend{ + /* .guid = */ ggml_backend_remoting_guid(), + /* .interface = */ ggml_backend_remoting_interface, + /* .device = */ ggml_backend_reg_dev_get(ggml_backend_virtgpu_reg(), ctx->device), + /* .context = */ ctx, + }; + + return remoting_backend; +} diff --git a/ggml/src/ggml-virtgpu/ggml-remoting.h b/ggml/src/ggml-virtgpu/ggml-remoting.h new file mode 100644 index 0000000000..36fc6b2a7b --- /dev/null +++ b/ggml/src/ggml-virtgpu/ggml-remoting.h @@ -0,0 +1,68 @@ +#pragma once + +#include "ggml-backend-impl.h" +#include "ggml-backend.h" +#include "ggml-impl.h" +#include "virtgpu.h" + +#include +#include + +// USE_ALWAYS_TRUE_SUPPORTS_OP: 1 is fast, 0 avoid micro-benchmark crashes + +#define USE_ALWAYS_TRUE_SUPPORTS_OP 1 +#define USE_METAL_GUEST_SUPPORTS_OP 0 + +#define DEV_TO_GPU(name) ((ggml_backend_remoting_device_context *) (name)->context)->gpu + +#define BUFFER_TO_GGML_CONTEXT(name) ((ggml_backend_remoting_buffer_context *) (name)->context) + +#define BUFFER_TO_APIR_CONTEXT(name) &((ggml_backend_remoting_buffer_context *) (name)->context)->apir_context + +#define BUFFER_TO_HOST_HANDLE(name) ((ggml_backend_remoting_buffer_context *) (name)->context)->apir_context.host_handle + +#define GET_DEVICE_CONTEXT() (ggml_backend_remoting_device_context *) ggml_backend_remoting_get_device(0)->context + +#define BUFT_TO_GPU(name) ((ggml_backend_remoting_device_context *) (name)->device->context)->gpu + +struct ggml_backend_remoting_device_context { + size_t device; + std::string name; + std::string description; + + std::vector> shared_memory; + + virtgpu * gpu; +}; + +struct ggml_backend_remoting_buffer_context { + apir_buffer_context_t apir_context; + + virtgpu * gpu; + + void * base; + + bool is_from_ptr; +}; + +extern const ggml_backend_buffer_type_i ggml_backend_remoting_buffer_type_interface; +extern const ggml_backend_device_i ggml_backend_remoting_device_interface; +extern const ggml_backend_buffer_i ggml_backend_remoting_buffer_interface; +extern const ggml_backend_buffer_type_i ggml_backend_remoting_buffer_from_ptr_type_interface; +extern const ggml_backend_buffer_i ggml_backend_remoting_buffer_from_ptr_interface; + +ggml_backend_dev_t ggml_backend_remoting_get_device(size_t device); +ggml_backend_t ggml_backend_remoting_device_init(ggml_backend_dev_t dev, const char * params); +ggml_backend_buffer_type_t ggml_backend_remoting_device_get_buffer_type(ggml_backend_dev_t dev); + +static inline apir_buffer_type_host_handle_t ggml_buffer_type_to_apir_handle(ggml_backend_buffer_type_t buft) { + // in the backend, the buffer handle is the buffer pointer + return (apir_buffer_type_host_handle_t) buft->context; +} + +static inline apir_buffer_host_handle_t ggml_buffer_to_apir_handle(ggml_backend_buffer_t buffer) { + if (!buffer->context) { + GGML_ABORT("%s: no context available :/", __func__); + } + return BUFFER_TO_HOST_HANDLE(buffer); +} diff --git a/ggml/src/ggml-virtgpu/ggmlremoting_functions.yaml b/ggml/src/ggml-virtgpu/ggmlremoting_functions.yaml new file mode 100644 index 0000000000..0b7cccfe9c --- /dev/null +++ b/ggml/src/ggml-virtgpu/ggmlremoting_functions.yaml @@ -0,0 +1,168 @@ +# YAML schema for GGML remoting API functions +# This defines the structure for generating the remoting layer code + +# Configuration for the generated files +config: + # Base path for the generated files + base_path: "ggml/src" + + # Header files to update + files: + apir_backend_header: "ggml-virtgpu-apir/backend/shared/apir_backend.gen.h" + backend_dispatched_header: "ggml-virtgpu-apir/backend/backend-dispatched.gen.h" + virtgpu_forward_header: "ggml-virtgpu-apir/virtgpu-forward.gen.h" + +# Simplified function definitions with grouping and metadata combined +functions: + device: + group_description: "device" + functions: + get_device_count: + # No specific metadata - uses default void return and base params + + get_count: + frontend_return: "int" + + get_name: + frontend_return: "const char *" + + get_description: + frontend_return: "const char *" + + get_type: + frontend_return: "uint32_t" + + get_memory: + frontend_return: "void" + frontend_extra_params: + - "size_t *free" + - "size_t *total" + + supports_op: + frontend_return: "bool" + frontend_extra_params: + - "const ggml_tensor *op" + + get_buffer_type: + frontend_return: "apir_buffer_type_host_handle_t" + + get_props: + frontend_return: "void" + frontend_extra_params: + - "bool *async" + - "bool *host_buffer" + - "bool *buffer_from_host_ptr" + - "bool *events" + + buffer_from_ptr: + frontend_return: "apir_buffer_context_t" + frontend_extra_params: + - "size_t size" + - "size_t max_tensor_size" + + buffer_type: + group_description: "buffer-type" + functions: + get_name: + frontend_return: "const char *" + frontend_extra_params: + - "ggml_backend_buffer_type_t buft" + + get_alignment: + frontend_return: "size_t" + frontend_extra_params: + - "ggml_backend_buffer_type_t buft" + + get_max_size: + frontend_return: "size_t" + frontend_extra_params: + - "ggml_backend_buffer_type_t buft" + + is_host: + frontend_return: "bool" + frontend_extra_params: + - "ggml_backend_buffer_type_t buft" + + alloc_buffer: + frontend_return: "apir_buffer_context_t" + frontend_extra_params: + - "ggml_backend_buffer_type_t buffer_buft" + - "size_t size" + + get_alloc_size: + frontend_return: "size_t" + frontend_extra_params: + - "ggml_backend_buffer_type_t buft" + - "const ggml_tensor *op" + + buffer: + group_description: "buffer" + functions: + get_base: + frontend_return: "void *" + frontend_extra_params: + - "apir_buffer_context_t *buffer_context" + + set_tensor: + frontend_return: "void" + frontend_extra_params: + - "apir_buffer_context_t *buffer_context" + - "ggml_tensor *tensor" + - "const void *data" + - "size_t offset" + - "size_t size" + + get_tensor: + frontend_return: "void" + frontend_extra_params: + - "apir_buffer_context_t *buffer_context" + - "const ggml_tensor *tensor" + - "void *data" + - "size_t offset" + - "size_t size" + + cpy_tensor: + frontend_return: "bool" + frontend_extra_params: + - "apir_buffer_context_t *buffer_context" + - "const ggml_tensor *src" + - "const ggml_tensor *dst" + + clear: + frontend_return: "void" + frontend_extra_params: + - "apir_buffer_context_t *buffer_context" + - "uint8_t value" + + free_buffer: + frontend_return: "void" + frontend_extra_params: + - "apir_buffer_context_t *buffer_context" + + backend: + group_description: "backend" + functions: + graph_compute: + frontend_return: "ggml_status" + frontend_extra_params: + - "ggml_cgraph *cgraph" + + graph_optimize: + frontend_return: "ggml_cgraph *" + frontend_extra_params: + - "ggml_cgraph *cgraph" + enabled: false + +# Naming patterns used for code generation +naming_patterns: + # How to generate enum names + enum_prefix: "APIR_COMMAND_TYPE_" + + # How to generate backend function names + backend_function_prefix: "backend_" + + # How to generate frontend function names + frontend_function_prefix: "apir_" + + # Standard frontend first parameter + frontend_base_param: "struct virtgpu *gpu" diff --git a/ggml/src/ggml-virtgpu/include/apir_hw.h b/ggml/src/ggml-virtgpu/include/apir_hw.h new file mode 100644 index 0000000000..33af045ca2 --- /dev/null +++ b/ggml/src/ggml-virtgpu/include/apir_hw.h @@ -0,0 +1,9 @@ +#pragma once + +#include + +struct virgl_renderer_capset_apir { + uint32_t apir_version; + uint32_t supports_blob_resources; + uint32_t reserved[4]; // For future expansion +}; diff --git a/ggml/src/ggml-virtgpu/regenerate_remoting.py b/ggml/src/ggml-virtgpu/regenerate_remoting.py new file mode 100755 index 0000000000..4174a24327 --- /dev/null +++ b/ggml/src/ggml-virtgpu/regenerate_remoting.py @@ -0,0 +1,322 @@ +#!/usr/bin/env python3 +""" +# Generated by Claude AI + +Script to completely regenerate the GGML remoting codebase from YAML configuration. + +This script reads api_functions.yaml and regenerates all the header files and +implementation templates for the GGML remoting layer. + +Usage: + python regenerate_remoting.py + +The script will: +1. Read ggmlremoting_functions.yaml configuration +2. Generate updated header files +3. Generate implementation templates in dedicated files +4. Show a summary of what was generated +""" + +import yaml +from typing import Dict, List, Any +from pathlib import Path +import os +import subprocess +import shutil +import logging + +NL = '\n' # can't have f"{'\n'}" in f-strings + + +class RemotingCodebaseGenerator: + def __init__(self, yaml_path: str = "ggmlremoting_functions.yaml"): + """Initialize the generator with the YAML configuration.""" + self.yaml_path = yaml_path + + if not Path(yaml_path).exists(): + raise FileNotFoundError(f"Configuration file {yaml_path} not found") + + with open(yaml_path, 'r') as f: + self.config = yaml.safe_load(f) + + self.functions = self.config['functions'] + self.naming_patterns = self.config['naming_patterns'] + self.config_data = self.config['config'] + + # Check if clang-format is available + self.clang_format_available = self._check_clang_format_available() + + def _check_clang_format_available(self) -> bool: + """Check if clang-format is available in the system PATH.""" + return shutil.which("clang-format") is not None + + def _format_file_with_clang_format(self, file_path: Path) -> bool: + """Format a file with clang-format -i. Returns True if successful, False otherwise.""" + if not self.clang_format_available: + return False + + try: + subprocess.run( + ["clang-format", "-i", str(file_path)], + check=True, + capture_output=True, + text=True + ) + return True + except subprocess.CalledProcessError: + logging.exception(f" ⚠️ clang-format failed for {file_path}") + return False + except Exception as e: + logging.exception(f" ⚠️ Unexpected error formatting {file_path}: {e}") + return False + + def generate_enum_name(self, group_name: str, function_name: str) -> str: + """Generate the APIR_COMMAND_TYPE enum name for a function.""" + prefix = self.naming_patterns['enum_prefix'] + return f"{prefix}{group_name.upper()}_{function_name.upper()}" + + def generate_backend_function_name(self, group_name: str, function_name: str) -> str: + """Generate the backend function name.""" + function_key = f"{group_name}_{function_name}" + overrides = self.naming_patterns.get('backend_function_overrides', {}) + + if function_key in overrides: + return overrides[function_key] + + prefix = self.naming_patterns['backend_function_prefix'] + return f"{prefix}{group_name}_{function_name}" + + def generate_frontend_function_name(self, group_name: str, function_name: str) -> str: + """Generate the frontend function name.""" + prefix = self.naming_patterns['frontend_function_prefix'] + return f"{prefix}{group_name}_{function_name}" + + def get_enabled_functions(self) -> List[Dict[str, Any]]: + """Get all enabled functions with their metadata.""" + functions = [] + enum_value = 0 + + for group_name, group_data in self.functions.items(): + group_description = group_data['group_description'] + + for function_name, func_metadata in group_data['functions'].items(): + # Handle case where func_metadata is None or empty (functions with only comments) + if func_metadata is None: + func_metadata = {} + + # Functions are enabled by default unless explicitly disabled + if func_metadata.get('enabled', True): + functions.append({ + 'group_name': group_name, + 'function_name': function_name, + 'enum_name': self.generate_enum_name(group_name, function_name), + 'enum_value': enum_value, + 'backend_function': self.generate_backend_function_name(group_name, function_name), + 'frontend_function': self.generate_frontend_function_name(group_name, function_name), + 'frontend_return': func_metadata.get('frontend_return', 'void'), + 'frontend_extra_params': func_metadata.get('frontend_extra_params', []), + 'group_description': group_description, + 'newly_added': func_metadata.get('newly_added', False) + }) + enum_value += 1 + + return functions + + def generate_apir_backend_header(self) -> str: + """Generate the complete apir_backend.h file.""" + functions = self.get_enabled_functions() + + # Generate the enum section + enum_lines = ["typedef enum ApirBackendCommandType {"] + current_group = None + + for func in functions: + # Add comment for new group + if func['group_name'] != current_group: + enum_lines.append("") + enum_lines.append(f" /* {func['group_description']} */") + current_group = func['group_name'] + + enum_lines.append(f" {func['enum_name']} = {func['enum_value']},") + + # Add the count + total_count = len(functions) + enum_lines.append("\n // last command_type index + 1") + enum_lines.append(f" APIR_BACKEND_DISPATCH_TABLE_COUNT = {total_count},") + enum_lines.append("} ApirBackendCommandType;") + + # Full header template + header_content = NL.join(enum_lines) + "\n" + + return header_content + + def generate_backend_dispatched_header(self) -> str: + """Generate the complete backend-dispatched.h file.""" + functions = self.get_enabled_functions() + + # Function declarations + decl_lines = [] + current_group = None + + for func in functions: + if func['group_name'] != current_group: + decl_lines.append(f"\n/* {func['group_description']} */") + current_group = func['group_name'] + + signature = "uint32_t" + params = "apir_encoder *enc, apir_decoder *dec, virgl_apir_context *ctx" + decl_lines.append(f"{signature} {func['backend_function']}({params});") + + # Switch cases + switch_lines = [] + current_group = None + + for func in functions: + if func['group_name'] != current_group: + switch_lines.append(f" /* {func['group_description']} */") + current_group = func['group_name'] + + switch_lines.append(f" case {func['enum_name']}: return \"{func['backend_function']}\";") + + # Dispatch table + table_lines = [] + current_group = None + + for func in functions: + if func['group_name'] != current_group: + table_lines.append(f"\n /* {func['group_description']} */") + table_lines.append("") + current_group = func['group_name'] + + table_lines.append(f" /* {func['enum_name']} = */ {func['backend_function']},") + + header_content = f'''\ +#pragma once + +{NL.join(decl_lines)} + +static inline const char *backend_dispatch_command_name(ApirBackendCommandType type) +{{ + switch (type) {{ +{NL.join(switch_lines)} + + default: return "unknown"; + }} +}} + +extern "C" {{ +static const backend_dispatch_t apir_backend_dispatch_table[APIR_BACKEND_DISPATCH_TABLE_COUNT] = {{ + {NL.join(table_lines)} +}}; +}} +''' + return header_content + + def generate_virtgpu_forward_header(self) -> str: + """Generate the complete virtgpu-forward.gen.h file.""" + functions = self.get_enabled_functions() + + decl_lines = [] + current_group = None + + for func in functions: + if func['group_name'] != current_group: + decl_lines.append("") + decl_lines.append(f"/* {func['group_description']} */") + current_group = func['group_name'] + + # Build parameter list + params = [self.naming_patterns['frontend_base_param']] + params.extend(func['frontend_extra_params']) + param_str = ', '.join(params) + + decl_lines.append(f"{func['frontend_return']} {func['frontend_function']}({param_str});") + + header_content = f'''\ +#pragma once +{NL.join(decl_lines)} +''' + return header_content + + def regenerate_codebase(self) -> None: + """Regenerate the entire remoting codebase.""" + logging.info("🔄 Regenerating GGML Remoting Codebase...") + logging.info("=" * 50) + + # Detect if we're running from frontend directory + current_dir = os.getcwd() + is_frontend_dir = current_dir.endswith('ggml-virtgpu') + + if is_frontend_dir: + # Running from ggml/src/ggml-virtgpu-apir + logging.info("📍 Detected frontend directory execution") + frontend_base = Path(".") + else: + # Running from project root (fallback to original behavior) + logging.info("📍 Detected project root execution") + base_path = self.config_data.get('base_path', 'ggml/src') + frontend_base = Path(base_path) / "ggml-virtgpu" + + # Compute final file paths + backend_base = frontend_base / "backend" + apir_backend_path = backend_base / "shared" / "apir_backend.gen.h" + backend_dispatched_path = backend_base / "backend-dispatched.gen.h" + virtgpu_forward_path = frontend_base / "virtgpu-forward.gen.h" + + # Create output directories for each file + apir_backend_path.parent.mkdir(parents=True, exist_ok=True) + backend_dispatched_path.parent.mkdir(parents=True, exist_ok=True) + virtgpu_forward_path.parent.mkdir(parents=True, exist_ok=True) + + # Generate header files + logging.info("📁 Generating header files...") + + apir_backend_content = self.generate_apir_backend_header() + apir_backend_path.write_text(apir_backend_content) + logging.info(f" ✅ {apir_backend_path.resolve()}") + + backend_dispatched_content = self.generate_backend_dispatched_header() + backend_dispatched_path.write_text(backend_dispatched_content) + logging.info(f" ✅ {backend_dispatched_path.resolve()}") + + virtgpu_forward_content = self.generate_virtgpu_forward_header() + virtgpu_forward_path.write_text(virtgpu_forward_content) + logging.info(f" ✅ {virtgpu_forward_path.resolve()}") + + # Format generated files with clang-format + generated_files = [apir_backend_path, backend_dispatched_path, virtgpu_forward_path] + + if not self.clang_format_available: + logging.warning("\n⚠️clang-format not found in PATH. Generated files will not be formatted." + " Install clang-format to enable automatic code formatting.") + else: + logging.info("\n🎨 Formatting files with clang-format...") + for file_path in generated_files: + if self._format_file_with_clang_format(file_path): + logging.info(f" ✅ Formatted {file_path.name}") + else: + logging.warning(f" ❌ Failed to format {file_path.name}") + + # Generate summary + functions = self.get_enabled_functions() + total_functions = len(functions) + + logging.info("\n📊 Generation Summary:") + logging.info("=" * 50) + logging.info(f" Total functions: {total_functions}") + logging.info(f" Function groups: {len(self.functions)}") + logging.info(" Header files: 3") + logging.info(f" Working directory: {current_dir}") + + +def main(): + try: + generator = RemotingCodebaseGenerator() + generator.regenerate_codebase() + except Exception as e: + logging.exception(f"❌ Error: {e}") + exit(1) + + +if __name__ == "__main__": + main() diff --git a/ggml/src/ggml-virtgpu/virtgpu-apir.h b/ggml/src/ggml-virtgpu/virtgpu-apir.h new file mode 100644 index 0000000000..238f960acd --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-apir.h @@ -0,0 +1,15 @@ +#include "backend/shared/apir_backend.h" +#include "ggml-alloc.h" +#include "ggml-impl.h" +#include "ggml.h" +#include "virtgpu-shm.h" +#include "virtgpu-utils.h" + +struct apir_buffer_context_t { + apir_buffer_host_handle_t host_handle; + + struct virtgpu_shmem shmem; + apir_buffer_type_host_handle_t buft_host_handle; +}; + +#include "virtgpu-forward.gen.h" diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp b/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp new file mode 100644 index 0000000000..bf3c41011a --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp @@ -0,0 +1,50 @@ +#include "virtgpu-forward-impl.h" + +static long long current_time_ms() { + timespec ts; + clock_gettime(CLOCK_REALTIME, &ts); // Use CLOCK_MONOTONIC for elapsed time + return (long long) ts.tv_sec * 1000000000LL + ts.tv_nsec; +} + +ggml_status apir_backend_graph_compute(virtgpu * gpu, ggml_cgraph * cgraph) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BACKEND_GRAPH_COMPUTE); + + std::vector cgraph_data; + size_t cgraph_size = apir_serialize_ggml_cgraph(cgraph, cgraph_data); + + virtgpu_shmem temp_shmem; // Local storage for large buffers + virtgpu_shmem * shmem = &temp_shmem; + + if (cgraph_size <= gpu->data_shmem.mmap_size) { + // prefer the init-time allocated page, if large enough + shmem = &gpu->data_shmem; + } else if (virtgpu_shmem_create(gpu, cgraph_size, shmem)) { + GGML_ABORT("Couldn't allocate the guest-host shared buffer"); + } + + apir_encode_virtgpu_shmem_res_id(encoder, shmem->res_id); + + apir_encode_size_t(encoder, &cgraph_size); + + char * shmem_data = (char *) shmem->mmap_ptr; + apir_encoder secondary_enc = apir_new_encoder(shmem_data, cgraph_size); + + apir_encode_cgraph_data(&secondary_enc, cgraph_data); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + ggml_status status = GGML_STATUS_ABORTED; + apir_decode_ggml_status(decoder, &status); + + remote_call_finish(gpu, encoder, decoder); + + if (shmem != &gpu->data_shmem) { + virtgpu_shmem_destroy(gpu, shmem); + } + + return status; +} diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp b/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp new file mode 100644 index 0000000000..03cb09e064 --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp @@ -0,0 +1,125 @@ +#include "virtgpu-forward-impl.h" + +const char * apir_buffer_type_get_name(virtgpu * gpu, ggml_backend_buffer_type_t buft) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_GET_NAME); + + apir_encode_ggml_buffer_type(encoder, buft); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + const size_t string_size = apir_decode_array_size_unchecked(decoder); + char * string = (char *) apir_decoder_alloc_array(sizeof(char), string_size); + if (!string) { + GGML_LOG_ERROR("%s: Could not allocate the device name buffer\n", __func__); + apir_decoder_set_fatal(decoder); + } + apir_decode_char_array(decoder, string, string_size); + + remote_call_finish(gpu, encoder, decoder); + + return string; +} + +size_t apir_buffer_type_get_alignment(virtgpu * gpu, ggml_backend_buffer_type_t buft) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALIGNMENT); + + apir_encode_ggml_buffer_type(encoder, buft); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + size_t alignment; + apir_decode_size_t(decoder, &alignment); + + remote_call_finish(gpu, encoder, decoder); + + return alignment; +} + +size_t apir_buffer_type_get_max_size(virtgpu * gpu, ggml_backend_buffer_type_t buft) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_GET_MAX_SIZE); + + apir_encode_ggml_buffer_type(encoder, buft); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + size_t max_size; + apir_decode_size_t(decoder, &max_size); + + remote_call_finish(gpu, encoder, decoder); + + return max_size; +} + +bool apir_buffer_type_is_host(virtgpu * gpu, ggml_backend_buffer_type_t buft) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST); + + apir_encode_ggml_buffer_type(encoder, buft); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + bool is_host; + apir_decode_bool_t(decoder, &is_host); + + remote_call_finish(gpu, encoder, decoder); + + return is_host; +} + +apir_buffer_context_t apir_buffer_type_alloc_buffer(virtgpu * gpu, ggml_backend_buffer_type_t buft, size_t size) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + apir_buffer_context_t buffer_context; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_ALLOC_BUFFER); + + apir_encode_ggml_buffer_type(encoder, buft); + + apir_encode_size_t(encoder, &size); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + apir_decode_apir_buffer_host_handle_t(decoder, &buffer_context.host_handle); + + remote_call_finish(gpu, encoder, decoder); + + return buffer_context; +} + +size_t apir_buffer_type_get_alloc_size(virtgpu * gpu, ggml_backend_buffer_type_t buft, const ggml_tensor * op) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALLOC_SIZE); + + apir_encode_ggml_buffer_type(encoder, buft); + + apir_encode_ggml_tensor_inline(encoder, op); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + size_t alloc_size; + apir_decode_size_t(decoder, &alloc_size); + + remote_call_finish(gpu, encoder, decoder); + + return alloc_size; +} diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp b/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp new file mode 100644 index 0000000000..3181e39440 --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp @@ -0,0 +1,157 @@ +#include "virtgpu-forward-impl.h" + +void * apir_buffer_get_base(virtgpu * gpu, apir_buffer_context_t * buffer_context) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_GET_BASE); + + apir_encode_apir_buffer_host_handle_t(encoder, &buffer_context->host_handle); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + uintptr_t base; + apir_decode_uintptr_t(decoder, &base); + + remote_call_finish(gpu, encoder, decoder); + + return (void *) base; +} + +void apir_buffer_set_tensor(virtgpu * gpu, + apir_buffer_context_t * buffer_context, + ggml_tensor * tensor, + const void * data, + size_t offset, + size_t size) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_SET_TENSOR); + + apir_encode_apir_buffer_host_handle_t(encoder, &buffer_context->host_handle); + apir_encode_ggml_tensor(encoder, tensor); + + virtgpu_shmem temp_shmem; // Local storage for large buffers + virtgpu_shmem * shmem = &temp_shmem; + + if (size <= gpu->data_shmem.mmap_size) { + // prefer the init-time allocated page, if large enough + shmem = &gpu->data_shmem; + + } else if (virtgpu_shmem_create(gpu, size, shmem)) { + GGML_ABORT("Couldn't allocate the guest-host shared buffer"); + } + + memcpy(shmem->mmap_ptr, data, size); + apir_encode_virtgpu_shmem_res_id(encoder, shmem->res_id); + + apir_encode_size_t(encoder, &offset); + apir_encode_size_t(encoder, &size); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + remote_call_finish(gpu, encoder, decoder); + + if (shmem != &gpu->data_shmem) { + virtgpu_shmem_destroy(gpu, shmem); + } + + return; +} + +void apir_buffer_get_tensor(virtgpu * gpu, + apir_buffer_context_t * buffer_context, + const ggml_tensor * tensor, + void * data, + size_t offset, + size_t size) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_GET_TENSOR); + + apir_encode_apir_buffer_host_handle_t(encoder, &buffer_context->host_handle); + apir_encode_ggml_tensor(encoder, tensor); + + virtgpu_shmem temp_shmem; // Local storage for large buffers + virtgpu_shmem * shmem = &temp_shmem; + + if (size <= gpu->data_shmem.mmap_size) { + // prefer the init-time allocated page, if large enough + shmem = &gpu->data_shmem; + + } else if (virtgpu_shmem_create(gpu, size, shmem)) { + GGML_ABORT("Couldn't allocate the guest-host shared buffer"); + } + + apir_encode_virtgpu_shmem_res_id(encoder, shmem->res_id); + apir_encode_size_t(encoder, &offset); + apir_encode_size_t(encoder, &size); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + memcpy(data, shmem->mmap_ptr, size); + + remote_call_finish(gpu, encoder, decoder); + + if (shmem != &gpu->data_shmem) { + virtgpu_shmem_destroy(gpu, shmem); + } +} + +bool apir_buffer_cpy_tensor(virtgpu * gpu, + apir_buffer_context_t * buffer_context, + const ggml_tensor * src, + const ggml_tensor * dst) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_CPY_TENSOR); + + apir_encode_apir_buffer_host_handle_t(encoder, &buffer_context->host_handle); + apir_encode_ggml_tensor(encoder, src); + apir_encode_ggml_tensor(encoder, dst); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + bool ret_val; + apir_decode_bool_t(decoder, &ret_val); + + remote_call_finish(gpu, encoder, decoder); + + return ret_val; +} + +void apir_buffer_clear(virtgpu * gpu, apir_buffer_context_t * buffer_context, uint8_t value) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_CLEAR); + + apir_encode_apir_buffer_host_handle_t(encoder, &buffer_context->host_handle); + apir_encode_uint8_t(encoder, &value); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + remote_call_finish(gpu, encoder, decoder); +} + +void apir_buffer_free_buffer(virtgpu * gpu, apir_buffer_context_t * buffer_context) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_FREE_BUFFER); + + apir_encode_apir_buffer_host_handle_t(encoder, &buffer_context->host_handle); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + remote_call_finish(gpu, encoder, decoder); +} diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp b/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp new file mode 100644 index 0000000000..3e45e55bdc --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp @@ -0,0 +1,200 @@ +#include "virtgpu-forward-impl.h" +#include "virtgpu-shm.h" + +int apir_device_get_count(virtgpu * gpu) { + static int32_t dev_count = -1; + if (dev_count != -1) { + return dev_count; + } + + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_GET_COUNT); + REMOTE_CALL(gpu, encoder, decoder, ret); + + apir_decode_int32_t(decoder, &dev_count); + + remote_call_finish(gpu, encoder, decoder); + + return dev_count; +} + +const char * apir_device_get_name(virtgpu * gpu) { + static char * string = nullptr; + if (string) { + return string; + } + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_GET_NAME); + REMOTE_CALL(gpu, encoder, decoder, ret); + + const size_t string_size = apir_decode_array_size_unchecked(decoder); + string = (char *) apir_decoder_alloc_array(sizeof(char), string_size); + if (!string) { + GGML_LOG_ERROR("%s: Could not allocate the device name buffer\n", __func__); + return NULL; + } + apir_decode_char_array(decoder, string, string_size); + + remote_call_finish(gpu, encoder, decoder); + + return string; +} + +const char * apir_device_get_description(virtgpu * gpu) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_GET_DESCRIPTION); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + const size_t string_size = apir_decode_array_size_unchecked(decoder); + char * string = (char *) apir_decoder_alloc_array(sizeof(char), string_size); + if (!string) { + GGML_LOG_ERROR("%s: Could not allocate the device description buffer\n", __func__); + + return NULL; + } + apir_decode_char_array(decoder, string, string_size); + + remote_call_finish(gpu, encoder, decoder); + + return string; +} + +uint32_t apir_device_get_type(virtgpu * gpu) { + static uint32_t dev_type = 255; + if (dev_type != 255) { + return dev_type; + } + + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_GET_TYPE); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + apir_decode_uint32_t(decoder, &dev_type); + + remote_call_finish(gpu, encoder, decoder); + + return dev_type; +} + +void apir_device_get_memory(virtgpu * gpu, size_t * free, size_t * total) { + static size_t dev_free = 0; + static size_t dev_total = 0; + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_GET_MEMORY); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + apir_decode_size_t(decoder, &dev_free); + apir_decode_size_t(decoder, &dev_total); + + *free = dev_free; + *total = dev_total; + + remote_call_finish(gpu, encoder, decoder); + + return; +} + +bool apir_device_supports_op(virtgpu * gpu, const ggml_tensor * op) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_SUPPORTS_OP); + + apir_encode_ggml_tensor_inline(encoder, op); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + bool supports_op; + apir_decode_bool_t(decoder, &supports_op); + + remote_call_finish(gpu, encoder, decoder); + + return supports_op; +} + +apir_buffer_type_host_handle_t apir_device_get_buffer_type(virtgpu * gpu) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_GET_BUFFER_TYPE); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + apir_buffer_type_host_handle_t buft_handle; + apir_decode_apir_buffer_type_host_handle_t(decoder, &buft_handle); + + remote_call_finish(gpu, encoder, decoder); + + return buft_handle; +} + +void apir_device_get_props(virtgpu * gpu, + bool * async, + bool * host_buffer, + bool * buffer_from_host_ptr, + bool * events) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_GET_PROPS); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + apir_decode_bool_t(decoder, async); + apir_decode_bool_t(decoder, host_buffer); + apir_decode_bool_t(decoder, buffer_from_host_ptr); + apir_decode_bool_t(decoder, events); + + remote_call_finish(gpu, encoder, decoder); + + return; +} + +apir_buffer_context_t apir_device_buffer_from_ptr(virtgpu * gpu, size_t size, size_t max_tensor_size) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirForwardReturnCode ret; + + apir_buffer_context_t buffer_context; + + REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_BUFFER_FROM_PTR); + + if (virtgpu_shmem_create(gpu, size, &buffer_context.shmem)) { + GGML_ABORT("Couldn't allocate the guest-host shared buffer"); + } + + apir_encode_virtgpu_shmem_res_id(encoder, buffer_context.shmem.res_id); + + apir_encode_size_t(encoder, &size); + apir_encode_size_t(encoder, &max_tensor_size); + + REMOTE_CALL(gpu, encoder, decoder, ret); + + apir_decode_apir_buffer_host_handle_t(decoder, &buffer_context.host_handle); + buffer_context.buft_host_handle = apir_decode_apir_buffer_type_host_handle(decoder); + + remote_call_finish(gpu, encoder, decoder); + + return buffer_context; +} diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h b/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h new file mode 100644 index 0000000000..eea3e7e5a9 --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h @@ -0,0 +1,29 @@ +#include "virtgpu.h" + +#include "ggml-remoting.h" +#include "backend/shared/apir_backend.h" +#include "backend/shared/apir_cs_ggml.h" + +#include "ggml-backend-impl.h" + +#define REMOTE_CALL_PREPARE(gpu_dev_name, encoder_name, apir_command_type__) \ + do { \ + int32_t forward_flag = (int32_t) apir_command_type__; \ + encoder_name = remote_call_prepare(gpu_dev_name, APIR_COMMAND_TYPE_FORWARD, forward_flag); \ + if (!encoder_name) { \ + GGML_ABORT("%s: failed to prepare the remote call encoder", __func__); \ + } \ + } while (0) + +#define REMOTE_CALL(gpu_dev_name, encoder_name, decoder_name, ret_name) \ + do { \ + ret_name = (ApirForwardReturnCode) remote_call(gpu_dev_name, encoder_name, &decoder_name, 0, NULL); \ + if (!decoder_name) { \ + GGML_ABORT("%s: failed to kick the remote call", __func__); \ + } \ + if (ret_name < APIR_FORWARD_BASE_INDEX) { \ + GGML_ABORT("%s: failed to forward the API call: %s: code %d", __func__, \ + apir_forward_error(ret_name), ret_name); \ + } \ + ret_name = (ApirForwardReturnCode) (ret_name - APIR_FORWARD_BASE_INDEX); \ + } while (0) diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h b/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h new file mode 100644 index 0000000000..c27c07f086 --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h @@ -0,0 +1,51 @@ +#pragma once + +/* device */ +void apir_device_get_device_count(struct virtgpu * gpu); +int apir_device_get_count(struct virtgpu * gpu); +const char * apir_device_get_name(struct virtgpu * gpu); +const char * apir_device_get_description(struct virtgpu * gpu); +uint32_t apir_device_get_type(struct virtgpu * gpu); +void apir_device_get_memory(struct virtgpu * gpu, size_t * free, size_t * total); +bool apir_device_supports_op(struct virtgpu * gpu, const ggml_tensor * op); +apir_buffer_type_host_handle_t apir_device_get_buffer_type(struct virtgpu * gpu); +void apir_device_get_props(struct virtgpu * gpu, + bool * async, + bool * host_buffer, + bool * buffer_from_host_ptr, + bool * events); +apir_buffer_context_t apir_device_buffer_from_ptr(struct virtgpu * gpu, size_t size, size_t max_tensor_size); + +/* buffer-type */ +const char * apir_buffer_type_get_name(struct virtgpu * gpu, ggml_backend_buffer_type_t buft); +size_t apir_buffer_type_get_alignment(struct virtgpu * gpu, ggml_backend_buffer_type_t buft); +size_t apir_buffer_type_get_max_size(struct virtgpu * gpu, ggml_backend_buffer_type_t buft); +bool apir_buffer_type_is_host(struct virtgpu * gpu, ggml_backend_buffer_type_t buft); +apir_buffer_context_t apir_buffer_type_alloc_buffer(struct virtgpu * gpu, + ggml_backend_buffer_type_t buffer_buft, + size_t size); +size_t apir_buffer_type_get_alloc_size(struct virtgpu * gpu, ggml_backend_buffer_type_t buft, const ggml_tensor * op); + +/* buffer */ +void * apir_buffer_get_base(struct virtgpu * gpu, apir_buffer_context_t * buffer_context); +void apir_buffer_set_tensor(struct virtgpu * gpu, + apir_buffer_context_t * buffer_context, + ggml_tensor * tensor, + const void * data, + size_t offset, + size_t size); +void apir_buffer_get_tensor(struct virtgpu * gpu, + apir_buffer_context_t * buffer_context, + const ggml_tensor * tensor, + void * data, + size_t offset, + size_t size); +bool apir_buffer_cpy_tensor(struct virtgpu * gpu, + apir_buffer_context_t * buffer_context, + const ggml_tensor * src, + const ggml_tensor * dst); +void apir_buffer_clear(struct virtgpu * gpu, apir_buffer_context_t * buffer_context, uint8_t value); +void apir_buffer_free_buffer(struct virtgpu * gpu, apir_buffer_context_t * buffer_context); + +/* backend */ +ggml_status apir_backend_graph_compute(struct virtgpu * gpu, ggml_cgraph * cgraph); diff --git a/ggml/src/ggml-virtgpu/virtgpu-shm.cpp b/ggml/src/ggml-virtgpu/virtgpu-shm.cpp new file mode 100644 index 0000000000..4def405a62 --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-shm.cpp @@ -0,0 +1,99 @@ +#include "virtgpu-shm.h" + +#include "virtgpu.h" + +#include + +static uint32_t virtgpu_ioctl_resource_create_blob(virtgpu * gpu, + uint32_t blob_mem, + uint32_t blob_flags, + size_t blob_size, + uint64_t blob_id, + uint32_t * res_id) { +#ifdef SIMULATE_BO_SIZE_FIX + blob_size = align64(blob_size, 4096); +#endif + + drm_virtgpu_resource_create_blob args = { + .blob_mem = blob_mem, + .blob_flags = blob_flags, + .bo_handle = 0, + .res_handle = 0, + .size = blob_size, + .pad = 0, + .cmd_size = 0, + .cmd = 0, + .blob_id = blob_id, + }; + + if (virtgpu_ioctl(gpu, DRM_IOCTL_VIRTGPU_RESOURCE_CREATE_BLOB, &args)) { + return 0; + } + + *res_id = args.res_handle; + return args.bo_handle; +} + +static void virtgpu_ioctl_gem_close(virtgpu * gpu, uint32_t gem_handle) { + drm_gem_close args = { + .handle = gem_handle, + .pad = 0, + }; + + const int ret = virtgpu_ioctl(gpu, DRM_IOCTL_GEM_CLOSE, &args); + assert(!ret); +#ifdef NDEBUG + UNUSED(ret); +#endif +} + +static void * virtgpu_ioctl_map(virtgpu * gpu, uint32_t gem_handle, size_t size) { + drm_virtgpu_map args = { + .offset = 0, + .handle = gem_handle, + .pad = 0, + }; + + if (virtgpu_ioctl(gpu, DRM_IOCTL_VIRTGPU_MAP, &args)) { + return NULL; + } + + void * ptr = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, gpu->fd, args.offset); + if (ptr == MAP_FAILED) { + return NULL; + } + + return ptr; +} + +void virtgpu_shmem_destroy(virtgpu * gpu, virtgpu_shmem * shmem) { + munmap(shmem->mmap_ptr, shmem->mmap_size); + virtgpu_ioctl_gem_close(gpu, shmem->gem_handle); +} + +int virtgpu_shmem_create(virtgpu * gpu, size_t size, virtgpu_shmem * shmem) { + size = align64(size, 16384); + + uint32_t res_id; + uint32_t gem_handle = virtgpu_ioctl_resource_create_blob(gpu, VIRTGPU_BLOB_MEM_HOST3D, + VIRTGPU_BLOB_FLAG_USE_MAPPABLE, size, 0, &res_id); + + if (!gem_handle) { + return 1; + } + + void * ptr = virtgpu_ioctl_map(gpu, gem_handle, size); + if (!ptr) { + virtgpu_ioctl_gem_close(gpu, gem_handle); + GGML_LOG_ERROR("virtgpu_ioctl_map FAILED\n"); + exit(1); + return 1; + } + + shmem->res_id = res_id; + shmem->mmap_size = size; + shmem->mmap_ptr = ptr; + shmem->gem_handle = gem_handle; + + return 0; +} diff --git a/ggml/src/ggml-virtgpu/virtgpu-shm.h b/ggml/src/ggml-virtgpu/virtgpu-shm.h new file mode 100644 index 0000000000..606860a094 --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-shm.h @@ -0,0 +1,23 @@ +#pragma once + +#include "virtgpu-utils.h" + +#include + +#include +#include +#include +#include + +struct virtgpu; + +struct virtgpu_shmem { + uint32_t res_id; + size_t mmap_size; + void * mmap_ptr; + + uint32_t gem_handle; +}; + +int virtgpu_shmem_create(virtgpu * gpu, size_t size, virtgpu_shmem * shmem); +void virtgpu_shmem_destroy(virtgpu * gpu, virtgpu_shmem * shmem); diff --git a/ggml/src/ggml-virtgpu/virtgpu-utils.cpp b/ggml/src/ggml-virtgpu/virtgpu-utils.cpp new file mode 100644 index 0000000000..8a2805e990 --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-utils.cpp @@ -0,0 +1,179 @@ +#include "virtgpu-utils.h" + +#include +#include + +#include + +#define NODE_ALLOC_ALIGN 64 +#define NODE_PTR_MASK (~((uintptr_t) NODE_ALLOC_ALIGN - 1)) +#define NODE_LEVEL_MASK ((uintptr_t) NODE_ALLOC_ALIGN - 1) +#define NULL_NODE 0 + +#define os_malloc_aligned(_size, _align) _aligned_malloc(_size, _align) +#define os_free_aligned(_ptr) free(_ptr) +#define p_atomic_cmpxchg(v, old, _new) __sync_val_compare_and_swap((v), (old), (_new)) + +static inline uint64_t util_logbase2_64(uint64_t n) { +#if defined(HAVE___BUILTIN_CLZLL) + return ((sizeof(uint64_t) * 8 - 1) - __builtin_clzll(n | 1)); +#else + uint64_t pos = 0ull; + if (n >= 1ull << 32) { + n >>= 32; + pos += 32; + } + if (n >= 1ull << 16) { + n >>= 16; + pos += 16; + } + if (n >= 1ull << 8) { + n >>= 8; + pos += 8; + } + if (n >= 1ull << 4) { + n >>= 4; + pos += 4; + } + if (n >= 1ull << 2) { + n >>= 2; + pos += 2; + } + if (n >= 1ull << 1) { + pos += 1; + } + return pos; +#endif +} + +void util_sparse_array_init(util_sparse_array * arr, size_t elem_size, size_t node_size) { + memset(arr, 0, sizeof(*arr)); + arr->elem_size = elem_size; + arr->node_size_log2 = util_logbase2_64(node_size); + assert(node_size >= 2 && node_size == (1ull << arr->node_size_log2)); +} + +static inline void * os_malloc_aligned(size_t size, size_t alignment) { + void * ptr; + alignment = (alignment + sizeof(void *) - 1) & ~(sizeof(void *) - 1); + if (posix_memalign(&ptr, alignment, size) != 0) { + return NULL; + } + return ptr; +} + +static inline void * _util_sparse_array_node_data(uintptr_t handle) { + return (void *) (handle & NODE_PTR_MASK); +} + +static inline unsigned _util_sparse_array_node_level(uintptr_t handle) { + return handle & NODE_LEVEL_MASK; +} + +static inline void _util_sparse_array_node_finish(util_sparse_array * arr, uintptr_t node) { + if (_util_sparse_array_node_level(node) > 0) { + uintptr_t * children = (uintptr_t *) _util_sparse_array_node_data(node); + size_t node_size = 1ull << arr->node_size_log2; + for (size_t i = 0; i < node_size; i++) { + if (children[i]) { + _util_sparse_array_node_finish(arr, children[i]); + } + } + } + + os_free_aligned(_util_sparse_array_node_data(node)); +} + +static inline uintptr_t _util_sparse_array_node(void * data, unsigned level) { + assert(data != NULL); + assert(((uintptr_t) data & NODE_LEVEL_MASK) == 0); + assert((level & NODE_PTR_MASK) == 0); + return (uintptr_t) data | level; +} + +inline uintptr_t _util_sparse_array_node_alloc(util_sparse_array * arr, unsigned level) { + size_t size; + if (level == 0) { + size = arr->elem_size << arr->node_size_log2; + } else { + size = sizeof(uintptr_t) << arr->node_size_log2; + } + + void * data = os_malloc_aligned(size, NODE_ALLOC_ALIGN); + memset(data, 0, size); + + return _util_sparse_array_node(data, level); +} + +static inline uintptr_t _util_sparse_array_set_or_free_node(uintptr_t * node_ptr, uintptr_t cmp_node, uintptr_t node) { + uintptr_t prev_node = p_atomic_cmpxchg(node_ptr, cmp_node, node); + + if (prev_node != cmp_node) { + /* We lost the race. Free this one and return the one that was already + * allocated. + */ + os_free_aligned(_util_sparse_array_node_data(node)); + return prev_node; + } else { + return node; + } +} + +void * util_sparse_array_get(util_sparse_array * arr, uint64_t idx) { + const unsigned node_size_log2 = arr->node_size_log2; + uintptr_t root = p_atomic_read(&arr->root); + if (unlikely(!root)) { + unsigned root_level = 0; + uint64_t idx_iter = idx >> node_size_log2; + while (idx_iter) { + idx_iter >>= node_size_log2; + root_level++; + } + uintptr_t new_root = _util_sparse_array_node_alloc(arr, root_level); + root = _util_sparse_array_set_or_free_node(&arr->root, NULL_NODE, new_root); + } + + while (1) { + unsigned root_level = _util_sparse_array_node_level(root); + uint64_t root_idx = idx >> (root_level * node_size_log2); + if (likely(root_idx < (1ull << node_size_log2))) { + break; + } + + /* In this case, we have a root but its level is low enough that the + * requested index is out-of-bounds. + */ + uintptr_t new_root = _util_sparse_array_node_alloc(arr, root_level + 1); + + uintptr_t * new_root_children = (uintptr_t *) _util_sparse_array_node_data(new_root); + new_root_children[0] = root; + + /* We only add one at a time instead of the whole tree because it's + * easier to ensure correctness of both the tree building and the + * clean-up path. Because we're only adding one node we never have to + * worry about trying to free multiple things without freeing the old + * things. + */ + root = _util_sparse_array_set_or_free_node(&arr->root, root, new_root); + } + + void * node_data = _util_sparse_array_node_data(root); + unsigned node_level = _util_sparse_array_node_level(root); + while (node_level > 0) { + uint64_t child_idx = (idx >> (node_level * node_size_log2)) & ((1ull << node_size_log2) - 1); + + uintptr_t * children = (uintptr_t *) node_data; + uintptr_t child = p_atomic_read(&children[child_idx]); + + if (unlikely(!child)) { + child = _util_sparse_array_node_alloc(arr, node_level - 1); + child = _util_sparse_array_set_or_free_node(&children[child_idx], NULL_NODE, child); + } + + node_data = _util_sparse_array_node_data(child); + node_level = _util_sparse_array_node_level(child); + } + + uint64_t elem_idx = idx & ((1ull << node_size_log2) - 1); + return (void *) ((char *) node_data + (elem_idx * arr->elem_size)); +} diff --git a/ggml/src/ggml-virtgpu/virtgpu-utils.h b/ggml/src/ggml-virtgpu/virtgpu-utils.h new file mode 100644 index 0000000000..a0036b4e2b --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu-utils.h @@ -0,0 +1,86 @@ +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define unlikely(x) __builtin_expect(!!(x), 0) +#define likely(x) __builtin_expect(!!(x), 1) + +#ifndef UNUSED +# define UNUSED(x) (void) (x) +#endif + +/** Checks is a value is a power of two. Does not handle zero. */ +#define IS_POT(v) (((v) & ((v) - 1)) == 0) + +/** Checks is a value is a power of two. Zero handled. */ +#define IS_POT_NONZERO(v) ((v) != 0 && IS_POT(v)) + +/** Align a value to a power of two */ +#define ALIGN_POT(x, pot_align) (((x) + (pot_align) - 1) & ~((pot_align) - 1)) + +#define p_atomic_read(_v) __atomic_load_n((_v), __ATOMIC_ACQUIRE) + +static inline bool util_is_power_of_two_nonzero64(uint64_t v) { + return IS_POT_NONZERO(v); +} + +static inline uint64_t align64(uint64_t value, uint64_t alignment) { + assert(util_is_power_of_two_nonzero64(alignment)); + return ALIGN_POT(value, alignment); +} + +struct list_head { + list_head * prev; + list_head * next; +}; + +struct util_sparse_array { + size_t elem_size; + unsigned node_size_log2; + + uintptr_t root; +}; + +void * util_sparse_array_get(util_sparse_array * arr, uint64_t idx); +void util_sparse_array_init(util_sparse_array * arr, size_t elem_size, size_t node_size); + +inline void os_time_sleep(int64_t usecs) { + timespec time; + time.tv_sec = usecs / 1000000; + time.tv_nsec = (usecs % 1000000) * 1000; + while (clock_nanosleep(CLOCK_MONOTONIC, 0, &time, &time) == EINTR) + ; +} + +struct timer_data { + long long start; + long long total; + long long count; +}; + +static inline void start_timer(timer_data * timer) { + timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + timer->start = (long long) ts.tv_sec * 1000000000LL + ts.tv_nsec; +} + +// returns the duration in ns +static inline long long stop_timer(timer_data * timer) { + timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + long long timer_end = (long long) ts.tv_sec * 1000000000LL + ts.tv_nsec; + + long long duration = (timer_end - timer->start); + timer->total += duration; + timer->count += 1; + + return duration; +} diff --git a/ggml/src/ggml-virtgpu/virtgpu.cpp b/ggml/src/ggml-virtgpu/virtgpu.cpp new file mode 100644 index 0000000000..005c8e21db --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu.cpp @@ -0,0 +1,498 @@ +#include "virtgpu.h" + +#include +#include + +#include +#include +#include + +static virt_gpu_result_t virtgpu_open_device(virtgpu * gpu, const drmDevicePtr dev); +static virt_gpu_result_t virtgpu_open(virtgpu * gpu); + +static virt_gpu_result_t virtgpu_init_capset(virtgpu * gpu); +static virt_gpu_result_t virtgpu_init_context(virtgpu * gpu); + +static int virtgpu_ioctl_context_init(virtgpu * gpu, virgl_renderer_capset capset_id); +static int virtgpu_ioctl_get_caps(virtgpu * gpu, + virgl_renderer_capset id, + uint32_t version, + void * capset, + size_t capset_size); +static uint64_t virtgpu_ioctl_getparam(virtgpu * gpu, uint64_t param); +static void virtgpu_init_renderer_info(virtgpu * gpu); + +static void log_call_duration(long long call_duration_ns, const char * name); + +const uint64_t APIR_HANDSHAKE_MAX_WAIT_MS = 2 * 1000; // 2s +const uint64_t APIR_LOADLIBRARY_MAX_WAIT_MS = 60 * 1000; // 60s + +static int virtgpu_handshake(virtgpu * gpu) { + apir_encoder * encoder; + apir_decoder * decoder; + + encoder = remote_call_prepare(gpu, APIR_COMMAND_TYPE_HANDSHAKE, 0); + if (!encoder) { + GGML_ABORT("%s: failed to prepare the remote call encoder", __func__); + return 1; + } + + /* write handshake props */ + + uint32_t guest_major = APIR_PROTOCOL_MAJOR; + uint32_t guest_minor = APIR_PROTOCOL_MINOR; + apir_encode_uint32_t(encoder, &guest_major); + apir_encode_uint32_t(encoder, &guest_minor); + + /* *** */ + + uint32_t ret_magic; + long long call_duration_ns; + ret_magic = remote_call(gpu, encoder, &decoder, APIR_HANDSHAKE_MAX_WAIT_MS, &call_duration_ns); + log_call_duration(call_duration_ns, "API Remoting handshake"); + + if (!decoder) { + GGML_ABORT( + "%s: failed to initiate the communication with the virglrenderer library. " + "Most likely, the wrong virglrenderer library was loaded in the hypervisor.", + __func__); + return 1; + } + + /* read handshake return values */ + + uint32_t host_major; + uint32_t host_minor; + + if (ret_magic != APIR_HANDSHAKE_MAGIC) { + GGML_ABORT("%s: handshake with the virglrenderer failed (code=%d | %s)", __func__, ret_magic, + apir_backend_initialize_error(ret_magic)); + } else { + apir_decode_uint32_t(decoder, &host_major); + apir_decode_uint32_t(decoder, &host_minor); + } + + remote_call_finish(gpu, encoder, decoder); + + if (ret_magic != APIR_HANDSHAKE_MAGIC) { + return 1; + } + + GGML_LOG_INFO("%s: Guest is running with %u.%u\n", __func__, guest_major, guest_minor); + GGML_LOG_INFO("%s: Host is running with %u.%u\n", __func__, host_major, host_minor); + + if (guest_major != host_major) { + GGML_LOG_ERROR("Host major (%d) and guest major (%d) version differ\n", host_major, guest_major); + } else if (guest_minor != host_minor) { + GGML_LOG_WARN("Host minor (%d) and guest minor (%d) version differ\n", host_minor, guest_minor); + } + + return 0; +} + +static ApirLoadLibraryReturnCode virtgpu_load_library(virtgpu * gpu) { + apir_encoder * encoder; + apir_decoder * decoder; + ApirLoadLibraryReturnCode ret; + + encoder = remote_call_prepare(gpu, APIR_COMMAND_TYPE_LOADLIBRARY, 0); + if (!encoder) { + GGML_ABORT("%s: hypercall error: failed to prepare the remote call encoder", __func__); + return APIR_LOAD_LIBRARY_HYPERCALL_INITIALIZATION_ERROR; + } + + long long call_duration_ns; + + ret = (ApirLoadLibraryReturnCode) remote_call(gpu, encoder, &decoder, APIR_LOADLIBRARY_MAX_WAIT_MS, + &call_duration_ns); + log_call_duration(call_duration_ns, "API Remoting LoadLibrary"); + + if (!decoder) { + GGML_ABORT("%s: hypercall error: failed to kick the API remoting hypercall.\n", __func__); + return APIR_LOAD_LIBRARY_HYPERCALL_INITIALIZATION_ERROR; + } + + remote_call_finish(gpu, encoder, decoder); + + if (ret == APIR_LOAD_LIBRARY_SUCCESS) { + GGML_LOG_INFO("%s: The API Remoting backend was successfully loaded and initialized\n", __func__); + + return ret; + } + + // something wrong happened, find out what. + + if (ret < APIR_LOAD_LIBRARY_INIT_BASE_INDEX) { + GGML_ABORT("%s: virglrenderer could not load the API Remoting backend library: %s (code %d)", __func__, + apir_load_library_error(ret), ret); + return ret; + } + + GGML_LOG_INFO("%s: virglrenderer successfully loaded the API Remoting backend library", __func__); + + ApirLoadLibraryReturnCode apir_ret = (ApirLoadLibraryReturnCode) (ret - APIR_LOAD_LIBRARY_INIT_BASE_INDEX); + + if (apir_ret < APIR_LOAD_LIBRARY_INIT_BASE_INDEX) { + GGML_ABORT("%s: the API Remoting backend library couldn't load the backend library: apir code=%d | %s)", + __func__, apir_ret, apir_load_library_error(apir_ret)); + } else { + uint32_t lib_ret = apir_ret - APIR_LOAD_LIBRARY_INIT_BASE_INDEX; + GGML_ABORT("%s: the API Remoting backend library initialize its backend library: apir code=%d)", __func__, + lib_ret); + } + return ret; +} + +virtgpu * create_virtgpu() { + virtgpu * gpu = new virtgpu(); + + gpu->use_apir_capset = getenv("GGML_REMOTING_USE_APIR_CAPSET") != nullptr; + util_sparse_array_init(&gpu->shmem_array, sizeof(virtgpu_shmem), 1024); + + if (virtgpu_open(gpu) != APIR_SUCCESS) { + GGML_ABORT("%s: failed to open the virtgpu device", __func__); + return NULL; + } + + if (virtgpu_init_capset(gpu) != APIR_SUCCESS) { + GGML_ABORT("%s: failed to initialize the GPU capset", __func__); + return NULL; + } + + if (virtgpu_init_context(gpu) != APIR_SUCCESS) { + GGML_ABORT("%s: failed to initialize the GPU context", __func__); + return NULL; + } + + if (virtgpu_shmem_create(gpu, SHMEM_REPLY_SIZE, &gpu->reply_shmem)) { + GGML_ABORT("%s: failed to create the shared reply memory pages", __func__); + return NULL; + } + + if (virtgpu_shmem_create(gpu, SHMEM_DATA_SIZE, &gpu->data_shmem)) { + GGML_ABORT("%s: failed to create the shared data memory pages", __func__); + return NULL; + } + + if (virtgpu_handshake(gpu)) { + GGML_ABORT("%s: failed to handshake with the virglrenderer library", __func__); + return NULL; + } + + if (virtgpu_load_library(gpu) != APIR_LOAD_LIBRARY_SUCCESS) { + GGML_ABORT("%s: failed to load the backend library", __func__); + return NULL; + } + + return gpu; +} + +static virt_gpu_result_t virtgpu_open(virtgpu * gpu) { + drmDevicePtr devs[8]; + int count = drmGetDevices2(0, devs, ARRAY_SIZE(devs)); + if (count < 0) { + GGML_LOG_ERROR("%s: failed to enumerate DRM devices\n", __func__); + return APIR_ERROR_INITIALIZATION_FAILED; + } + + virt_gpu_result_t result = APIR_ERROR_INITIALIZATION_FAILED; + for (int i = 0; i < count; i++) { + result = virtgpu_open_device(gpu, devs[i]); + if (result == APIR_SUCCESS) { + break; + } + } + + drmFreeDevices(devs, count); + + return result; +} + +static virt_gpu_result_t virtgpu_open_device(virtgpu * gpu, const drmDevicePtr dev) { + const char * node_path = dev->nodes[DRM_NODE_RENDER]; + + int fd = open(node_path, O_RDWR | O_CLOEXEC); + if (fd < 0) { + GGML_ABORT("failed to open %s", node_path); + return APIR_ERROR_INITIALIZATION_FAILED; + } + + drmVersionPtr version = drmGetVersion(fd); + if (!version || strcmp(version->name, "virtio_gpu") || version->version_major != 0) { + if (version) { + GGML_ABORT("unknown DRM driver %s version %d", version->name, version->version_major); + } else { + GGML_ABORT("failed to get DRM driver version"); + } + + if (version) { + drmFreeVersion(version); + } + close(fd); + return APIR_ERROR_INITIALIZATION_FAILED; + } + + gpu->fd = fd; + + drmFreeVersion(version); + + GGML_LOG_INFO("using DRM device %s\n", node_path); + + return APIR_SUCCESS; +} + +static virt_gpu_result_t virtgpu_init_context(virtgpu * gpu) { + assert(!gpu->capset.version); + const int ret = virtgpu_ioctl_context_init(gpu, gpu->capset.id); + if (ret) { + GGML_LOG_INFO("failed to initialize context: %s\n", strerror(errno)); + return APIR_ERROR_INITIALIZATION_FAILED; + } + + return APIR_SUCCESS; +} + +static virt_gpu_result_t virtgpu_init_capset(virtgpu * gpu) { + if (gpu->use_apir_capset) { + GGML_LOG_INFO("Using the APIR capset\n"); + gpu->capset.id = VIRTGPU_DRM_CAPSET_APIR; + } else { + GGML_LOG_INFO("Using the Venus capset\n"); + gpu->capset.id = VIRTGPU_DRM_CAPSET_VENUS; + } + gpu->capset.version = 0; + + int ret = + virtgpu_ioctl_get_caps(gpu, gpu->capset.id, gpu->capset.version, &gpu->capset.data, sizeof(gpu->capset.data)); + + if (ret) { + GGML_LOG_INFO("failed to get APIR v%d capset: %s\n", gpu->capset.version, strerror(errno)); + return APIR_ERROR_INITIALIZATION_FAILED; + } + + assert(gpu->capset.data.supports_blob_resources); + + return APIR_SUCCESS; +} + +static int virtgpu_ioctl_context_init(virtgpu * gpu, virgl_renderer_capset capset_id) { + drm_virtgpu_context_set_param ctx_set_params[3] = { + { + .param = VIRTGPU_CONTEXT_PARAM_CAPSET_ID, + .value = capset_id, + }, + { + .param = VIRTGPU_CONTEXT_PARAM_NUM_RINGS, + .value = 1, + }, + { + .param = VIRTGPU_CONTEXT_PARAM_POLL_RINGS_MASK, + .value = 0, /* don't generate drm_events on fence signaling */ + }, + }; + + drm_virtgpu_context_init args = { + .num_params = ARRAY_SIZE(ctx_set_params), + .pad = 0, + .ctx_set_params = (uintptr_t) &ctx_set_params, + }; + + return virtgpu_ioctl(gpu, DRM_IOCTL_VIRTGPU_CONTEXT_INIT, &args); +} + +static int virtgpu_ioctl_get_caps(virtgpu * gpu, + virgl_renderer_capset id, + uint32_t version, + void * capset, + size_t capset_size) { + drm_virtgpu_get_caps args = { + .cap_set_id = id, + .cap_set_ver = version, + .addr = (uintptr_t) capset, + .size = (__u32) capset_size, + .pad = 0, + }; + + return virtgpu_ioctl(gpu, DRM_IOCTL_VIRTGPU_GET_CAPS, &args); +} + +static uint64_t virtgpu_ioctl_getparam(virtgpu * gpu, uint64_t param) { + /* val must be zeroed because kernel only writes the lower 32 bits */ + uint64_t val = 0; + drm_virtgpu_getparam args = { + .param = param, + .value = (uintptr_t) &val, + }; + + const int ret = virtgpu_ioctl(gpu, DRM_IOCTL_VIRTGPU_GETPARAM, &args); + return ret ? 0 : val; +} + +apir_encoder * remote_call_prepare(virtgpu * gpu, ApirCommandType apir_cmd_type, int32_t cmd_flags) { + /* + * Prepare the command encoder and its buffer + */ + + static char encoder_buffer[4096]; + + static apir_encoder enc; + enc = { + .cur = encoder_buffer, + .start = encoder_buffer, + .end = encoder_buffer + sizeof(encoder_buffer), + .fatal = false, + }; + + /* + * Fill the command encoder with the common args: + * - cmd_type (int32_t) + * - cmd_flags (int32_t) + * - reply res id (uint32_t) + */ + + int32_t cmd_type = apir_cmd_type; + + // for testing during the hypervisor transition + if (!gpu->use_apir_capset) { + cmd_type += VENUS_COMMAND_TYPE_LENGTH; + } + apir_encode_int32_t(&enc, &cmd_type); + apir_encode_int32_t(&enc, &cmd_flags); + + uint32_t reply_res_id = gpu->reply_shmem.res_id; + apir_encode_uint32_t(&enc, &reply_res_id); + + return &enc; +} + +void remote_call_finish(virtgpu * gpu, apir_encoder * enc, apir_decoder * dec) { + UNUSED(gpu); + + if (!enc) { + GGML_LOG_ERROR("Invalid (null) encoder\n"); + } + + if (!dec) { + GGML_LOG_ERROR("Invalid (null) decoder\n"); + } + + if (apir_encoder_get_fatal(enc)) { + GGML_LOG_ERROR("Failed to encode the output parameters.\n"); + } + + if (apir_decoder_get_fatal(dec)) { + GGML_LOG_ERROR("Failed to decode the input parameters.\n"); + } +} + +uint32_t remote_call(virtgpu * gpu, + apir_encoder * encoder, + apir_decoder ** decoder, + float max_wait_ms, + long long * call_duration_ns) { + /* + * Prepare the reply notification pointer + */ + + volatile std::atomic_uint * atomic_reply_notif = (volatile std::atomic_uint *) gpu->reply_shmem.mmap_ptr; + *atomic_reply_notif = 0; + + /* + * Trigger the execbuf ioctl + */ + + drm_virtgpu_execbuffer args = { + .flags = VIRTGPU_EXECBUF_RING_IDX, + .size = (uint32_t) (encoder->cur - encoder->start), + .command = (uintptr_t) encoder->start, + + .bo_handles = 0, + .num_bo_handles = 0, + + .fence_fd = 0, + .ring_idx = 0, + .syncobj_stride = 0, + .num_in_syncobjs = 0, + .num_out_syncobjs = 0, + .in_syncobjs = 0, + .out_syncobjs = 0, + }; + + *decoder = NULL; + + int ret = drmIoctl(gpu->fd, DRM_IOCTL_VIRTGPU_EXECBUFFER, &args); + + if (ret != 0) { + GGML_ABORT("%s: the virtgpu EXECBUFFER ioctl failed (%d)", __func__, ret); + } + + /* + * Wait for the response notification + */ + timer_data wait_host_reply_timer = { 0, 0, 0 }; + + start_timer(&wait_host_reply_timer); + + timespec ts_start, ts_end; + clock_gettime(CLOCK_MONOTONIC, &ts_start); + long long start_time = (long long) ts_start.tv_sec * 1000000000LL + ts_start.tv_nsec; + + bool timedout = false; + uint32_t notif_value = 0; + while (true) { + notif_value = std::atomic_load_explicit(atomic_reply_notif, std::memory_order_acquire); + + if (notif_value != 0) { + break; + } + + int64_t base_sleep_us = 15; + + os_time_sleep(base_sleep_us); + + if (max_wait_ms) { + clock_gettime(CLOCK_MONOTONIC, &ts_end); + long long end_time = (long long) ts_end.tv_sec * 1000000000LL + ts_end.tv_nsec; + float duration_ms = (end_time - start_time) / 1000000; + + if (duration_ms > max_wait_ms) { + timedout = true; + break; + } + } + } + + if (call_duration_ns) { + *call_duration_ns = stop_timer(&wait_host_reply_timer); + } + + if (max_wait_ms && timedout) { + GGML_LOG_ERROR("timed out waiting for the host answer...\n"); + return APIR_FORWARD_TIMEOUT; + } + + /* + * Prepare the decoder + */ + static apir_decoder response_dec; + response_dec.cur = (char *) gpu->reply_shmem.mmap_ptr + sizeof(*atomic_reply_notif); + response_dec.end = (char *) gpu->reply_shmem.mmap_ptr + gpu->reply_shmem.mmap_size; + *decoder = &response_dec; + + // extract the actual return value from the notif flag + uint32_t returned_value = notif_value - 1; + return returned_value; +} + +static void log_call_duration(long long call_duration_ns, const char * name) { + double call_duration_ms = (double) call_duration_ns / 1e6; // 1 millisecond = 1e6 nanoseconds + double call_duration_s = (double) call_duration_ns / 1e9; // 1 second = 1e9 nanoseconds + + if (call_duration_s > 1) { + GGML_LOG_INFO("%s: waited %.2fs for the %s host reply...\n", __func__, call_duration_s, name); + } else if (call_duration_ms > 1) { + GGML_LOG_INFO("%s: waited %.2fms for the %s host reply...\n", __func__, call_duration_ms, name); + } else { + GGML_LOG_INFO("%s: waited %lldns for the %s host reply...\n", __func__, call_duration_ns, name); + } +} diff --git a/ggml/src/ggml-virtgpu/virtgpu.h b/ggml/src/ggml-virtgpu/virtgpu.h new file mode 100644 index 0000000000..d4bb42e20b --- /dev/null +++ b/ggml/src/ggml-virtgpu/virtgpu.h @@ -0,0 +1,92 @@ +#pragma once + +#include "virtgpu-utils.h" +#include "virtgpu-shm.h" +#include "virtgpu-apir.h" + +#include "backend/shared/api_remoting.h" +#include "backend/shared/apir_cs.h" + +#include +#include +#include +#include +#include +#include +#include + +#include + +#define VIRGL_RENDERER_UNSTABLE_APIS 1 +#include "apir_hw.h" +#include +#include "venus_hw.h" + +#ifndef VIRTGPU_DRM_CAPSET_APIR +// Will be defined include/drm/virtgpu_drm.h when +// https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1590/diffs +// is merged +#define VIRTGPU_DRM_CAPSET_APIR 10 +#endif + +// Mesa/Virlgrenderer Venus internal. Only necessary during the +// Venus->APIR transition in Virglrenderer +#define VENUS_COMMAND_TYPE_LENGTH 331 + +#ifndef VIRTGPU_DRM_CAPSET_VENUS // only available with Linux >= v6.16 +#define VIRTGPU_DRM_CAPSET_VENUS 4 +#endif + +typedef uint32_t virgl_renderer_capset; + +/* from src/virtio/vulkan/vn_renderer_virtgpu.c */ +#define VIRTGPU_PCI_VENDOR_ID 0x1af4 +#define VIRTGPU_PCI_DEVICE_ID 0x1050 +#define VIRTGPU_BLOB_MEM_GUEST_VRAM 0x0004 +#define VIRTGPU_PARAM_GUEST_VRAM 9 + +#define SHMEM_DATA_SIZE 0x1830000 // 24MiB +#define SHMEM_REPLY_SIZE 0x4000 + +#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) + +enum virt_gpu_result_t { + APIR_SUCCESS = 0, + APIR_ERROR_INITIALIZATION_FAILED = -1, +}; + +#define PRINTFLIKE(f, a) __attribute__((format(__printf__, f, a))) + +struct virtgpu { + bool use_apir_capset; + + int fd; + + struct { + virgl_renderer_capset id; + uint32_t version; + virgl_renderer_capset_apir data; + } capset; + + util_sparse_array shmem_array; + + /* APIR communication pages */ + virtgpu_shmem reply_shmem; + virtgpu_shmem data_shmem; +}; + +static inline int virtgpu_ioctl(virtgpu * gpu, unsigned long request, void * args) { + return drmIoctl(gpu->fd, request, args); +} + +virtgpu * create_virtgpu(); + +apir_encoder * remote_call_prepare(virtgpu * gpu, ApirCommandType apir_cmd_type, int32_t cmd_flags); + +uint32_t remote_call(virtgpu * gpu, + apir_encoder * enc, + apir_decoder ** dec, + float max_wait_ms, + long long * call_duration_ns); + +void remote_call_finish(virtgpu * gpu, apir_encoder * enc, apir_decoder * dec); From 0a95026da9ff86ce48e7c48b802281320cbbd3bf Mon Sep 17 00:00:00 2001 From: Ben Chen Date: Wed, 28 Jan 2026 19:30:16 +0800 Subject: [PATCH 043/206] doc: add build instruction to use Vulkan backend on macos (#19029) --- docs/build.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/build.md b/docs/build.md index e088c519a7..3a43f2a45a 100644 --- a/docs/build.md +++ b/docs/build.md @@ -495,6 +495,37 @@ Finally, after finishing your build, you should be able to do something like thi # ggml_vulkan: Using Intel(R) Graphics (ADL GT2) | uma: 1 | fp16: 1 | warp size: 32 ``` +### For Mac users: + +Generally, follow LunarG's [Getting Started with the MacOS Vulkan SDK](https://vulkan.lunarg.com/doc/sdk/latest/mac/getting_started.html) guide for installation and setup of the Vulkan SDK. There are two options of Vulkan drivers on macOS, both of which implement translation layers to map Vulkan to Metal. They can be hot-swapped by setting the `VK_ICD_FILENAMES` environment variable to point to the respective ICD JSON file. + +Check the box for "KosmicKrisp" during the LunarG Vulkan SDK installation. + +Set environment variable for the LunarG Vulkan SDK after installation (and optionally add to your shell profile for persistence): +```bash +source /path/to/vulkan-sdk/setup-env.sh +``` + +#### Using MoltenVK + +MoltenVK is the default Vulkan driver installed with the LunarG Vulkan SDK on macOS, so you can use the above environment variable settings as is. + +#### Using KosmicKrisp + +Override the environment variable for KosmicKrisp: +```bash +export VK_ICD_FILENAMES=$VULKAN_SDK/share/vulkan/icd.d/libkosmickrisp_icd.json +export VK_DRIVER_FILES=$VULKAN_SDK/share/vulkan/icd.d/libkosmickrisp_icd.json +``` + +#### Build + +This is the only step different from [above](#common-steps) instructions. +```bash +cmake -B build -DGGML_VULKAN=1 -DGGML_METAL=OFF +cmake --build build --config Release +``` + ## CANN This provides NPU acceleration using the AI cores of your Ascend NPU. And [CANN](https://www.hiascend.com/en/software/cann) is a hierarchical APIs to help you to quickly build AI applications and service based on Ascend NPU. From 88d23ad515e60c64db8df22b3de23cba00d044ab Mon Sep 17 00:00:00 2001 From: Oleksandr Kuvshynov <661042+okuvshynov@users.noreply.github.com> Date: Wed, 28 Jan 2026 06:35:54 -0500 Subject: [PATCH 044/206] vulkan: handle device dedup on MacOS + Vega II Duo cards (#19058) Deduplication here relied on the fact that vulkan would return unique UUID for different physical GPUs. It is at the moment not always the case. On Mac Pro 2019 running Mac OS, with 2 Vega II Duo cards (so, 4 GPU total), MotlenVK would assign same UUID to pairs of GPUs, unless they are connected with Infinity Fabric. See more details here: KhronosGroup/MoltenVK#2683. The right way is to fix that in MoltenVK, but until it is fixed, llama.cpp would only recognize 2 of 4 GPUs in such configuration. The deduplication logic here is changed to only filter GPUs if UUID is same but driver is different. --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index b5e5dba95f..514f290d09 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -5522,22 +5522,32 @@ static void ggml_vk_instance_init() { if ((new_props.properties.deviceType == vk::PhysicalDeviceType::eDiscreteGpu || new_props.properties.deviceType == vk::PhysicalDeviceType::eIntegratedGpu) && ggml_vk_device_is_supported(devices[i])) { // Check if there are two physical devices corresponding to the same GPU + // This handles the case where the same GPU appears with different drivers (e.g., RADV + AMDVLK on Linux), + // see https://github.com/ggml-org/llama.cpp/pull/7582 for original deduplication. + // However, for MoltenVK on macOS, multiple GPUs on the same card may report the same UUID, + // see https://github.com/KhronosGroup/MoltenVK/issues/2683. Until this is fixed, we'll only deduplicate + // when drivers differ (same driver + same UUID = likely different GPUs) auto old_device = std::find_if( vk_instance.device_indices.begin(), vk_instance.device_indices.end(), - [&devices, &new_id](const size_t k){ + [&devices, &new_id, &new_driver](const size_t k){ vk::PhysicalDeviceProperties2 old_props; + vk::PhysicalDeviceDriverProperties old_driver; vk::PhysicalDeviceIDProperties old_id; - old_props.pNext = &old_id; + old_props.pNext = &old_driver; + old_driver.pNext = &old_id; devices[k].getProperties2(&old_props); - bool equals = std::equal(std::begin(old_id.deviceUUID), std::end(old_id.deviceUUID), std::begin(new_id.deviceUUID)); - equals = equals || ( + bool same_uuid = std::equal(std::begin(old_id.deviceUUID), std::end(old_id.deviceUUID), std::begin(new_id.deviceUUID)); + same_uuid = same_uuid || ( old_id.deviceLUIDValid && new_id.deviceLUIDValid && std::equal(std::begin(old_id.deviceLUID), std::end(old_id.deviceLUID), std::begin(new_id.deviceLUID)) ); - return equals; + // Only deduplicate if same UUID AND different drivers + // (same driver + same UUID on MoltenVK = likely different GPUs on multi-GPU card) + bool different_driver = (old_driver.driverID != new_driver.driverID); + return same_uuid && different_driver; } ); if (old_device == vk_instance.device_indices.end()) { From 60368e1d73b2238c0b5a2897fdaed22172a56160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 28 Jan 2026 14:40:29 +0100 Subject: [PATCH 045/206] jinja : undefined should be treated as sequence/iterable (return string/array) by filters/tests (#19147) * undefined is treated as iterable (string/array) by filters `tojson` is not a supported `undefined` filter * add tests * add sequence and iterable tests keep it DRY and fix some types --- common/jinja/value.cpp | 61 +++++++++++++-- tests/test-jinja.cpp | 174 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 228 insertions(+), 7 deletions(-) diff --git a/common/jinja/value.cpp b/common/jinja/value.cpp index 2d77068143..17d43826c0 100644 --- a/common/jinja/value.cpp +++ b/common/jinja/value.cpp @@ -114,6 +114,18 @@ static T slice(const T & array, int64_t start, int64_t stop, int64_t step = 1) { return result; } +template +static value empty_value_fn(const func_args &) { + if constexpr (std::is_same_v) { + return mk_val(0); + } else if constexpr (std::is_same_v) { + return mk_val(0.0); + } else if constexpr (std::is_same_v) { + return mk_val(false); + } else { + return mk_val(); + } +} template static value test_type_fn(const func_args & args) { args.ensure_count(1); @@ -128,6 +140,13 @@ static value test_type_fn(const func_args & args) { JJ_DEBUG("test_type_fn: type=%s or %s result=%d", typeid(T).name(), typeid(U).name(), is_type ? 1 : 0); return mk_val(is_type); } +template +static value test_type_fn(const func_args & args) { + args.ensure_count(1); + bool is_type = is_val(args.get_pos(0)) || is_val(args.get_pos(0)) || is_val(args.get_pos(0)); + JJ_DEBUG("test_type_fn: type=%s, %s or %s result=%d", typeid(T).name(), typeid(U).name(), typeid(V).name(), is_type ? 1 : 0); + return mk_val(is_type); +} template static value test_compare_fn(const func_args & args) { args.ensure_count(2, 2); @@ -347,8 +366,8 @@ const func_builtins & global_builtins() { {"test_is_integer", test_type_fn}, {"test_is_float", test_type_fn}, {"test_is_number", test_type_fn}, - {"test_is_iterable", test_type_fn}, - {"test_is_sequence", test_type_fn}, + {"test_is_iterable", test_type_fn}, + {"test_is_sequence", test_type_fn}, {"test_is_mapping", test_type_fn}, {"test_is_lower", [](const func_args & args) -> value { args.ensure_vals(); @@ -1003,7 +1022,12 @@ const func_builtins & value_none_t::get_builtins() const { static const func_builtins builtins = { {"default", default_value}, {"tojson", tojson}, - {"string", [](const func_args &) -> value { return mk_val("None"); }} + {"string", [](const func_args &) -> value { + return mk_val("None"); + }}, + {"safe", [](const func_args &) -> value { + return mk_val("None"); + }}, }; return builtins; } @@ -1012,10 +1036,33 @@ const func_builtins & value_none_t::get_builtins() const { const func_builtins & value_undefined_t::get_builtins() const { static const func_builtins builtins = { {"default", default_value}, - {"tojson", [](const func_args & args) -> value { - args.ensure_vals(); - return mk_val("null"); - }}, + {"capitalize", empty_value_fn}, + {"first", empty_value_fn}, + {"items", empty_value_fn}, + {"join", empty_value_fn}, + {"last", empty_value_fn}, + {"length", empty_value_fn}, + {"list", empty_value_fn}, + {"lower", empty_value_fn}, + {"map", empty_value_fn}, + {"max", empty_value_fn}, + {"min", empty_value_fn}, + {"reject", empty_value_fn}, + {"rejectattr", empty_value_fn}, + {"replace", empty_value_fn}, + {"reverse", empty_value_fn}, + {"safe", empty_value_fn}, + {"select", empty_value_fn}, + {"selectattr", empty_value_fn}, + {"sort", empty_value_fn}, + {"string", empty_value_fn}, + {"strip", empty_value_fn}, + {"sum", empty_value_fn}, + {"title", empty_value_fn}, + {"truncate", empty_value_fn}, + {"unique", empty_value_fn}, + {"upper", empty_value_fn}, + {"wordcount", empty_value_fn}, }; return builtins; } diff --git a/tests/test-jinja.cpp b/tests/test-jinja.cpp index 7c6eeb311c..f6114f1e2f 100644 --- a/tests/test-jinja.cpp +++ b/tests/test-jinja.cpp @@ -329,6 +329,12 @@ static void test_loops(testing & t) { "empty" ); + test_template(t, "for undefined empty", + "{% for i in items %}{{ i }}{% else %}empty{% endfor %}", + json::object(), + "empty" + ); + test_template(t, "nested for", "{% for i in a %}{% for j in b %}{{ i }}{{ j }}{% endfor %}{% endfor %}", {{"a", json::array({1, 2})}, {"b", json::array({"x", "y"})}}, @@ -1018,6 +1024,18 @@ static void test_tests(testing & t) { {{"x", {{"a", 1}}}}, "yes" ); + + test_template(t, "undefined is sequence", + "{{ 'yes' if x is sequence }}", + json::object(), + "yes" + ); + + test_template(t, "undefined is iterable", + "{{ 'yes' if x is iterable }}", + json::object(), + "yes" + ); } static void test_string_methods(testing & t) { @@ -1122,6 +1140,54 @@ static void test_string_methods(testing & t) { {{"s", "banana"}}, "bXnXna" ); + + test_template(t, "undefined|capitalize", + "{{ arr|capitalize }}", + json::object(), + "" + ); + + test_template(t, "undefined|title", + "{{ arr|title }}", + json::object(), + "" + ); + + test_template(t, "undefined|truncate", + "{{ arr|truncate(9) }}", + json::object(), + "" + ); + + test_template(t, "undefined|upper", + "{{ arr|upper }}", + json::object(), + "" + ); + + test_template(t, "undefined|lower", + "{{ arr|lower }}", + json::object(), + "" + ); + + test_template(t, "undefined|replace", + "{{ arr|replace('a', 'b') }}", + json::object(), + "" + ); + + test_template(t, "undefined|trim", + "{{ arr|trim }}", + json::object(), + "" + ); + + test_template(t, "undefined|wordcount", + "{{ arr|wordcount }}", + json::object(), + "0" + ); } static void test_array_methods(testing & t) { @@ -1289,6 +1355,108 @@ static void test_array_methods(testing & t) { // {{"arr", json::array({"a", "b", "c"})}}, // "a,x,b,c" // ); + + test_template(t, "undefined|select", + "{% for item in items|select('odd') %}{{ item.name }} {% endfor %}", + json::object(), + "" + ); + + test_template(t, "undefined|selectattr", + "{% for item in items|selectattr('active') %}{{ item.name }} {% endfor %}", + json::object(), + "" + ); + + test_template(t, "undefined|reject", + "{% for item in items|reject('even') %}{{ item.name }} {% endfor %}", + json::object(), + "" + ); + + test_template(t, "undefined|rejectattr", + "{% for item in items|rejectattr('active') %}{{ item.name }} {% endfor %}", + json::object(), + "" + ); + + test_template(t, "undefined|list", + "{{ arr|list|string }}", + json::object(), + "[]" + ); + + test_template(t, "undefined|string", + "{{ arr|string }}", + json::object(), + "" + ); + + test_template(t, "undefined|first", + "{{ arr|first }}", + json::object(), + "" + ); + + test_template(t, "undefined|last", + "{{ arr|last }}", + json::object(), + "" + ); + + test_template(t, "undefined|length", + "{{ arr|length }}", + json::object(), + "0" + ); + + test_template(t, "undefined|join", + "{{ arr|join }}", + json::object(), + "" + ); + + test_template(t, "undefined|sort", + "{{ arr|sort|string }}", + json::object(), + "[]" + ); + + test_template(t, "undefined|reverse", + "{{ arr|reverse|join }}", + json::object(), + "" + ); + + test_template(t, "undefined|map", + "{% for v in arr|map(attribute='age') %}{{ v }} {% endfor %}", + json::object(), + "" + ); + + test_template(t, "undefined|min", + "{{ arr|min }}", + json::object(), + "" + ); + + test_template(t, "undefined|max", + "{{ arr|max }}", + json::object(), + "" + ); + + test_template(t, "undefined|unique", + "{{ arr|unique|join }}", + json::object(), + "" + ); + + test_template(t, "undefined|sum", + "{{ arr|sum }}", + json::object(), + "0" + ); } static void test_object_methods(testing & t) { @@ -1393,6 +1561,12 @@ static void test_object_methods(testing & t) { json::object(), "True" ); + + test_template(t, "undefined|items", + "{{ arr|items|join }}", + json::object(), + "" + ); } static void test_hasher(testing & t) { From 0cd7032ca4f1f2ac0c9527a62a76ed4dc6ad26fe Mon Sep 17 00:00:00 2001 From: Patryk Kaminski Date: Wed, 28 Jan 2026 16:33:54 +0100 Subject: [PATCH 046/206] ggml-sycl: remove unused syclcompat header (#19140) The syclcompat/math.hpp is not used anymore. The change that intrduced it was successfuly reverted (https://github.com/ggml-org/llama.cpp/pull/17826). This include path will become obsolete and dropped in oneAPI 2026.0 effectively breaking ggml-sycl builds. --- ggml/src/ggml-sycl/dpct/helper.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/ggml/src/ggml-sycl/dpct/helper.hpp b/ggml/src/ggml-sycl/dpct/helper.hpp index 30ec1e8daf..8ae8098717 100644 --- a/ggml/src/ggml-sycl/dpct/helper.hpp +++ b/ggml/src/ggml-sycl/dpct/helper.hpp @@ -15,7 +15,6 @@ #include #include -#include #include #ifdef GGML_SYCL_USE_INTEL_ONEMKL From ebf57258702b23098d7bdcbd46008a95b2401075 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 28 Jan 2026 16:49:36 +0100 Subject: [PATCH 047/206] convert : yield Mamba2Model/GraniteMoeModel modify_tensors (#19157) * convert : yield Mamba2Model/GraniteMoeModel modify_tensors This commit updates the `GraniteHybridModel` class' modify_tensors function to properly delegate to `Mamba2Model.modify_tensors` and `GraniteMoeModel.modify_tensors` using 'yield from' instead of 'return'. The motivation for this is that modify_tensors is a generator function (it uses 'yield from'), but the two calls above use return statements but don't yield anything which means that the the caller of this function will not receive any yielded values from it. And this causes layer tensors to be silently dropped during conversion. --- convert_hf_to_gguf.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 6e6e618989..a391717e32 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -8912,13 +8912,16 @@ class GraniteHybridModel(Mamba2Model, GraniteMoeModel): name.endswith("block_sparse_moe.input_linear.weight") or "shared_mlp" in name ): - return GraniteMoeModel.modify_tensors(self, data_torch, name, bid) + yield from GraniteMoeModel.modify_tensors(self, data_torch, name, bid) + return # Determine whether this is a mamba layer or an attention layer if bid in self._ssm_layers: - return Mamba2Model.modify_tensors(self, data_torch, name, bid) + yield from Mamba2Model.modify_tensors(self, data_torch, name, bid) + return elif bid in self._attn_layers: - return GraniteMoeModel.modify_tensors(self, data_torch, name, bid) + yield from GraniteMoeModel.modify_tensors(self, data_torch, name, bid) + return yield from ModelBase.modify_tensors(self, data_torch, name, bid) def set_gguf_parameters(self): From 72d3b1898a9c81152710cc37dd1dfd26764055d9 Mon Sep 17 00:00:00 2001 From: Sascha Rogmann <59577610+srogmann@users.noreply.github.com> Date: Wed, 28 Jan 2026 18:42:42 +0100 Subject: [PATCH 048/206] =?UTF-8?q?spec=20:=20add=20self=E2=80=91speculati?= =?UTF-8?q?ve=20decoding=20(no=20draft=20model=20required)=20+=20refactor?= =?UTF-8?q?=20(#18471)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * server: introduce self-speculative decoding * server: moved self-call into speculative.cpp * can_speculate() includes self-speculation Co-authored-by: Georgi Gerganov * server: can_speculate() tests self-spec * server: replace can_speculate() with slot.can_speculate() Co-authored-by: Sigbjørn Skjæret * common: use %zu format specifier for size_t in logging Co-authored-by: Sigbjørn Skjæret * server: can_speculate() requires a task instance * common: ngram map, config self-speculative decoding * common: add enum common_speculative_type * common: add vector of speculative states * common: add option --spec-draftless * server: cleanup (remove slot.batch_spec, rename) * common: moved self-spec impl to ngram-map * common: cleanup (use common_speculative_state_draft) * spec : refactor * cont : naming * spec: remove --spec-config * doc: (draftless) speculative decoding * common: print performance in spec decoding * minor : cleanup * common : better names * minor : cleanup + fix build * minor: comments * CODEOWNERS: add common/ngram-map.* (#18471) * common : rename speculative.draftless_type -> speculative.type * ngram-map : fix uninitialized values * ngram-map : take into account the input can become shorter * ngram-map : revert len check for now * arg : change `--spec-draftless` -> `--spec-type` * spec : add common_speculative_state::accept() * spec : refactor + add common_speculative_begin() * spec : fix begin() call with mtmd * spec : additional refactor + remove common_speculative_params --------- Co-authored-by: Georgi Gerganov Co-authored-by: Sigbjørn Skjæret --- CODEOWNERS | 1 + common/CMakeLists.txt | 2 + common/arg.cpp | 87 +- common/common.cpp | 9 +- common/common.h | 64 +- common/ngram-cache.cpp | 7 +- common/ngram-cache.h | 4 +- common/ngram-map.cpp | 367 ++++++ common/ngram-map.h | 105 ++ common/speculative.cpp | 1012 +++++++++++++---- common/speculative.h | 44 +- docs/speculative.md | 120 ++ examples/lookup/lookup-create.cpp | 4 +- examples/lookup/lookup-stats.cpp | 10 +- examples/lookup/lookup.cpp | 12 +- .../speculative-simple/speculative-simple.cpp | 72 +- examples/speculative/speculative.cpp | 4 +- tools/server/server-context.cpp | 146 +-- tools/server/server-task.cpp | 23 + 19 files changed, 1649 insertions(+), 444 deletions(-) create mode 100644 common/ngram-map.cpp create mode 100644 common/ngram-map.h create mode 100644 docs/speculative.md diff --git a/CODEOWNERS b/CODEOWNERS index 6086abb564..e573a3d2e6 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -18,6 +18,7 @@ /common/jinja/ @ngxson @CISC @aldehir /common/llguidance.* @ggerganov /common/log.* @ggerganov +/common/ngram-map.* @srogmann /common/peg-parser.* @aldehir /common/sampling.* @ggerganov /common/speculative.* @ggerganov diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index ae02c0bd77..3bc7bc6210 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -73,6 +73,8 @@ add_library(${TARGET} STATIC log.h ngram-cache.cpp ngram-cache.h + ngram-map.cpp + ngram-map.h peg-parser.cpp peg-parser.h preset.cpp diff --git a/common/arg.cpp b/common/arg.cpp index cd3a1b6397..a685c418bf 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -6,6 +6,7 @@ #include "json-schema-to-grammar.h" #include "log.h" #include "sampling.h" +#include "speculative.h" #include "preset.h" // fix problem with std::min and std::max @@ -579,14 +580,14 @@ static bool common_params_parse_ex(int argc, char ** argv, common_params_context params.mmproj = res.mmproj; } // only download mmproj if the current example is using it - for (auto & ex : mmproj_examples) { + for (const auto & ex : mmproj_examples) { if (ctx_arg.ex == ex) { common_params_handle_model(params.mmproj, params.hf_token, params.offline); break; } } - common_params_handle_model(params.speculative.model, params.hf_token, params.offline); - common_params_handle_model(params.vocoder.model, params.hf_token, params.offline); + common_params_handle_model(params.speculative.mparams_dft, params.hf_token, params.offline); + common_params_handle_model(params.vocoder.model, params.hf_token, params.offline); } // model is required (except for server) @@ -1216,16 +1217,16 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"-lcs", "--lookup-cache-static"}, "FNAME", "path to static lookup cache to use for lookup decoding (not updated by generation)", [](common_params & params, const std::string & value) { - params.lookup_cache_static = value; + params.speculative.lookup_cache_static = value; } - ).set_examples({LLAMA_EXAMPLE_LOOKUP})); + ).set_examples({LLAMA_EXAMPLE_LOOKUP, LLAMA_EXAMPLE_SERVER})); add_opt(common_arg( {"-lcd", "--lookup-cache-dynamic"}, "FNAME", "path to dynamic lookup cache to use for lookup decoding (updated by generation)", [](common_params & params, const std::string & value) { - params.lookup_cache_dynamic = value; + params.speculative.lookup_cache_dynamic = value; } - ).set_examples({LLAMA_EXAMPLE_LOOKUP})); + ).set_examples({LLAMA_EXAMPLE_LOOKUP, LLAMA_EXAMPLE_SERVER})); add_opt(common_arg( {"-c", "--ctx-size"}, "N", string_format("size of the prompt context (default: %d, 0 = loaded from model)", params.n_ctx), @@ -2563,7 +2564,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"-hfd", "-hfrd", "--hf-repo-draft"}, "/[:quant]", "Same as --hf-repo, but for the draft model (default: unused)", [](common_params & params, const std::string & value) { - params.speculative.model.hf_repo = value; + params.speculative.mparams_dft.hf_repo = value; } ).set_env("LLAMA_ARG_HFD_REPO")); add_opt(common_arg( @@ -3384,7 +3385,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex {"-md", "--model-draft"}, "FNAME", "draft model for speculative decoding (default: unused)", [](common_params & params, const std::string & value) { - params.speculative.model.path = value; + params.speculative.mparams_dft.path = value; } ).set_examples({LLAMA_EXAMPLE_SPECULATIVE, LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_CLI}).set_env("LLAMA_ARG_MODEL_DRAFT")); add_opt(common_arg( @@ -3394,6 +3395,66 @@ common_params_context common_params_parser_init(common_params & params, llama_ex params.speculative.replacements.push_back({ tgt, dft }); } ).set_examples({LLAMA_EXAMPLE_SPECULATIVE, LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_CLI})); + add_opt(common_arg( + {"--spec-type"}, "[none|ngram-cache|ngram-simple|ngram-map-k|ngram-map-k4v]", + string_format("type of speculative decoding to use when no draft model is provided (default: %s)\n", + common_speculative_type_to_str(params.speculative.type).c_str()), + [](common_params & params, const std::string & value) { + if (value == "none") { + params.speculative.type = COMMON_SPECULATIVE_TYPE_NONE; + } else if (value == "ngram-cache") { + params.speculative.type = COMMON_SPECULATIVE_TYPE_NGRAM_CACHE; + } else if (value == "ngram-simple") { + params.speculative.type = COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE; + } else if (value == "ngram-map-k") { + params.speculative.type = COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K; + } else if (value == "ngram-map-k4v") { + params.speculative.type = COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V; + } else { + throw std::invalid_argument("unknown speculative decoding type without draft model"); + } + } + ).set_examples({LLAMA_EXAMPLE_SERVER})); + add_opt(common_arg( + {"--spec-ngram-size-n"}, "N", + string_format("ngram size N for ngram-simple/ngram-map speculative decoding, length of lookup n-gram (default: %d)", params.speculative.ngram_size_n), + [](common_params & params, int value) { + if (value < 1 || value > 1024) { + throw std::invalid_argument("ngram size N must be between 1 and 1024 inclusive"); + } + params.speculative.ngram_size_n = value; + } + ).set_examples({LLAMA_EXAMPLE_SERVER})); + add_opt(common_arg( + {"--spec-ngram-size-m"}, "N", + string_format("ngram size M for ngram-simple/ngram-map speculative decoding, length of draft m-gram (default: %d)", params.speculative.ngram_size_m), + [](common_params & params, int value) { + if (value < 1 || value > 1024) { + throw std::invalid_argument("ngram size M must be between 1 and 1024 inclusive"); + } + params.speculative.ngram_size_m = value; + } + ).set_examples({LLAMA_EXAMPLE_SERVER})); + add_opt(common_arg( + {"--spec-ngram-check-rate"}, "N", + string_format("ngram check rate for ngram-simple/ngram-map speculative decoding (default: %d)", params.speculative.ngram_check_rate), + [](common_params & params, int value) { + if (value < 1) { + throw std::invalid_argument("ngram check rate must be at least 1"); + } + params.speculative.ngram_check_rate = value; + } + ).set_examples({LLAMA_EXAMPLE_SERVER})); + add_opt(common_arg( + {"--spec-ngram-min-hits"}, "N", + string_format("minimum hits for ngram-map speculative decoding (default: %d)", params.speculative.ngram_min_hits), + [](common_params & params, int value) { + if (value < 1) { + throw std::invalid_argument("ngram min hits must be at least 1"); + } + params.speculative.ngram_min_hits = value; + } + ).set_examples({LLAMA_EXAMPLE_SERVER})); add_opt(common_arg( {"-ctkd", "--cache-type-k-draft"}, "TYPE", string_format( @@ -3620,8 +3681,8 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params) { params.model.hf_repo = "ggml-org/Qwen2.5-Coder-7B-Q8_0-GGUF"; params.model.hf_file = "qwen2.5-coder-7b-q8_0.gguf"; - params.speculative.model.hf_repo = "ggml-org/Qwen2.5-Coder-0.5B-Q8_0-GGUF"; - params.speculative.model.hf_file = "qwen2.5-coder-0.5b-q8_0.gguf"; + params.speculative.mparams_dft.hf_repo = "ggml-org/Qwen2.5-Coder-0.5B-Q8_0-GGUF"; + params.speculative.mparams_dft.hf_file = "qwen2.5-coder-0.5b-q8_0.gguf"; params.port = 8012; params.n_ubatch = 1024; params.n_batch = 1024; @@ -3636,8 +3697,8 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params) { params.model.hf_repo = "ggml-org/Qwen2.5-Coder-14B-Q8_0-GGUF"; params.model.hf_file = "qwen2.5-coder-14b-q8_0.gguf"; - params.speculative.model.hf_repo = "ggml-org/Qwen2.5-Coder-0.5B-Q8_0-GGUF"; - params.speculative.model.hf_file = "qwen2.5-coder-0.5b-q8_0.gguf"; + params.speculative.mparams_dft.hf_repo = "ggml-org/Qwen2.5-Coder-0.5B-Q8_0-GGUF"; + params.speculative.mparams_dft.hf_file = "qwen2.5-coder-0.5b-q8_0.gguf"; params.port = 8012; params.n_ubatch = 1024; params.n_batch = 1024; diff --git a/common/common.cpp b/common/common.cpp index 26250abb6c..3aa396127c 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1097,7 +1097,10 @@ common_init_result::common_init_result(common_params & params) : if (params.fit_params) { LOG_INF("%s: fitting params to device memory, for bugs during this step try to reproduce them with -fit off, or provide --verbose logs if the bug only occurs with -fit on\n", __func__); llama_params_fit(params.model.path.c_str(), &mparams, &cparams, - params.tensor_split, params.tensor_buft_overrides.data(), params.fit_params_target.data(), params.fit_params_min_ctx, + params.tensor_split, + params.tensor_buft_overrides.data(), + params.fit_params_target.data(), + params.fit_params_min_ctx, params.verbosity >= 4 ? GGML_LOG_LEVEL_DEBUG : GGML_LOG_LEVEL_ERROR); } @@ -1208,10 +1211,6 @@ std::vector & common_init_result::lora() { return pimpl->lora; } -void common_init_result::free_context() { - pimpl->context.reset(); -} - common_init_result_ptr common_init_from_params(common_params & params) { common_init_result_ptr res(new common_init_result(params)); diff --git a/common/common.h b/common/common.h index 21c11f457d..fd3ab8cd18 100644 --- a/common/common.h +++ b/common/common.h @@ -164,6 +164,16 @@ enum common_params_sampling_config : uint64_t { COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT_ETA = 1 << 11, }; +enum common_speculative_type { + COMMON_SPECULATIVE_TYPE_NONE, // no speculative decoding + COMMON_SPECULATIVE_TYPE_DRAFT, // draft model + COMMON_SPECULATIVE_TYPE_EAGLE3, // eagle draft model + COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE, // simple self-speculative decoding + COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K, // self-speculative decoding with n-gram keys only + COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V, // self-speculative decoding with n-gram keys and 4 m-gram values + COMMON_SPECULATIVE_TYPE_NGRAM_CACHE, // self-speculative decoding with 3-level n-gram cache + COMMON_SPECULATIVE_TYPE_COUNT // number of types, unknown type +}; // sampling parameters struct common_params_sampling { @@ -243,16 +253,35 @@ struct common_params_model { }; struct common_params_speculative { - std::vector devices; // devices to use for offloading + common_speculative_type type = COMMON_SPECULATIVE_TYPE_NONE; // type of speculative decoding - int32_t n_ctx = 0; // draft context size - int32_t n_max = 16; // maximum number of tokens to draft during speculative decoding - int32_t n_min = 0; // minimum number of draft tokens to use for speculative decoding - int32_t n_gpu_layers = -1; // number of layers to store in VRAM for the draft model (-1 - use default) - float p_split = 0.1f; // speculative decoding split probability - float p_min = 0.75f; // minimum speculative decoding probability (greedy) - std::vector> replacements; // main to speculative model replacements - std::vector tensor_buft_overrides; + // general-purpose speculative decoding parameters + + int32_t n_max = 16; // maximum number of tokens to draft during speculative decoding + int32_t n_min = 0; // minimum number of draft tokens to use for speculative decoding + float p_split = 0.1f; // speculative decoding split probability + float p_min = 0.75f; // minimum speculative decoding probability (greedy) + + // ngram-based speculative decoding + + uint16_t ngram_size_n = 12; // ngram size for lookup + uint16_t ngram_size_m = 48; // mgram size for speculative tokens + uint16_t ngram_check_rate = 1; // check rate for ngram lookup + uint16_t ngram_min_hits = 1; // minimum hits at ngram/mgram lookup for mgram to be proposed + + std::string lookup_cache_static; // path of static ngram cache file for lookup decoding // NOLINT + std::string lookup_cache_dynamic; // path of dynamic ngram cache file for lookup decoding // NOLINT + + // draft-model speculative decoding + + struct common_params_model mparams_dft; + + llama_model * model_dft = nullptr; // a llama_model that can be shared by multiple speculative contexts + + llama_context_params cparams_dft; // these are the parameters for the draft llama_context + + int32_t n_ctx = 0; // draft context size + int32_t n_gpu_layers = -1; // number of layers to store in VRAM for the draft model (-1 - use default) ggml_type cache_type_k = GGML_TYPE_F16; // KV cache data type for the K ggml_type cache_type_v = GGML_TYPE_F16; // KV cache data type for the V @@ -260,7 +289,14 @@ struct common_params_speculative { struct cpu_params cpuparams; struct cpu_params cpuparams_batch; - struct common_params_model model; + std::vector devices; // devices to use for offloading + + std::vector> replacements; // main to speculative model replacements + std::vector tensor_buft_overrides; + + bool has_dft() const { + return !mparams_dft.path.empty() || !mparams_dft.hf_repo.empty(); + } }; struct common_params_vocoder { @@ -378,8 +414,6 @@ struct common_params { std::string path_prompt_cache = ""; // path to file for saving/loading prompt eval state // NOLINT std::string input_prefix = ""; // string to prefix user inputs with // NOLINT std::string input_suffix = ""; // string to suffix user inputs with // NOLINT - std::string lookup_cache_static = ""; // path of static ngram cache file for lookup decoding // NOLINT - std::string lookup_cache_dynamic = ""; // path of dynamic ngram cache file for lookup decoding // NOLINT std::string logits_file = ""; // file for saving *all* logits // NOLINT // llama-debug specific options @@ -575,10 +609,6 @@ struct common_params { // return false from callback to abort model loading or true to continue llama_progress_callback load_progress_callback = NULL; void * load_progress_callback_user_data = NULL; - - bool has_speculative() const { - return !speculative.model.path.empty() || !speculative.model.hf_repo.empty(); - } }; // call once at the start of a program if it uses libcommon @@ -714,8 +744,6 @@ struct common_init_result { std::vector & lora(); - void free_context(); - private: struct impl; std::unique_ptr pimpl; diff --git a/common/ngram-cache.cpp b/common/ngram-cache.cpp index d1a4d84c40..dce54b3647 100644 --- a/common/ngram-cache.cpp +++ b/common/ngram-cache.cpp @@ -192,12 +192,12 @@ void common_ngram_cache_draft( break; } - LOG(" - draft candidate: token=%d\n", drafted_token); + LOG_DBG(" - draft candidate: token=%d\n", drafted_token); draft.push_back(drafted_token); } } -void common_ngram_cache_save(common_ngram_cache & ngram_cache, std::string & filename) { +void common_ngram_cache_save(common_ngram_cache & ngram_cache, const std::string & filename) { std::ofstream file_out(filename, std::ios::binary); for (std::pair item : ngram_cache) { const common_ngram ngram = item.first; @@ -217,10 +217,9 @@ void common_ngram_cache_save(common_ngram_cache & ngram_cache, std::string & fil file_out.write(reinterpret_cast(&count), sizeof(int32_t)); } } - } -common_ngram_cache common_ngram_cache_load(std::string & filename) { +common_ngram_cache common_ngram_cache_load(const std::string & filename) { std::ifstream hashmap_file(filename, std::ios::binary); if (!hashmap_file) { throw std::ifstream::failure("Unable to open file " + filename); diff --git a/common/ngram-cache.h b/common/ngram-cache.h index dfe012abe4..6e7cfea966 100644 --- a/common/ngram-cache.h +++ b/common/ngram-cache.h @@ -88,12 +88,12 @@ void common_ngram_cache_draft( // Save an ngram cache to a file. // ngram_cache: the ngram cache to save. // filename: the path under which to save the ngram cache. -void common_ngram_cache_save(common_ngram_cache & ngram_cache, std::string & filename); +void common_ngram_cache_save(common_ngram_cache & ngram_cache, const std::string & filename); // Load an ngram cache saved with common_ngram_cache_save. // filename: the path from which to load the ngram cache. // returns: an ngram cache containing the information saved to filename. -common_ngram_cache common_ngram_cache_load(std::string & filename); +common_ngram_cache common_ngram_cache_load(const std::string & filename); // Merge two ngram caches. // ngram_cache_target: the ngram cache to which to add the information from ngram_cache_add. diff --git a/common/ngram-map.cpp b/common/ngram-map.cpp new file mode 100644 index 0000000000..930e7a3c10 --- /dev/null +++ b/common/ngram-map.cpp @@ -0,0 +1,367 @@ +#include "common.h" +#include "log.h" +#include "ngram-map.h" + +#include +#include +#include +#include + +// n-gram simple +// + +/** + * Perform speculative generation using the model's own token history. + * Searches for a matching pattern in the token history and returns draft tokens. + * + * @param state Current state of this implementation + * @param tokens Token history to search in + * @param sampled Last sampled token + * @return Vector of draft tokens, empty if no matching pattern is found + */ +llama_tokens common_ngram_simple_draft( + common_ngram_simple_state & state, + const llama_tokens & tokens, llama_token sampled) { + + // Simple implementation of self-speculative decoding without a draft model. + // + const size_t cur_len = tokens.size(); + // Only check every check_rate tokens to save compute + // i.e., perform check if (cur_len - idx_last_check) >= check_rate + if (state.idx_last_check + state.config.check_rate > cur_len) { + llama_tokens draft_tokens; + return draft_tokens; + } + + size_t n_draft_min = state.config.size_ngram; // size of n-gram to lookup in token history + size_t n_draft_max = state.config.size_mgram; // the m-gram following the found n-gram is used for draft + + // vector for tokens we want to verify. + // return empty vector if there is no match. + llama_tokens draft_tokens; + + // We need at least n_draft_min + n_draft_max + 1 tokens. + if (cur_len <= static_cast(n_draft_min + n_draft_max + 1)) { + return draft_tokens; + } + + // pattern search + llama_tokens pattern; + pattern.reserve(n_draft_min); + for (size_t j = cur_len - n_draft_min + 1; j < cur_len; ++j) { + pattern.push_back(tokens[j]); + } + pattern.push_back(sampled); // add the last token to the pattern + + // We do a search in the token history. + state.idx_last_check = cur_len; + + size_t match_pos = 0; // we ignore position 0, position 0 == no match + // search backwards, but skip the current match (we are currently there) + for (size_t j = cur_len - n_draft_min - 1; j > 0; --j) { + bool match = true; + for (size_t k = 0; k < pattern.size(); ++k) { + if (tokens[j + k] != pattern[k]) { + match = false; + break; + } + } + if (match) { + match_pos = j; + break; + } + } + if (match_pos == 0) { + return draft_tokens; + } + + const size_t copy_max = std::min( + n_draft_max, + cur_len - (match_pos + n_draft_min) + ); + if (copy_max < n_draft_min) { + return draft_tokens; + } + LOG_DBG("%s: #tokens = %zu: found matching pattern at pos %zu, length %zu, draft length %zu\n", + __func__, cur_len, + match_pos, pattern.size(), copy_max); + + draft_tokens.reserve(copy_max); + for (size_t j = 0; j < copy_max; ++j) { + draft_tokens.push_back(tokens[match_pos + n_draft_min + j]); + } + return draft_tokens; +} + + +// n-gram map +// + +// maximum number of counted values of a ngram map value. +#define COMMON_NGRAM_MAX_VALUE_COUNT 16380 + +static std::string common_tokens_to_str(const llama_tokens & inp, size_t start, size_t length); + +void common_ngram_map_draft(common_ngram_map & map, + const llama_tokens & inp, llama_token sampled, + llama_tokens & draft) { + // reset last key and value. + map.last_draft_created = false; + map.last_draft_key_idx = 0; + map.last_draft_value_idx = 0; + + const size_t cur_len = inp.size(); + const uint16_t n = map.size_key; + const uint16_t m = map.size_value; + if (cur_len < static_cast(2 * n + m)) { + return; + } + + // Only check every check_rate tokens to save compute + // i.e., perform check if (cur_len - idx_last_check) >= check_rate + if (map.idx_last_check + map.check_rate > cur_len) { + return; + } + map.idx_last_check = cur_len; + + // search pattern, the key n-gram + std::vector key_tokens; + key_tokens.reserve(n); + for (size_t j = cur_len - n + 1; j < cur_len; ++j) { + key_tokens.push_back(inp[j]); + } + key_tokens.push_back(sampled); + + // search for the key in the map + size_t match_pos = 0; + for (size_t j = cur_len - n - m - 1; j > 0; --j) { + bool match = true; + for (size_t k = 0; k < n; ++k) { + if (inp[j + k] != key_tokens[k]) { + match = false; + break; + } + } + if (match) { + match_pos = j; + break; + } + } + if (match_pos > 0) { + LOG_INF("%s: cur_len = %zu, n = %d, m = %d, sz_tkns = %zu, sampled = %d, match_pos = %zu\n", __func__, + cur_len, n, m, key_tokens.size(), sampled, match_pos); + } + + if (match_pos == 0) { + return; + } + + // We have a match, now we look for the statistics of the key. + size_t key_offset = map.keys.size(); // offset in the map + // We iterate through the std::vector map->keys. + for (size_t i = 0; i < map.keys.size(); ++i) { + bool match = true; + for (size_t j = 0; j < n; ++j) { + if (inp[map.keys[i].key_idx + j] != key_tokens[j]) { + match = false; + break; + } + } + if (match) { + key_offset = i; + break; + } + } + if (key_offset == map.keys.size()) { + // We create a new key-entry, it will get offset key_offset. + common_ngram_map_key new_key; + new_key.key_idx = match_pos; + new_key.stat_idx = 0; + new_key.key_num = 0; + for (int i = 0; i < COMMON_NGRAM_MAX_VALUES; ++i) { + new_key.values[i].value_num = 0; + new_key.values[i].n_accepted = m; + } + map.keys.push_back(new_key); + } + + // our key n-gram: + common_ngram_map_key & curr_key = map.keys[key_offset]; + + // update number of key hits + curr_key.key_num = (uint16_t) std::min((int) map.keys[key_offset].key_num + 1, + (int) COMMON_NGRAM_MAX_VALUE_COUNT); + + if (map.key_only) { + // simple mode: + // Fill in the draft with the m tokens following the key. + // We work with value values[0] only. + int n_draft_tokens = std::min((int) m, (int) curr_key.values[0].n_accepted); + + for (int i = 0; i < n_draft_tokens; ++i) { + draft.push_back(inp[match_pos + n + i]); + } + + LOG_INF("%s: key_offset = %zu, key_num = %d, draft.size = %zu\n", __func__, + key_offset, curr_key.key_num, draft.size()); + + map.last_draft_created = false; + map.last_draft_key_idx = key_offset; + map.last_draft_value_idx = 0; // value 0 is used for simple mode + return; + } + + if (curr_key.key_num < map.min_hits) { + // not enough hits to consider this a good draft + LOG_DBG("%s: key_offset = %zu, key_num = %d, min_hits = %d, no draft\n", __func__, + key_offset, curr_key.key_num, map.min_hits); + return; + } + + // complex mode: examine the different m-grams after this key n-gram. + // + + // determine all (max COMMON_NGRAM_MAX_VALUES) m-grams after the key n-gram. + for (size_t i = curr_key.stat_idx; i <= match_pos; ++i) { + // begins the key n-gram at index i? + bool match_key = true; + for (size_t k = 0; k < n; ++k) { + if (inp[i + k] != key_tokens[k]) { + match_key = false; + break; + } + } + if (!match_key) { + continue; + } + + // Do we haven a existing value m-gram or a new one after the key at index i? + size_t idx_begin_value_key = i + n; + int idx_value = -1; + for (int v = 0; v < COMMON_NGRAM_MAX_VALUES; ++v) { + size_t idx_begin_value_v = curr_key.values[v].value_idx; + if (idx_begin_value_v == 0) { + // We found an empty value slot => we found a new value m-gram after the key n-gram. + curr_key.values[v].value_idx = idx_begin_value_key; + curr_key.values[v].value_num = 0; + curr_key.values[v].n_accepted = m; + idx_value = v; + break; + } + bool match = true; + for (size_t j = 0; j < m; ++j) { + if (inp[idx_begin_value_key + j] != inp[idx_begin_value_v + j]) { + match = false; + break; + } + } + if (match) { + // We found an existing value m-gram after the key n-gram. + idx_value = v; + break; + } + } + if (idx_value >= 0) { + // We found a value m-gram of the key n-gram. + curr_key.values[idx_value].value_num = (uint16_t) std::min((int) curr_key.values[idx_value].value_num + 1, + (int) COMMON_NGRAM_MAX_VALUE_COUNT); + } + } + // the statistics are updated up to match_pos. + curr_key.stat_idx = match_pos; + + // Do we have a value we could use for the draft? + uint16_t max_occur = 0; + int slot_max = 0; + for (int v = 0; v < COMMON_NGRAM_MAX_VALUES; ++v) { + uint16_t curr_occur = curr_key.values[v].value_num; + if (curr_occur > max_occur) { + max_occur = curr_occur; + slot_max = v; + } + } + // What is sum of the other occurences? + uint32_t sum_occur = 0; + for (int v = 0; v < COMMON_NGRAM_MAX_VALUES; ++v) { + if (v == slot_max) { + continue; + } + uint16_t curr_occur = curr_key.values[v].value_num; + sum_occur += curr_occur; + } + + LOG_INF("%s: key_offset = %zu, max_occur = %d, sum_occur = %d, slot_max = %d [%zu/%d, %zu/%d, %zu/%d, %zu/%d]\n", __func__, + key_offset, + max_occur, sum_occur, slot_max, + curr_key.values[0].value_idx, curr_key.values[0].value_num, + curr_key.values[1].value_idx, curr_key.values[1].value_num, + curr_key.values[2].value_idx, curr_key.values[2].value_num, + curr_key.values[3].value_idx, curr_key.values[3].value_num + ); + // Print the tokens of the four values (if idx != 0), use LOG_INF + for (int v = 0; v < COMMON_NGRAM_MAX_VALUES; ++v) { + if (curr_key.values[v].value_idx != 0) { + LOG_INF("%s: value[%d] = %s\n", __func__, v, common_tokens_to_str(inp, curr_key.values[v].value_idx, m).c_str()); + } + } + + if (sum_occur > 0 && max_occur < 3 * sum_occur) { + // The most frequent value is not much more frequent than the other values. + // We do not use the draft. + return; + } + + // We use the most frequent value values[slot_max] for the draft. + // Fill in the draft with the m tokens following the key. + int n_draft_tokens = std::min((int) m, (int) curr_key.values[slot_max].n_accepted); + + for (int i = 0; i < n_draft_tokens; ++i) { + draft.push_back(inp[match_pos + n + i]); + } + + LOG_INF("%s: key_offset = %zu, slot_max = %d, key_num = %d, draft.size = %zu\n", __func__, + key_offset, slot_max, + curr_key.key_num, draft.size()); + + map.last_draft_created = true; + map.last_draft_key_idx = key_offset; + map.last_draft_value_idx = slot_max; // value used for draft generation. +} + +void common_ngram_map_accept(common_ngram_map & map, uint16_t n_accepted) { + if (!map.last_draft_created) { + return; + } + + // find the key and its chosen value. + const size_t key_idx = map.last_draft_key_idx; + const size_t val_idx = map.last_draft_value_idx; + + // find key corresponding to key_idx. + common_ngram_map_key & curr_key = map.keys[key_idx]; + // find value corresponding to val_idx. + struct common_ngram_map_value & curr_value = curr_key.values[val_idx]; // value used for draft generation. + + // update the value statistics + LOG_INF("common_ngram_map_send_accepted: n_accepted = %d, prev value_num = %d\n", + n_accepted, curr_value.n_accepted); + curr_value.n_accepted = n_accepted; +} + +// Helper functions. +// + +// Print the values of a sublist of `llama_tokens & inp` to a string in the form [v0, v1, v2, ...]. +std::string common_tokens_to_str(const llama_tokens & inp, size_t start, size_t length) { + std::ostringstream oss; + oss << '['; + for (size_t i = 0; i < length; ++i) { + if (i > 0) { + oss << ", "; + } + oss << inp[start + i]; + } + oss << ']'; + return oss.str(); +} + diff --git a/common/ngram-map.h b/common/ngram-map.h new file mode 100644 index 0000000000..bf91883f0c --- /dev/null +++ b/common/ngram-map.h @@ -0,0 +1,105 @@ +#pragma once +// +// common/ngram-map.h: structures used to manage a map from n-grams to a list of m-grams +// +// These structures are used to do a lookup of n-grams followed by m-grams in token history. +// +// There are two algorithms implemented: +// 1. ngram_simple: lookup of n-grams followed by m-grams in token history. +// 2. ngram_map: lookup of n-grams followed by m-grams in token history using a map. +// The map is a vector of key n-grams, and for each key n-gram there is a list of value m-grams. +// + +#include "llama.h" + +#include + +// n-gram simple +// + +// config of n-gram simple. +struct common_ngram_simple_config { + uint16_t size_ngram; // size of n-grams to lookup in self-mode + uint16_t size_mgram; // size of m-grams to draft in self-mode + uint16_t check_rate; // check for speculative decoding without draft model for each check_rate token +}; + +// current state (and config) of n-gram simple. +struct common_ngram_simple_state { + common_ngram_simple_config config; + + size_t idx_last_check = 0; // index of last check in context history (mutable) + + common_ngram_simple_state(const common_ngram_simple_config & config) + : config(config) {} +}; + +// Searches for a n-gram in the history and checks whether a draft sequence should be generated. +// state: the ngram simple state to search in. +// inp: the tokens generated so far. +// sampled: the token that was just sampled. +// draft: vector to store the draft tokens, initially empty. +llama_tokens common_ngram_simple_draft( + common_ngram_simple_state & state, + const llama_tokens & tokens, llama_token sampled); + + +// n-gram map +// + +// maximum number of m-gram values stored for each key n-gram. +#define COMMON_NGRAM_MAX_VALUES 4 + +// statistics of a m-gram after a known n-gram +struct common_ngram_map_value { + size_t value_idx = 0; // index of value m-gram in token-history (0 if unused) + uint16_t value_num = 0; // number of occurences of this value m-gram after the key n-gram (0 in an unused values-slot) + int16_t n_accepted = -1; // number of accepted tokens at last draft (-1 if unused) +}; + +// statistics of a n-gram +struct common_ngram_map_key { + size_t key_idx; // index of key n-gram in token-history + size_t stat_idx; // index of last token of stastistics computation (key_num, values) + + uint16_t key_num; // number of occurences of this key n-gram in token-history + common_ngram_map_value values[COMMON_NGRAM_MAX_VALUES]; // some known values after the key +}; + +// map from n-grams to following m-grams in token-history +struct common_ngram_map { + uint16_t size_key; // size of key n-grams + uint16_t size_value; // size of value m-grams + + bool key_only; // true if only key n-grams are used, no values. + + // first draft: vector only, no map. + std::vector keys; // key n-grams which occur several times in token-history + uint16_t check_rate; // check for speculative decoding without draft model for each check_rate token + uint16_t min_hits; // minimum number of key hits to consider a draft + + common_ngram_map(uint16_t sz_key, uint16_t sz_value, bool only_keys, + uint16_t check_rate, uint16_t min_hits) + : size_key(sz_key), size_value(sz_value), key_only(only_keys), + check_rate(check_rate), min_hits(min_hits) {} + + bool last_draft_created = false; // true if a draft was created at last call. + size_t last_draft_key_idx = 0; // index of last key used for draft generation. + uint16_t last_draft_value_idx = 0; // index of last value used for draft generation. + + size_t idx_last_check = 0; // index of last check in context history +}; + + +// Searches for the n-gram in the history and checks whether a draft sequence should be generated. +// map: the ngram map to search in. +// inp: the tokens generated so far. +// sampled: the token that was just sampled. +// draft: vector to store the draft tokens, initially empty. +void common_ngram_map_draft( + common_ngram_map & map, + const llama_tokens & inp, llama_token sampled, + llama_tokens & draft); + +// Update the statistics of a value after a draft was processed. +void common_ngram_map_accept(common_ngram_map & map, uint16_t n_accepted); diff --git a/common/speculative.cpp b/common/speculative.cpp index 3e83b0964c..3f314b5d57 100644 --- a/common/speculative.cpp +++ b/common/speculative.cpp @@ -1,99 +1,54 @@ #include "speculative.h" +#include "common.h" #include "ggml.h" #include "llama.h" #include "log.h" -#include "common.h" +#include "ngram-cache.h" +#include "ngram-map.h" #include "sampling.h" -#include #include +#include +#include #include #define SPEC_VOCAB_MAX_SIZE_DIFFERENCE 128 #define SPEC_VOCAB_CHECK_START_TOKEN_ID 5 -struct common_speculative { - struct llama_context * ctx_tgt; // only used for retokenizing from ctx_dft - struct llama_context * ctx_dft; - struct common_sampler * smpl; - - llama_batch batch; - llama_tokens prompt_dft; - bool vocab_dft_compatible = true; // whether retokenization is needed - std::map tgt_dft_replacements = {}; +const std::vector common_speculative_types = { + COMMON_SPECULATIVE_TYPE_NONE, + COMMON_SPECULATIVE_TYPE_DRAFT, + COMMON_SPECULATIVE_TYPE_EAGLE3, + COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE, + COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K, + COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V, + COMMON_SPECULATIVE_TYPE_NGRAM_CACHE }; -struct common_speculative * common_speculative_init( - struct llama_context * ctx_tgt, - struct llama_context * ctx_dft) { - auto * result = new common_speculative { - /* .ctx_tgt = */ ctx_tgt, - /* .ctx_dft = */ ctx_dft, - /* .smpl = */ nullptr, - /* .batch = */ llama_batch_init(llama_n_batch(ctx_dft), 0, 1), - /* .prompt_dft = */ {}, - /* .vocab_dft_compatible = */ false, - }; +const std::map common_speculative_type_from_name_map = { + {"none", COMMON_SPECULATIVE_TYPE_NONE}, + {"draft", COMMON_SPECULATIVE_TYPE_DRAFT}, + {"eagle3", COMMON_SPECULATIVE_TYPE_EAGLE3}, + {"ngram_simple", COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE}, + {"ngram_map_k", COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K}, + {"ngram_map_k4v", COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V}, + {"ngram_cache", COMMON_SPECULATIVE_TYPE_NGRAM_CACHE} +}; - // TODO: optimize or pass from outside? -#if 0 - { - common_params_sampling params; - params.no_perf = false; +struct common_speculative_config { + common_speculative_type type; + common_params_speculative params; - params.top_k = 40; - params.top_p = 0.9; + common_speculative_config(common_speculative_type t, + const common_params_speculative & p = common_params_speculative{}) : type(t), params(p) {} +}; - params.samplers = { - COMMON_SAMPLER_TYPE_TOP_K, - COMMON_SAMPLER_TYPE_TOP_P, - COMMON_SAMPLER_TYPE_INFILL, - }; - - result->smpl = common_sampler_init(llama_get_model(ctx_dft), params); - } -#else - { - common_params_sampling params; - params.no_perf = false; - - params.top_k = 10; - - params.samplers = { - COMMON_SAMPLER_TYPE_TOP_K, - }; - - result->smpl = common_sampler_init(llama_get_model(ctx_dft), params); - } -#endif - - result->vocab_dft_compatible = common_speculative_are_compatible(ctx_tgt, ctx_dft); - LOG_DBG("vocab_dft_compatible = %d\n", result->vocab_dft_compatible); - - return result; -} - -void common_speculative_free(struct common_speculative * spec) { - if (spec == nullptr) { - return; - } - - common_sampler_free(spec->smpl); - - llama_batch_free(spec->batch); - - delete spec; -} - -bool common_speculative_are_compatible( - const struct llama_context * ctx_tgt, - const struct llama_context * ctx_dft) { - const struct llama_model * model_tgt = llama_get_model(ctx_tgt); - const struct llama_model * model_dft = llama_get_model(ctx_dft); - - const struct llama_vocab * vocab_tgt = llama_model_get_vocab(model_tgt); - const struct llama_vocab * vocab_dft = llama_model_get_vocab(model_dft); +static bool common_speculative_are_compatible( + const llama_model * model_tgt, + const llama_model * model_dft) { + const llama_vocab * vocab_tgt = llama_model_get_vocab(model_tgt); + const llama_vocab * vocab_dft = llama_model_get_vocab(model_dft); const bool vocab_type_tgt = llama_vocab_type(vocab_tgt); LOG_DBG("%s: vocab_type tgt: %d\n", __func__, vocab_type_tgt); @@ -134,11 +89,12 @@ bool common_speculative_are_compatible( for (int i = SPEC_VOCAB_CHECK_START_TOKEN_ID; i < std::min(n_vocab_tgt, n_vocab_dft); ++i) { const char * token_text_tgt = llama_vocab_get_text(vocab_tgt, i); const char * token_text_dft = llama_vocab_get_text(vocab_dft, i); + if (std::strcmp(token_text_tgt, token_text_dft) != 0) { LOG_DBG("%s: draft model vocab must match target model to use speculation but ", __func__); LOG_DBG("token %d content differs - target '%s', draft '%s'\n", i, - common_token_to_piece(ctx_tgt, i).c_str(), - common_token_to_piece(ctx_dft, i).c_str()); + common_token_to_piece(vocab_tgt, i).c_str(), + common_token_to_piece(vocab_dft, i).c_str()); return false; } } @@ -147,215 +103,779 @@ bool common_speculative_are_compatible( return true; } -void common_speculative_add_replacement_tgt_dft( - struct common_speculative * spec, - const char *source, const char *dest) { - spec->tgt_dft_replacements[source] = dest; -} +// state of an implementation of speculative decoding +// +// each implementation has a unique type and a state that is implementation-specific +// in a subclass of common_speculative_state +struct common_speculative_state { + const enum common_speculative_type type; -static std::string replace_to_dft( - struct common_speculative * spec, - const std::string& input) { - std::string result = input; - for (const auto & pair : spec->tgt_dft_replacements) { - size_t pos = result.find(pair.first); - while (pos != std::string::npos) { - result.replace(pos, pair.first.length(), pair.second); - pos = result.find(pair.first, pos + pair.second.length()); - } - } - return result; -} + size_t drafts_call_count = 0; // number of times this implementation was called. + size_t drafts_generated_count = 0; // number of times a draft or part was generated by this implementation. + size_t drafts_accepted_count = 0; // number of times a draft or part was accepted by the target model. + size_t drafts_generated_tokens = 0; // number of tokens generated by this implementation. + size_t drafts_accepted_tokens = 0; // number of tokens accepted by the target model. -static std::string replace_to_tgt( - struct common_speculative * spec, - const std::string& input) { - std::string result = input; - for (const auto& pair : spec->tgt_dft_replacements) { - size_t pos = result.find(pair.second); - while (pos != std::string::npos) { - result.replace(pos, pair.second.length(), pair.first); - pos = result.find(pair.second, pos + pair.first.length()); - } - } - return result; -} + // TODO: track performance of most recent calls + const bool gen_perf = true; // whether to generate performance stats. + int64_t gen_duration_us = 0; // total time spent in this implementation in microseconds. -llama_tokens common_speculative_gen_draft( - struct common_speculative * spec, - struct common_speculative_params params, - const llama_tokens & prompt_tgt_main_model, // specified in target model vocab - llama_token id_last) { - auto & batch = spec->batch; - auto & ctx_tgt = spec->ctx_tgt; - auto & ctx_dft = spec->ctx_dft; - auto & smpl = spec->smpl; - auto & prompt_dft = spec->prompt_dft; + common_speculative_state(enum common_speculative_type type) : type(type) {} - auto * mem_dft = llama_get_memory(ctx_dft); + virtual ~common_speculative_state() = default; - int reuse_i = 0; - int reuse_n = 0; + virtual void begin(const llama_tokens & prompt) = 0; - const int n_ctx = llama_n_ctx(ctx_dft) - params.n_draft; + virtual void draft( + const common_params_speculative & params, + const llama_tokens & prompt_tgt, + llama_token id_last, + llama_tokens & result) = 0; - llama_tokens prompt_tgt_draft_model; - if (!spec->vocab_dft_compatible) { - std::string text; - text = common_detokenize(ctx_tgt, prompt_tgt_main_model, true); - text = replace_to_dft(spec, text); - LOG_DBG("%s: main->draft detokenized string: '%s'\n", __func__, text.c_str()); - prompt_tgt_draft_model = common_tokenize(ctx_dft, text, false, true); + virtual void accept(uint16_t n_accepted) = 0; +}; - // convert id_last to draft vocab. llama_detokenize is called directly to avoid an allocation - const auto * model_tgt = llama_get_model(ctx_tgt); - const auto * vocab_tgt = llama_model_get_vocab(model_tgt); +struct common_speculative_state_draft : public common_speculative_state { + llama_context * ctx_tgt; // only used for retokenizing from ctx_dft + llama_context * ctx_dft; - int32_t n_chars = llama_detokenize(vocab_tgt, &id_last, 1, nullptr, 0, false, false); - GGML_ASSERT(n_chars < 0 && "failed to detokenize id_last"); - text.resize(-n_chars); - llama_detokenize(vocab_tgt, &id_last, 1, text.data(), text.size(), false, false); - text = replace_to_dft(spec, text); + common_sampler * smpl; - LOG_DBG("main->draft detokenized id_last(%d): '%s'\n", id_last, text.c_str()); - id_last = common_tokenize(ctx_dft, text, false, true)[0]; - } - // prompt_tgt's tokens will always be compatible with ctx_dft - const llama_tokens &prompt_tgt = - spec->vocab_dft_compatible ? prompt_tgt_main_model : prompt_tgt_draft_model; + llama_batch batch; + llama_tokens prompt_dft; - const int i_start = std::max(0, (int) prompt_tgt.size() - n_ctx); + bool vocab_cmpt = true; // whether retokenization is needed + std::unordered_map vocab_map; - // reuse as much as possible from the old draft context - // ideally, the draft context should be as big as the target context and we will always reuse the entire prompt - for (int i = 0; i < (int) prompt_dft.size(); ++i) { - int cur = 0; - while (i_start + cur < (int) prompt_tgt.size() && - i + cur < (int) prompt_dft.size() && - prompt_tgt[i_start + cur] == prompt_dft[i + cur]) { - cur++; + common_speculative_state_draft( + enum common_speculative_type type, + llama_context * ctx_tgt, + llama_context * ctx_dft, + const std::vector> & replacements) + : common_speculative_state(type) + , ctx_tgt(ctx_tgt) + , ctx_dft(ctx_dft) + { + batch = llama_batch_init(llama_n_batch(ctx_dft), 0, 1); + smpl = nullptr; + + // TODO: optimize or pass from outside? + // { + // common_params_sampling params; + // params.no_perf = false; + // + // params.top_k = 40; + // params.top_p = 0.9; + // + // params.samplers = { + // COMMON_SAMPLER_TYPE_TOP_K, + // COMMON_SAMPLER_TYPE_TOP_P, + // COMMON_SAMPLER_TYPE_INFILL, + // }; + // + // result->smpl = common_sampler_init(llama_get_model(ctx_dft), params); + // } + { + common_params_sampling params; + params.no_perf = false; + params.top_k = 10; + params.samplers = { + COMMON_SAMPLER_TYPE_TOP_K, + }; + + smpl = common_sampler_init(llama_get_model(ctx_dft), params); } - if ((cur >= params.n_reuse || n_ctx >= (int) prompt_tgt.size()) && cur > reuse_n) { - reuse_i = i; - reuse_n = cur; + vocab_cmpt = common_speculative_are_compatible(llama_get_model(ctx_tgt), llama_get_model(ctx_dft)); + LOG_DBG("vocab_cmpt = %d\n", vocab_cmpt); + + if (!vocab_cmpt) { + LOG_WRN("the target and draft vocabs are not compatible - tokens will be translated between the two\n"); + + for (const auto & pair : replacements) { + vocab_map[pair.first] = pair.second; + } } } - LOG_DBG("%s: reuse_i = %d, reuse_n = %d, prompt = %d\n", __func__, reuse_i, reuse_n, (int) prompt_dft.size()); + ~common_speculative_state_draft() override { + llama_perf_context_print(ctx_dft); - llama_tokens result; - result.reserve(params.n_draft); + llama_free(ctx_dft); - if (reuse_n == 0) { - llama_memory_clear(mem_dft, false); - prompt_dft.clear(); - } else { - // this happens when a previous draft has been discarded (for example, due to being too small), but the - // target model agreed with it. in this case, we simply pass back the previous results to save compute - if (reuse_i + reuse_n < (int) prompt_dft.size() && prompt_dft[reuse_i + reuse_n] == id_last) { - for (int i = reuse_i + reuse_n + 1; i < (int) prompt_dft.size(); ++i) { - result.push_back(prompt_dft[i]); + common_sampler_free(smpl); - if (params.n_draft <= (int) result.size()) { - break; - } + llama_batch_free(batch); + } + + void begin(const llama_tokens & prompt) override { + GGML_UNUSED(prompt); + } + + void draft( + const common_params_speculative & params, + const llama_tokens & prompt_tgt, + llama_token id_last, + llama_tokens & result) override { + auto * spec = this; + + auto & batch = spec->batch; + auto & ctx_tgt = spec->ctx_tgt; + auto & ctx_dft = spec->ctx_dft; + auto & smpl = spec->smpl; + auto & prompt_dft = spec->prompt_dft; + + auto * mem_dft = llama_get_memory(ctx_dft); + + int reuse_i = 0; + int reuse_n = 0; + + const int n_ctx = llama_n_ctx(ctx_dft) - params.n_max; + + llama_tokens prompt_cnv; + if (!spec->vocab_cmpt) { + std::string text; + + text = common_detokenize(ctx_tgt, prompt_tgt, true); + text = replace_to_dft(text); + + LOG_DBG("%s: main->draft detokenized string: '%s'\n", __func__, text.c_str()); + + prompt_cnv = common_tokenize(ctx_dft, text, false, true); + + // convert id_last to draft vocab. llama_detokenize is called directly to avoid an allocation + const auto * model_tgt = llama_get_model(ctx_tgt); + const auto * vocab_tgt = llama_model_get_vocab(model_tgt); + + int32_t n_chars = llama_detokenize(vocab_tgt, &id_last, 1, nullptr, 0, false, false); + GGML_ASSERT(n_chars < 0 && "failed to detokenize id_last"); + + text.resize(-n_chars); + llama_detokenize(vocab_tgt, &id_last, 1, text.data(), text.size(), false, false); + text = replace_to_dft(text); + + LOG_DBG("main->draft detokenized id_last(%d): '%s'\n", id_last, text.c_str()); + id_last = common_tokenize(ctx_dft, text, false, true)[0]; + } + + const llama_tokens & prompt_cur = spec->vocab_cmpt ? prompt_tgt : prompt_cnv; + + const int i_start = std::max(0, (int) prompt_cur.size() - n_ctx); + + // reuse as much as possible from the old draft context + // ideally, the draft context should be as big as the target context and we will always reuse the entire prompt + for (int i = 0; i < (int) prompt_dft.size(); ++i) { + int cur = 0; + while (i_start + cur < (int) prompt_cur.size() && + i + cur < (int) prompt_dft.size() && + prompt_cur[i_start + cur] == prompt_dft[i + cur]) { + cur++; } - return result; + if ((cur >= 256 || n_ctx >= (int) prompt_cur.size()) && cur > reuse_n) { + reuse_i = i; + reuse_n = cur; + } } - if (reuse_i > 0) { - llama_memory_seq_rm (mem_dft, 0, 0, reuse_i); - llama_memory_seq_add(mem_dft, 0, reuse_i, -1, -reuse_i); + LOG_DBG("%s: reuse_i = %d, reuse_n = %d, prompt = %d\n", __func__, reuse_i, reuse_n, (int) prompt_dft.size()); - prompt_dft.erase(prompt_dft.begin(), prompt_dft.begin() + reuse_i); + result.clear(); + result.reserve(params.n_max); + + if (reuse_n == 0) { + llama_memory_clear(mem_dft, false); + prompt_dft.clear(); + } else { + // this happens when a previous draft has been discarded (for example, due to being too small), but the + // target model agreed with it. in this case, we simply pass back the previous results to save compute + if (reuse_i + reuse_n < (int) prompt_dft.size() && prompt_dft[reuse_i + reuse_n] == id_last) { + for (int i = reuse_i + reuse_n + 1; i < (int) prompt_dft.size(); ++i) { + result.push_back(prompt_dft[i]); + + if (params.n_max <= (int) result.size()) { + break; + } + } + + return; + } + + if (reuse_i > 0) { + llama_memory_seq_rm (mem_dft, 0, 0, reuse_i); + llama_memory_seq_add(mem_dft, 0, reuse_i, -1, -reuse_i); + + prompt_dft.erase(prompt_dft.begin(), prompt_dft.begin() + reuse_i); + } + + if (reuse_n < (int) prompt_dft.size()) { + llama_memory_seq_rm (mem_dft, 0, reuse_n, -1); + prompt_dft.erase(prompt_dft.begin() + reuse_n, prompt_dft.end()); + } } - if (reuse_n < (int) prompt_dft.size()) { - llama_memory_seq_rm (mem_dft, 0, reuse_n, -1); - prompt_dft.erase(prompt_dft.begin() + reuse_n, prompt_dft.end()); - } - } - - // prepare a batch to evaluate any new tokens in the prompt - common_batch_clear(batch); - - for (size_t i = i_start + reuse_n; i < prompt_tgt.size(); ++i) { - //LOG_DBG("i = %d, i_start = %d, reuse_n = %d, i - i_start = %d, id = %6d\n", i, i_start, reuse_n, i - i_start, prompt_tgt[i]); - common_batch_add(batch, prompt_tgt[i], i - i_start, { 0 }, false); - - prompt_dft.push_back(prompt_tgt[i]); - } - - // we should rarely end-up here during normal decoding - if (batch.n_tokens > 0) { - //LOG_DBG("%s: draft prompt batch: %s\n", __func__, string_from(ctx, batch).c_str()); - - llama_decode(ctx_dft, batch); - } - - const llama_pos n_past = prompt_dft.size(); - - LOG_DBG("%s: n_past = %d\n", __func__, n_past); - - common_batch_clear(batch); - common_batch_add (batch, id_last, n_past, { 0 }, true); - - prompt_dft.push_back(id_last); - - LOG_DBG("%s: draft prompt: %s\n", __func__, string_from(ctx_dft, prompt_dft).c_str()); - - llama_decode(ctx_dft, batch); - - common_sampler_reset(smpl); - - // sample n_draft tokens from the draft model - for (int i = 0; i < params.n_draft; ++i) { + // prepare a batch to evaluate any new tokens in the prompt common_batch_clear(batch); - common_sampler_sample(smpl, ctx_dft, 0, true); + for (size_t i = i_start + reuse_n; i < prompt_cur.size(); ++i) { + //LOG_DBG("i = %d, i_start = %d, reuse_n = %d, i - i_start = %d, id = %6d\n", i, i_start, reuse_n, i - i_start, prompt_cur[i]); + common_batch_add(batch, prompt_cur[i], i - i_start, { 0 }, false); - const auto * cur_p = common_sampler_get_candidates(smpl, true); - - for (int k = 0; k < std::min(3, (int) cur_p->size); ++k) { - LOG_DBG(" - draft candidate %3d, pos %3d: %6d (%8.3f) '%s'\n", - k, i, cur_p->data[k].id, cur_p->data[k].p, common_token_to_piece(ctx_dft, cur_p->data[k].id).c_str()); + prompt_dft.push_back(prompt_cur[i]); } - // add drafted token for each sequence - const llama_token id = cur_p->data[0].id; + // we should rarely end-up here during normal decoding + if (batch.n_tokens > 0) { + //LOG_DBG("%s: draft prompt batch: %s\n", __func__, string_from(ctx, batch).c_str()); - common_sampler_accept(smpl, id, true); - - result.push_back(id); - - if (params.n_draft <= (int) result.size()) { - break; + llama_decode(ctx_dft, batch); } - // only collect very high-confidence draft tokens - if (cur_p->data[0].p < params.p_min) { - break; - } + const llama_pos n_past = prompt_dft.size(); - common_batch_add(batch, id, n_past + i + 1, { 0 }, true); + LOG_DBG("%s: n_past = %d\n", __func__, n_past); + + common_batch_clear(batch); + common_batch_add (batch, id_last, n_past, { 0 }, true); + + prompt_dft.push_back(id_last); + + LOG_DBG("%s: draft prompt: %s\n", __func__, string_from(ctx_dft, prompt_dft).c_str()); - // evaluate the drafted tokens on the draft model llama_decode(ctx_dft, batch); - prompt_dft.push_back(id); + common_sampler_reset(smpl); + + // sample n_draft tokens from the draft model + for (int i = 0; i < params.n_max; ++i) { + common_batch_clear(batch); + + common_sampler_sample(smpl, ctx_dft, 0, true); + + const auto * cur_p = common_sampler_get_candidates(smpl, true); + + for (int k = 0; k < std::min(3, (int) cur_p->size); ++k) { + LOG_DBG(" - draft candidate %3d, pos %3d: %6d (%8.3f) '%s'\n", + k, i, cur_p->data[k].id, cur_p->data[k].p, common_token_to_piece(ctx_dft, cur_p->data[k].id).c_str()); + } + + // add drafted token for each sequence + const llama_token id = cur_p->data[0].id; + + common_sampler_accept(smpl, id, true); + + result.push_back(id); + + if (params.n_max <= (int) result.size()) { + break; + } + + // only collect very high-confidence draft tokens + if (cur_p->data[0].p < params.p_min) { + break; + } + + common_batch_add(batch, id, n_past + i + 1, { 0 }, true); + + // evaluate the drafted tokens on the draft model + llama_decode(ctx_dft, batch); + + prompt_dft.push_back(id); + } + + if (!spec->vocab_cmpt) { + std::string detokenized = common_detokenize(ctx_dft, result, true); + detokenized = replace_to_tgt(detokenized); + LOG_DBG("draft->main detokenized string: '%s'\n", detokenized.c_str()); + result = common_tokenize(ctx_tgt, detokenized, false, true); + if (result.size() > (size_t)params.n_max) { + result.resize(params.n_max); + } + } } - if (!spec->vocab_dft_compatible) { - std::string detokenized = common_detokenize(ctx_dft, result, true); - detokenized = replace_to_tgt(spec, detokenized); - LOG_DBG("draft->main detokenized string: '%s'\n", detokenized.c_str()); - result = common_tokenize(ctx_tgt, detokenized, false, true); - if (result.size() > (size_t)params.n_draft) { - result.resize(params.n_draft); + void accept(uint16_t n_accepted) override { + // noop + GGML_UNUSED(n_accepted); + } + + std::string replace_to_dft(const std::string & input) const { + std::string result = input; + + for (const auto & pair : this->vocab_map) { + size_t pos = result.find(pair.first); + while (pos != std::string::npos) { + result.replace(pos, pair.first.length(), pair.second); + pos = result.find(pair.first, pos + pair.second.length()); + } } + + return result; + } + + std::string replace_to_tgt(const std::string & input) const { + std::string result = input; + + for (const auto & pair : this->vocab_map) { + size_t pos = result.find(pair.second); + while (pos != std::string::npos) { + result.replace(pos, pair.second.length(), pair.first); + pos = result.find(pair.second, pos + pair.first.length()); + } + } + + return result; + } +}; + +struct common_speculative_state_eagle3 : public common_speculative_state { + common_speculative_state_eagle3(enum common_speculative_type type) : common_speculative_state(type) {} + + void begin(const llama_tokens & prompt) override { + GGML_UNUSED(prompt); + } + + void draft( + const common_params_speculative & params, + const llama_tokens & prompt_tgt, + llama_token id_last, + llama_tokens & draft_tokens) override { + // TODO: implement + GGML_UNUSED(params); + GGML_UNUSED(prompt_tgt); + GGML_UNUSED(id_last); + GGML_UNUSED(draft_tokens); + } + + void accept(uint16_t n_accepted) override { + // noop + GGML_UNUSED(n_accepted); + } +}; + +// state of self-speculation (simple implementation, not ngram-map) +struct common_speculative_state_ngram_simple : public common_speculative_state { + common_ngram_simple_state state; + + common_speculative_state_ngram_simple( + enum common_speculative_type type, + common_ngram_simple_state state) + : common_speculative_state(type), state(state) {} + + void begin(const llama_tokens & prompt) override { + GGML_UNUSED(prompt); + } + + void draft( + const common_params_speculative & params, + const llama_tokens & prompt_tgt, + llama_token id_last, + llama_tokens & result) override { + result = common_ngram_simple_draft(state, prompt_tgt, id_last); + GGML_UNUSED(params); + } + + void accept(uint16_t n_accepted) override { + // noop + GGML_UNUSED(n_accepted); + } +}; + +struct common_speculative_state_ngram_map_k : public common_speculative_state { + // draft ngram map for speculative decoding without draft model + common_ngram_map map; + + common_speculative_state_ngram_map_k( + enum common_speculative_type type, + common_ngram_map map) + : common_speculative_state(type), map(std::move(map)) {} + + void begin(const llama_tokens & prompt) override { + GGML_UNUSED(prompt); + } + + void draft( + const common_params_speculative & params, + const llama_tokens & prompt_tgt, + llama_token id_last, + llama_tokens & result) override { + common_ngram_map_draft(map, prompt_tgt, id_last, result); + GGML_UNUSED(params); + } + + void accept(uint16_t n_accepted) override { + common_ngram_map_accept(map, n_accepted); + } +}; + +struct common_speculative_state_ngram_cache : public common_speculative_state { + uint16_t n_draft; + bool save_dynamic; + bool save_static; + + common_ngram_cache ngram_cache_context; + common_ngram_cache ngram_cache_dynamic; + common_ngram_cache ngram_cache_static; + + size_t cache_size = 0; // number of tokens in n-gram cache + + common_speculative_state_ngram_cache( + const enum common_speculative_type type, + const std::string & path_static, + const std::string & path_dynamic, + uint16_t n_draft, + bool save_dynamic, + bool save_static) + : common_speculative_state(type) + , n_draft(n_draft) + , save_dynamic(save_dynamic) + , save_static(save_static) + { + if (!path_static.empty()) { + try { + ngram_cache_static = common_ngram_cache_load(path_static); + } catch (...) { + LOG_ERR("failed to open static lookup cache: %s", path_static.c_str()); + GGML_ABORT("Couldn't read static lookup cache"); + } + } + + if (!path_dynamic.empty()) { + try { + ngram_cache_dynamic = common_ngram_cache_load(path_dynamic); + } catch (...) { + LOG_ERR("failed to open dynamic lookup cache: %s", path_dynamic.c_str()); + GGML_ABORT("Couldn't read dynamic lookup cache"); + } + } + } + + void begin(const llama_tokens & prompt) override { + GGML_UNUSED(prompt); + } + + void draft( + const common_params_speculative & params, + const llama_tokens & prompt_tgt, + llama_token id_last, + llama_tokens & result) override { + GGML_UNUSED(params); + + if (cache_size < prompt_tgt.size() + 1) { + llama_tokens tokens_new; + tokens_new.reserve(prompt_tgt.size() + 1 - cache_size); + for (size_t j = cache_size; j < prompt_tgt.size(); ++j) { + tokens_new.push_back(prompt_tgt[j]); + } + tokens_new.push_back(id_last); // add the last token + + // Update context ngram cache with new prompt_tgt: + common_ngram_cache_update(ngram_cache_context, LLAMA_NGRAM_MIN, LLAMA_NGRAM_MAX, + tokens_new, tokens_new.size(), false); + cache_size = prompt_tgt.size() + 1; + } + + llama_tokens inp; + inp.reserve(prompt_tgt.size() + 1); + for (size_t j = 0; j < prompt_tgt.size(); ++j) { + inp.push_back(prompt_tgt[j]); + } + inp.push_back(id_last); + + result.push_back(id_last); + + common_ngram_cache_draft(inp, result, n_draft, LLAMA_NGRAM_MIN, LLAMA_NGRAM_MAX, + ngram_cache_context, + ngram_cache_dynamic, + ngram_cache_static); + + if (result.size() > 0) { + // delete first token in result (which is the id_last token) + result.erase(result.begin()); + } + } + + void accept(uint16_t n_accepted) override { + // TODO: noop + GGML_UNUSED(n_accepted); + } +}; + +struct common_speculative { + std::vector> impls; // list of implementations to use and their states + common_speculative_state * curr_impl = nullptr; // current implementation in use (for stats) +}; + +static common_ngram_map get_common_ngram_map(const common_speculative_config & config) { + uint16_t size_key = config.params.ngram_size_n; + uint16_t size_value = config.params.ngram_size_m; + bool key_only = (config.type == COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K); + uint16_t check_rate = config.params.ngram_check_rate; + uint16_t min_hits = config.params.ngram_min_hits; + + return common_ngram_map(size_key, size_value, key_only, check_rate, min_hits); +} + +static common_speculative_state_ngram_cache create_state_ngram_cache( + const std::string & path_static, const std::string & path_dynamic, + const common_speculative_config & config) { + uint16_t n_draft = 8; // TODO get from config? + + // TODO bool param in common/common.h to set save_static/save_dynamic? + bool save_static = false; + bool save_dynamic = false; + + common_speculative_state_ngram_cache state(config.type, path_static, path_dynamic, n_draft, save_static, save_dynamic); + + return state; +} + +std::string common_speculative_type_name_str() { + std::string result; + for (size_t i = 0; i < common_speculative_types.size(); i++) { + if (i > 0) { + result += ", "; + } + result += common_speculative_type_to_str(common_speculative_types[i]); } return result; } + +std::string common_speculative_type_to_str(enum common_speculative_type type) { + switch (type) { + case COMMON_SPECULATIVE_TYPE_NONE: return "none"; + case COMMON_SPECULATIVE_TYPE_DRAFT: return "draft"; + case COMMON_SPECULATIVE_TYPE_EAGLE3: return "eagle3"; + case COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE: return "ngram_simple"; + case COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K: return "ngram_map_k"; + case COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V: return "ngram_map_k4v"; + case COMMON_SPECULATIVE_TYPE_NGRAM_CACHE: return "ngram_cache"; + default: return "unknown"; + } +} + +enum common_speculative_type common_speculative_type_from_name(const std::string & name) { + const auto it = common_speculative_type_from_name_map.find(name); + if (it == common_speculative_type_from_name_map.end()) { + return COMMON_SPECULATIVE_TYPE_COUNT; + } + return it->second; +} + +// initialization of the speculative decoding system +// +common_speculative * common_speculative_init( + const common_params_speculative & params, + llama_context * ctx_tgt) { + llama_context * ctx_dft = nullptr; + if (params.model_dft) { + ctx_dft = llama_init_from_model(params.model_dft, params.cparams_dft); + if (ctx_dft == nullptr) { + LOG_ERR("%s", "failed to create draft context\n"); + return nullptr; + } + } + + // Compute the implementations to use based on the config and their order of preference + std::vector configs = {}; // list of speculative configs to try + { + bool has_draft = !params.mparams_dft.path.empty(); + bool has_draft_eagle3 = false; // TODO PR-18039: if params.speculative.eagle3 + + bool has_ngram_cache = (params.type == COMMON_SPECULATIVE_TYPE_NGRAM_CACHE); + bool has_ngram_simple = (params.type == COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE); + bool has_ngram_map_k = (params.type == COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K); + bool has_ngram_map_k4v = (params.type == COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V); + + // In a more complex implementation we could use the same implementation but with different parameters. + // This was initially used in PR-18471 but removed to simplify the code. + if (has_ngram_simple) { + // This implementation can guess a lot of tokens without any draft model. + configs.push_back(common_speculative_config(COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE, params)); + } + if (has_ngram_map_k) { + configs.push_back(common_speculative_config(COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K, params)); + } + if (has_ngram_map_k4v) { + // This implementation can guess tokens with high acceptance rate but is more expensive. + configs.push_back(common_speculative_config(COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V, params)); + } + if (has_ngram_cache) { + configs.push_back(common_speculative_config(COMMON_SPECULATIVE_TYPE_NGRAM_CACHE, params)); + } + if (has_draft) { + configs.push_back(common_speculative_config(COMMON_SPECULATIVE_TYPE_DRAFT, params)); + } + if (has_draft_eagle3) { + configs.push_back(common_speculative_config(COMMON_SPECULATIVE_TYPE_EAGLE3, params)); + } + } + + std::vector> impls = {}; + + for (const common_speculative_config & config : configs) { + LOG_DBG("%s: adding implementation %s\n", __func__, common_speculative_type_to_str(config.type).c_str()); + switch (config.type) { + case COMMON_SPECULATIVE_TYPE_NONE: + break; + case COMMON_SPECULATIVE_TYPE_DRAFT: { + impls.push_back(std::make_unique(config.type, + /* .ctx_tgt = */ ctx_tgt, + /* .ctx_dft = */ ctx_dft, + /* .replacements = */ params.replacements + )); + break; + } + case COMMON_SPECULATIVE_TYPE_EAGLE3: { + impls.push_back(std::make_unique(config.type)); + break; + } + case COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE: { + common_ngram_map ngram_map = get_common_ngram_map(config); + + uint16_t ngram_size_key = ngram_map.size_key; + uint16_t mgram_size_value = ngram_map.size_value; + uint16_t check_rate = ngram_map.check_rate; + + auto config_simple = common_ngram_simple_config{ + /* .size_ngram = */ ngram_size_key, + /* .size_mgram = */ mgram_size_value, + /* .check_rate = */ check_rate + }; + auto state = std::make_unique( + /* .type = */ config.type, + /* .state = */ common_ngram_simple_state(config_simple) + ); + impls.push_back(std::move(state)); + break; + } + case COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K: + case COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V: { + impls.push_back(std::make_unique( + (config.type), + get_common_ngram_map(config) + )); + break; + } + case COMMON_SPECULATIVE_TYPE_NGRAM_CACHE: { + auto state = create_state_ngram_cache( + params.lookup_cache_static, params.lookup_cache_dynamic, config); + impls.push_back(std::make_unique(state)); + break; + } + default: + break; + } + } + + if (impls.empty()) { + LOG_WRN("%s", "no implementations specified for speculative decoding\n"); + return nullptr; + } + + auto * result = new common_speculative { + /* .impls = */ std::move(impls) + }; + + return result; +} + +void common_speculative_free(common_speculative * spec) { + if (spec == nullptr) { + return; + } + + delete spec; +} + +void common_speculative_begin(common_speculative * spec, const llama_tokens & prompt) { + if (spec == nullptr) { + return; + } + + for (auto & impl : spec->impls) { + impl->begin(prompt); + } +} + +llama_tokens common_speculative_draft( + common_speculative * spec, + const common_params_speculative & params, + const llama_tokens & prompt_tgt, // specified in target model vocab + llama_token id_last) { + llama_tokens result; + + spec->curr_impl = nullptr; // reset current implementation + + for (auto & impl : spec->impls) { + { + const int64_t t_start_us = impl->gen_perf ? ggml_time_us() : 0; + + impl->draft(params, prompt_tgt, id_last, result); + + const int64_t t_now_us = impl->gen_perf ? ggml_time_us() : 0; + + impl->drafts_call_count++; + impl->gen_duration_us += t_now_us - t_start_us; // accumulate duration for this implementation + } + + if (!result.empty()) { + LOG_DBG("%s: called impl %s, hist size = %zu, call_count = %zu, gen = %zu\n", __func__, + common_speculative_type_to_str(impl.get()->type).c_str(), + prompt_tgt.size(), + impl.get()->drafts_call_count, result.size()); + + spec->curr_impl = impl.get(); // set current implementation for stats + impl->drafts_generated_count++; + impl->drafts_generated_tokens += result.size(); + + break; // We have a draft, so break out of the loop and return it. + } + } + + return result; +} + +void common_speculative_accept(common_speculative * spec, uint16_t n_accepted) { + if (n_accepted == 0) { + return; + } + + common_speculative_state * impl = spec->curr_impl; + + GGML_ASSERT(impl); + + if (n_accepted > 0) { + impl->drafts_accepted_count++; + impl->drafts_accepted_tokens += n_accepted; + } + + impl->accept(n_accepted); +} + +void common_speculative_print_stats(const common_speculative * spec) { + if (spec == nullptr) { + return; + } + + for (const auto & impl : spec->impls) { + std::string str_perf; + if (impl->gen_perf) { + std::ostringstream oss; + oss << std::fixed << std::setprecision(3) << impl->gen_duration_us / 1000.0; + str_perf = ", dur = " + oss.str() + " ms"; + } else { + str_perf = ""; + } + + LOG_INF("statistics %s: #calls = %zu, #gen drafts = %zu, #acc drafts = %zu, #gen tokens = %zu, #acc tokens = %zu%s\n", + common_speculative_type_to_str(impl->type).c_str(), + impl->drafts_call_count, + impl->drafts_generated_count, + impl->drafts_accepted_count, + impl->drafts_generated_tokens, + impl->drafts_accepted_tokens, + str_perf.c_str()); + } +} diff --git a/common/speculative.h b/common/speculative.h index e69d7aaa1e..9e1888e4be 100644 --- a/common/speculative.h +++ b/common/speculative.h @@ -5,31 +5,33 @@ struct common_speculative; -struct common_speculative_params { - int n_draft = 16; // max drafted tokens - int n_reuse = 256; +// comma separated list of all types +std::string common_speculative_type_name_str(); - float p_min = 0.75f; // min probability required to accept a token in the draft -}; +// convert string to type +enum common_speculative_type common_speculative_type_from_name(const std::string & name); -struct common_speculative * common_speculative_init( - struct llama_context * ctx_tgt, - struct llama_context * ctx_dft -); +// convert type to string +std::string common_speculative_type_to_str(enum common_speculative_type type); -void common_speculative_free(struct common_speculative * spec); +common_speculative * common_speculative_init( + const common_params_speculative & params, + llama_context * ctx_tgt); -bool common_speculative_are_compatible( - const struct llama_context * ctx_tgt, - const struct llama_context * ctx_dft); +void common_speculative_free(common_speculative * spec); -void common_speculative_add_replacement_tgt_dft( - struct common_speculative * spec, - const char *source, const char *dest); +// optionally call once at the beginning of a new generation +void common_speculative_begin(common_speculative * spec, const llama_tokens & prompt); // sample up to n_draft tokens and add them to the batch using the draft model -llama_tokens common_speculative_gen_draft( - struct common_speculative * spec, - struct common_speculative_params params, - const llama_tokens & prompt, - llama_token id_last); +llama_tokens common_speculative_draft( + common_speculative * spec, + const common_params_speculative & params, + const llama_tokens & prompt, + llama_token id_last); + +// informs the speculative decoder that n_accepted tokens were accepted by the target model +void common_speculative_accept(common_speculative * spec, uint16_t n_accepted); + +// print statistics about the speculative decoding +void common_speculative_print_stats(const common_speculative * spec); diff --git a/docs/speculative.md b/docs/speculative.md new file mode 100644 index 0000000000..8281eaa2d3 --- /dev/null +++ b/docs/speculative.md @@ -0,0 +1,120 @@ +# Speculative Decoding + +llama.cpp supports speculative decoding, a technique that can significantly accelerate token generation by predicting multiple tokens ahead of the main model. + +[Speculative decoding](https://en.wikipedia.org/wiki/Transformer_(deep_learning)#Speculative_decoding) leverages the fact that computing n tokens in a batch (as in prompt processing) is more efficient than computing n sequentially (as in response generation). By generating draft tokens quickly and then verifying them with the target model in a single batch, this approach can achieve substantial speedups when the draft predictions are frequently correct. + +## Implementations + +The `llama-server` application supports several implementations of speculative decoding: + +### Draft Model (`draft`) + +A much smaller model (called the _draft model_) generates drafts. +A draft model is the most used approach in speculative decoding. + +### n-gram Cache (`ngram-cache`) + +An n-gram is a sequence of n tokens. The n-gram cache implementation maintains statistics about short n-gram sequences. +A draft is computed using probabilities derived from these statistics. External statistics can also be loaded from files for improved accuracy. + +See: + +- #5479, #6828, #6848 + +### n-gram Map (`ngram-simple`, `ngram-map-*`) + +These implementations search the token history for patterns and use matching sequences as draft candidates. +They require no additional model but rely on patterns that have already appeared in the generated text. +An example to use this approach can be the rewriting of source code by a LLM. + +#### n-gram Map (`ngram-simple`) + +This implementation looks for the last n-gram in history that matches the current n-gram and creates a draft using the m tokens following the matched n-gram. It is the simplest self-speculative approach with minimal overhead. + +#### n-gram Map Key (`ngram-map-k`) + +This implementation looks for the current n-gram of size n (called the _key_) in the token history. If the key n-gram is followed by the same m tokens (called the _mgram_) multiple times, it creates a draft using these m tokens. This approach requires a minimum number of occurrences (argument `--spec-ngram-min-hits`) before generating drafts. + +The number of accepted tokens is stored for each used n-gram. + +#### n-gram Map Key-4-Values (`ngram-map-k4v`) + +This experimental implementation looks for the current n-gram of size n (called the _key_) in the token history. For each key, up to four _values_ (n-grams of size m, called _mgrams_) are tracked. An internal statistic counts the occurrences of each mgram after the key n-gram. If one mgram is significantly more frequent than the others, it is used as the draft. + +The number of accepted tokens is stored for each used n-gram. + +**Example:** Server options to be used if there are a lot of longer repetitions. +```bash +llama-server [...] --spec-type ngram-map-k4v --spec-ngram-size-n 8 --spec-ngram-size-m 8 --spec-ngram-min-hits 2 +``` + + +## Command-Line Options + +If a draft model is combined with a draftless decoding the draftless decoding has higher precedence. + +``` +--spec-type [none|ngram-cache|ngram-simple|ngram-map-k|ngram-map-k4v] + type of speculative decoding to use when no draft model is provided + (default: none) +--spec-ngram-size-n N ngram size N for ngram-simple/ngram-map speculative decoding, length + of lookup n-gram (default: 12) +--spec-ngram-size-m N ngram size M for ngram-simple/ngram-map speculative decoding, length + of draft m-gram (default: 48) +--spec-ngram-check-rate N ngram check rate for ngram-simple/ngram-map speculative decoding + (default: 1) +--spec-ngram-min-hits N minimum hits for ngram-map speculative decoding (default: 1) +``` + +### `--spec-type TYPE` + +Specifies a type of speculative decoding without draft model. + +| Type | Description | +|------|-------------| +| `none` | No speculative decoding (default) | +| `ngram-cache` | Use n-gram cache lookup | +| `ngram-simple` | Use simple n-gram pattern matching | +| `ngram-map-k` | Use n-gram pattern matching with n-gram-keys | +| `ngram-map-k4v` | Use n-gram pattern matching with n-gram-keys and up to four m-gram values (experimental) | + +**Example:** Server-instance used to refactor source code. +```bash +./llama-server [...] --spec-type ngram-simple +``` + +### `--spec-ngram-size-n N` + +Sets the size N of the lookup n-gram for n-gram map based speculative decoding. +The n-gram size N determines how many tokens in a row to look back when searching for matching patterns. + +### `--spec-ngram-size-m M` + +Sets the size M of the draft m-gram for n-gram map based speculative decoding. +The m-gram size determines how many tokens to draft when a match is found. +Larger values can provide more speedup but may reduce acceptance rate. + +### `--spec-ngram-check-rate R` + +This option aims at performance if the n-gram lookup in history is to costly. A lookup will be executed at every R tokens (default is 1, every token). + +### `--spec-ngram-min-hits H` + +This option defines how often a key has to appear in the token history to be used as a draft (default is 1). + +## Statistics +Each speculative decoding implementation prints statistics. + +``` +draft acceptance rate = 0.57576 ( 171 accepted / 297 generated) +statistics ngram_simple: #calls = 15, #gen drafts = 5, #acc drafts = 5, #gen tokens = 187, #acc tokens = 73 +statistics draft: #calls = 10, #gen drafts = 10, #acc drafts = 10, #gen tokens = 110, #acc tokens = 98 +``` + +- `#calls`: number of calls of this implementations +- `#gen drafts`: number of drafts generated by this implementation +- `#acc drafts`: number of drafts accepted (partially) by the main model +- `#gen tokens`: number of tokens generated by this implementation (including rejected tokens) +- `#acc tokens`: number of tokens accepted by the main model + diff --git a/examples/lookup/lookup-create.cpp b/examples/lookup/lookup-create.cpp index bb94a8fe06..f7b6ea1b19 100644 --- a/examples/lookup/lookup-create.cpp +++ b/examples/lookup/lookup-create.cpp @@ -32,9 +32,9 @@ int main(int argc, char ** argv){ common_ngram_cache ngram_cache; common_ngram_cache_update(ngram_cache, LLAMA_NGRAM_STATIC, LLAMA_NGRAM_STATIC, inp, inp.size(), true); - fprintf(stderr, "%s: hashing done, writing file to %s\n", __func__, params.lookup_cache_static.c_str()); + fprintf(stderr, "%s: hashing done, writing file to %s\n", __func__, params.speculative.lookup_cache_static.c_str()); - common_ngram_cache_save(ngram_cache, params.lookup_cache_static); + common_ngram_cache_save(ngram_cache, params.speculative.lookup_cache_static); return 0; } diff --git a/examples/lookup/lookup-stats.cpp b/examples/lookup/lookup-stats.cpp index 135f6fcab9..ae28b2e6e8 100644 --- a/examples/lookup/lookup-stats.cpp +++ b/examples/lookup/lookup-stats.cpp @@ -46,18 +46,18 @@ int main(int argc, char ** argv){ { const int64_t t_start_draft_us = ggml_time_us(); - if (!params.lookup_cache_static.empty()) { + if (!params.speculative.lookup_cache_static.empty()) { try { - ngram_cache_static = common_ngram_cache_load(params.lookup_cache_static); + ngram_cache_static = common_ngram_cache_load(params.speculative.lookup_cache_static); } catch (std::ifstream::failure const &) { - LOG_ERR("failed to open static lookup cache: %s", params.lookup_cache_static.c_str()); + LOG_ERR("failed to open static lookup cache: %s", params.speculative.lookup_cache_static.c_str()); exit(1); } } - if (!params.lookup_cache_dynamic.empty()) { + if (!params.speculative.lookup_cache_dynamic.empty()) { try { - ngram_cache_dynamic = common_ngram_cache_load(params.lookup_cache_dynamic); + ngram_cache_dynamic = common_ngram_cache_load(params.speculative.lookup_cache_dynamic); } catch (std::ifstream::failure const &) {} // if the file does not exist it will simply be created at the end of the program } diff --git a/examples/lookup/lookup.cpp b/examples/lookup/lookup.cpp index 27f159940a..8e73138a5f 100644 --- a/examples/lookup/lookup.cpp +++ b/examples/lookup/lookup.cpp @@ -51,18 +51,18 @@ int main(int argc, char ** argv){ const int64_t t_start_draft_us = ggml_time_us(); common_ngram_cache_update(ngram_cache_context, LLAMA_NGRAM_MIN, LLAMA_NGRAM_MAX, inp, inp.size(), false); - if (!params.lookup_cache_static.empty()) { + if (!params.speculative.lookup_cache_static.empty()) { try { - ngram_cache_static = common_ngram_cache_load(params.lookup_cache_static); + ngram_cache_static = common_ngram_cache_load(params.speculative.lookup_cache_static); } catch (std::ifstream::failure const &) { - LOG_ERR("failed to open static lookup cache: %s", params.lookup_cache_static.c_str()); + LOG_ERR("failed to open static lookup cache: %s", params.speculative.lookup_cache_static.c_str()); exit(1); } } - if (!params.lookup_cache_dynamic.empty()) { + if (!params.speculative.lookup_cache_dynamic.empty()) { try { - ngram_cache_dynamic = common_ngram_cache_load(params.lookup_cache_dynamic); + ngram_cache_dynamic = common_ngram_cache_load(params.speculative.lookup_cache_dynamic); } catch (std::ifstream::failure const &) {} // if the file does not exist it will simply be created at the end of the program } @@ -210,7 +210,7 @@ int main(int argc, char ** argv){ // Update dynamic ngram cache with context ngram cache and save it to disk: common_ngram_cache_merge(ngram_cache_dynamic, ngram_cache_context); - common_ngram_cache_save(ngram_cache_dynamic, params.lookup_cache_dynamic); + common_ngram_cache_save(ngram_cache_dynamic, params.speculative.lookup_cache_dynamic); LOG("\n\n"); diff --git a/examples/speculative-simple/speculative-simple.cpp b/examples/speculative-simple/speculative-simple.cpp index 8141052a22..d8b1f5a480 100644 --- a/examples/speculative-simple/speculative-simple.cpp +++ b/examples/speculative-simple/speculative-simple.cpp @@ -24,7 +24,7 @@ int main(int argc, char ** argv) { common_init(); - if (params.speculative.model.path.empty()) { + if (params.speculative.mparams_dft.path.empty()) { LOG_ERR("%s: --model-draft is required\n", __func__); return 1; } @@ -34,10 +34,8 @@ int main(int argc, char ** argv) { llama_numa_init(params.numa); llama_model * model_tgt = NULL; - //llama_model * model_dft = NULL; llama_context * ctx_tgt = NULL; - llama_context * ctx_dft = NULL; // load the target model auto llama_init_tgt = common_init_from_params(params); @@ -48,26 +46,38 @@ int main(int argc, char ** argv) { const llama_vocab * vocab = llama_model_get_vocab(model_tgt); // load the draft model - params.devices = params.speculative.devices; - params.model = params.speculative.model; - params.n_ctx = params.speculative.n_ctx; - params.n_batch = params.speculative.n_ctx > 0 ? params.speculative.n_ctx : params.n_batch; - params.n_gpu_layers = params.speculative.n_gpu_layers; + llama_model_ptr model_dft; - if (params.speculative.cpuparams.n_threads > 0) { - params.cpuparams.n_threads = params.speculative.cpuparams.n_threads; - } + // TODO: simplify this logic + { + const auto & params_spec = params.speculative; - params.cpuparams_batch.n_threads = params.speculative.cpuparams_batch.n_threads; - params.tensor_buft_overrides = params.speculative.tensor_buft_overrides; + auto params_dft = params; - auto llama_init_dft = common_init_from_params(params); + params_dft.n_parallel = 1; + params_dft.n_ctx = params_spec.n_ctx; + params_dft.n_batch = llama_n_ctx_seq(ctx_tgt); + params_dft.devices = params_spec.devices; + params_dft.model = params_spec.mparams_dft; + params_dft.n_gpu_layers = params_spec.n_gpu_layers; - //model_dft = llama_init_dft->model(); - ctx_dft = llama_init_dft->context(); + if (params_spec.cpuparams.n_threads > 0) { + params_dft.cpuparams.n_threads = params.speculative.cpuparams.n_threads; + params_dft.cpuparams_batch.n_threads = params.speculative.cpuparams_batch.n_threads; + } - if (!common_speculative_are_compatible(ctx_tgt, ctx_dft)) { - LOG_INF("the draft model '%s' is not compatible with the target model '%s'. tokens will be translated between the draft and target models.\n", params.speculative.model.path.c_str(), params.model.path.c_str()); + params_dft.tensor_buft_overrides = params.speculative.tensor_buft_overrides; + + auto mparams_dft = common_model_params_to_llama(params_dft); + + model_dft.reset(llama_model_load_from_file(params_dft.model.path.c_str(), mparams_dft)); + if (model_dft == nullptr) { + LOG_ERR("failed to load draft model, '%s'\n", params_dft.model.path.c_str()); + return 1; + } + + params.speculative.model_dft = model_dft.get(); + params.speculative.cparams_dft = common_context_params_to_llama(params_dft); } // Tokenize the prompt @@ -92,12 +102,6 @@ int main(int argc, char ** argv) { LOG("%s", common_token_to_piece(ctx_tgt, id).c_str()); } - // how many tokens to draft each time - int n_draft = params.speculative.n_max; - int n_draft_min = params.speculative.n_min; - - float p_min = params.speculative.p_min; - int n_predict = 0; int n_drafted = 0; int n_accept = 0; @@ -127,15 +131,11 @@ int main(int argc, char ** argv) { int n_past = inp.size() - 1; // init the speculator - struct common_speculative_params params_spec; - params_spec.n_draft = n_draft; - params_spec.n_reuse = llama_n_ctx(ctx_dft) - n_draft; - params_spec.p_min = p_min; + const auto & params_spec = params.speculative; - struct common_speculative * spec = common_speculative_init(ctx_tgt, ctx_dft); - for (auto &pair : params.speculative.replacements) { - common_speculative_add_replacement_tgt_dft(spec, pair.first.c_str(), pair.second.c_str()); - } + struct common_speculative * spec = common_speculative_init(params.speculative, ctx_tgt); + + common_speculative_begin(spec, prompt_tgt); llama_batch batch_tgt = llama_batch_init(llama_n_batch(ctx_tgt), 0, 1); @@ -151,7 +151,7 @@ int main(int argc, char ** argv) { // offloaded to a remote device. it doesn't even have to be based on an LLM. instead, it can provide tokens // from a cache or lookup tables. // - llama_tokens draft = common_speculative_gen_draft(spec, params_spec, prompt_tgt, id_last); + llama_tokens draft = common_speculative_draft(spec, params_spec, prompt_tgt, id_last); //LOG_DBG("draft: %s\n", string_from(ctx_dft, draft).c_str()); @@ -162,7 +162,7 @@ int main(int argc, char ** argv) { // evaluate the target model on [id_last, draft0, draft1, ..., draftN-1] { // do not waste time on small drafts - if (draft.size() < (size_t) n_draft_min) { + if (draft.size() < (size_t) params_spec.n_min) { draft.clear(); } @@ -240,7 +240,7 @@ int main(int argc, char ** argv) { LOG_INF("decoded %4d tokens in %8.3f seconds, speed: %8.3f t/s\n", n_predict, (t_dec_end - t_dec_start) / 1e6f, n_predict / ((t_dec_end - t_dec_start) / 1e6f)); LOG_INF("\n"); - LOG_INF("n_draft = %d\n", n_draft); + LOG_INF("n_draft = %d\n", params_spec.n_max); LOG_INF("n_predict = %d\n", n_predict); LOG_INF("n_drafted = %d\n", n_drafted); LOG_INF("n_accept = %d\n", n_accept); @@ -249,8 +249,6 @@ int main(int argc, char ** argv) { LOG_INF("\n"); LOG_INF("draft:\n\n"); - llama_perf_context_print(ctx_dft); - LOG_INF("\n"); LOG_INF("target:\n\n"); common_perf_print(ctx_tgt, smpl); diff --git a/examples/speculative/speculative.cpp b/examples/speculative/speculative.cpp index 89d3249431..3e5cf5f46b 100644 --- a/examples/speculative/speculative.cpp +++ b/examples/speculative/speculative.cpp @@ -46,7 +46,7 @@ int main(int argc, char ** argv) { common_init(); - if (params.speculative.model.path.empty()) { + if (params.speculative.mparams_dft.path.empty()) { LOG_ERR("%s: --model-draft is required\n", __func__); return 1; } @@ -78,7 +78,7 @@ int main(int argc, char ** argv) { // load the draft model params.devices = params.speculative.devices; - params.model = params.speculative.model; + params.model = params.speculative.mparams_dft; params.n_gpu_layers = params.speculative.n_gpu_layers; if (params.speculative.cpuparams.n_threads > 0) { params.cpuparams.n_threads = params.speculative.cpuparams.n_threads; diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 73cb4c75b3..1ca4e3cc0e 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -48,11 +48,8 @@ enum server_state { struct server_slot { int id; - llama_batch batch_spec = {}; - // TODO: change to unique_ptrs for consistency: llama_context * ctx = nullptr; - llama_context * ctx_dft = nullptr; // multimodal mtmd_context * mctx = nullptr; @@ -259,7 +256,7 @@ struct server_slot { } bool can_speculate() const { - return ctx_dft; + return !!spec; } void add_token(const completion_token_output & token) { @@ -295,6 +292,7 @@ struct server_slot { SLT_DBG(*this, "the max possible draft is too small: %d < %d - skipping speculative decoding\n", n_draft_max, task->params.speculative.n_min); n_draft_max = 0; } + return n_draft_max; } @@ -397,6 +395,8 @@ struct server_slot { draft_ratio, n_draft_accepted, n_draft_total ); } + + common_speculative_print_stats(spec); } json to_json(bool only_metrics = false) const { @@ -553,18 +553,13 @@ private: // note: keep these alive - they determine the lifetime of the model, context, etc. common_init_result_ptr llama_init; - common_init_result_ptr llama_init_dft; llama_context * ctx = nullptr; - bool vocab_dft_compatible = true; - - llama_model * model_dft = nullptr; - - llama_context_params cparams_dft; - llama_batch batch {}; + llama_model_ptr model_dft; + bool add_bos_token = true; int32_t n_ctx; // total context for all clients / slots @@ -597,13 +592,8 @@ private: // Clear any sampling context for (server_slot & slot : slots) { - llama_free(slot.ctx_dft); - slot.ctx_dft = nullptr; - common_speculative_free(slot.spec); slot.spec = nullptr; - - llama_batch_free(slot.batch_spec); } llama_batch_free(batch); @@ -648,44 +638,39 @@ private: add_bos_token = llama_vocab_get_add_bos(vocab); - if (params_base.has_speculative()) { - SRV_INF("loading draft model '%s'\n", params_base.speculative.model.path.c_str()); + if (params_base.speculative.has_dft()) { + SRV_INF("loading draft model '%s'\n", params_base.speculative.mparams_dft.path.c_str()); + + const auto & params_spec = params_base.speculative; auto params_dft = params_base; - params_dft.devices = params_base.speculative.devices; - params_dft.model = params_base.speculative.model; - params_dft.n_ctx = params_base.speculative.n_ctx == 0 ? llama_n_ctx_seq(ctx) : params_base.speculative.n_ctx; - params_dft.n_gpu_layers = params_base.speculative.n_gpu_layers; params_dft.n_parallel = 1; - params_dft.cache_type_k = params_base.speculative.cache_type_k; - params_dft.cache_type_v = params_base.speculative.cache_type_v; + params_dft.n_ctx = params_spec.n_ctx == 0 ? llama_n_ctx_seq(ctx) : params_spec.n_ctx; + params_dft.n_batch = llama_n_ctx_seq(ctx); + params_dft.devices = params_spec.devices; + params_dft.model = params_spec.mparams_dft; + params_dft.n_gpu_layers = params_spec.n_gpu_layers; + params_dft.cache_type_k = params_spec.cache_type_k; + params_dft.cache_type_v = params_spec.cache_type_v; - params_dft.cpuparams.n_threads = params_base.speculative.cpuparams.n_threads; - params_dft.cpuparams_batch.n_threads = params_base.speculative.cpuparams_batch.n_threads; - params_dft.tensor_buft_overrides = params_base.speculative.tensor_buft_overrides; + if (params_spec.cpuparams.n_threads > 0) { + params_dft.cpuparams.n_threads = params_spec.cpuparams.n_threads; + params_dft.cpuparams_batch.n_threads = params_spec.cpuparams_batch.n_threads; + } - llama_init_dft = common_init_from_params(params_dft); + params_dft.tensor_buft_overrides = params_spec.tensor_buft_overrides; - model_dft = llama_init_dft->model(); + auto mparams_dft = common_model_params_to_llama(params_dft); + model_dft.reset(llama_model_load_from_file(params_dft.model.path.c_str(), mparams_dft)); if (model_dft == nullptr) { - SRV_ERR("failed to load draft model, '%s'\n", params_base.speculative.model.path.c_str()); + SRV_ERR("failed to load draft model, '%s'\n", params_dft.model.path.c_str()); return false; } - vocab_dft_compatible = common_speculative_are_compatible(ctx, llama_init_dft->context()); - if (!vocab_dft_compatible) { - SRV_INF("the draft model '%s' is not compatible with the target model '%s'. tokens will be translated between the draft and target models.\n", params_base.speculative.model.path.c_str(), params_base.model.path.c_str()); - } - - const int n_ctx_dft = llama_n_ctx(llama_init_dft->context()); - - cparams_dft = common_context_params_to_llama(params_dft); - cparams_dft.n_batch = n_ctx_dft; - - // the context is not needed - we will create one for each slot - llama_init_dft->free_context(); + params_base.speculative.model_dft = model_dft.get(); + params_base.speculative.cparams_dft = common_context_params_to_llama(params_dft); } std::string & mmproj_path = params_base.mmproj.path; @@ -695,6 +680,7 @@ private: } mtmd_context_params mparams = mtmd_context_params_default(); + mparams.use_gpu = params_base.mmproj_use_gpu; mparams.print_timings = false; mparams.n_threads = params_base.cpuparams.n_threads; @@ -702,6 +688,7 @@ private: mparams.warmup = params_base.warmup; mparams.image_min_tokens = params_base.image_min_tokens; mparams.image_max_tokens = params_base.image_max_tokens; + mctx = mtmd_init_from_file(mmproj_path.c_str(), model, mparams); if (mctx == nullptr) { SRV_ERR("failed to load multimodal model, '%s'\n", mmproj_path.c_str()); @@ -718,11 +705,6 @@ private: params_base.n_cache_reuse = 0; SRV_WRN("%s\n", "cache_reuse is not supported by multimodal, it will be disabled"); } - - if (params_base.has_speculative()) { - SRV_ERR("%s\n", "err: speculative decode is not supported by multimodal"); - return false; - } } if (!llama_memory_can_shift(llama_get_memory(ctx))) { @@ -757,29 +739,24 @@ private: for (int i = 0; i < params_base.n_parallel; i++) { server_slot slot; - slot.id = i; - slot.ctx = ctx; + slot.id = i; + slot.ctx = ctx; slot.n_ctx = n_ctx_slot; - slot.mctx = mctx; + + slot.mctx = mctx; slot.prompt.tokens.has_mtmd = mctx != nullptr; - if (model_dft) { - slot.batch_spec = llama_batch_init(params_base.speculative.n_max + 1, 0, 1); - - // TODO: rework speculative decoding [TAG_SERVER_SPEC_REWORK] - slot.ctx_dft = llama_init_from_model(model_dft, cparams_dft); - if (slot.ctx_dft == nullptr) { - SRV_ERR("%s", "failed to create draft context\n"); - return false; - } - - slot.spec = common_speculative_init(slot.ctx, slot.ctx_dft); - if (slot.spec == nullptr) { - SRV_ERR("%s", "failed to create speculator\n"); - return false; - } - for (auto & pair : params_base.speculative.replacements) { - common_speculative_add_replacement_tgt_dft(slot.spec, pair.first.c_str(), pair.second.c_str()); + // try speculative decoding + { + slot.spec = common_speculative_init(params_base.speculative, slot.ctx); + if (slot.spec) { + if (mctx) { + SRV_ERR("%s\n", "speculative decoding is not supported with multimodal"); + return false; + } + SRV_WRN("%s", "speculative decoding context initialized\n"); + } else { + SRV_WRN("%s", "speculative decoding context not initialized\n"); } } @@ -1059,7 +1036,7 @@ private: return res; } - std::vector construct_lora_list(const std::map & config) { + std::vector construct_lora_list(const std::map & config) const { std::vector output = params_base.lora_adapters; // copy for (size_t i = 0; i < output.size(); ++i) { auto it = config.find(i); @@ -1162,7 +1139,7 @@ private: backend_sampling &= task.params.sampling.backend_sampling; // TODO: speculative decoding requires multiple samples per batch - not supported yet - backend_sampling &= !(slot.ctx_dft && task.params.speculative.n_max > 0); + backend_sampling &= !(slot.spec && task.params.speculative.n_max > 0); // TODO: getting post/pre sampling logits is not yet supported with backend sampling backend_sampling &= !need_logits; @@ -1179,14 +1156,6 @@ private: slot.smpl.reset(); } - // initialize draft batch - // TODO: rework speculative decoding [TAG_SERVER_SPEC_REWORK] - if (slot.ctx_dft) { - llama_batch_free(slot.batch_spec); - - slot.batch_spec = llama_batch_init(task.params.speculative.n_max + 1, 0, 1); - } - slot.task = std::make_unique(std::move(task)); slot.state = slot.task->is_child() @@ -2059,19 +2028,23 @@ private: // generate draft tokens in speculative decoding mode // TODO: rework to have a single draft llama_context shared across all slots [TAG_SERVER_SPEC_REWORK] // perform the speculative drafting for all sequences at the same time in a single batch - int n_draft_max = slot.get_n_draft_max(); + const int n_draft_max = slot.get_n_draft_max(); if (n_draft_max > 0) { if (mctx) { // we should never reach this, as speculative is automatically disabled if mmproj is loaded GGML_ABORT("not supported by multimodal"); } - struct common_speculative_params params_spec; - params_spec.n_draft = n_draft_max; - params_spec.n_reuse = llama_n_ctx(slot.ctx_dft) - slot.task->params.speculative.n_max; - params_spec.p_min = slot.task->params.speculative.p_min; const llama_tokens & cached_text_tokens = slot.prompt.tokens.get_text_tokens(); - llama_tokens draft = common_speculative_gen_draft(slot.spec, params_spec, cached_text_tokens, slot.sampled); + + const auto & params_spec = slot.task->params.speculative; + + llama_tokens draft = common_speculative_draft(slot.spec, params_spec, cached_text_tokens, slot.sampled); + + if (draft.size() > (size_t) n_draft_max) { + SLT_WRN(slot, "draft size %d exceeds max %d, truncating\n", (int) draft.size(), n_draft_max); + draft.resize(n_draft_max); + } // add the sampled token to the batch slot.i_batch_dft.push_back(batch.n_tokens); @@ -2742,6 +2715,10 @@ private: // prompt evaluated for next-token prediction slot.state = SLOT_STATE_GENERATING; + + if (slot.can_speculate()) { + common_speculative_begin(slot.spec, slot.prompt.tokens.get_text_tokens()); + } } else if (slot.state != SLOT_STATE_GENERATING) { continue; // continue loop of slots } @@ -2813,6 +2790,9 @@ private: // update how many tokens out of those tested were accepted slot.n_draft_accepted += ids.size() - 1; + // inform the speculative decoding about the number of accepted tokens + common_speculative_accept(slot.spec, ids.size() - 1); + // rollback to the state before sampling the draft tokens slot.prompt.tokens.keep_first(slot.prompt.n_tokens() - n_draft); diff --git a/tools/server/server-task.cpp b/tools/server/server-task.cpp index 799e341d37..2d25db63b7 100644 --- a/tools/server/server-task.cpp +++ b/tools/server/server-task.cpp @@ -5,6 +5,7 @@ #include "llama.h" #include "chat.h" #include "sampling.h" +#include "speculative.h" #include "json-schema-to-grammar.h" using json = nlohmann::ordered_json; @@ -76,6 +77,11 @@ json task_params::to_json(bool only_metrics) const { {"speculative.n_max", speculative.n_max}, {"speculative.n_min", speculative.n_min}, {"speculative.p_min", speculative.p_min}, + {"speculative.type", common_speculative_type_to_str(speculative.type)}, + {"speculative.ngram_size_n", speculative.ngram_size_n}, + {"speculative.ngram_size_m", speculative.ngram_size_m}, + {"speculative.ngram_c_rate", speculative.ngram_check_rate}, + {"speculative.ngram_m_hits", speculative.ngram_min_hits}, {"timings_per_token", timings_per_token}, {"post_sampling_probs", post_sampling_probs}, {"backend_sampling", sampling.backend_sampling}, @@ -135,6 +141,11 @@ json task_params::to_json(bool only_metrics) const { {"speculative.n_max", speculative.n_max}, {"speculative.n_min", speculative.n_min}, {"speculative.p_min", speculative.p_min}, + {"speculative.type", common_speculative_type_to_str(speculative.type)}, + {"speculative.ngram_size_n", speculative.ngram_size_n}, + {"speculative.ngram_size_m", speculative.ngram_size_m}, + {"speculative.ngram_c_rate", speculative.ngram_check_rate}, + {"speculative.ngram_m_hits", speculative.ngram_min_hits}, {"timings_per_token", timings_per_token}, {"post_sampling_probs", post_sampling_probs}, {"backend_sampling", sampling.backend_sampling}, @@ -242,6 +253,18 @@ task_params server_task::params_from_json_cmpl( params.speculative.n_min = std::max(params.speculative.n_min, 0); params.speculative.n_max = std::max(params.speculative.n_max, 0); + params.speculative.type = common_speculative_type_from_name(json_value(data, "speculative.type", common_speculative_type_to_str(defaults.speculative.type))); + + params.speculative.ngram_size_n = json_value(data, "speculative.ngram_size_n", defaults.speculative.ngram_size_n); + params.speculative.ngram_size_m = json_value(data, "speculative.ngram_size_m", defaults.speculative.ngram_size_m); + params.speculative.ngram_check_rate = json_value(data, "speculative.ngram_c_rate", defaults.speculative.ngram_check_rate); + params.speculative.ngram_min_hits = json_value(data, "speculative.ngram_m_hits", defaults.speculative.ngram_min_hits); + + params.speculative.ngram_size_n = std::max(std::min(1, (int) params.speculative.ngram_size_n), 1024); + params.speculative.ngram_size_m = std::max(std::min(1, (int) params.speculative.ngram_size_m), 1024); + params.speculative.ngram_check_rate = std::max(std::min(1, (int) params.speculative.ngram_check_rate), 1024); + params.speculative.ngram_min_hits = std::max(std::min(1, (int) params.speculative.ngram_min_hits), 1024); + // Use OpenAI API logprobs only if n_probs wasn't provided if (data.contains("logprobs") && params.sampling.n_probs == defaults.sampling.n_probs){ params.sampling.n_probs = json_value(data, "logprobs", defaults.sampling.n_probs); From f6b533d898ce84bae8d9fa8dfc6697ac087800bf Mon Sep 17 00:00:00 2001 From: Ruben Ortlam Date: Wed, 28 Jan 2026 18:52:45 +0100 Subject: [PATCH 049/206] Vulkan Flash Attention Coopmat1 Refactor (#19075) * vulkan: use coopmat for flash attention p*v matrix multiplication * fix P loading issue * fix barrier position * remove reduction that is no longer needed * move max thread reduction into loop * remove osh padding * add bounds checks and padding * remove unused code * fix shmem sizes, loop duration and accesses * don't overwrite Qf, add new shared psh buffer instead * add missing bounds checks * use subgroup reductions * optimize * move bounds check, reduce barriers * support other Bc values and other subgroup sizes * remove D_split * replace Of register array with shared memory Ofsh array * parallelize HSV across the rowgroups * go back to Of in registers, not shmem * vectorize sfsh * don't store entire K tile in shmem * fixes * load large k tiles to shmem on Nvidia * adapt shared memory host check function to shader changes * remove Bc 32 case * remove unused variable * fix missing mask reduction tmspsh barrier * fix mask bounds check * fix rowmax f16 under/overflow to inf * fix flash_attn_cm2 BLOCK_SIZE preprocessor directives --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 64 ++- .../vulkan-shaders/flash_attn_base.glsl | 6 + .../vulkan-shaders/flash_attn_cm1.comp | 438 +++++++++++------- .../vulkan-shaders/flash_attn_cm2.comp | 6 +- 4 files changed, 329 insertions(+), 185 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 514f290d09..3852867c29 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -3162,17 +3162,31 @@ static void ggml_vk_load_shaders(vk_device& device) { // For scalar, use 128 (arbitrary) // The same D_split value is used for both HSK and HSV, so just base it on the union of the LSBs. const uint32_t D = (hsk|hsv); - uint32_t wg_size = (path == FA_SCALAR || path == FA_COOPMAT1) - ? scalar_flash_attention_workgroup_size - : ((small_rows && (D % 32) == 0) ? 256 : 128); auto rows_cols = fa_rows_cols(path, hsk, hsv, clamp, type, small_rows, small_cache); + uint32_t wg_size; + switch (path) { + case FA_COOPMAT2: + wg_size = ((small_rows && (D % 32) == 0) ? 256 : 128); + break; + case FA_COOPMAT1: + wg_size = (rows_cols[1] / 16) * device->subgroup_size; // enough subgroups for Bc/MatBc + break; + default: + wg_size = scalar_flash_attention_workgroup_size; + break; + } + // D_split can't be larger than a subgroup because we use subgroupShuffle to reduce it. // D_split can't be larger than the LSB of D divided by 4 due to vectorization in the shader. const uint32_t D_lsb = D ^ (D & (D-1)); uint32_t D_split = std::min(std::min(device->subgroup_size, 8u), D_lsb / 4); - return {wg_size, rows_cols[0], rows_cols[1], hsk, hsv, clamp, D_split}; + // Nvidia prefers shared memory use to load large tiles of K + // AMD prefers loading K directly from global memory + const uint32_t k_load_shmem = device->vendor_id == VK_VENDOR_ID_NVIDIA ? 1 : 0; + + return {wg_size, rows_cols[0], rows_cols[1], hsk, hsv, clamp, D_split, device->subgroup_size, k_load_shmem}; }; #define CREATE_FA(TYPE, NAMELC, FAPATH, SUFFIX) \ @@ -3187,15 +3201,15 @@ static void ggml_vk_load_shaders(vk_device& device) { if (path == FAPATH) { \ if (aligned) { \ if (f32acc) { \ - ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f32acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## SUFFIX ## _len, flash_attn_f32_f16_ ## NAMELC ## SUFFIX ## _data, "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? 32 : 0)); \ + ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f32acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## SUFFIX ## _len, flash_attn_f32_f16_ ## NAMELC ## SUFFIX ## _data, "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0)); \ } else { \ - ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f16acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data, "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? 32 : 0)); \ + ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f16acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data, "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0)); \ } \ } else { \ if (f32acc) { \ - ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f32acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## SUFFIX ## _len, flash_attn_f32_f16_ ## NAMELC ## SUFFIX ## _data, "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), 1, true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? 32 : 0)); \ + ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f32acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## SUFFIX ## _len, flash_attn_f32_f16_ ## NAMELC ## SUFFIX ## _data, "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), 1, true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0)); \ } else { \ - ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f16acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data, "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), 1, true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? 32 : 0)); \ + ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f16acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data, "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), 1, true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0)); \ } \ } \ } \ @@ -8344,41 +8358,49 @@ static bool ggml_vk_flash_attn_scalar_shmem_support(const vk_device& device, con const uint32_t total_size = tmpsh + tmpshv4 + masksh + Qf; const bool supported = total_size <= device->properties.limits.maxComputeSharedMemorySize; - VK_LOG_DEBUG("ggml_vk_flash_attn_coopmat_shmem_support(HSK=" << hsk << ", HSV=" << hsv << ", total_size=" << total_size << ", supported=" << supported); + VK_LOG_DEBUG("ggml_vk_flash_attn_scalar_shmem_support(HSK=" << hsk << ", HSV=" << hsv << ", total_size=" << total_size << ", supported=" << supported); return supported; } -static bool ggml_vk_flash_attn_coopmat_shmem_support(const vk_device& device, const uint32_t hsk, uint32_t hsv, bool f32acc) { +static bool ggml_vk_flash_attn_coopmat_shmem_support(const vk_device& device, const uint32_t hsk, uint32_t hsv, bool f32acc, ggml_type kv_type) { // Needs to be kept up to date on shader changes GGML_UNUSED(hsv); - const uint32_t wg_size = scalar_flash_attention_workgroup_size; - const uint32_t Br = coopmat1_flash_attention_num_large_rows; - const uint32_t Bc = scalar_flash_attention_Bc; + const auto rows_cols = fa_rows_cols(FA_COOPMAT1, hsk, hsv, 0, kv_type, false, false); + const uint32_t Br = rows_cols[0]; + const uint32_t Bc = rows_cols[1]; + + const uint32_t MatBr = 16, MatBc = 16; + + const uint32_t row_split = Bc / MatBc; const uint32_t hsk_pad = ROUNDUP_POW2(hsk, 16); const uint32_t acctype = f32acc ? 4 : 2; const uint32_t f16vec4 = 8; - const uint32_t tmpsh = wg_size * sizeof(float); - const uint32_t tmpshv4 = wg_size * 4 * acctype; + const uint32_t tmpsh = (Bc / MatBc) * sizeof(float); const uint32_t qstride = hsk_pad / 4 + 2; const uint32_t Qf = Br * qstride * f16vec4; + const uint32_t psh_stride = Br / 4 + 2; + const uint32_t Psh = Bc * psh_stride * f16vec4; + const uint32_t sfshstride = (hsk <= 128) ? (Br + 8) : Br; const uint32_t sfsh = Bc * sfshstride * acctype; - const uint32_t kshstride = hsk_pad / 4 + 2; - const uint32_t ksh = Bc * kshstride * f16vec4; + const bool k_load_shmem = device->vendor_id == VK_VENDOR_ID_NVIDIA; + const uint32_t kshstride = (k_load_shmem ? hsk_pad : MatBr) / 4 + 2; + const uint32_t vsh_stride = MatBc / 4 * row_split; + const uint32_t ksh = ((kshstride >= vsh_stride) ? (Bc * kshstride) : (Bc * vsh_stride)) * f16vec4; - const uint32_t slope = Br * sizeof(float); + const uint32_t slope = Br * acctype; - const uint32_t total_size = tmpsh + tmpshv4 + Qf + sfsh + ksh + slope; + const uint32_t total_size = tmpsh + Qf + Psh + sfsh + ksh + slope; const bool supported = total_size <= device->properties.limits.maxComputeSharedMemorySize; - VK_LOG_DEBUG("ggml_vk_flash_attn_coopmat_shmem_support(HSK=" << hsk << ", HSV=" << hsv << ", f32acc=" << f32acc << ", total_size=" << total_size << ", supported=" << supported); + VK_LOG_DEBUG("ggml_vk_flash_attn_coopmat_shmem_support(HSK=" << hsk << ", HSV=" << hsv << ", f32acc=" << f32acc << ", kv_type=" << kv_type << ", total_size=" << total_size << ", supported=" << supported); return supported; } @@ -8442,7 +8464,7 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx const bool coopmat_shape_supported = (dst->op_params[3] == GGML_PREC_F32 && ctx->device->coopmat_support_16x16x16_f32acc) || (dst->op_params[3] != GGML_PREC_F32 && ctx->device->coopmat_support_16x16x16_f16acc); - const bool coopmat_shmem_supported = ggml_vk_flash_attn_coopmat_shmem_support(ctx->device, HSK, HSV, dst->op_params[3] == GGML_PREC_F32); + const bool coopmat_shmem_supported = ggml_vk_flash_attn_coopmat_shmem_support(ctx->device, HSK, HSV, dst->op_params[3] == GGML_PREC_F32, k->type); if (!coopmat_shape_supported || !coopmat_shmem_supported) { path = FA_SCALAR; diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl index 29b5c7c3a4..23a4d2c005 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl +++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl @@ -8,6 +8,8 @@ layout (constant_id = 3) const uint32_t HSK = 32; layout (constant_id = 4) const uint32_t HSV = 32; layout (constant_id = 5) const uint32_t Clamp = 0; layout (constant_id = 6) const uint32_t D_split = 16; +layout (constant_id = 7) const uint32_t SubGroupSize = 32; +layout (constant_id = 8) const uint32_t K_LOAD_SHMEM = 0; // Round up head sizes to a multiple of 16, for coopmat1/coopmat2 paths const uint32_t HSK_pad = (HSK + 15) & ~15; @@ -74,6 +76,10 @@ layout (binding = 1) readonly buffer K_PACKED16 {A_TYPE_PACKED16 k_data_packed16 layout (binding = 2) readonly buffer V_PACKED16 {A_TYPE_PACKED16 v_data_packed16[];} v_packed; #endif +#ifndef BLOCK_SIZE +#define BLOCK_SIZE 1 +#endif + #if defined(DATA_A_F32) #undef BLOCK_SIZE #define BLOCK_SIZE 4 diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp index 0eb50fe58f..83d52d19d6 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp @@ -7,6 +7,7 @@ #extension GL_EXT_shader_explicit_arithmetic_types_int32 : require #extension GL_KHR_shader_subgroup_basic : enable +#extension GL_KHR_shader_subgroup_arithmetic : enable #extension GL_KHR_shader_subgroup_vote : enable #extension GL_KHR_memory_scope_semantics : enable #extension GL_KHR_cooperative_matrix : enable @@ -14,12 +15,13 @@ #include "types.glsl" #include "flash_attn_base.glsl" -const uint32_t HSK_per_thread = HSK / D_split; -const uint32_t HSV_per_thread = HSV / D_split; +// These need to be supported N,M values for a MatBc x MatBr x 16 coopmatmuladd +const uint32_t MatBr = 16; +const uint32_t MatBc = 16; -const uint32_t row_split = 4; +const uint32_t row_split = Bc / MatBc; const uint32_t rows_per_thread = Br / row_split; -const uint32_t cols_per_iter = gl_WorkGroupSize.x / D_split / row_split; +const uint32_t cols_per_iter = gl_WorkGroupSize.x / row_split; const uint32_t cols_per_thread = Bc / cols_per_iter; @@ -40,24 +42,24 @@ D_TYPE perElemOpGqaStore(const in uint32_t r, const in uint32_t c, const in D_TY return elem; } -// These need to be supported N,M values for a MatBc x MatBr x 16 coopmatmuladd -const uint32_t MatBr = 16; -const uint32_t MatBc = 16; - -shared FLOAT_TYPE tmpsh[gl_WorkGroupSize.x]; -shared ACC_TYPEV4 tmpshv4[gl_WorkGroupSize.x]; +shared float tmpsh[row_split]; const uint32_t qstride = HSK_pad / 4 + 2; // in units of f16vec4 shared f16vec4 Qf[Br * qstride]; +const uint psh_stride = Br / 4 + 2; +shared f16vec4 Psh[Bc * psh_stride]; + // Avoid padding for hsk==256 to make it fit in 48KB shmem. -const uint32_t sfshstride = (HSK <= 128) ? (Br + 8) : Br; -shared ACC_TYPE sfsh[Bc * sfshstride]; +const uint32_t sfshstride = (HSK <= 128) ? (Br / 4 + 2) : Br / 4; +shared ACC_TYPEV4 sfsh[Bc * sfshstride]; -const uint32_t kshstride = HSK_pad / 4 + 2; // in units of f16vec4 -shared f16vec4 ksh[Bc * kshstride]; +const uint32_t kshstride = (K_LOAD_SHMEM != 0 ? HSK_pad : MatBr) / 4 + 2; // in units of f16vec4 +const uint v_cols = MatBc / 4 * row_split; // total cols, 4 vec4s per MatBc * number of subgroups +const uint vsh_stride = v_cols; +shared f16vec4 ksh[(kshstride >= vsh_stride) ? (Bc * kshstride) : (Bc * vsh_stride)]; -shared float slope[Br]; +shared ACC_TYPE slope[Br]; void main() { #ifdef NEEDS_INIT_IQ_SHMEM @@ -69,9 +71,9 @@ void main() { const uint32_t tid = gl_LocalInvocationIndex; const uint32_t threads_per_rowgroup = gl_WorkGroupSize.x / row_split; + const uint32_t d_per_thread = (HSV/4 + threads_per_rowgroup - 1) / threads_per_rowgroup; const uint32_t row_tid = gl_LocalInvocationIndex / threads_per_rowgroup; - const uint32_t d_tid = gl_LocalInvocationIndex % D_split; - const uint32_t col_tid = (gl_LocalInvocationIndex % threads_per_rowgroup) / D_split; + const uint32_t col_tid = gl_LocalInvocationIndex % threads_per_rowgroup; #define tile_row(r) (row_tid * rows_per_thread + (r)) @@ -102,9 +104,9 @@ void main() { } barrier(); - ACC_TYPEV4 Of[rows_per_thread][HSV_per_thread / 4]; - [[unroll]] for (uint32_t d = 0; d < HSV_per_thread / 4; ++d) { - [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { + ACC_TYPEV4 Of[rows_per_thread][d_per_thread]; + [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { + [[unroll]] for (uint32_t d = 0; d < d_per_thread; ++d) { Of[r][d] = ACC_TYPEV4(0.0); } } @@ -125,13 +127,11 @@ void main() { uint r = tid; slope[r] = perElemOpComputeSlope(r, col_tid, ACC_TYPE(0), iq2); } - barrier(); } else { if (tid < Br) { uint r = tid; - slope[r] = 1.0; + slope[r] = ACC_TYPE(1.0); } - barrier(); } #if BLOCK_SIZE > 1 @@ -149,19 +149,45 @@ void main() { [[dont_unroll]] for (uint32_t j = start_j; j < end_j; ++j) { - float mask_cache[Bc * Br / WorkGroupSize]; + f16vec4 mask_cache[Bc * Br / 4 / WorkGroupSize]; if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) { bool nem1_bounds_check = !(p.gqa_ratio > 1) && (p.nem1 % Br) != 0; float max_mask = NEG_FLT_MAX_OVER_2; - [[unroll]] for (uint32_t idx = 0; idx < Bc * Br; idx += gl_WorkGroupSize.x) { - uint32_t c = (idx + tid) % Bc; - uint32_t r = (idx + tid) / Bc; - if (idx + tid < Bc * Br || idx + gl_WorkGroupSize.x <= Bc * Br) { - if ((!KV_bounds_check || j * Bc + c < KV) && (!nem1_bounds_check || i * Br + r < p.nem1)) { - float m = float(data_m[m_offset + (i * Br + r) * m_stride + (j * Bc + c)]); + [[unroll]] for (uint32_t idx = 0; idx < Bc * Br / 4; idx += gl_WorkGroupSize.x) { + uint32_t c = (idx + tid) / (Br / 4); + uint32_t r = (idx + tid) % (Br / 4); + if (idx + tid < Bc * Br / 4 || idx + gl_WorkGroupSize.x <= Bc * Br / 4) { + if ((!KV_bounds_check || j * Bc + c < KV)) { + f16vec4 m; + if (!nem1_bounds_check || i * Br + r * 4 + 3 < p.nem1) { + m = f16vec4(data_m[m_offset + (i * Br + r * 4 ) * m_stride + (j * Bc + c)], + data_m[m_offset + (i * Br + r * 4 + 1) * m_stride + (j * Bc + c)], + data_m[m_offset + (i * Br + r * 4 + 2) * m_stride + (j * Bc + c)], + data_m[m_offset + (i * Br + r * 4 + 3) * m_stride + (j * Bc + c)]); + max_mask = max(max(max(max(max_mask, float(m[0])), float(m[1])), float(m[2])), float(m[3])); + } else if (i * Br + r * 4 + 2 < p.nem1) { + m = f16vec4(data_m[m_offset + (i * Br + r * 4 ) * m_stride + (j * Bc + c)], + data_m[m_offset + (i * Br + r * 4 + 1) * m_stride + (j * Bc + c)], + data_m[m_offset + (i * Br + r * 4 + 2) * m_stride + (j * Bc + c)], + 0.0); + max_mask = max(max(max(max_mask, float(m[0])), float(m[1])), float(m[2])); + } else if (i * Br + r * 4 + 1 < p.nem1) { + m = f16vec4(data_m[m_offset + (i * Br + r * 4 ) * m_stride + (j * Bc + c)], + data_m[m_offset + (i * Br + r * 4 + 1) * m_stride + (j * Bc + c)], + 0.0, + 0.0); + max_mask = max(max(max_mask, float(m[0])), float(m[1])); + } else if (i * Br + r * 4 < p.nem1) { + m = f16vec4(data_m[m_offset + (i * Br + r * 4 ) * m_stride + (j * Bc + c)], + 0.0, + 0.0, + 0.0); + max_mask = max(max_mask, float(m[0])); + } else { + m = f16vec4(0.0); + } mask_cache[idx / WorkGroupSize] = m; - max_mask = max(max_mask, m); } } } @@ -180,26 +206,28 @@ void main() { } } - [[unroll]] for (uint32_t idx = 0; idx < Bc * HSK / 4; idx += gl_WorkGroupSize.x) { - uint32_t d = (idx + tid) % (HSK / 4); - uint32_t c = (idx + tid) / (HSK / 4); - if (c < Bc && d < HSK / 4) { - f16vec4 K_Tf = f16vec4(0); - if (!KV_bounds_check || j * Bc + c < KV) { + if (K_LOAD_SHMEM != 0) { + [[unroll]] for (uint32_t idx = 0; idx < Bc * HSK / 4; idx += gl_WorkGroupSize.x) { + uint32_t d = (idx + tid) % (HSK / 4); + uint32_t c = (idx + tid) / (HSK / 4); + if (c < Bc && d < HSK / 4) { + f16vec4 K_Tf = f16vec4(0); + if (!KV_bounds_check || j * Bc + c < KV) { #if BLOCK_SIZE > 1 - uint coord = (j * Bc + c) * k_stride * BLOCK_SIZE + 4 * d; - uint ib = coord / BLOCK_SIZE; - uint iqs = (coord % BLOCK_SIZE); - K_Tf = f16vec4(dequantize4(ib, iqs, k_offset, BINDING_IDX_K)); + uint coord = (j * Bc + c) * k_stride * BLOCK_SIZE + 4 * d; + uint ib = coord / BLOCK_SIZE; + uint iqs = (coord % BLOCK_SIZE); + K_Tf = f16vec4(dequantize4(ib, iqs, k_offset, BINDING_IDX_K)); #else - K_Tf = f16vec4(data_kv4[k_offset / 4 + (j * Bc + c) * k_stride / 4 + d]); + K_Tf = f16vec4(data_kv4[k_offset / 4 + (j * Bc + c) * k_stride / 4 + d]); #endif - } + } - ksh[c * kshstride + d] = K_Tf; + ksh[c * kshstride + d] = K_Tf; + } } + barrier(); } - barrier(); // K * Q^T -> S^T: Bc x HSK_pad * HSK_pad x Br -> Bc x Br // Bc split across workgroup (four subgroups), loop over HSK in chunks of 16: 16 x 16 * 16 x 16 -> 16 x 16 @@ -208,11 +236,55 @@ void main() { coopmat KMat; coopmat QMat; - for (uint32_t d = 0; d < HSK_pad / 16; ++d) { - coopMatLoad(QMat, Qf, d * 16 / 4, qstride, gl_CooperativeMatrixLayoutColumnMajor); + [[unroll]] for (uint32_t d = 0; d < HSK_pad / 16; ++d) { + if (K_LOAD_SHMEM == 0) { +#if BLOCK_SIZE == 1 + if (KV_bounds_check || d * 16 + 16 > HSK) { +#endif + barrier(); + [[unroll]] for (uint32_t idx = 0; idx < Bc * MatBr / 4; idx += gl_WorkGroupSize.x) { + uint32_t col_vec = (idx + tid) % (MatBr / 4); + uint32_t row = (idx + tid) / (MatBr / 4); + if (idx + tid < Bc * MatBr / 4) { + f16vec4 K_Tf = f16vec4(0); + if ((!KV_bounds_check || j * Bc + row < KV) && (HSK == HSK_pad || d * 16 + col_vec * 4 < HSK)) { +#if BLOCK_SIZE > 1 + uint coord = (j * Bc + row) * k_stride * BLOCK_SIZE + d * 16 + col_vec * 4; + uint ib = coord / BLOCK_SIZE; + uint iqs = (coord % BLOCK_SIZE); + K_Tf = f16vec4(dequantize4(ib, iqs, k_offset, BINDING_IDX_K)); +#else + K_Tf = f16vec4(data_kv4[k_offset / 4 + (j * Bc + row) * k_stride / 4 + d * 16 / 4 + col_vec]); +#endif + } - uint coord = (gl_SubgroupID * MatBc) * kshstride + d * 16 / 4; - coopMatLoad(KMat, ksh, coord, kshstride, gl_CooperativeMatrixLayoutRowMajor); + ksh[row * kshstride + col_vec] = K_Tf; + } + } + barrier(); +#if BLOCK_SIZE == 1 + } +#endif + +#if BLOCK_SIZE == 1 + if (KV_bounds_check || d * 16 + 16 > HSK) +#endif + { + uint coord = (gl_SubgroupID * MatBc) * kshstride; + coopMatLoad(KMat, ksh, coord, kshstride, gl_CooperativeMatrixLayoutRowMajor); + } +#if BLOCK_SIZE == 1 + else { + const uint coord = k_offset / 4 + (j * Bc + gl_SubgroupID * MatBc) * k_stride / 4 + d * 16 / 4; + coopMatLoad(KMat, data_kv4, coord, k_stride / 4, gl_CooperativeMatrixLayoutRowMajor); + } +#endif + } else { + uint coord = (gl_SubgroupID * MatBc) * kshstride + d * 16 / 4; + coopMatLoad(KMat, ksh, coord, kshstride, gl_CooperativeMatrixLayoutRowMajor); + } + + coopMatLoad(QMat, Qf, d * 16 / 4, qstride, gl_CooperativeMatrixLayoutColumnMajor); SfMat = coopMatMulAdd(KMat, QMat, SfMat); } @@ -222,26 +294,26 @@ void main() { barrier(); if (p.logit_softcap != 0.0f) { - [[unroll]] for (uint32_t idx = 0; idx < Bc * Br; idx += gl_WorkGroupSize.x) { - uint32_t c = (idx + tid) / Br; - uint32_t r = (idx + tid) % Br; - if (idx + tid < Bc * Br || idx + gl_WorkGroupSize.x <= Bc * Br) { - sfsh[c * sfshstride + r] = ACC_TYPE(p.logit_softcap * tanh(sfsh[c * sfshstride + r])); + [[unroll]] for (uint32_t idx = 0; idx < Bc * Br / 4; idx += gl_WorkGroupSize.x) { + uint32_t c = (idx + tid) / (Br / 4); + uint32_t r = (idx + tid) % (Br / 4); + if (idx + tid < Bc * Br / 4 || idx + gl_WorkGroupSize.x <= Bc * Br / 4) { + sfsh[c * sfshstride + r] = ACC_TYPEV4(p.logit_softcap * tanh(sfsh[c * sfshstride + r])); } } barrier(); } if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) { - bool nem1_bounds_check = !(p.gqa_ratio > 1) && (p.nem1 % Br) != 0; - - [[unroll]] for (uint32_t idx = 0; idx < Bc * Br; idx += gl_WorkGroupSize.x) { - uint32_t c = (idx + tid) % Bc; - uint32_t r = (idx + tid) / Bc; - if (idx + tid < Bc * Br || idx + gl_WorkGroupSize.x <= Bc * Br) { - if ((!KV_bounds_check || j * Bc + c < KV) && (!nem1_bounds_check || i * Br + r < p.nem1)) { - float f = mask_cache[idx / WorkGroupSize]; - sfsh[c * sfshstride + r] += ACC_TYPE(slope[r] * f); + [[unroll]] for (uint32_t idx = 0; idx < Bc * Br / 4; idx += gl_WorkGroupSize.x) { + uint32_t c = (idx + tid) / (Br / 4); + uint32_t r = (idx + tid) % (Br / 4); + if (idx + tid < Bc * Br / 4 || idx + gl_WorkGroupSize.x <= Bc * Br / 4) { + if (!KV_bounds_check || j * Bc + c < KV) { + // Mask nem1 bounds check is handled when loading masks + ACC_TYPEV4 masks = ACC_TYPEV4(mask_cache[idx / WorkGroupSize]); + ACC_TYPEV4 slopes = ACC_TYPEV4(slope[r * 4], slope[r * 4 + 1], slope[r * 4 + 2], slope[r * 4 + 3]); + sfsh[c * sfshstride + r] += slopes * masks; } } } @@ -250,51 +322,145 @@ void main() { float eMf[rows_per_thread]; [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { + const uint r_vec = tile_row(r) / 4; + const uint r_comp = tile_row(r) % 4; + float rowmaxf = NEG_FLT_MAX_OVER_2; [[unroll]] for (uint32_t c = 0; c < cols_per_thread; ++c) { if (KV_bounds_check && j * Bc + c * cols_per_iter + col_tid >= KV) { continue; } - rowmaxf = max(rowmaxf, float(sfsh[tile_row(r) + (c * cols_per_iter + col_tid) * sfshstride])); + rowmaxf = max(rowmaxf, float(sfsh[r_vec + (c * cols_per_iter + col_tid) * sfshstride][r_comp])); } float Moldf = Mf[r]; + // Compute max across the row + rowmaxf = subgroupMax(rowmaxf); + // M = max(rowmax, Mold) // P = e^(S - M) // eM = e^(Mold - M) Mf[r] = max(rowmaxf, Moldf); eMf[r] = exp(Moldf - Mf[r]); - } - [[unroll]] for (uint32_t d = 0; d < HSV_per_thread / 4; ++d) { - [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { - Of[r][d] = ACC_TYPE(eMf[r]) * Of[r][d]; - } - } - [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { Lf[r] = eMf[r]*Lf[r]; } - [[unroll]] for (uint32_t c = 0; c < cols_per_thread; ++c) { - if (KV_bounds_check && j * Bc + c * cols_per_iter + col_tid >= KV) { - continue; - } - float Pf[rows_per_thread]; + [[unroll]] for (uint32_t d0 = 0; d0 < HSV / 4; d0 += threads_per_rowgroup) { + const uint d_local = d0 / threads_per_rowgroup; [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { - Pf[r] = exp(sfsh[tile_row(r) + (c * cols_per_iter + col_tid) * sfshstride] - Mf[r]); - Lf[r] += Pf[r]; + Of[r][d_local] = ACC_TYPE(eMf[r]) * Of[r][d_local]; } - [[unroll]] for (uint32_t d = 0; d < HSV_per_thread / 4; ++d) { -#if BLOCK_SIZE > 1 - uint coord = (j * Bc + c * cols_per_iter + col_tid) * v_stride * BLOCK_SIZE + 4 * (d * D_split + d_tid); - uint ib = coord / BLOCK_SIZE; - uint iqs = (coord % BLOCK_SIZE); - vec4 Vf = dequantize4(ib, iqs, v_offset, BINDING_IDX_V); -#else - vec4 Vf = vec4(data_vv4[v_offset / 4 + (j * Bc + c * cols_per_iter + col_tid) * v_stride / 4 + d * D_split + d_tid]); + } + + // Calculate and store Pf in Psh + [[unroll]] for (uint32_t c = 0; c < cols_per_thread; ++c) { + const uint col = c * cols_per_iter + col_tid; + + [[unroll]] for (uint32_t r = 0; r < rows_per_thread; r += 4) { + const uint row = tile_row(r); + if (KV_bounds_check && j * Bc + col >= KV) { + Psh[col * psh_stride + row / 4] = f16vec4(0.0f); + } else { + const vec4 mfvec = vec4(Mf[r], Mf[r + 1], Mf[r + 2], Mf[r + 3]); + const f16vec4 Pf = f16vec4(exp(vec4(sfsh[row / 4 + col * sfshstride]) - mfvec)); + [[unroll]] for (uint32_t vec_idx = 0; vec_idx < 4; ++vec_idx) { + Lf[r + vec_idx] += Pf[vec_idx]; + } + Psh[col * psh_stride + row / 4] = Pf; + } + } + } + + const uint num_hsv_tiles = (HSV + MatBc * row_split - 1) / (MatBc * row_split); // round up + + // Each subgroup handles HSV/4 columns + [[unroll]] for (uint32_t hsv_tile = 0; hsv_tile < num_hsv_tiles; ++hsv_tile) { + const uint hsv_offset = (hsv_tile * row_split + gl_SubgroupID) * 16; + + SfMat = coopmat(0); + + // Preload V tiles for [Bc, 16 * num subgroups] + const uint v_rows = Bc; + const uint v_total = v_rows * v_cols; + const uint v_loads_per_thread = v_total / gl_WorkGroupSize.x; + +#if BLOCK_SIZE == 1 + // For f16, only preload if not aligned + if (KV_bounds_check) { #endif - [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { - Of[r][d] += ACC_TYPE(Pf[r]) * ACC_TYPEV4(Vf); + [[unroll]] for (uint32_t i = 0; i < v_loads_per_thread; ++i) { + const uint idx = i * gl_WorkGroupSize.x + tid; + const uint row = idx / v_cols; + const uint col = idx % v_cols; + + const uint v_row = j * Bc + row; + const uint v_col = hsv_tile * MatBc * row_split + col * 4; + + const uint coord = v_row * v_stride * BLOCK_SIZE + v_col; + const uint ib = coord / BLOCK_SIZE; + const uint iqs = coord % BLOCK_SIZE; + + if (!KV_bounds_check || (v_row < KV && v_col < HSV)) { +#if BLOCK_SIZE > 1 + ksh[row * vsh_stride + col] = f16vec4(dequantize4(ib, iqs, v_offset, BINDING_IDX_V)); +#else + ksh[row * vsh_stride + col] = data_vv4[(v_offset + v_row * v_stride + v_col) / 4]; +#endif + } else { + ksh[row * vsh_stride + col] = f16vec4(0.0f); + } + } +#if BLOCK_SIZE == 1 + } +#endif + + barrier(); + + [[unroll]] for (uint32_t bc_chunk = 0; bc_chunk < Bc / MatBc; ++bc_chunk) { + coopMatLoad(KMat, Psh, bc_chunk * MatBc * psh_stride, psh_stride, gl_CooperativeMatrixLayoutColumnMajor); + +#if BLOCK_SIZE == 1 + if (!KV_bounds_check) { + // F16 values can be loaded directly from global memory + const uint v_tile_row = j * Bc + bc_chunk * MatBc; + const uint v_tile_offset = v_offset / 4 + v_tile_row * v_stride / 4 + hsv_offset / 4; + coopMatLoad(QMat, data_vv4, v_tile_offset, v_stride / 4, gl_CooperativeMatrixLayoutRowMajor); + } else +#endif + { + const uint v_tile_offset = bc_chunk * MatBr * v_cols + gl_SubgroupID * (MatBc / 4); + coopMatLoad(QMat, ksh, v_tile_offset, vsh_stride, gl_CooperativeMatrixLayoutRowMajor); + } + + SfMat = coopMatMulAdd(KMat, QMat, SfMat); + } + + // Store SfMat to sfsh and load into Of + const uint osh_stride = row_split * MatBc / 4; + const uint o_offset = gl_SubgroupID * MatBc / 4; + coopMatStore(SfMat, sfsh, o_offset, osh_stride, gl_CooperativeMatrixLayoutRowMajor); + + barrier(); + + const uint hsv_per_tile = row_split * MatBc; + const uint hsv_base = hsv_tile * hsv_per_tile; + const uint d_values_per_tile = hsv_per_tile / 4; + + const uint d_start = hsv_tile * d_values_per_tile; + const uint d_end = min(d_start + d_values_per_tile, HSV / 4); + + [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { + const uint row = tile_row(r); + + [[unroll]] for (uint32_t d_local = 0; d_local < d_per_thread; ++d_local) { + const uint d = d_local * threads_per_rowgroup + col_tid; + const uint hsv_col = 4 * d; + + if (hsv_col >= hsv_base && hsv_col < hsv_base + hsv_per_tile && hsv_col < HSV) { + const uint local_hsv = (hsv_col - hsv_base) / 4; + Of[r][d_local] += ACC_TYPEV4(sfsh[row * osh_stride + local_hsv]); + } } } } @@ -302,69 +468,8 @@ void main() { barrier(); } - // prevent race on tmpsh - barrier(); - - // reduce across threads - - float rowmaxf[rows_per_thread], eMf[rows_per_thread], Moldf[rows_per_thread]; [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { - FLOAT_TYPE M = Mf[r]; - tmpsh[tid] = M; - // Compute max across the row - barrier(); - [[unroll]] for (int s = int(gl_WorkGroupSize.x / row_split) / 2; s >= D_split; s >>= 1) { - M = max(M, tmpsh[tid ^ s]); - barrier(); - tmpsh[tid] = M; - barrier(); - } - rowmaxf[r] = tmpsh[d_tid + row_tid * threads_per_rowgroup]; - barrier(); - } - - [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { - Moldf[r] = Mf[r]; - - // M = max(rowmax, Mold) - // eM = e^(Mold - M) - Mf[r] = max(rowmaxf[r], Moldf[r]); - eMf[r] = exp(Moldf[r] - Mf[r]); - - Lf[r] = eMf[r]*Lf[r]; - } - - [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { - FLOAT_TYPE L = Lf[r]; - tmpsh[tid] = L; - // Compute sum across the row - barrier(); - [[unroll]] for (int s = int(gl_WorkGroupSize.x / row_split) / 2; s >= D_split; s >>= 1) { - L += tmpsh[tid ^ s]; - barrier(); - tmpsh[tid] = L; - barrier(); - } - Lf[r] = tmpsh[d_tid + row_tid * threads_per_rowgroup]; - barrier(); - } - - [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { - [[unroll]] for (uint32_t d = 0; d < HSV_per_thread / 4; ++d) { - - Of[r][d] = ACC_TYPE(eMf[r]) * Of[r][d]; - tmpshv4[tid] = Of[r][d]; - - barrier(); - [[unroll]] for (int s = int(gl_WorkGroupSize.x / row_split) / 2; s >= D_split; s >>= 1) { - Of[r][d] += tmpshv4[tid ^ s]; - barrier(); - tmpshv4[tid] = Of[r][d]; - barrier(); - } - Of[r][d] = tmpshv4[d_tid + row_tid * threads_per_rowgroup]; - barrier(); - } + Lf[r] = subgroupAdd(Lf[r]); } // If there is split_k, then the split_k resolve shader does the final @@ -375,9 +480,12 @@ void main() { [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { if (tile_row(r) < N) { - [[unroll]] for (uint32_t d = 0; d < HSV_per_thread / 4; ++d) { + [[unroll]] for (uint32_t d0 = 0; d0 < HSV / 4; d0 += threads_per_rowgroup) { + const uint d = d0 + col_tid; + if (d >= HSV/4) break; + const uint d_local = d0 / threads_per_rowgroup; [[unroll]] for (uint32_t comp = 0; comp < 4; ++comp) { - perElemOpGqaStore(tile_row(r), 4*(d * D_split + d_tid) + comp, float(Of[r][d][comp]), o_offset, iq2, N); + perElemOpGqaStore(tile_row(r), 4 * d + comp, float(Of[r][d_local][comp]), o_offset, iq2, N); } } } @@ -404,8 +512,9 @@ void main() { if (sink > Mf[r]) { ms = exp(Mf[r] - sink); - [[unroll]] for (uint32_t d = 0; d < HSV_per_thread / 4; ++d) { - Of[r][d] *= ACC_TYPE(ms); + [[unroll]] for (uint32_t d0 = 0; d0 < HSV / 4; d0 += threads_per_rowgroup) { + const uint d_local = d0 / threads_per_rowgroup; + Of[r][d_local] *= ACC_TYPE(ms); } } else { vs = exp(sink - Mf[r]); @@ -420,11 +529,12 @@ void main() { Lfrcp[r] = (Lf[r] == 0.0) ? 0.0 : (1.0 / Lf[r]); } - [[unroll]] for (uint32_t d = 0; d < HSV_per_thread / 4; ++d) { + [[unroll]] for (uint32_t d0 = 0; d0 < HSV / 4; d0 += threads_per_rowgroup) { + const uint d_local = d0 / threads_per_rowgroup; [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { - Of[r][d] *= ACC_TYPE(Lfrcp[r]); + Of[r][d_local] *= ACC_TYPE(Lfrcp[r]); #if defined(ACC_TYPE_MAX) - Of[r][d] = clamp(Of[r][d], -ACC_TYPE_MAX, ACC_TYPE_MAX); + Of[r][d_local] = clamp(Of[r][d_local], -ACC_TYPE_MAX, ACC_TYPE_MAX); #endif } } @@ -434,9 +544,12 @@ void main() { if (p.gqa_ratio > 1) { [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { if (tile_row(r) < N) { - [[unroll]] for (uint32_t d = 0; d < HSV_per_thread / 4; ++d) { + [[unroll]] for (uint32_t d0 = 0; d0 < HSV / 4; d0 += threads_per_rowgroup) { + const uint d = d0 + col_tid; + if (d >= HSV / 4) break; + const uint d_local = d0 / threads_per_rowgroup; [[unroll]] for (uint32_t comp = 0; comp < 4; ++comp) { - perElemOpGqaStore(tile_row(r), 4*(d * D_split + d_tid) + comp, float(Of[r][d][comp]), o_offset, iq2, N); + perElemOpGqaStore(tile_row(r), 4 * d + comp, float(Of[r][d_local][comp]), o_offset, iq2, N); } } } @@ -444,9 +557,12 @@ void main() { } else { [[unroll]] for (uint32_t r = 0; r < rows_per_thread; ++r) { if (i * Br + tile_row(r) < N) { - [[unroll]] for (uint32_t d = 0; d < HSV_per_thread / 4; ++d) { + [[unroll]] for (uint32_t d0 = 0; d0 < HSV / 4; d0 += threads_per_rowgroup) { + const uint d = d0 + col_tid; + if (d >= HSV / 4) break; + const uint d_local = d0 / threads_per_rowgroup; [[unroll]] for (uint32_t comp = 0; comp < 4; ++comp) { - data_o[o_offset + iq2 * HSV + (i * Br + tile_row(r)) * p.ne1 * HSV + 4*(d * D_split + d_tid) + comp] = D_TYPE(Of[r][d][comp]); + data_o[o_offset + iq2 * HSV + (i * Br + tile_row(r)) * p.ne1 * HSV + 4 * d + comp] = D_TYPE(Of[r][d_local][comp]); } } } diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp index d49a8da65f..54f1b0b622 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp @@ -55,7 +55,7 @@ ACC_TYPE Max(const in uint32_t row, const in uint32_t col, const in ACC_TYPE ele return max(elem0, elem1); } -#if defined(BLOCK_SIZE) +#if BLOCK_SIZE > 1 #define DECODEFUNC , DEQUANTFUNC #else #define DECODEFUNC @@ -85,7 +85,7 @@ void main() { tensorViewNV<2, false, 1, 0> tensorViewTranspose = createTensorViewNV(2, false, 1, 0); -#if defined(BLOCK_SIZE) +#if BLOCK_SIZE > 1 tensorLayoutK = setTensorLayoutBlockSizeNV(tensorLayoutK, 1, BLOCK_SIZE); tensorLayoutV = setTensorLayoutBlockSizeNV(tensorLayoutV, 1, BLOCK_SIZE); #endif @@ -98,7 +98,7 @@ void main() { if (Clamp != gl_CooperativeMatrixClampModeConstantNV) { q_stride &= ~7; -#if !defined(BLOCK_SIZE) +#if BLOCK_SIZE == 1 k_stride &= ~7; v_stride &= ~7; #endif From 50e8962f79e3fcb4bf44777194bd4324908d5737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Wed, 28 Jan 2026 22:05:39 +0100 Subject: [PATCH 050/206] ci : find latest release with asset for winget (#19161) --- .github/workflows/winget.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/winget.yml b/.github/workflows/winget.yml index 7506091647..2047c276f8 100644 --- a/.github/workflows/winget.yml +++ b/.github/workflows/winget.yml @@ -28,16 +28,17 @@ jobs: owner: context.repo.owner, repo: context.repo.repo, }); - console.log("Latest release:", releases[0].tag_name); - return releases[0].tag_name; + const { tag_name: version, assets: assets } = releases.find(({assets}) => assets.find(asset => asset.name.includes('win-vulkan'))); + const { browser_download_url: asset_url } = assets.find(asset => asset.name.includes('win-vulkan')); + console.log("Latest release:", version); + core.setOutput('VERSION', version); + core.setOutput('ASSETURL', asset_url); - name: Update manifest - env: - VERSION: ${{ steps.find_latest_release.outputs.result }} run: | echo "Updating manifest..." - komac update --version ${{ env.VERSION }} \ - --urls "https://github.com/ggml-org/llama.cpp/releases/download/${{ env.VERSION }}/llama-${{ env.VERSION }}-bin-win-vulkan-x64.zip" \ + komac update --version ${{ steps.find_latest_release.outputs.VERSION }} \ + --urls "${{ steps.find_latest_release.outputs.ASSETURL }}" \ --token ${{ secrets.WINGET_GITHUB_TOKEN }} \ --submit \ ggml.llamacpp From d4964a7c66c4ff935d86c9ac92abeb12073723bf Mon Sep 17 00:00:00 2001 From: Neo Zhang Date: Thu, 29 Jan 2026 09:20:22 +0800 Subject: [PATCH 051/206] sycl: fix norm kernels: l2_norm, group_norm, rms_norm by remove assert to support more cases (#19154) Co-authored-by: Neo Zhang Jianyu --- docs/ops/SYCL.csv | 1344 +++++++++++++++++------------- ggml/src/ggml-sycl/ggml-sycl.cpp | 6 +- ggml/src/ggml-sycl/norm.cpp | 3 - 3 files changed, 753 insertions(+), 600 deletions(-) diff --git a/docs/ops/SYCL.csv b/docs/ops/SYCL.csv index 91b442bde8..091a5caed7 100644 --- a/docs/ops/SYCL.csv +++ b/docs/ops/SYCL.csv @@ -878,6 +878,54 @@ "SYCL0","POOL_2D","pool_type=max,type_input=f32,ne_input=[10,10,3,1],k0=3,k1=3,s0=2,s1=2,p0=0,p1=1","support","1","yes","SYCL" "SYCL0","POOL_2D","pool_type=max,type_input=f32,ne_input=[10,10,3,1],k0=3,k1=3,s0=2,s1=2,p0=1,p1=0","support","1","yes","SYCL" "SYCL0","POOL_2D","pool_type=max,type_input=f32,ne_input=[10,10,3,1],k0=3,k1=3,s0=2,s1=2,p0=1,p1=1","support","1","yes","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[10,3,2,1],k0=1,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[11,1,3,2],k0=1,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[128,2,1,3],k0=1,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[10,3,2,1],k0=1,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[11,1,3,2],k0=1,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[128,2,1,3],k0=1,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[10,3,2,1],k0=1,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[11,1,3,2],k0=1,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[128,2,1,3],k0=1,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[10,3,2,1],k0=1,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[11,1,3,2],k0=1,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[128,2,1,3],k0=1,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[10,3,2,1],k0=3,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[11,1,3,2],k0=3,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[128,2,1,3],k0=3,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[10,3,2,1],k0=3,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[11,1,3,2],k0=3,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[128,2,1,3],k0=3,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[10,3,2,1],k0=3,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[11,1,3,2],k0=3,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[128,2,1,3],k0=3,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[10,3,2,1],k0=3,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[11,1,3,2],k0=3,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=avg,type_input=f32,ne_input=[128,2,1,3],k0=3,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[10,3,2,1],k0=1,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[11,1,3,2],k0=1,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[128,2,1,3],k0=1,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[10,3,2,1],k0=1,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[11,1,3,2],k0=1,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[128,2,1,3],k0=1,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[10,3,2,1],k0=1,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[11,1,3,2],k0=1,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[128,2,1,3],k0=1,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[10,3,2,1],k0=1,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[11,1,3,2],k0=1,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[128,2,1,3],k0=1,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[10,3,2,1],k0=3,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[11,1,3,2],k0=3,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[128,2,1,3],k0=3,s0=1,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[10,3,2,1],k0=3,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[11,1,3,2],k0=3,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[128,2,1,3],k0=3,s0=1,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[10,3,2,1],k0=3,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[11,1,3,2],k0=3,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[128,2,1,3],k0=3,s0=2,p0=0","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[10,3,2,1],k0=3,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[11,1,3,2],k0=3,s0=2,p0=1","support","0","no","SYCL" +"SYCL0","POOL_1D","pool_type=max,type_input=f32,ne_input=[128,2,1,3],k0=3,s0=2,p0=1","support","0","no","SYCL" "SYCL0","IM2COL","type_input=f32,type_kernel=f32,dst_type=f32,ne_input=[3000,128,1,1],ne_kernel=[3,128,1280,1],s0=1,s1=0,p0=1,p1=0,d0=1,d1=0,is_2D=0","support","1","yes","SYCL" "SYCL0","IM2COL","type_input=f32,type_kernel=f16,dst_type=f32,ne_input=[3000,128,1,1],ne_kernel=[3,128,1280,1],s0=1,s1=0,p0=1,p1=0,d0=1,d1=0,is_2D=0","support","1","yes","SYCL" "SYCL0","IM2COL","type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[3000,128,1,1],ne_kernel=[3,128,1280,1],s0=1,s1=0,p0=1,p1=0,d0=1,d1=0,is_2D=0","support","1","yes","SYCL" @@ -965,6 +1013,7 @@ "SYCL0","IM2COL","type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[12,12,1,2560],ne_kernel=[3,3,1,2560],s0=1,s1=1,p0=1,p1=1,d0=1,d1=1,is_2D=1","support","1","yes","SYCL" "SYCL0","IM2COL","type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[12,12,2,2560],ne_kernel=[3,3,2,2560],s0=1,s1=1,p0=1,p1=1,d0=1,d1=1,is_2D=1","support","1","yes","SYCL" "SYCL0","IM2COL","type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[5,5,1,32],ne_kernel=[3,4,1,32],s0=1,s1=1,p0=0,p1=0,d0=1,d1=1,is_2D=1","support","1","yes","SYCL" +"SYCL0","IM2COL","type_input=f32,type_kernel=f32,dst_type=f32,ne_input=[2,2,1536,729],ne_kernel=[2,2,1536,4096],s0=1,s1=1,p0=0,p1=0,d0=1,d1=1,is_2D=1","support","1","yes","SYCL" "SYCL0","IM2COL_3D","type_input=f32,type_kernel=f32,dst_type=f32,ne_input=[10,10,10,9],ne_kernel=[3,3,3,1],IC=3,s0=1,s1=1,s2=1,p0=1,p1=1,p2=1,d0=1,d1=1,d2=1,v=0","support","0","no","SYCL" "SYCL0","IM2COL_3D","type_input=f32,type_kernel=f16,dst_type=f32,ne_input=[10,10,10,9],ne_kernel=[3,3,3,1],IC=3,s0=1,s1=1,s2=1,p0=1,p1=1,p2=1,d0=1,d1=1,d2=1,v=0","support","0","no","SYCL" "SYCL0","IM2COL_3D","type_input=f32,type_kernel=f16,dst_type=f16,ne_input=[10,10,10,9],ne_kernel=[3,3,3,1],IC=3,s0=1,s1=1,s2=1,p0=1,p1=1,p2=1,d0=1,d1=1,d2=1,v=0","support","0","no","SYCL" @@ -5696,35 +5745,58 @@ "SYCL0","RMS_NORM","type=f32,ne=[64,5,4,3],v=1,eps=0.000000,inplace=0","support","1","yes","SYCL" "SYCL0","RMS_NORM_BACK","type=f32,ne=[64,5,4,3],eps=0.000000","support","1","yes","SYCL" "SYCL0","L2_NORM","type=f32,ne=[64,5,4,3]","support","1","yes","SYCL" +"SYCL0","NORM","type=f32,ne=[1025,5,4,3],v=0,eps=0.000000","support","1","yes","SYCL" +"SYCL0","RMS_NORM","type=f32,ne=[1025,5,4,3],v=0,eps=0.000000,inplace=0","support","1","yes","SYCL" +"SYCL0","NORM","type=f32,ne=[1025,5,4,3],v=1,eps=0.000000","support","1","yes","SYCL" +"SYCL0","RMS_NORM","type=f32,ne=[1025,5,4,3],v=1,eps=0.000000,inplace=0","support","1","yes","SYCL" +"SYCL0","RMS_NORM_BACK","type=f32,ne=[1025,5,4,3],eps=0.000000","support","1","yes","SYCL" +"SYCL0","L2_NORM","type=f32,ne=[1025,5,4,3]","support","1","yes","SYCL" "SYCL0","NORM","type=f32,ne=[64,5,4,3],v=0,eps=0.000001","support","1","yes","SYCL" "SYCL0","RMS_NORM","type=f32,ne=[64,5,4,3],v=0,eps=0.000001,inplace=0","support","1","yes","SYCL" "SYCL0","NORM","type=f32,ne=[64,5,4,3],v=1,eps=0.000001","support","1","yes","SYCL" "SYCL0","RMS_NORM","type=f32,ne=[64,5,4,3],v=1,eps=0.000001,inplace=0","support","1","yes","SYCL" "SYCL0","RMS_NORM_BACK","type=f32,ne=[64,5,4,3],eps=0.000001","support","1","yes","SYCL" "SYCL0","L2_NORM","type=f32,ne=[64,5,4,3]","support","1","yes","SYCL" +"SYCL0","NORM","type=f32,ne=[1025,5,4,3],v=0,eps=0.000001","support","1","yes","SYCL" +"SYCL0","RMS_NORM","type=f32,ne=[1025,5,4,3],v=0,eps=0.000001,inplace=0","support","1","yes","SYCL" +"SYCL0","NORM","type=f32,ne=[1025,5,4,3],v=1,eps=0.000001","support","1","yes","SYCL" +"SYCL0","RMS_NORM","type=f32,ne=[1025,5,4,3],v=1,eps=0.000001,inplace=0","support","1","yes","SYCL" +"SYCL0","RMS_NORM_BACK","type=f32,ne=[1025,5,4,3],eps=0.000001","support","1","yes","SYCL" +"SYCL0","L2_NORM","type=f32,ne=[1025,5,4,3]","support","1","yes","SYCL" "SYCL0","NORM","type=f32,ne=[64,5,4,3],v=0,eps=0.000100","support","1","yes","SYCL" "SYCL0","RMS_NORM","type=f32,ne=[64,5,4,3],v=0,eps=0.000100,inplace=0","support","1","yes","SYCL" "SYCL0","NORM","type=f32,ne=[64,5,4,3],v=1,eps=0.000100","support","1","yes","SYCL" "SYCL0","RMS_NORM","type=f32,ne=[64,5,4,3],v=1,eps=0.000100,inplace=0","support","1","yes","SYCL" "SYCL0","RMS_NORM_BACK","type=f32,ne=[64,5,4,3],eps=0.000100","support","1","yes","SYCL" "SYCL0","L2_NORM","type=f32,ne=[64,5,4,3]","support","1","yes","SYCL" +"SYCL0","NORM","type=f32,ne=[1025,5,4,3],v=0,eps=0.000100","support","1","yes","SYCL" +"SYCL0","RMS_NORM","type=f32,ne=[1025,5,4,3],v=0,eps=0.000100,inplace=0","support","1","yes","SYCL" +"SYCL0","NORM","type=f32,ne=[1025,5,4,3],v=1,eps=0.000100","support","1","yes","SYCL" +"SYCL0","RMS_NORM","type=f32,ne=[1025,5,4,3],v=1,eps=0.000100,inplace=0","support","1","yes","SYCL" +"SYCL0","RMS_NORM_BACK","type=f32,ne=[1025,5,4,3],eps=0.000100","support","1","yes","SYCL" +"SYCL0","L2_NORM","type=f32,ne=[1025,5,4,3]","support","1","yes","SYCL" "SYCL0","NORM","type=f32,ne=[64,5,4,3],v=0,eps=0.100000","support","1","yes","SYCL" "SYCL0","RMS_NORM","type=f32,ne=[64,5,4,3],v=0,eps=0.100000,inplace=0","support","1","yes","SYCL" "SYCL0","NORM","type=f32,ne=[64,5,4,3],v=1,eps=0.100000","support","1","yes","SYCL" "SYCL0","RMS_NORM","type=f32,ne=[64,5,4,3],v=1,eps=0.100000,inplace=0","support","1","yes","SYCL" "SYCL0","RMS_NORM_BACK","type=f32,ne=[64,5,4,3],eps=0.100000","support","1","yes","SYCL" "SYCL0","L2_NORM","type=f32,ne=[64,5,4,3]","support","1","yes","SYCL" +"SYCL0","NORM","type=f32,ne=[1025,5,4,3],v=0,eps=0.100000","support","1","yes","SYCL" +"SYCL0","RMS_NORM","type=f32,ne=[1025,5,4,3],v=0,eps=0.100000,inplace=0","support","1","yes","SYCL" +"SYCL0","NORM","type=f32,ne=[1025,5,4,3],v=1,eps=0.100000","support","1","yes","SYCL" +"SYCL0","RMS_NORM","type=f32,ne=[1025,5,4,3],v=1,eps=0.100000,inplace=0","support","1","yes","SYCL" +"SYCL0","RMS_NORM_BACK","type=f32,ne=[1025,5,4,3],eps=0.100000","support","1","yes","SYCL" +"SYCL0","L2_NORM","type=f32,ne=[1025,5,4,3]","support","1","yes","SYCL" "SYCL0","RMS_NORM","type=f32,ne=[64,5,4,3],v=0,eps=0.000001,inplace=1","support","1","yes","SYCL" -"SYCL0","L2_NORM","type=f32,ne=[64,5,4,3]","support","1","yes","SYCL" -"SYCL0","SSM_CONV","type=f32,ne_a=[4,1024,1,1],ne_b=[3,1024,1,1]","support","1","yes","SYCL" -"SYCL0","SSM_CONV","type=f32,ne_a=[8,1024,1,1],ne_b=[3,1024,1,1]","support","1","yes","SYCL" -"SYCL0","SSM_CONV","type=f32,ne_a=[4,1024,4,1],ne_b=[3,1024,1,1]","support","1","yes","SYCL" -"SYCL0","SSM_CONV","type=f32,ne_a=[4,1536,1,1],ne_b=[3,1536,1,1]","support","1","yes","SYCL" -"SYCL0","SSM_CONV","type=f32,ne_a=[8,1536,1,1],ne_b=[3,1536,1,1]","support","1","yes","SYCL" -"SYCL0","SSM_CONV","type=f32,ne_a=[4,1536,4,1],ne_b=[3,1536,1,1]","support","1","yes","SYCL" -"SYCL0","SSM_CONV","type=f32,ne_a=[4,2048,1,1],ne_b=[3,2048,1,1]","support","1","yes","SYCL" -"SYCL0","SSM_CONV","type=f32,ne_a=[8,2048,1,1],ne_b=[3,2048,1,1]","support","1","yes","SYCL" -"SYCL0","SSM_CONV","type=f32,ne_a=[4,2048,4,1],ne_b=[3,2048,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[3,1024,1,1],ne_b=[3,1024,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[6,1024,1,1],ne_b=[3,1024,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[3,1024,4,1],ne_b=[3,1024,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[3,1536,1,1],ne_b=[3,1536,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[6,1536,1,1],ne_b=[3,1536,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[3,1536,4,1],ne_b=[3,1536,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[3,2048,1,1],ne_b=[3,2048,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[6,2048,1,1],ne_b=[3,2048,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[3,2048,4,1],ne_b=[3,2048,1,1]","support","1","yes","SYCL" "SYCL0","SSM_CONV","type=f32,ne_a=[4,1024,1,1],ne_b=[4,1024,1,1]","support","1","yes","SYCL" "SYCL0","SSM_CONV","type=f32,ne_a=[8,1024,1,1],ne_b=[4,1024,1,1]","support","1","yes","SYCL" "SYCL0","SSM_CONV","type=f32,ne_a=[4,1024,4,1],ne_b=[4,1024,1,1]","support","1","yes","SYCL" @@ -5734,6 +5806,15 @@ "SYCL0","SSM_CONV","type=f32,ne_a=[4,2048,1,1],ne_b=[4,2048,1,1]","support","1","yes","SYCL" "SYCL0","SSM_CONV","type=f32,ne_a=[8,2048,1,1],ne_b=[4,2048,1,1]","support","1","yes","SYCL" "SYCL0","SSM_CONV","type=f32,ne_a=[4,2048,4,1],ne_b=[4,2048,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[9,1024,1,1],ne_b=[9,1024,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[18,1024,1,1],ne_b=[9,1024,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[9,1024,4,1],ne_b=[9,1024,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[9,1536,1,1],ne_b=[9,1536,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[18,1536,1,1],ne_b=[9,1536,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[9,1536,4,1],ne_b=[9,1536,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[9,2048,1,1],ne_b=[9,2048,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[18,2048,1,1],ne_b=[9,2048,1,1]","support","1","yes","SYCL" +"SYCL0","SSM_CONV","type=f32,ne_a=[9,2048,4,1],ne_b=[9,2048,1,1]","support","1","yes","SYCL" "SYCL0","SSM_SCAN","type=f32,d_state=16,head_dim=1,n_head=1024,n_group=1,n_seq_tokens=32,n_seqs=4","support","0","no","SYCL" "SYCL0","SSM_SCAN","type=f32,d_state=128,head_dim=64,n_head=16,n_group=2,n_seq_tokens=32,n_seqs=4","support","0","no","SYCL" "SYCL0","SSM_SCAN","type=f32,d_state=256,head_dim=64,n_head=8,n_group=2,n_seq_tokens=32,n_seqs=4","support","0","no","SYCL" @@ -6593,6 +6674,30 @@ "SYCL0","MUL_MAT","type_a=f16,type_b=f32,m=1056,n=1,k=67,bs=[1,1],nr=[4,1],per=[0,2,1,3],k_v=0,o=1","support","1","yes","SYCL" "SYCL0","MUL_MAT","type_a=f32,type_b=f32,m=64,n=77,k=77,bs=[12,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" "SYCL0","MUL_MAT","type_a=q4_0,type_b=f32,m=576,n=512,k=576,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q4_0,type_b=f32,m=1,n=2048,k=8192,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=f32,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=f16,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=bf16,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","0","no","SYCL" +"SYCL0","MUL_MAT","type_a=q4_0,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q4_1,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q5_0,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q5_1,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q8_0,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=mxfp4,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q2_K,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q3_K,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q4_K,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q5_K,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=q6_K,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=iq2_xxs,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=iq2_xs,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=iq2_s,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=iq3_xxs,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=iq1_s,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=iq1_m,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=iq4_nl,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=iq3_s,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" +"SYCL0","MUL_MAT","type_a=iq4_xs,type_b=f32,m=1,n=64,k=256,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=0,o=1","support","1","yes","SYCL" "SYCL0","MUL_MAT","type_a=f16,type_b=f32,m=1056,n=1,k=128,bs=[1,1],nr=[1,1],per=[0,2,1,3],k_v=0,o=1","support","1","yes","SYCL" "SYCL0","MUL_MAT","type_a=f16,type_b=f32,m=128,n=1,k=1056,bs=[1,1],nr=[1,1],per=[0,1,2,3],k_v=2112,o=1","support","1","yes","SYCL" "SYCL0","MUL_MAT","type_a=bf16,type_b=f32,m=1056,n=1,k=128,bs=[1,1],nr=[1,1],per=[0,2,1,3],k_v=0,o=1","support","0","no","SYCL" @@ -8917,6 +9022,11 @@ "SYCL0","SOFT_MAX","type=f32,ne=[32,2,32,1],mask=1,sinks=0,m_prec=f16,nr23=[1,1],scale=0.100000,max_bias=0.000000,inplace=0","support","1","yes","SYCL" "SYCL0","SOFT_MAX","type=f32,ne=[32,2,32,1],mask=1,sinks=1,m_prec=f32,nr23=[1,1],scale=0.100000,max_bias=8.000000,inplace=0","support","1","yes","SYCL" "SYCL0","SOFT_MAX","type=f32,ne=[32,2,32,1],mask=1,sinks=1,m_prec=f16,nr23=[1,1],scale=0.100000,max_bias=8.000000,inplace=0","support","1","yes","SYCL" +"SYCL0","SOFT_MAX","type=f32,ne=[200001,2,3,1],mask=1,sinks=1,m_prec=f32,nr23=[1,1],scale=0.100000,max_bias=8.000000,inplace=0","support","1","yes","SYCL" +"SYCL0","SOFT_MAX","type=f32,ne=[200001,2,3,1],mask=1,sinks=1,m_prec=f16,nr23=[1,1],scale=0.100000,max_bias=8.000000,inplace=0","support","1","yes","SYCL" +"SYCL0","SOFT_MAX","type=f32,ne=[200000,1,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0","support","1","yes","SYCL" +"SYCL0","SOFT_MAX","type=f32,ne=[200000,4,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0","support","1","yes","SYCL" +"SYCL0","SOFT_MAX","type=f32,ne=[643251,3,1,1],mask=0,sinks=0,m_prec=f32,nr23=[1,1],scale=1.000000,max_bias=0.000000,inplace=0","support","1","yes","SYCL" "SYCL0","SOFT_MAX_BACK","type=f32,ne=[16,16,1,1],scale=1.000000,max_bias=0.000000","support","1","yes","SYCL" "SYCL0","SOFT_MAX_BACK","type=f32,ne=[15,15,1,1],scale=1.000000,max_bias=0.000000","support","1","yes","SYCL" "SYCL0","SOFT_MAX_BACK","type=f32,ne=[16,16,2,3],scale=1.000000,max_bias=0.000000","support","1","yes","SYCL" @@ -8969,6 +9079,7 @@ "SYCL0","ROPE","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" @@ -8978,6 +9089,7 @@ "SYCL0","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" @@ -8988,11 +9100,13 @@ "SYCL0","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" @@ -9002,6 +9116,7 @@ "SYCL0","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" @@ -9012,11 +9127,13 @@ "SYCL0","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" @@ -9026,6 +9143,7 @@ "SYCL0","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" @@ -9036,11 +9154,13 @@ "SYCL0","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" @@ -9050,6 +9170,7 @@ "SYCL0","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" @@ -9060,6 +9181,7 @@ "SYCL0","ROPE","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" +"SYCL0","ROPE","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f16,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" "SYCL0","ROPE","type=f16,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","1","yes","SYCL" @@ -9185,6 +9307,7 @@ "SYCL0","ROPE_BACK","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" @@ -9194,6 +9317,7 @@ "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" @@ -9204,11 +9328,13 @@ "SYCL0","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" @@ -9218,6 +9344,7 @@ "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" @@ -9228,11 +9355,13 @@ "SYCL0","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" @@ -9242,6 +9371,7 @@ "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" @@ -9252,11 +9382,13 @@ "SYCL0","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,40,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,52,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,64,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,1,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,71,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,8,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" @@ -9266,6 +9398,7 @@ "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=20,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,2,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,32,4,1],n_dims=32,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=128,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,12,2,1],n_dims=20,mode=8,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" @@ -9276,6 +9409,7 @@ "SYCL0","ROPE_BACK","type=f32,ne_a=[128,28,2,1],n_dims=32,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[80,16,2,1],n_dims=80,mode=24,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[128,16,2,1],n_dims=128,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" +"SYCL0","ROPE_BACK","type=f32,ne_a=[16,16,8192,1],n_dims=16,mode=40,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f32,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=1,v=1,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f16,ne_a=[128,32,2,1],n_dims=128,mode=0,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" "SYCL0","ROPE_BACK","type=f16,ne_a=[64,128,2,1],n_dims=64,mode=2,n_ctx=512,fs=1.000000,ef=0.000000,af=1.000000,ff=0,v=0,inplace=0","support","0","no","SYCL" @@ -9850,26 +9984,26 @@ "SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=15,ties=0","support","0","no","SYCL" "SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=nearest,transpose=0","support","1","yes","SYCL" "SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=nearest,transpose=1","support","1","yes","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=nearest,flags=none","support","1","yes","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=nearest,flags=none","support","1","yes","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=nearest","support","1","yes","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=nearest","support","1","yes","SYCL" "SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bilinear,transpose=0","support","0","no","SYCL" "SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bilinear,transpose=1","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear,flags=none","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bilinear,flags=none","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bilinear","support","0","no","SYCL" "SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bicubic,transpose=0","support","0","no","SYCL" "SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bicubic,transpose=1","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bicubic,flags=none","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bicubic,flags=none","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=513,transpose=0","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=513,transpose=1","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear,flags=none","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bilinear,flags=none","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear,flags=align_corners","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[1,4,3,2],ne_tgt=[2,8,3,2],mode=bilinear,flags=align_corners","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[4,1,3,2],ne_tgt=[1,1,3,2],mode=bilinear,flags=align_corners","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bicubic,flags=align_corners","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[1,4,3,2],ne_tgt=[2,8,3,2],mode=bicubic,flags=align_corners","support","0","no","SYCL" -"SYCL0","UPSCALE","type=f32,ne=[4,1,3,2],ne_tgt=[1,1,3,2],mode=bicubic,flags=align_corners","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bicubic","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bicubic","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bilinear|antialias,transpose=0","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=bilinear|antialias,transpose=1","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear|antialias","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[5,7,11,13],ne_tgt=[2,5,7,11],mode=bilinear|antialias","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bilinear|align_corners","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[1,4,3,2],ne_tgt=[2,8,3,2],mode=bilinear|align_corners","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[4,1,3,2],ne_tgt=[1,1,3,2],mode=bilinear|align_corners","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=bicubic|align_corners","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[1,4,3,2],ne_tgt=[2,8,3,2],mode=bicubic|align_corners","support","0","no","SYCL" +"SYCL0","UPSCALE","type=f32,ne=[4,1,3,2],ne_tgt=[1,1,3,2],mode=bicubic|align_corners","support","0","no","SYCL" "SYCL0","SUM","type=f32,ne=[10,5,4,3]","support","1","yes","SYCL" "SYCL0","SUM_ROWS","type=f32,ne=[10,5,4,3],permute=0,slice=0","support","1","yes","SYCL" "SYCL0","SUM","type=f32,ne=[11,5,6,3],permute=[0,2,1,3]","support","0","no","SYCL" @@ -9892,8 +10026,9 @@ "SYCL0","GROUP_NORM","type=f32,ne=[64,64,320,1],num_groups=32,eps=0.000001","support","1","yes","SYCL" "SYCL0","GROUP_NORM","type=f32,ne=[9,9,1280,1],num_groups=32,eps=0.000001","support","1","yes","SYCL" "SYCL0","ACC","type=f32,ne_a=[256,17,1,1],ne_b=[256,16,1,1]","support","1","yes","SYCL" -"SYCL0","PAD","type=f32,ne_a=[512,512,1,1],pad_0=1,pad_1=1","support","1","yes","SYCL" -"SYCL0","PAD","type=f32,ne_a=[512,512,3,1],lp0=1,rp0=1,lp1=1,rp1=1,lp2=1,rp2=1,lp3=1,rp3=1,v=0","support","1","yes","SYCL" +"SYCL0","PAD","type=f32,ne_a=[512,512,1,1],pad_0=1,pad_1=1,circular=0","support","1","yes","SYCL" +"SYCL0","PAD","type=f32,ne_a=[33,17,2,1],pad_0=4,pad_1=3,circular=1","support","0","no","SYCL" +"SYCL0","PAD","type=f32,ne_a=[512,512,3,1],lp0=1,rp0=1,lp1=1,rp1=1,lp2=1,rp2=1,lp3=1,rp3=1,v=0,circular=0","support","1","yes","SYCL" "SYCL0","PAD_REFLECT_1D","type=f32,ne_a=[512,34,2,1],pad_0=10,pad_1=9","support","1","yes","SYCL" "SYCL0","PAD_REFLECT_1D","type=f32,ne_a=[3000,384,4,1],pad_0=10,pad_1=9","support","1","yes","SYCL" "SYCL0","ROLL","shift0=3,shift1=-2,shift3=1,shift4=-1","support","1","yes","SYCL" @@ -9915,6 +10050,7 @@ "SYCL0","CUMSUM","type=f32,ne=[2048,5,4,3]","support","0","no","SYCL" "SYCL0","CUMSUM","type=f32,ne=[242004,1,1,1]","support","0","no","SYCL" "SYCL0","CUMSUM","type=f32,ne=[375960,1,1,1]","support","0","no","SYCL" +"SYCL0","CUMSUM","type=f32,ne=[20481,4,1,1]","support","0","no","SYCL" "SYCL0","XIELU","type=f32,ne=[10,5,4,3]","support","0","no","SYCL" "SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=3","support","0","no","SYCL" "SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=2","support","0","no","SYCL" @@ -9924,19 +10060,41 @@ "SYCL0","FILL","type=f32,ne=[303,207,11,3],c=2.000000","support","0","no","SYCL" "SYCL0","FILL","type=f32,ne=[800,600,4,4],c=-152.000000","support","0","no","SYCL" "SYCL0","FILL","type=f32,ne=[2048,512,2,2],c=3.500000","support","0","no","SYCL" +"SYCL0","DIAG","type=f32,ne=[10,1,4,3]","support","0","no","SYCL" +"SYCL0","DIAG","type=f32,ne=[79,1,19,13]","support","0","no","SYCL" +"SYCL0","DIAG","type=f32,ne=[256,1,8,16]","support","0","no","SYCL" "SYCL0","SOLVE_TRI","type=f32,ne_lhs=[10,10,4,3],ne_rhs=[3,10,4,3]","support","0","no","SYCL" "SYCL0","SOLVE_TRI","type=f32,ne_lhs=[11,11,1,1],ne_rhs=[5,11,1,1]","support","0","no","SYCL" "SYCL0","SOLVE_TRI","type=f32,ne_lhs=[17,17,2,4],ne_rhs=[9,17,2,4]","support","0","no","SYCL" "SYCL0","SOLVE_TRI","type=f32,ne_lhs=[30,30,7,1],ne_rhs=[8,30,7,1]","support","0","no","SYCL" "SYCL0","SOLVE_TRI","type=f32,ne_lhs=[42,42,5,2],ne_rhs=[10,42,5,2]","support","0","no","SYCL" "SYCL0","SOLVE_TRI","type=f32,ne_lhs=[64,64,2,2],ne_rhs=[10,64,2,2]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[64,64,2,2],ne_rhs=[64,64,2,2]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[79,79,5,3],ne_rhs=[417,79,5,3]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[128,128,4,2],ne_rhs=[32,128,4,2]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[80,80,2,8],ne_rhs=[80,80,2,8]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[80,80,2,8],ne_rhs=[79,80,2,8]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[80,80,2,8],ne_rhs=[81,80,2,8]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[80,80,8,8],ne_rhs=[80,80,8,8]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[80,80,8,8],ne_rhs=[79,80,8,8]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[80,80,8,8],ne_rhs=[81,80,8,8]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[84,84,4,4],ne_rhs=[32,84,4,4]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[95,95,8,8],ne_rhs=[40,95,8,8]","support","0","no","SYCL" "SYCL0","SOLVE_TRI","type=f32,ne_lhs=[100,100,4,4],ne_rhs=[41,100,4,4]","support","0","no","SYCL" "SYCL0","SOLVE_TRI","type=f32,ne_lhs=[128,128,4,4],ne_rhs=[31,128,4,4]","support","0","no","SYCL" -"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[64,64,4,4],ne_rhs=[300,64,4,4]","support","0","no","SYCL" -"SYCL0","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=0","support","1","yes","SYCL" -"SYCL0","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=0","support","1","yes","SYCL" -"SYCL0","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=1","support","0","no","SYCL" -"SYCL0","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=1","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[128,128,4,4],ne_rhs=[32,128,4,4]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[128,128,3,4],ne_rhs=[32,128,3,4]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[128,128,4,1],ne_rhs=[32,128,4,1]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[64,64,4,4],ne_rhs=[200,64,4,4]","support","0","no","SYCL" +"SYCL0","SOLVE_TRI","type=f32,ne_lhs=[64,64,4,4],ne_rhs=[384,64,4,4]","support","0","no","SYCL" +"SYCL0","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=0,circular=0","support","1","yes","SYCL" +"SYCL0","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=0,circular=0","support","1","yes","SYCL" +"SYCL0","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=0,circular=1","support","0","no","SYCL" +"SYCL0","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=0,circular=1","support","0","no","SYCL" +"SYCL0","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=1,circular=0","support","0","no","SYCL" +"SYCL0","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=1,circular=0","support","0","no","SYCL" +"SYCL0","PAD","type=f32,ne_a=[512,512,1,1],lp0=0,rp0=1,lp1=0,rp1=1,lp2=0,rp2=0,lp3=0,rp3=0,v=1,circular=1","support","0","no","SYCL" +"SYCL0","PAD","type=f32,ne_a=[11,22,33,44],lp0=1,rp0=2,lp1=3,rp1=4,lp2=5,rp2=6,lp3=7,rp3=8,v=1,circular=1","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=40,hsv=40,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=40,hsv=40,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=40,hsv=40,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -14097,86 +14255,86 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -14337,46 +14495,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -14537,46 +14695,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -14737,46 +14895,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=1,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -15017,86 +15175,86 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,2,1,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,2,1,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -15257,46 +15415,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -15457,46 +15615,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -15657,46 +15815,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=1,sinks=0,max_bias=8.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -15857,46 +16015,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -16057,46 +16215,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=1,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -16257,46 +16415,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=0.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" @@ -16457,46 +16615,46 @@ "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[4,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" -"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[16,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=1,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=3,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=32,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=f32,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q8_0,permute=[0,1,2,3]","support","0","no","SYCL" +"SYCL0","FLASH_ATTN_EXT","hsk=128,hsv=128,nh=4,nr23=[12,1],kv=512,nb=35,mask=0,sinks=0,max_bias=0.000000,logit_softcap=10.000000,prec=def,type_KV=q4_0,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=192,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f32,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=192,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=f16,permute=[0,1,2,3]","support","0","no","SYCL" "SYCL0","FLASH_ATTN_EXT","hsk=192,hsv=128,nh=4,nr23=[1,1],kv=113,nb=1,mask=1,sinks=1,max_bias=0.000000,logit_softcap=0.000000,prec=f32,type_KV=bf16,permute=[0,1,2,3]","support","0","no","SYCL" diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index ce2f0d41c9..3a4c092af5 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -4606,14 +4606,12 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g return (op->type == GGML_TYPE_F32 && op->src[0]->type == GGML_TYPE_F32) && (op->type == op->src[0]->type); #endif case GGML_OP_NORM: - return true; case GGML_OP_L2_NORM: case GGML_OP_GROUP_NORM: - return ggml_is_contiguous(op->src[0]); case GGML_OP_RMS_NORM: - return ((op->src[0]->ne[0] % WARP_SIZE) == 0); + return true; case GGML_OP_RMS_NORM_BACK: - return ((op->src[0]->ne[0] % WARP_SIZE) == 0); + return ggml_is_contiguous(op->src[0]); case GGML_OP_SCALE: return true; case GGML_OP_CONT: diff --git a/ggml/src/ggml-sycl/norm.cpp b/ggml/src/ggml-sycl/norm.cpp index 823d3a4828..00702b5d09 100644 --- a/ggml/src/ggml-sycl/norm.cpp +++ b/ggml/src/ggml-sycl/norm.cpp @@ -251,7 +251,6 @@ static void norm_f32_sycl(const float * x, float * dst, const int ncols, const i const float eps, queue_ptr stream, int device) { const sycl::range<3> global_dims(nsamples, nchannels, nrows); - GGML_ASSERT(ncols % WARP_SIZE == 0); if (ncols < 1024) { const sycl::range<3> block_dims(1, 1, WARP_SIZE); stream->submit([&](sycl::handler& cgh) { @@ -334,7 +333,6 @@ static void group_norm_f32_sycl(const float* x, float* dst, static void rms_norm_f32_sycl(const float* x, float* dst, const int ncols, const int nrows, const int nchannels, const int nsamples, const int64_t stride_row, const int64_t stride_channel, const int64_t stride_sample, const float eps, queue_ptr stream, int device) { - GGML_ASSERT(ncols % WARP_SIZE == 0); // printf("%s ncols=%d, nrows=%d, WARP_SIZE=%d\n", __func__, ncols, nrows, WARP_SIZE); const sycl::range<3> global_dims(nsamples, nchannels, nrows); @@ -374,7 +372,6 @@ static void rms_norm_f32_sycl(const float* x, float* dst, const int ncols, const static void l2_norm_f32_sycl(const float* x, float* dst, const int ncols, const int nrows, const float eps, queue_ptr stream, int device) { - GGML_ASSERT(ncols % WARP_SIZE == 0); // printf("%s ncols=%d, nrows=%d, WARP_SIZE=%d\n", __func__, ncols, nrows, WARP_SIZE); if (ncols < 1024) { const sycl::range<3> block_dims(1, 1, WARP_SIZE); From 3bcc990997f201114ee6b6abdec5eb43683d7af2 Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Thu, 29 Jan 2026 10:31:28 +0800 Subject: [PATCH 052/206] CUDA: refactor topk-moe to enable more models (GLM 4.7, Nemotron etc.) (#19126) --- ggml/src/ggml-cuda/ggml-cuda.cu | 287 ++++++++++++++++++++------- ggml/src/ggml-cuda/topk-moe.cu | 330 ++++++++++++++++++-------------- ggml/src/ggml-cuda/topk-moe.cuh | 34 ++-- 3 files changed, 426 insertions(+), 225 deletions(-) diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index e9df0ea4a7..76d0f12550 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -3080,63 +3080,166 @@ static bool ggml_cuda_should_fuse_rope_set_rows(const ggml_tensor * rope, return true; } -static bool ggml_cuda_can_fuse(const struct ggml_cgraph * cgraph, int node_idx, std::initializer_list ops, std::initializer_list unary_ops) { +static bool ggml_cuda_topk_moe_fusion(const struct ggml_cgraph * cgraph, int node_idx, ggml_cuda_topk_moe_args & args) { + args.sigmoid = false; + args.softmax = false; + args.delayed_softmax = false; + args.prob_bias = false; + args.norm = false; + + const int n_nodes = cgraph->n_nodes; + ggml_tensor ** nodes = cgraph->nodes; + + if (nodes[node_idx]->op == GGML_OP_SOFT_MAX) { + args.softmax = true; + } + + if (nodes[node_idx]->op == GGML_OP_UNARY) { + if (ggml_get_unary_op(nodes[node_idx]) != GGML_UNARY_OP_SIGMOID) { + return false; + } + args.sigmoid = true; + } + + if (nodes[node_idx]->op == GGML_OP_ARGSORT) { + args.delayed_softmax = true; + } + + node_idx++; + + if (args.sigmoid || args.softmax) { + // SOFTMAX -> RESHAPE + if (node_idx >= n_nodes || nodes[node_idx]->op != GGML_OP_RESHAPE || + nodes[node_idx]->src[0] != nodes[node_idx - 1]) { + return false; + } + ggml_tensor * probs_reshaped = nodes[node_idx]; + node_idx++; + + if (node_idx >= n_nodes) { + return false; + } + + // src of bias add is the unreshaped probs (-2 instead of -1) + if (nodes[node_idx]->op == GGML_OP_ADD && nodes[node_idx]->src[0] == nodes[node_idx - 2]) { + args.prob_bias = true; + node_idx++; + } + // RESHAPE/ADD -> ARGSORT + if (node_idx >= n_nodes || nodes[node_idx]->op != GGML_OP_ARGSORT) { + return false; + } + + if (args.prob_bias && nodes[node_idx]->src[0] != nodes[node_idx - 1]) { + return false; + } else if (!args.prob_bias && nodes[node_idx]->src[0] != nodes[node_idx - 2]) { + return false; + } + + node_idx++; + + // ARGSORT-> VIEW + if (node_idx >= n_nodes || nodes[node_idx]->op != GGML_OP_VIEW || + nodes[node_idx]->src[0] != nodes[node_idx - 1]) { + return false; + } + node_idx++; + + if (node_idx >= n_nodes || nodes[node_idx]->op != GGML_OP_GET_ROWS) { + return false; + } + + // GET_ROWS + if (nodes[node_idx]->src[0] != probs_reshaped || nodes[node_idx]->src[1] != nodes[node_idx - 1]) { + return false; + } + node_idx++; + } else if (args.delayed_softmax) { + if (node_idx - 2 < 0) { + return false; + } + ggml_tensor * probs_reshaped = nodes[node_idx - 2]; + + // VIEW->ARGSORT + if (node_idx >= n_nodes || nodes[node_idx]->op != GGML_OP_VIEW || + nodes[node_idx]->src[0] != nodes[node_idx - 1]) { + return false; + } + node_idx++; + + // GET_ROWS + if (node_idx >= n_nodes || nodes[node_idx]->src[1] != nodes[node_idx - 1] || + nodes[node_idx]->src[0] != probs_reshaped) { + return false; + } + node_idx++; + + static const std::vector remaining_ops = { GGML_OP_RESHAPE, GGML_OP_SOFT_MAX, GGML_OP_RESHAPE }; + + for (const ggml_op op : remaining_ops) { + if (node_idx >= n_nodes || nodes[node_idx]->op != op || nodes[node_idx]->src[0] != nodes[node_idx - 1]) { + return false; + } + node_idx++; + } + } + + // At this point we can check for norm + scale. Everything is now at least valid till the norm + if (node_idx >= n_nodes) { + return true; + } + + if (nodes[node_idx]->op == GGML_OP_RESHAPE) { + //check RESHAPE->SUM_ROWS->CLAMP->DIV->RESHAPE + static const std::vector norm_ops = { GGML_OP_RESHAPE, GGML_OP_SUM_ROWS, GGML_OP_CLAMP }; + + args.norm = true; + for (const ggml_op op : norm_ops) { + if (nodes[node_idx]->op == op && nodes[node_idx]->src[0] == nodes[node_idx - 1]) { + node_idx++; + } else { + args.norm = false; + return true; + } + } + + // DIV <- CLAMP, RESHAPE + if (nodes[node_idx]->op != GGML_OP_DIV || nodes[node_idx]->src[1] != nodes[node_idx - 1] || + nodes[node_idx]->src[0] != nodes[node_idx - 3]) { + args.norm = false; + return true; + } + node_idx++; + + if (nodes[node_idx]->op != GGML_OP_RESHAPE || nodes[node_idx]->src[0] != nodes[node_idx - 1]) { + args.norm = false; + return true; + } + + node_idx++; + } + + if (nodes[node_idx]->op == GGML_OP_SCALE && nodes[node_idx]->src[0] == nodes[node_idx - 1]) { + args.scale = true; + } + + return true; +} + +static bool ggml_cuda_can_fuse(const struct ggml_cgraph * cgraph, + int node_idx, + std::initializer_list ops, + std::initializer_list unary_ops) { #ifndef NDEBUG const size_t num_unary = std::count(ops.begin(), ops.end(), GGML_OP_UNARY); GGML_ASSERT(unary_ops.size() == num_unary); #endif - //TODO: remove special case once ggml_can_fuse can handle empty nodes - std::initializer_list topk_moe_ops = - ggml_cuda_topk_moe_ops(/*with_norm*/ false, /*delayed_softmax=*/false); - std::initializer_list topk_moe_ops_with_norm = - ggml_cuda_topk_moe_ops(/*with_norm=*/true, /*delayed_softmax=*/false); - std::initializer_list topk_moe_ops_delayed_softmax = - ggml_cuda_topk_moe_ops(/*with_norm=*/false, /*delayed_softmax=*/true); - const auto is_equal = [](const std::initializer_list & list1, const std::initializer_list & list2) { return std::equal(list1.begin(), list1.end(), list2.begin(), list2.end()); }; - if (is_equal(topk_moe_ops_with_norm, ops) && - ggml_can_fuse_subgraph(cgraph, node_idx, ops, { node_idx + 3, node_idx + 9 })) { - ggml_tensor * softmax = cgraph->nodes[node_idx]; - ggml_tensor * weights = cgraph->nodes[node_idx + 9]; - ggml_tensor * get_rows = cgraph->nodes[node_idx + 4]; - ggml_tensor * argsort = cgraph->nodes[node_idx + 2]; - int n_expert = cgraph->nodes[node_idx]->src[0]->ne[0]; - - if (ggml_cuda_should_use_topk_moe(softmax, weights, get_rows, argsort, nullptr, n_expert)) { - return true; - } - } - - if (is_equal(topk_moe_ops, ops) && ggml_can_fuse_subgraph(cgraph, node_idx, ops, { node_idx + 3, node_idx + 4 })) { - ggml_tensor * softmax = cgraph->nodes[node_idx]; - ggml_tensor * weights = cgraph->nodes[node_idx + 4]; - ggml_tensor * get_rows = cgraph->nodes[node_idx + 4]; - ggml_tensor * argsort = cgraph->nodes[node_idx + 2]; - int n_expert = cgraph->nodes[node_idx]->src[0]->ne[0]; - - if (ggml_cuda_should_use_topk_moe(softmax, weights, get_rows, argsort, nullptr, n_expert)) { - return true; - } - } - - if (is_equal(topk_moe_ops_delayed_softmax, ops) && - ggml_can_fuse_subgraph(cgraph, node_idx, ops, { node_idx + 1, node_idx + 5 })) { - ggml_tensor * softmax = cgraph->nodes[node_idx + 4]; - ggml_tensor * weights = cgraph->nodes[node_idx + 5]; - ggml_tensor * get_rows = cgraph->nodes[node_idx + 2]; - ggml_tensor * argsort = cgraph->nodes[node_idx + 0]; - int n_expert = cgraph->nodes[node_idx]->src[0]->ne[0]; - - if (ggml_cuda_should_use_topk_moe(softmax, weights, get_rows, argsort, nullptr, n_expert)) { - return true; - } - } - std::initializer_list mul_mat_bias_glu_ops = { GGML_OP_MUL_MAT, GGML_OP_ADD, GGML_OP_MUL_MAT, GGML_OP_ADD, GGML_OP_GLU }; std::initializer_list mul_mat_id_bias_glu_ops = { GGML_OP_MUL_MAT_ID, GGML_OP_ADD_ID, GGML_OP_MUL_MAT_ID, GGML_OP_ADD_ID, GGML_OP_GLU }; @@ -3398,35 +3501,75 @@ static void ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context * cud // start of fusion operations static bool disable_fusion = (getenv("GGML_CUDA_DISABLE_FUSION") != nullptr); if (!disable_fusion) { + ggml_cuda_topk_moe_args args; - if (ggml_cuda_can_fuse(cgraph, i, ggml_cuda_topk_moe_ops(/*with norm*/ true), {})) { - ggml_tensor * weights = cgraph->nodes[i + 9]; - ggml_tensor * selected_experts = cgraph->nodes[i + 3]; - ggml_tensor * clamp = cgraph->nodes[i + 7]; - ggml_cuda_op_topk_moe(*cuda_ctx, node->src[0], weights, selected_experts, /*with norm*/ true, - /*delayed softmax*/ false, clamp); - i += 9; - continue; - } + if (cgraph->nodes[i]->op == GGML_OP_UNARY || cgraph->nodes[i]->op == GGML_OP_SOFT_MAX || + cgraph->nodes[i]->op == GGML_OP_ARGSORT) { + const bool can_fuse = ggml_cuda_topk_moe_fusion(cgraph, i, args); - if (ggml_cuda_can_fuse(cgraph, i, ggml_cuda_topk_moe_ops(/*with norm*/ false), {})) { - ggml_tensor * weights = cgraph->nodes[i + 4]; - ggml_tensor * selected_experts = cgraph->nodes[i + 3]; - ggml_cuda_op_topk_moe(*cuda_ctx, node->src[0], weights, selected_experts, /*with norm*/ false, - /*delayed softmax*/ false); - i += 4; - continue; - } + std::vector ops; - if (ggml_cuda_can_fuse(cgraph, i, - ggml_cuda_topk_moe_ops(/*with norm*/ false, /*delayed softmax*/ true), {})) { - ggml_tensor * weights = cgraph->nodes[i + 5]; - ggml_tensor * ids = cgraph->nodes[i + 1]; + if (can_fuse) { + const ggml_tensor * logits = node->src[0]; + ggml_tensor * weights = nullptr; + ggml_tensor * ids = nullptr; + const ggml_tensor * bias = nullptr; + const ggml_tensor * clamp = nullptr; + const ggml_tensor * scale = nullptr; - ggml_cuda_op_topk_moe(*cuda_ctx, node->src[0], weights, ids, /*with norm*/ false, - /*delayed_softmax*/ true); - i += 5; - continue; + if (!args.delayed_softmax) { + ggml_op gating_op = args.sigmoid ? GGML_OP_UNARY : GGML_OP_SOFT_MAX; + int out_nodes[2]; // nodes which can't be elided + + if (args.prob_bias) { + bias = cgraph->nodes[i + 2]->src[1]; + ops.insert(ops.end(), { gating_op, GGML_OP_RESHAPE, GGML_OP_ADD, GGML_OP_ARGSORT, + GGML_OP_VIEW, GGML_OP_GET_ROWS }); + out_nodes[0] = i + 4; + ids = cgraph->nodes[i + 4]; + } else { + ops.insert(ops.end(), { gating_op, GGML_OP_RESHAPE, GGML_OP_ARGSORT, GGML_OP_VIEW, + GGML_OP_GET_ROWS }); + out_nodes[0] = i + 3; + ids = cgraph->nodes[i + 3]; + } + + if (args.norm) { + ops.insert(ops.end(), { GGML_OP_RESHAPE, GGML_OP_SUM_ROWS, GGML_OP_CLAMP, + GGML_OP_DIV, GGML_OP_RESHAPE }); + clamp = cgraph->nodes[i + ops.size() - 3]; + } + if (args.scale) { + ops.insert(ops.end(), { GGML_OP_SCALE }); + scale = cgraph->nodes[i + ops.size() - 1]; + } + + weights = cgraph->nodes[i + ops.size() - 1]; + out_nodes[1] = i + ops.size() - 1; + + if (ggml_can_fuse_subgraph(cgraph, i, ops.size(), ops.data(), out_nodes, 2) && + ggml_cuda_should_use_topk_moe(node, logits, weights, ids)) { + ggml_cuda_op_topk_moe(*cuda_ctx, logits, weights, ids, clamp, scale, bias, args); + i += ops.size() - 1; + continue; + } + } else if (!args.norm && !args.prob_bias) { + //special case gpt-oss, no norm, no bias. + ops.insert(ops.end(), { GGML_OP_ARGSORT, GGML_OP_VIEW, GGML_OP_GET_ROWS, + GGML_OP_RESHAPE, GGML_OP_SOFT_MAX, GGML_OP_RESHAPE }); + weights = cgraph->nodes[i + 5]; + ids = cgraph->nodes[i + 1]; + const ggml_tensor * softmax = cgraph->nodes[i + 4]; + + int out_nodes[2] = { i + 1, i + 5 }; + if (ggml_can_fuse_subgraph(cgraph, i, ops.size(), ops.data(), out_nodes, 2) && + ggml_cuda_should_use_topk_moe(softmax, logits, weights, ids)) { + ggml_cuda_op_topk_moe(*cuda_ctx, logits, weights, ids, clamp, scale, bias, args); + i += ops.size() - 1; + continue; + } + } + } } if (ggml_cuda_can_fuse(cgraph, i, { GGML_OP_ROPE, GGML_OP_VIEW, GGML_OP_SET_ROWS }, {})) { diff --git a/ggml/src/ggml-cuda/topk-moe.cu b/ggml/src/ggml-cuda/topk-moe.cu index 48e569efa0..08a88990dd 100644 --- a/ggml/src/ggml-cuda/topk-moe.cu +++ b/ggml/src/ggml-cuda/topk-moe.cu @@ -5,6 +5,13 @@ #include #include +// Kernel config struct - passed by value to CUDA kernel +struct topk_moe_config { + bool use_sigmoid; + bool with_norm; + bool delayed_softmax; +}; + // Warp-local softmax used for both the pre-top-k logits and the post-top-k delayed path. template __device__ void softmax_warp_inplace(float (&vals)[experts_per_thread], const int limit, const int lane) { @@ -50,6 +57,16 @@ __device__ void softmax_warp_inplace(float (&vals)[experts_per_thread], const in } } +template +__device__ void sigmoid_warp_inplace(float (&vals)[experts_per_thread], const int limit, const int lane) { +#pragma unroll + for (int i = 0; i < experts_per_thread; i++) { + const int idx = lane + i * WARP_SIZE; + const bool active = !use_limit || (idx < limit); + vals[i] = active ? 1.f / (1.f + expf(-vals[i])) : -INFINITY; + } +} + /* This kernel does the following: 1. optionally softmax over the logits per token [n_experts, n_tokens] @@ -59,13 +76,16 @@ __device__ void softmax_warp_inplace(float (&vals)[experts_per_thread], const in It is intended as fusion of softmax->top-k->get_rows pipeline for MoE models */ -template -__launch_bounds__(4 * WARP_SIZE, 1) __global__ void topk_moe_cuda(const float * logits, - float * weights, - int32_t * ids, - const int n_rows, - const int n_expert_used, - const float clamp_val) { +template +__launch_bounds__(4 * WARP_SIZE, 1) __global__ void topk_moe_cuda(const float * logits, + float * weights, + int32_t * ids, + float * bias, + const int n_rows, + const int n_expert_used, + const float clamp_val, + const float scale_val, + const topk_moe_config config) { const int row = blockIdx.x * blockDim.y + threadIdx.y; if (row >= n_rows) { return; @@ -79,14 +99,41 @@ __launch_bounds__(4 * WARP_SIZE, 1) __global__ void topk_moe_cuda(const float * float wt[experts_per_thread]; + // Initialize all slots to -INFINITY +#pragma unroll + for (int i = 0; i < experts_per_thread; i++) { + wt[i] = -INFINITY; + } + #pragma unroll for (int i = 0; i < n_experts; i += WARP_SIZE) { const int expert = i + threadIdx.x; wt[i / WARP_SIZE] = (n_experts % WARP_SIZE == 0 || expert < n_experts) ? logits[expert] : -INFINITY; } - if constexpr (!delayed_softmax) { - softmax_warp_inplace(wt, n_experts, threadIdx.x); + if (!config.delayed_softmax) { + if (config.use_sigmoid) { + sigmoid_warp_inplace(wt, n_experts, threadIdx.x); + } else { + softmax_warp_inplace(wt, n_experts, threadIdx.x); + } + } + + // selection_wt is only needed when bias is present (selection uses wt + bias) + // when no bias, we use wt directly for both selection and weight values + float selection_wt[has_bias ? experts_per_thread : 1]; + + if constexpr (has_bias) { +#pragma unroll + for (int i = 0; i < experts_per_thread; i++) { + selection_wt[i] = -INFINITY; + } +#pragma unroll + for (int i = 0; i < n_experts; i += WARP_SIZE) { + const int expert = i + threadIdx.x; + selection_wt[i / WARP_SIZE] = + (n_experts % WARP_SIZE == 0 || expert < n_experts) ? wt[i / WARP_SIZE] + bias[expert] : -INFINITY; + } } //at this point, each thread holds either a portion of the softmax distribution @@ -106,22 +153,56 @@ __launch_bounds__(4 * WARP_SIZE, 1) __global__ void topk_moe_cuda(const float * float max_val = wt[0]; int max_expert = threadIdx.x; -#pragma unroll - for (int i = 1; i < experts_per_thread; i++) { - const int expert = threadIdx.x + i * WARP_SIZE; - if ((n_experts % WARP_SIZE == 0 || expert < n_experts) && wt[i] > max_val) { - max_val = wt[i]; - max_expert = expert; - } - } + if constexpr (has_bias) { + float max_val_s = selection_wt[0]; #pragma unroll - for (int mask = WARP_SIZE / 2; mask > 0; mask /= 2) { - const float val = __shfl_xor_sync(0xFFFFFFFF, max_val, mask, WARP_SIZE); - const int expert = __shfl_xor_sync(0xFFFFFFFF, max_expert, mask, WARP_SIZE); - if (val > max_val || (val == max_val && expert < max_expert)) { - max_val = val; - max_expert = expert; + for (int i = 1; i < experts_per_thread; i++) { + const int expert = threadIdx.x + i * WARP_SIZE; + if ((n_experts % WARP_SIZE == 0 || expert < n_experts) && selection_wt[i] > max_val_s) { + max_val = wt[i]; + max_val_s = selection_wt[i]; + max_expert = expert; + } + } + +#pragma unroll + for (int mask = WARP_SIZE / 2; mask > 0; mask /= 2) { + const float val = __shfl_xor_sync(0xFFFFFFFF, max_val, mask, WARP_SIZE); + const float val_s = __shfl_xor_sync(0xFFFFFFFF, max_val_s, mask, WARP_SIZE); + const int expert = __shfl_xor_sync(0xFFFFFFFF, max_expert, mask, WARP_SIZE); + if (val_s > max_val_s || (val_s == max_val_s && expert < max_expert)) { + max_val = val; + max_val_s = val_s; + max_expert = expert; + } + } + + if ((max_expert & (WARP_SIZE - 1)) == threadIdx.x) { + selection_wt[max_expert / WARP_SIZE] = -INFINITY; + } + } else { +#pragma unroll + for (int i = 1; i < experts_per_thread; i++) { + const int expert = threadIdx.x + i * WARP_SIZE; + if ((n_experts % WARP_SIZE == 0 || expert < n_experts) && wt[i] > max_val) { + max_val = wt[i]; + max_expert = expert; + } + } + +#pragma unroll + for (int mask = WARP_SIZE / 2; mask > 0; mask /= 2) { + const float val = __shfl_xor_sync(0xFFFFFFFF, max_val, mask, WARP_SIZE); + const int expert = __shfl_xor_sync(0xFFFFFFFF, max_expert, mask, WARP_SIZE); + if (val > max_val || (val == max_val && expert < max_expert)) { + max_val = val; + max_expert = expert; + } + } + + if ((max_expert & (WARP_SIZE - 1)) == threadIdx.x) { + wt[max_expert / WARP_SIZE] = -INFINITY; } } @@ -130,16 +211,14 @@ __launch_bounds__(4 * WARP_SIZE, 1) __global__ void topk_moe_cuda(const float * } if ((max_expert & (WARP_SIZE - 1)) == threadIdx.x) { - wt[max_expert / WARP_SIZE] = -INFINITY; - ids[k] = max_expert; - if constexpr (with_norm) { + if (config.with_norm) { wt_sum += max_val; } } } - if constexpr (with_norm) { + if (config.with_norm) { wt_sum = warp_reduce_sum(wt_sum); wt_sum = max(wt_sum, clamp_val); const float inv_sum = 1.0f / wt_sum; @@ -149,7 +228,7 @@ __launch_bounds__(4 * WARP_SIZE, 1) __global__ void topk_moe_cuda(const float * } } - if constexpr (delayed_softmax) { + if (config.delayed_softmax) { softmax_warp_inplace(output_weights, n_expert_used, threadIdx.x); } @@ -157,25 +236,25 @@ __launch_bounds__(4 * WARP_SIZE, 1) __global__ void topk_moe_cuda(const float * for (int i = 0; i < experts_per_thread; i++) { const int idx = i * WARP_SIZE + threadIdx.x; if (idx < n_expert_used) { - weights[idx] = output_weights[i]; + weights[idx] = output_weights[i] * scale_val; } } - - if (!with_norm) { - GGML_UNUSED(clamp_val); - } } -template +template static void launch_topk_moe_cuda(ggml_backend_cuda_context & ctx, const float * logits, float * weights, int32_t * ids, + float * bias, const int n_rows, const int n_expert, const int n_expert_used, - const float clamp_val) { - static_assert(!(with_norm && delayed_softmax), "delayed softmax is not supported with weight normalization"); + const float clamp_val, + const float scale_val, + const topk_moe_config config) { + GGML_ASSERT(!(config.with_norm && config.delayed_softmax) && + "delayed softmax is not supported with weight normalization"); const int rows_per_block = 4; dim3 grid_dims((n_rows + rows_per_block - 1) / rows_per_block, 1, 1); dim3 block_dims(WARP_SIZE, rows_per_block, 1); @@ -183,44 +262,48 @@ static void launch_topk_moe_cuda(ggml_backend_cuda_context & ctx, switch (n_expert) { case 1: - topk_moe_cuda<1, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<1, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; case 2: - topk_moe_cuda<2, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<2, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; case 4: - topk_moe_cuda<4, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<4, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; case 8: - topk_moe_cuda<8, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<8, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; case 16: - topk_moe_cuda<16, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<16, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; case 32: - topk_moe_cuda<32, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<32, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; case 64: - topk_moe_cuda<64, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<64, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; case 128: - topk_moe_cuda<128, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<128, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; case 256: - topk_moe_cuda<256, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<256, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; case 512: - topk_moe_cuda<512, with_norm, delayed_softmax> - <<>>(logits, weights, ids, n_rows, n_expert_used, clamp_val); + topk_moe_cuda<512, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); + break; + case 576: + topk_moe_cuda<576, has_bias><<>>(logits, weights, ids, bias, n_rows, n_expert_used, + clamp_val, scale_val, config); break; default: GGML_ASSERT(false && "fatal error"); @@ -228,13 +311,14 @@ static void launch_topk_moe_cuda(ggml_backend_cuda_context & ctx, } } -void ggml_cuda_op_topk_moe(ggml_backend_cuda_context & ctx, - const ggml_tensor * logits, - ggml_tensor * weights, - ggml_tensor * ids, - const bool with_norm, - const bool delayed_softmax, - ggml_tensor * clamp) { +void ggml_cuda_op_topk_moe(ggml_backend_cuda_context & ctx, + const ggml_tensor * logits, + ggml_tensor * weights, + ggml_tensor * ids, + const ggml_tensor * clamp, + const ggml_tensor * scale, + const ggml_tensor * bias, + const ggml_cuda_topk_moe_args & args) { GGML_ASSERT(logits->type == GGML_TYPE_F32); GGML_ASSERT(weights->type == GGML_TYPE_F32); GGML_ASSERT(ids->type == GGML_TYPE_I32); @@ -245,107 +329,75 @@ void ggml_cuda_op_topk_moe(ggml_backend_cuda_context & ctx, const float * logits_d = (const float *) logits->data; float * weights_d = (float *) weights->data; int32_t * ids_d = (int32_t *) ids->data; + float * bias_d = bias ? (float *) bias->data : nullptr; + + float scale_val = scale ? ggml_get_op_params_f32(scale, 0) : 1.0f; GGML_ASSERT(ids->nb[1] / ggml_type_size(ids->type) == (size_t) n_experts); const int n_expert_used = weights->ne[1]; + const bool with_norm = clamp != nullptr; + float clamp_val = -INFINITY; - if (with_norm) { - if (clamp) { - clamp_val = ggml_get_op_params_f32(clamp, 0); - } - launch_topk_moe_cuda(ctx, logits_d, weights_d, ids_d, n_rows, n_experts, n_expert_used, clamp_val); + if (clamp) { + clamp_val = ggml_get_op_params_f32(clamp, 0); + } + + topk_moe_config config; + config.use_sigmoid = args.sigmoid; + config.with_norm = with_norm; + config.delayed_softmax = args.delayed_softmax; + + if (bias) { + launch_topk_moe_cuda(ctx, logits_d, weights_d, ids_d, bias_d, n_rows, n_experts, n_expert_used, clamp_val, + scale_val, config); } else { - GGML_ASSERT(clamp == nullptr); - if (delayed_softmax) { - launch_topk_moe_cuda(ctx, logits_d, weights_d, ids_d, n_rows, n_experts, n_expert_used, - clamp_val); - } else { - launch_topk_moe_cuda(ctx, logits_d, weights_d, ids_d, n_rows, n_experts, n_expert_used, - clamp_val); - } + launch_topk_moe_cuda(ctx, logits_d, weights_d, ids_d, bias_d, n_rows, n_experts, n_expert_used, clamp_val, + scale_val, config); } } -bool ggml_cuda_should_use_topk_moe(const ggml_tensor * softmax, +bool ggml_cuda_should_use_topk_moe(const ggml_tensor * gating_op, const ggml_tensor * weights, - const ggml_tensor * get_rows, - const ggml_tensor * argsort, - const ggml_tensor * clamp, - int n_expert) { - ggml_tensor * probs = get_rows->src[0]; - if (probs->op != GGML_OP_RESHAPE) { - return false; - } - probs = probs->src[0]; - ggml_tensor * selection_probs = argsort->src[0]; - - if (probs != selection_probs) { + const ggml_tensor * logits, + const ggml_tensor * ids) { + const int n_expert = ids->nb[1] / ids->nb[0]; + if (((n_expert & (n_expert - 1)) != 0 || n_expert > 512) && n_expert != 576) { return false; } - float scale = 1.0f; - float max_bias = 0.0f; - - memcpy(&scale, (const float *) softmax->op_params + 0, sizeof(float)); - memcpy(&max_bias, (const float *) softmax->op_params + 1, sizeof(float)); - - if (!ggml_is_contiguous(softmax->src[0]) || !ggml_is_contiguous(weights)) { + if (!ggml_is_contiguous(weights) || !ggml_is_contiguous(logits)) { return false; } - if (scale != 1.0f || max_bias != 0.0f) { - return false; - } + if (gating_op->op == GGML_OP_SOFT_MAX) { + const ggml_tensor * softmax = gating_op; + float scale = 1.0f; + float max_bias = 0.0f; - // don't fuse when masks or sinks are present - if (softmax->src[1] || softmax->src[2]) { - return false; - } + memcpy(&scale, (const float *) softmax->op_params + 0, sizeof(float)); + memcpy(&max_bias, (const float *) softmax->op_params + 1, sizeof(float)); - // n_expert must be a power of 2 - if ((n_expert & (n_expert - 1)) != 0 || n_expert > 512) { - return false; - } - - if (clamp) { - if (clamp->op != GGML_OP_CLAMP) { + if (!ggml_is_contiguous(softmax->src[0])) { return false; } - float max_val = ggml_get_op_params_f32(clamp, 1); - if (max_val != INFINITY) { + if (scale != 1.0f || max_bias != 0.0f) { + return false; + } + + // don't fuse when masks or sinks are present + if (softmax->src[1] || softmax->src[2]) { + return false; + } + } else if (gating_op->op == GGML_OP_UNARY) { + ggml_unary_op op = ggml_get_unary_op(gating_op); + + if (op != GGML_UNARY_OP_SIGMOID) { return false; } } - return true; } - -std::initializer_list ggml_cuda_topk_moe_ops(bool norm, bool delayed_softmax) { - static std::initializer_list norm_ops = { GGML_OP_SOFT_MAX, GGML_OP_RESHAPE, GGML_OP_ARGSORT, - GGML_OP_VIEW, GGML_OP_GET_ROWS, GGML_OP_RESHAPE, - GGML_OP_SUM_ROWS, GGML_OP_CLAMP, GGML_OP_DIV, - GGML_OP_RESHAPE }; - - static std::initializer_list no_norm_ops = { GGML_OP_SOFT_MAX, GGML_OP_RESHAPE, GGML_OP_ARGSORT, - GGML_OP_VIEW, GGML_OP_GET_ROWS }; - - static std::initializer_list delayed_softmax_ops = { GGML_OP_ARGSORT, GGML_OP_VIEW, - GGML_OP_GET_ROWS, GGML_OP_RESHAPE, - GGML_OP_SOFT_MAX, GGML_OP_RESHAPE }; - - GGML_ASSERT(!norm || !delayed_softmax); - - if (delayed_softmax) { - return delayed_softmax_ops; - } - - if (norm) { - return norm_ops; - } - - return no_norm_ops; -} diff --git a/ggml/src/ggml-cuda/topk-moe.cuh b/ggml/src/ggml-cuda/topk-moe.cuh index 6b6c13c587..243dc2f1c4 100644 --- a/ggml/src/ggml-cuda/topk-moe.cuh +++ b/ggml/src/ggml-cuda/topk-moe.cuh @@ -3,19 +3,25 @@ #include -void ggml_cuda_op_topk_moe(ggml_backend_cuda_context & ctx, - const ggml_tensor * logits, - ggml_tensor * weights, - ggml_tensor * ids, - const bool with_norm, - const bool delayed_softmax = false, - ggml_tensor * weight_clamp = nullptr); +struct ggml_cuda_topk_moe_args { + bool sigmoid{}; + bool softmax{}; + bool delayed_softmax{}; + bool prob_bias{}; + bool norm{}; + bool scale{}; +}; -bool ggml_cuda_should_use_topk_moe(const ggml_tensor * softmax, +void ggml_cuda_op_topk_moe(ggml_backend_cuda_context & ctx, + const ggml_tensor * logits, + ggml_tensor * weights, + ggml_tensor * ids, + const ggml_tensor * clamp, + const ggml_tensor * scale, + const ggml_tensor * bias, + const ggml_cuda_topk_moe_args & args); + +bool ggml_cuda_should_use_topk_moe(const ggml_tensor * gating_op, const ggml_tensor * weights, - const ggml_tensor * get_rows, - const ggml_tensor * argsort, - const ggml_tensor * clamp, - int n_expert); - -std::initializer_list ggml_cuda_topk_moe_ops(bool with_norm, bool delayed_softmax = false); + const ggml_tensor * logits, + const ggml_tensor * ids); From b33df266d0a53f800c47513386920cff1019d70e Mon Sep 17 00:00:00 2001 From: Vishal Singh Date: Thu, 29 Jan 2026 09:58:57 +0530 Subject: [PATCH 053/206] ggml-zendnn : resolve ZenDNN backend cross-module symbol dependency (#19159) --- ggml/src/ggml-zendnn/ggml-zendnn.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/ggml/src/ggml-zendnn/ggml-zendnn.cpp b/ggml/src/ggml-zendnn/ggml-zendnn.cpp index afbecde7a5..551c15bb4a 100644 --- a/ggml/src/ggml-zendnn/ggml-zendnn.cpp +++ b/ggml/src/ggml-zendnn/ggml-zendnn.cpp @@ -2,7 +2,6 @@ #include "ggml-backend-impl.h" #include "ggml-impl.h" -#include "ggml-cpu.h" #include "zendnnl.hpp" #include @@ -122,8 +121,8 @@ static void ggml_zendnn_compute_forward_mul_mat( GGML_TENSOR_BINARY_OP_LOCALS - ggml_type const vec_dot_type = ggml_get_type_traits_cpu(src0->type)->vec_dot_type; - ggml_from_float_t const from_float = ggml_get_type_traits_cpu(vec_dot_type)->from_float; + ggml_type const vec_dot_type = src0->type; + ggml_from_float_t const from_float = ggml_get_type_traits(vec_dot_type)->from_float_ref; GGML_ASSERT(ne0 == ne01); GGML_ASSERT(ne1 == ne11); From eed25bc6b052c363aa760d0055282cc2222ccf6e Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 29 Jan 2026 08:50:47 +0200 Subject: [PATCH 054/206] arg : add -kvu to llama-batched-bench (#19172) --- common/arg.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/arg.cpp b/common/arg.cpp index a685c418bf..218418f070 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1301,7 +1301,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params, bool value) { params.kv_unified = value; } - ).set_env("LLAMA_ARG_KV_UNIFIED").set_examples({LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_PERPLEXITY, LLAMA_EXAMPLE_BATCHED})); + ).set_env("LLAMA_ARG_KV_UNIFIED").set_examples({LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_PERPLEXITY, LLAMA_EXAMPLE_BATCHED, LLAMA_EXAMPLE_BENCH})); add_opt(common_arg( {"--context-shift"}, {"--no-context-shift"}, From f3dd7b8e680e37342649024c0ee282c5d60b83da Mon Sep 17 00:00:00 2001 From: yulo <77381088+zhang-hui-yulo@users.noreply.github.com> Date: Thu, 29 Jan 2026 18:10:53 +0800 Subject: [PATCH 055/206] HIP: add mmf for CDNA (#18896) * refactor mmf rows_per_block * speed up compile * pass cdna compile * fix cuda error * clean up mmf * f32 mmf * clean float mma * fix mmf error * faster mmf * extend tile k * fix compile error * Revert "extend tile k" This reverts commit 4d2ef3d483932659801a59a5af0b6b48f6ffd5c7. * fix smem overflow * speed up compiling mmf * speed up compile for hip * 512 block for cdna * config pad size * fix as comment * update select logic * move some code to cuh * fix as comment * correct cdna3 config --------- Co-authored-by: zhang hui --- ggml/src/ggml-cuda/mma.cuh | 102 ++++++++++++- ggml/src/ggml-cuda/mmf.cu | 40 +++-- ggml/src/ggml-cuda/mmf.cuh | 243 ++++++++++++++++++++----------- ggml/src/ggml-hip/CMakeLists.txt | 2 + 4 files changed, 288 insertions(+), 99 deletions(-) diff --git a/ggml/src/ggml-cuda/mma.cuh b/ggml/src/ggml-cuda/mma.cuh index 42085d1002..dd45d6c78f 100644 --- a/ggml/src/ggml-cuda/mma.cuh +++ b/ggml/src/ggml-cuda/mma.cuh @@ -333,7 +333,33 @@ namespace ggml_cuda_mma { static __device__ __forceinline__ int get_j(const int l) { if constexpr (I == 16 && J == 8) { - return 4 * (threadIdx.x / 16) + l; + return ne * (threadIdx.x / 16) + l; + } else { + NO_DEVICE_CODE; + return -1; + } + } +#elif defined(AMD_MFMA_AVAILABLE) + static constexpr int ne = I * J / 64; + half2 x[ne] = {{0.0f, 0.0f}}; + + static constexpr __device__ bool supported() { + if (I == 16 && J == 8) return true; + return false; + } + + static __device__ __forceinline__ int get_i(const int l) { + if constexpr (I == 16 && J == 8) { + return threadIdx.x % 16; + } else { + NO_DEVICE_CODE; + return -1; + } + } + + static __device__ __forceinline__ int get_j(const int l) { + if constexpr (I == 16 && J == 8) { + return ne * (threadIdx.x / 16) + l; } else { NO_DEVICE_CODE; return -1; @@ -391,7 +417,22 @@ namespace ggml_cuda_mma { static constexpr data_layout dl = DATA_LAYOUT_I_MAJOR; #if defined(AMD_WMMA_AVAILABLE) - static constexpr int ne = I * J / 32; + static constexpr int ne = tile::ne; + nv_bfloat162 x[ne] = {{0.0f, 0.0f}}; + + static constexpr __device__ bool supported() { + return tile::supported(); + } + + static __device__ __forceinline__ int get_i(const int l) { + return tile::get_i(l); + } + + static __device__ __forceinline__ int get_j(const int l) { + return tile::get_j(l); + } +#elif defined(AMD_MFMA_AVAILABLE) + static constexpr int ne = tile::ne; nv_bfloat162 x[ne] = {{0.0f, 0.0f}}; static constexpr __device__ bool supported() { @@ -945,6 +986,32 @@ namespace ggml_cuda_mma { #endif // AMPERE_MMA_AVAILABLE } + template + static __device__ __forceinline__ void mma( + tile<16, 16, float, dl_d> & D, const tile<16, 8, float, dl_ab> & A, const tile<16, 8, float, dl_ab> & B) { +#ifdef AMD_MFMA_AVAILABLE + using floatx4_t = __attribute__((ext_vector_type(4))) float; + floatx4_t& acc_frag = reinterpret_cast(D.x[0]); +#if defined(CDNA3) + using floatx2_t = __attribute__((ext_vector_type(2))) float; + const floatx2_t& a_frag = reinterpret_cast(A.x[0]); + const floatx2_t& b_frag = reinterpret_cast(B.x[0]); + acc_frag = __builtin_amdgcn_mfma_f32_16x16x8_xf32(a_frag, b_frag, acc_frag, 0, 0, 0); +#elif defined(CDNA2) || defined(CDNA1) +#pragma unroll + for (int i = 0; i < 2; ++i) { + acc_frag = __builtin_amdgcn_mfma_f32_16x16x4f32(A.x[i], B.x[i], acc_frag, 0, 0, 0); + } +#else + GGML_UNUSED_VARS(D, A, B); + NO_DEVICE_CODE; +#endif // defined(CDNA3) +#else + GGML_UNUSED_VARS(D, A, B); + NO_DEVICE_CODE; +#endif // AMD_MFMA_AVAILABLE + } + static __device__ __forceinline__ void mma_block_scaled(tile<16, 8, float> & D, const tile<16, 8, int> & A, const tile<8, 8, int> & B, @@ -1054,6 +1121,13 @@ namespace ggml_cuda_mma { GGML_UNUSED_VARS(D, A, B); NO_DEVICE_CODE; #endif // RDNA4 +#elif defined(AMD_MFMA_AVAILABLE) + using halfx4_t = __attribute__((ext_vector_type(4))) _Float16; + using floatx4_t = __attribute__((ext_vector_type(4))) float; + floatx4_t& acc_frag = reinterpret_cast(D.x[0]); + const halfx4_t& a_frag = reinterpret_cast(A.x[0]); + const halfx4_t& b_frag = reinterpret_cast(B.x[0]); + acc_frag = __builtin_amdgcn_mfma_f32_16x16x16f16(a_frag, b_frag, acc_frag, 0, 0, 0); #else GGML_UNUSED_VARS(D, A, B); NO_DEVICE_CODE; @@ -1081,11 +1155,31 @@ namespace ggml_cuda_mma { #else GGML_UNUSED_VARS(D, A, B); NO_DEVICE_CODE; -#endif // RDNA4 +#endif // defined(RDNA4) +#elif defined(AMD_MFMA_AVAILABLE) + using floatx4_t = __attribute__((ext_vector_type(4))) float; + floatx4_t& acc_frag = reinterpret_cast(D.x[0]); +#if defined(CDNA3) || defined(CDNA2) + using bf16x4_t = __attribute__((ext_vector_type(4))) __bf16; + const bf16x4_t& a_frag = reinterpret_cast(A.x[0]); + const bf16x4_t& b_frag = reinterpret_cast(B.x[0]); + acc_frag = __builtin_amdgcn_mfma_f32_16x16x16bf16_1k(a_frag, b_frag, acc_frag, 0, 0, 0); +#elif defined(CDNA1) +#pragma unroll + for (int i = 0; i < 2; ++i) { + using bf16x2_t = __attribute__((ext_vector_type(2))) __bf16; + const bf16x2_t& a_frag = reinterpret_cast(A.x[i]); + const bf16x2_t& b_frag = reinterpret_cast(B.x[i]); + acc_frag = __builtin_amdgcn_mfma_f32_16x16x8bf16(a_frag, b_frag, acc_frag, 0, 0, 0); + } #else GGML_UNUSED_VARS(D, A, B); NO_DEVICE_CODE; -#endif // AMPERE_MMA_AVAILABLE +#endif // defined(CDNA3) || defined(CDNA2) +#else + GGML_UNUSED_VARS(D, A, B); + NO_DEVICE_CODE; +#endif // defined(AMD_WMMA_AVAILABLE) } template diff --git a/ggml/src/ggml-cuda/mmf.cu b/ggml/src/ggml-cuda/mmf.cu index 6643f243b1..aad4c34aa6 100644 --- a/ggml/src/ggml-cuda/mmf.cu +++ b/ggml/src/ggml-cuda/mmf.cu @@ -2,6 +2,13 @@ #include "mmf.cuh" #include "mmid.cuh" +static __forceinline__ int mmf_get_rows_per_block(const int cc) { + if (GGML_CUDA_CC_IS_CDNA(cc)) { + return MMF_ROWS_PER_BLOCK_CDNA; + } else { + return MMF_ROWS_PER_BLOCK; + } +} void ggml_cuda_mul_mat_f(ggml_backend_cuda_context & ctx, const ggml_tensor * src0, const ggml_tensor * src1, const ggml_tensor * ids, ggml_tensor * dst) { GGML_ASSERT( src1->type == GGML_TYPE_F32); @@ -89,28 +96,32 @@ void ggml_cuda_mul_mat_f(ggml_backend_cuda_context & ctx, const ggml_tensor * sr ids_info_ptr = &ids_info; } + const int device = ggml_cuda_get_device(); + const int cc = ggml_cuda_info().devices[device].cc; + const int rows_per_block = mmf_get_rows_per_block(cc); + switch (src0->type) { case GGML_TYPE_F32: { const float * src0_d = (const float *) src0->data; constexpr int vals_per_T = 1; - mul_mat_f_switch_cols_per_block( - src0_d, src1_d, ids_d, dst_d, ne00/vals_per_T, ne01, ncols_dst, s01/vals_per_T, stride_col_y/vals_per_T, stride_col_dst, + mul_mat_f_switch_rows_per_block( + rows_per_block, src0_d, src1_d, ids_d, dst_d, ne00/vals_per_T, ne01, ncols_dst, s01/vals_per_T, stride_col_y/vals_per_T, stride_col_dst, ids_s0, ids_s1, ne02, nchannels_y, nchannels_dst, s02/vals_per_T, stride_channel_y, stride_channel_dst, ne03, ne3, s03/vals_per_T, s13, s3, ctx.stream(), ids_info_ptr); } break; case GGML_TYPE_F16: { const half2 * src0_d = (const half2 *) src0->data; constexpr int vals_per_T = 2; - mul_mat_f_switch_cols_per_block( - src0_d, src1_d, ids_d, dst_d, ne00/vals_per_T, ne01, ncols_dst, s01/vals_per_T, stride_col_y/vals_per_T, stride_col_dst, + mul_mat_f_switch_rows_per_block( + rows_per_block, src0_d, src1_d, ids_d, dst_d, ne00/vals_per_T, ne01, ncols_dst, s01/vals_per_T, stride_col_y/vals_per_T, stride_col_dst, ids_s0, ids_s1, ne02, nchannels_y, nchannels_dst, s02/vals_per_T, stride_channel_y, stride_channel_dst, ne03, ne3, s03/vals_per_T, s13, s3, ctx.stream(), ids_info_ptr); } break; case GGML_TYPE_BF16: { const nv_bfloat162 * src0_d = (const nv_bfloat162 *) src0->data; constexpr int vals_per_T = 2; - mul_mat_f_switch_cols_per_block( - src0_d, src1_d, ids_d, dst_d, ne00/vals_per_T, ne01, ncols_dst, s01/vals_per_T, stride_col_y/vals_per_T, stride_col_dst, + mul_mat_f_switch_rows_per_block( + rows_per_block, src0_d, src1_d, ids_d, dst_d, ne00/vals_per_T, ne01, ncols_dst, s01/vals_per_T, stride_col_y/vals_per_T, stride_col_dst, ids_s0, ids_s1, ne02, nchannels_y, nchannels_dst, s02/vals_per_T, stride_channel_y, stride_channel_dst, ne03, ne3, s03/vals_per_T, s13, s3, ctx.stream(), ids_info_ptr); } break; @@ -140,7 +151,11 @@ bool ggml_cuda_should_use_mmf(enum ggml_type type, int cc, int warp_size, const return false; } } - if (src0_ne[1] % MMF_ROWS_PER_BLOCK != 0) { + if (src0_ne[1] % mmf_get_rows_per_block(cc) != 0) { + return false; + } + + if (GGML_CUDA_CC_IS_CDNA3(cc) && type == GGML_TYPE_BF16) { return false; } @@ -153,6 +168,11 @@ bool ggml_cuda_should_use_mmf(enum ggml_type type, int cc, int warp_size, const } else { if (GGML_CUDA_CC_IS_RDNA3_0(cc) && src1_ncols > 8) { return false; + } else if (GGML_CUDA_CC_IS_CDNA2(cc) && (type == GGML_TYPE_F16 || type == GGML_TYPE_BF16)) { + //TODO: truse CDNA2 as CDNA1, tune the perf when CDNA2 is available. + return false; + } else if (GGML_CUDA_CC_IS_CDNA1(cc) && (type == GGML_TYPE_F16 || type == GGML_TYPE_BF16)) { + return false; } else if (src1_ncols > 16) { return false; } @@ -160,11 +180,11 @@ bool ggml_cuda_should_use_mmf(enum ggml_type type, int cc, int warp_size, const switch (type) { case GGML_TYPE_F32: - return ampere_mma_available(cc); + return ampere_mma_available(cc) || amd_mfma_available(cc); case GGML_TYPE_F16: - return volta_mma_available(cc) || turing_mma_available(cc) || amd_wmma_available(cc); + return volta_mma_available(cc) || turing_mma_available(cc) || amd_wmma_available(cc) || amd_mfma_available(cc); case GGML_TYPE_BF16: - return ampere_mma_available(cc) || amd_wmma_available(cc); + return ampere_mma_available(cc) || amd_wmma_available(cc) || amd_mfma_available(cc); default: return false; } diff --git a/ggml/src/ggml-cuda/mmf.cuh b/ggml/src/ggml-cuda/mmf.cuh index e36730948f..c2a8d54c95 100644 --- a/ggml/src/ggml-cuda/mmf.cuh +++ b/ggml/src/ggml-cuda/mmf.cuh @@ -7,6 +7,31 @@ using namespace ggml_cuda_mma; #define MMF_ROWS_PER_BLOCK 32 +#define MMF_ROWS_PER_BLOCK_CDNA 64 + +static __forceinline__ int64_t mmf_get_max_block_size(int cc) { + if (GGML_CUDA_CC_IS_CDNA(cc)) { + return 512; + } else { + return 256; + } +} + +static __forceinline__ int mmf_get_padding(int cc) { + if (GGML_CUDA_CC_IS_CDNA(cc)) { + return 2; + } else { + return 4; + } +} + +static constexpr __device__ int mmf_get_padding() { +#if defined(AMD_MFMA_AVAILABLE) + return 2; +#else + return 4; +#endif // defined(AMD_MFMA_AVAILABLE) +} struct mmf_ids_data { const int32_t * ids_src_compact = nullptr; @@ -29,23 +54,25 @@ static __global__ void mul_mat_f( const int channel_ratio, const int stride_channel_x, const int stride_channel_y, const int stride_channel_dst, const int sample_ratio, const int stride_sample_x, const int stride_sample_y, const int stride_sample_dst) { // TODO: handle this in a consistent and simpler way after AMD MFMA support has been added -#if (!defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA)) || defined(AMD_WMMA_AVAILABLE) +#if defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) || defined(AMD_MFMA_AVAILABLE) #if defined(AMD_WMMA_AVAILABLE) - // Special case for tf32, just dummy mma layout as wmma doesn't support it. - constexpr bool is_tf32 = std::is_same_v; - constexpr int tile_B_I = is_tf32 ? 8 : 16; - constexpr int tile_C_J = is_tf32 ? 8 : 16; - constexpr data_layout ab_layout = is_tf32 ? DATA_LAYOUT_I_MAJOR : get_input_data_layout(); - typedef tile<16, 8, T, ab_layout> tile_A; - typedef tile tile_B; - typedef tile<16, tile_C_J, float, DATA_LAYOUT_J_MAJOR> tile_C; + if constexpr (!(std::is_same_v || std::is_same_v) || rows_per_block != MMF_ROWS_PER_BLOCK) {NO_DEVICE_CODE;} else { + typedef tile<16, 8, T, get_input_data_layout()> tile_A; + typedef tile<16, 8, T, get_input_data_layout()> tile_B; + typedef tile<16, 16, float, DATA_LAYOUT_J_MAJOR> tile_C; +#elif defined(AMD_MFMA_AVAILABLE) + if constexpr (rows_per_block != MMF_ROWS_PER_BLOCK_CDNA) {NO_DEVICE_CODE;} else { + typedef tile<16, 8, T, DATA_LAYOUT_I_MAJOR> tile_A; + typedef tile<16, 8, T, DATA_LAYOUT_I_MAJOR> tile_B; + typedef tile<16, 16, float, DATA_LAYOUT_J_MAJOR> tile_C; #else #ifdef VOLTA_MMA_AVAILABLE - if constexpr (!std::is_same_v) {NO_DEVICE_CODE;} else { + if constexpr (!std::is_same_v || rows_per_block != MMF_ROWS_PER_BLOCK) {NO_DEVICE_CODE;} else { typedef tile<32, 4, T, DATA_LAYOUT_I_MAJOR> tile_A; typedef tile< 8, 4, T, DATA_LAYOUT_I_MAJOR_MIRRORED> tile_B; typedef tile<32, 8, float, DATA_LAYOUT_I_MAJOR> tile_C; #else + if constexpr (rows_per_block != MMF_ROWS_PER_BLOCK) {NO_DEVICE_CODE;} else { typedef tile<16, 8, T> tile_A; typedef tile<8, 8, T> tile_B; typedef tile<16, 8, float> tile_C; @@ -57,7 +84,7 @@ static __global__ void mul_mat_f( } constexpr int warp_size = ggml_cuda_get_physical_warp_size(); - constexpr int tile_k_padded = warp_size + 4; + constexpr int tile_k_padded = warp_size + mmf_get_padding(); constexpr int ntA = rows_per_block / tile_A::I; constexpr int ntB = (cols_per_block + tile_B::I - 1) / tile_B::I; @@ -198,7 +225,7 @@ static __global__ void mul_mat_f( } float * buf_iw = (float *) compute_base; - constexpr int kiw = nwarps*rows_per_block + 4; + constexpr int kiw = nwarps*rows_per_block + mmf_get_padding(); if (nwarps > 1) { __syncthreads(); @@ -228,27 +255,34 @@ static __global__ void mul_mat_f( return; } - float sum = 0.0f; - static_assert(rows_per_block == warp_size, "need loop/check"); + float sum[rows_per_block/warp_size] = {0.0f}; + static_assert((rows_per_block % warp_size) == 0, "rows_per_block must be a multiple of warp_size."); #pragma unroll for (int i0 = 0; i0 < nwarps*rows_per_block; i0 += rows_per_block) { - const int i = i0 + threadIdx.x; +#pragma unroll + for (int i1 = 0; i1 < sizeof(sum)/sizeof(sum[0]); ++i1) { + const int i = i0 + i1*warp_size + threadIdx.x; - sum += buf_iw[j*kiw + i]; + sum[i1] += buf_iw[j*kiw + i]; + } } if constexpr (!has_ids) { - dst[j*stride_col_dst + row0 + threadIdx.x] = sum; +#pragma unroll + for (int i0 = 0; i0 < sizeof(sum)/sizeof(sum[0]); ++i0) { + dst[j*stride_col_dst + row0 + i0*warp_size + threadIdx.x] = sum[i0]; + } } else { const int slot = (j < cols_per_block) ? slot_map[j] : -1; if (slot >= 0 && (col_base + j) < ncols_dst_total) { - dst[slot*stride_channel_dst + j*stride_col_dst + row0 + threadIdx.x] = sum; +#pragma unroll + for (int i0 = 0; i0 < sizeof(sum)/sizeof(sum[0]); ++i0) { + dst[slot*stride_channel_dst + j*stride_col_dst + row0 + i0*warp_size + threadIdx.x] = sum[i0]; + } } } } -#ifdef VOLTA_MMA_AVAILABLE } -#endif //VOLTA_MMA_AVAILABLE #else GGML_UNUSED_VARS(x, y, ids, dst, ncols, ncols_dst_total, nchannels_dst, stride_row, stride_col_y, stride_col_dst, @@ -256,7 +290,7 @@ static __global__ void mul_mat_f( channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst); NO_DEVICE_CODE; -#endif // (!defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA)) || defined(AMD_WMMA_AVAILABLE) +#endif // defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) || defined(AMD_MFMA_AVAILABLE) } //This kernel is for larger batch sizes of mul_mat_id @@ -271,23 +305,25 @@ static __global__ void mul_mat_f_ids( const int sample_ratio, const int stride_sample_x, const int stride_sample_y, const int stride_sample_dst, const uint3 sis1_fd, const uint3 nch_fd) { // TODO: handle this in a consistent and simpler way after AMD MFMA support has been added -#if (!defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA)) || defined(AMD_WMMA_AVAILABLE) +#if defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) || defined(AMD_MFMA_AVAILABLE) #if defined(AMD_WMMA_AVAILABLE) - // Special case for tf32, just dummy mma layout as wmma doesn't support it. - constexpr bool is_tf32 = std::is_same_v; - constexpr int tile_B_I = is_tf32 ? 8 : 16; - constexpr int tile_C_J = is_tf32 ? 8 : 16; - constexpr data_layout ab_layout = is_tf32 ? DATA_LAYOUT_I_MAJOR : get_input_data_layout(); - typedef tile<16, 8, T, ab_layout> tile_A; - typedef tile tile_B; - typedef tile<16, tile_C_J, float, DATA_LAYOUT_J_MAJOR> tile_C; + if constexpr (!(std::is_same_v || std::is_same_v) || rows_per_block != MMF_ROWS_PER_BLOCK) {NO_DEVICE_CODE;} else { + typedef tile<16, 8, T, get_input_data_layout()> tile_A; + typedef tile<16, 8, T, get_input_data_layout()> tile_B; + typedef tile<16, 16, float, DATA_LAYOUT_J_MAJOR> tile_C; +#elif defined(AMD_MFMA_AVAILABLE) + if constexpr (rows_per_block != MMF_ROWS_PER_BLOCK_CDNA) {NO_DEVICE_CODE;} else { + typedef tile<16, 8, T, DATA_LAYOUT_I_MAJOR> tile_A; + typedef tile<16, 8, T, DATA_LAYOUT_I_MAJOR> tile_B; + typedef tile<16, 16, float, DATA_LAYOUT_J_MAJOR> tile_C; #else #ifdef VOLTA_MMA_AVAILABLE - if constexpr (!std::is_same_v) {NO_DEVICE_CODE;} else { + if constexpr (!std::is_same_v || rows_per_block != MMF_ROWS_PER_BLOCK) {NO_DEVICE_CODE;} else { typedef tile<32, 4, T, DATA_LAYOUT_I_MAJOR> tile_A; typedef tile< 8, 4, T, DATA_LAYOUT_I_MAJOR_MIRRORED> tile_B; typedef tile<32, 8, float, DATA_LAYOUT_I_MAJOR> tile_C; #else + if constexpr (rows_per_block != MMF_ROWS_PER_BLOCK) {NO_DEVICE_CODE;} else { typedef tile<16, 8, T> tile_A; typedef tile<8, 8, T> tile_B; typedef tile<16, 8, float> tile_C; @@ -300,7 +336,7 @@ static __global__ void mul_mat_f_ids( constexpr int warp_size = ggml_cuda_get_physical_warp_size(); - constexpr int tile_k_padded = warp_size + 4; + constexpr int tile_k_padded = warp_size + mmf_get_padding(); constexpr int ntA = rows_per_block / tile_A::I; constexpr int ntB = (cols_per_block + tile_B::I - 1) / tile_B::I; @@ -467,7 +503,7 @@ static __global__ void mul_mat_f_ids( } float * buf_iw = (float *) compute_base; - constexpr int kiw = nwarps*rows_per_block + 4; + constexpr int kiw = nwarps*rows_per_block + mmf_get_padding(); if (nwarps > 1) { __syncthreads(); @@ -497,13 +533,16 @@ static __global__ void mul_mat_f_ids( return; } - float sum = 0.0f; - static_assert(rows_per_block == warp_size, "need loop/check"); + float sum[rows_per_block/warp_size] = {0.0f}; + static_assert((rows_per_block % warp_size) == 0, "rows_per_block must be a multiple of warp_size."); #pragma unroll for (int i0 = 0; i0 < nwarps*rows_per_block; i0 += rows_per_block) { - const int i = i0 + threadIdx.x; +#pragma unroll + for (int i1 = 0; i1 < sizeof(sum)/sizeof(sum[0]); ++i1) { + const int i = i0 + i1*warp_size + threadIdx.x; - sum += buf_iw[j*kiw + i]; + sum[i1] += buf_iw[j * kiw + i]; + } } const int global_j = col_base + j; @@ -513,23 +552,24 @@ static __global__ void mul_mat_f_ids( const int token = (int) qrm.x; if (token < ncols_dst_total) { const int slot = (int) qrm.y; - dst[slot*stride_channel_dst + token*stride_col_dst + row0 + threadIdx.x] = sum; +#pragma unroll + for (int i0 = 0; i0 < sizeof(sum)/sizeof(sum[0]); ++i0) { + dst[slot * stride_channel_dst + token * stride_col_dst + row0 + i0*warp_size + threadIdx.x] = sum[i0]; + } } } } -#ifdef VOLTA_MMA_AVAILABLE } -#endif // VOLTA_MMA_AVAILABLE #else GGML_UNUSED_VARS(x, y, ids_src_compact, ids_dst_compact, expert_bounds, dst, ncols, ncols_dst_total, nchannels_dst, stride_row, stride_col_y, stride_col_dst, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, sis1_fd, nch_fd); NO_DEVICE_CODE; -#endif // (!defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA)) || defined(AMD_WMMA_AVAILABLE) +#endif // defined(VOLTA_MMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) || defined(AMD_MFMA_AVAILABLE) } -template +template static inline void mul_mat_f_switch_ids( const T * x, const float * y, const int32_t * ids, float * dst, const int64_t ncols_x, const int64_t ncols_dst, const int64_t nchannels_dst, @@ -553,7 +593,7 @@ static inline void mul_mat_f_switch_ids( const uint3 sis1_fd = ids_data->sis1 > 0 ? init_fastdiv_values((uint32_t) ids_data->sis1) : make_uint3(0, 0, 1); const uint3 nch_fd = init_fastdiv_values((uint32_t) nchannels_dst); - mul_mat_f_ids<<>> + mul_mat_f_ids<<>> (x, y, ids_data->ids_src_compact, ids_data->ids_dst_compact, ids_data->expert_bounds_dev, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, @@ -564,19 +604,19 @@ static inline void mul_mat_f_switch_ids( dim3 block_nums_ids = block_nums; block_nums_ids.y *= col_tiles; - mul_mat_f<<>> + mul_mat_f<<>> (x, y, ids, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst); } else { - mul_mat_f<<>> + mul_mat_f<<>> (x, y, ids, dst, ncols_x, cols_per_block, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst); } } -template +template void mul_mat_f_cuda( const T * x, const float * y, const int32_t * ids, float * dst, const int64_t ncols_x, const int64_t nrows_x, const int64_t ncols_dst, @@ -605,7 +645,7 @@ void mul_mat_f_cuda( int64_t nwarps_best = 1; int64_t niter_best = (ncols_x + warp_size*2 - 1) / (warp_size*2); - int64_t max_block_size = 256; + int64_t max_block_size = mmf_get_max_block_size(cc); for (int64_t nwarps = 2; nwarps <= max_block_size/warp_size; nwarps++) { const int64_t niter = (ncols_x + nwarps*warp_size*2 - 1) / (nwarps*warp_size*2); if (niter < niter_best) { @@ -614,10 +654,9 @@ void mul_mat_f_cuda( } } - constexpr int rows_per_block = MMF_ROWS_PER_BLOCK; - const int nbytes_shared_iter = nwarps_best * (volta_mma_available(cc) ? tile_A_32::I : tile_A_16::I) * (warp_size + 4) * 4; - const int nbytes_cols_per_block_pad = amd_wmma_available(cc) ? tile_B_16::I : tile_B_8::I; - const int nbytes_shared_combine = GGML_PAD(cols_per_block, nbytes_cols_per_block_pad) * (nwarps_best*rows_per_block + 4) * 4; + const int nbytes_shared_iter = nwarps_best * (volta_mma_available(cc) ? tile_A_32::I : tile_A_16::I) * (warp_size + mmf_get_padding(cc)) * 4; + const int nbytes_cols_per_block_pad = (amd_wmma_available(cc) || amd_mfma_available(cc)) ? tile_B_16::I : tile_B_8::I; + const int nbytes_shared_combine = GGML_PAD(cols_per_block, nbytes_cols_per_block_pad) * (nwarps_best*rows_per_block + mmf_get_padding(cc)) * 4; const int nbytes_shared = std::max(nbytes_shared_iter, nbytes_shared_combine); const int nbytes_slotmap = ids ? GGML_PAD(cols_per_block, 16) * sizeof(int) : 0; const int nbytes_shared_total = nbytes_shared + nbytes_slotmap; @@ -628,56 +667,56 @@ void mul_mat_f_cuda( switch (nwarps_best) { case 1: { - mul_mat_f_switch_ids( + mul_mat_f_switch_ids( x, y, ids, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, block_nums, block_dims, nbytes_shared_total, stream, ids_data); } break; case 2: { - mul_mat_f_switch_ids( + mul_mat_f_switch_ids( x, y, ids, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, block_nums, block_dims, nbytes_shared_total, stream, ids_data); } break; case 3: { - mul_mat_f_switch_ids( + mul_mat_f_switch_ids( x, y, ids, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, block_nums, block_dims, nbytes_shared_total, stream, ids_data); } break; case 4: { - mul_mat_f_switch_ids( + mul_mat_f_switch_ids( x, y, ids, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, block_nums, block_dims, nbytes_shared_total, stream, ids_data); } break; case 5: { - mul_mat_f_switch_ids( + mul_mat_f_switch_ids( x, y, ids, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, block_nums, block_dims, nbytes_shared_total, stream, ids_data); } break; case 6: { - mul_mat_f_switch_ids( + mul_mat_f_switch_ids( x, y, ids, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, block_nums, block_dims, nbytes_shared_total, stream, ids_data); } break; case 7: { - mul_mat_f_switch_ids( + mul_mat_f_switch_ids( x, y, ids, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, block_nums, block_dims, nbytes_shared_total, stream, ids_data); } break; case 8: { - mul_mat_f_switch_ids( + mul_mat_f_switch_ids( x, y, ids, dst, ncols_x, ncols_dst, nchannels_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst, sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, block_nums, block_dims, nbytes_shared_total, stream, @@ -691,7 +730,7 @@ void mul_mat_f_cuda( GGML_UNUSED_VARS(nchannels_y); } -template +template static void mul_mat_f_switch_cols_per_block( const T * x, const float * y, const int32_t * ids, float * dst, const int64_t ncols_x, const int64_t nrows_x, const int64_t ncols_dst, @@ -708,82 +747,82 @@ static void mul_mat_f_switch_cols_per_block( switch (ncols_case) { case 1: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 2: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 3: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 4: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 5: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 6: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 7: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 8: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 9: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 10: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 11: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 12: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 13: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 14: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 15: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; case 16: { - mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + mul_mat_f_cuda(x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); } break; @@ -793,8 +832,36 @@ static void mul_mat_f_switch_cols_per_block( } } -#define DECL_MMF_CASE_HELPER(T, ncols_dst) \ - template void mul_mat_f_cuda( \ +template +static void mul_mat_f_switch_rows_per_block( + const int rows_per_block, const T * x, const float * y, const int32_t * ids, float * dst, + const int64_t ncols_x, const int64_t nrows_x, const int64_t ncols_dst, + const int64_t stride_row, const int64_t stride_col_y, const int64_t stride_col_dst, + const int64_t stride_col_id, const int stride_row_id, + const int64_t nchannels_x, const int64_t nchannels_y, const int64_t nchannels_dst, + const int64_t stride_channel_x, const int64_t stride_channel_y, const int64_t stride_channel_dst, const int64_t nsamples_x, + const int64_t nsamples_dst, const int64_t stride_sample_x, const int64_t stride_sample_y, const int64_t stride_sample_dst, + cudaStream_t stream, const mmf_ids_data * ids_data) { + switch (rows_per_block) { + case MMF_ROWS_PER_BLOCK: { + mul_mat_f_switch_cols_per_block( + x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, + nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); + } break; + case MMF_ROWS_PER_BLOCK_CDNA: { + mul_mat_f_switch_cols_per_block( + x, y, ids, dst, ncols_x, nrows_x, ncols_dst, stride_row, stride_col_y, stride_col_dst, + stride_col_id, stride_row_id, nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst, + nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream, ids_data); + } break; + default: + GGML_ABORT("unsupported rows_per_block: %i", rows_per_block); + } +} + +#define DECL_MMF_CASE_HELPER(T, nrows_dst, ncols_dst) \ + template void mul_mat_f_cuda( \ const T * x, const float * y, const int32_t * ids, float * dst, \ const int64_t ncols_x, const int64_t nrows_x, int64_t ncols_dst_total, const int64_t stride_row, const int64_t stride_col_y, const int64_t stride_col_dst, \ const int64_t stride_col_id, const int64_t stride_row_id, \ @@ -803,16 +870,22 @@ static void mul_mat_f_switch_cols_per_block( const int64_t nsamples_dst, const int64_t stride_sample_x, const int64_t stride_sample_y, const int64_t stride_sample_dst, \ cudaStream_t stream, const mmf_ids_data * ids_data); -#if !defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA) +#if !defined(GGML_USE_MUSA) #define DECL_MMF_CASE_EXTERN(ncols_dst) \ - extern DECL_MMF_CASE_HELPER(float, ncols_dst) \ - extern DECL_MMF_CASE_HELPER(half2, ncols_dst) \ - extern DECL_MMF_CASE_HELPER(nv_bfloat162, ncols_dst) + extern DECL_MMF_CASE_HELPER(float, MMF_ROWS_PER_BLOCK, ncols_dst) \ + extern DECL_MMF_CASE_HELPER(half2, MMF_ROWS_PER_BLOCK, ncols_dst) \ + extern DECL_MMF_CASE_HELPER(nv_bfloat162, MMF_ROWS_PER_BLOCK, ncols_dst) \ + extern DECL_MMF_CASE_HELPER(float, MMF_ROWS_PER_BLOCK_CDNA, ncols_dst) \ + extern DECL_MMF_CASE_HELPER(half2, MMF_ROWS_PER_BLOCK_CDNA, ncols_dst) \ + extern DECL_MMF_CASE_HELPER(nv_bfloat162, MMF_ROWS_PER_BLOCK_CDNA, ncols_dst) #define DECL_MMF_CASE(ncols_dst) \ - DECL_MMF_CASE_HELPER(float, ncols_dst) \ - DECL_MMF_CASE_HELPER(half2, ncols_dst) \ - DECL_MMF_CASE_HELPER(nv_bfloat162, ncols_dst) + DECL_MMF_CASE_HELPER(float, MMF_ROWS_PER_BLOCK, ncols_dst) \ + DECL_MMF_CASE_HELPER(half2, MMF_ROWS_PER_BLOCK, ncols_dst) \ + DECL_MMF_CASE_HELPER(nv_bfloat162, MMF_ROWS_PER_BLOCK, ncols_dst) \ + DECL_MMF_CASE_HELPER(float, MMF_ROWS_PER_BLOCK_CDNA, ncols_dst) \ + DECL_MMF_CASE_HELPER(half2, MMF_ROWS_PER_BLOCK_CDNA, ncols_dst) \ + DECL_MMF_CASE_HELPER(nv_bfloat162, MMF_ROWS_PER_BLOCK_CDNA, ncols_dst) DECL_MMF_CASE_EXTERN(1); DECL_MMF_CASE_EXTERN(2); diff --git a/ggml/src/ggml-hip/CMakeLists.txt b/ggml/src/ggml-hip/CMakeLists.txt index 23b6889919..80037d2436 100644 --- a/ggml/src/ggml-hip/CMakeLists.txt +++ b/ggml/src/ggml-hip/CMakeLists.txt @@ -62,6 +62,8 @@ file(GLOB SRCS "../ggml-cuda/template-instances/fattn-mma*.cu") list(APPEND GGML_SOURCES_ROCM ${SRCS}) file(GLOB SRCS "../ggml-cuda/template-instances/mmq*.cu") list(APPEND GGML_SOURCES_ROCM ${SRCS}) +file(GLOB SRCS "../ggml-cuda/template-instances/mmf*.cu") +list(APPEND GGML_SOURCES_ROCM ${SRCS}) if (GGML_CUDA_FA_ALL_QUANTS) file(GLOB SRCS "../ggml-cuda/template-instances/fattn-vec*.cu") From b45ef2702c262998d5db9887cd3c82f04761237a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Thu, 29 Jan 2026 14:06:54 +0100 Subject: [PATCH 056/206] jinja : do not pass empty tools and add some none filters (#19176) --- common/chat.cpp | 10 ++++------ common/jinja/value.cpp | 10 ++++++++++ tests/test-chat-template.cpp | 5 ++--- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/common/chat.cpp b/common/chat.cpp index eeb38ad06a..3f75b52349 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -771,10 +771,12 @@ static std::string apply( nlohmann::ordered_json inp = nlohmann::ordered_json{ {"messages", messages_override.has_value() ? *messages_override : inputs.messages}, - {"tools", tools_override.has_value() ? *tools_override : inputs.tools}, {"bos_token", tmpl.bos_token()}, {"eos_token", tmpl.eos_token()}, }; + if (tools_override.has_value() || !inputs.tools.empty()) { + inp["tools"] = tools_override.has_value() ? *tools_override : inputs.tools; + } if (inputs.extra_context.is_object()) { // TODO: do we need to merge, or replacing is fine? for (const auto & [k, v] : inputs.extra_context.items()) { @@ -790,9 +792,6 @@ static std::string apply( if (inputs.add_generation_prompt) { inp["add_generation_prompt"] = true; } - if (inp["tools"].is_null()) { - inp["tools"] = json::array(); - } jinja::global_from_json(ctx, inp, inputs.mark_input); @@ -2219,12 +2218,11 @@ static common_chat_params common_chat_params_init_glm_4_5(const common_chat_temp static common_chat_params common_chat_params_init_firefunction_v2(const common_chat_template & tmpl, const struct templates_params & inputs) { LOG_DBG("%s\n", __func__); common_chat_params data; - const std::optional tools_override = json(); const std::optional additional_context = json { {"datetime", format_time(inputs.now, "%b %d %Y %H:%M:%S GMT")}, {"functions", json(inputs.tools.empty() ? "" : inputs.tools.dump(2))}, }; - data.prompt = apply(tmpl, inputs, /* messages_override =*/ std::nullopt, tools_override, additional_context); + data.prompt = apply(tmpl, inputs, /* messages_override =*/ std::nullopt, /* tools_override =*/ std::nullopt, additional_context); if (inputs.tools.is_array() && !inputs.tools.empty()) { data.grammar_lazy = inputs.tool_choice != COMMON_CHAT_TOOL_CHOICE_REQUIRED; data.grammar = build_grammar([&](const common_grammar_builder & builder) { diff --git a/common/jinja/value.cpp b/common/jinja/value.cpp index 17d43826c0..f254ae9251 100644 --- a/common/jinja/value.cpp +++ b/common/jinja/value.cpp @@ -1028,6 +1028,16 @@ const func_builtins & value_none_t::get_builtins() const { {"safe", [](const func_args &) -> value { return mk_val("None"); }}, + {"strip", [](const func_args &) -> value { + return mk_val("None"); + }}, + {"items", empty_value_fn}, + {"map", empty_value_fn}, + {"reject", empty_value_fn}, + {"rejectattr", empty_value_fn}, + {"select", empty_value_fn}, + {"selectattr", empty_value_fn}, + {"unique", empty_value_fn}, }; return builtins; } diff --git a/tests/test-chat-template.cpp b/tests/test-chat-template.cpp index d2a1437ca4..27b537a036 100644 --- a/tests/test-chat-template.cpp +++ b/tests/test-chat-template.cpp @@ -54,7 +54,6 @@ std::string DEFAULT_JSON = R"({ ], "bos_token": "", "eos_token": "", - "tools": [], "add_generation_prompt": true })"; @@ -481,7 +480,7 @@ int main_automated_tests(void) { /* .name= */ "Mistral-Large-Instruct-2407 (mistralai 'v3' template; modified to have system prompt at start)", /* .template_str= */ "{%- if messages[0][\"role\"] == \"system\" %}\n {%- set system_message = messages[0][\"content\"] %}\n {%- set loop_messages = messages[1:] %}\n{%- else %}\n {%- set loop_messages = messages %}\n{%- endif %}\n{%- if not tools is defined %}\n {%- set tools = none %}\n{%- endif %}\n{%- set user_messages = loop_messages | selectattr(\"role\", \"equalto\", \"user\") | list %}\n\n{#- This block checks for alternating user/assistant messages, skipping tool calling messages #}\n{%- set ns = namespace() %}\n{%- set ns.index = 0 %}\n{%- for message in loop_messages %}\n {%- if not (message.role == \"tool\" or message.role == \"tool_results\" or (message.tool_calls is defined and message.tool_calls is not none)) %}\n {%- if (message[\"role\"] == \"user\") != (ns.index % 2 == 0) %}\n {{- raise_exception(\"After the optional system message, conversation roles must alternate user/assistant/user/assistant/...\") }}\n {%- endif %}\n {%- set ns.index = ns.index + 1 %}\n {%- endif %}\n{%- endfor %}\n\n{{- bos_token }}\n{%- for message in loop_messages %}\n {%- if message[\"role\"] == \"user\" %}\n {%- if tools is not none and (message == user_messages[-1]) %}\n {{- \"[AVAILABLE_TOOLS] [\" }}\n {%- for tool in tools %}\n {%- set tool = tool.function %}\n {{- '{\"type\": \"function\", \"function\": {' }}\n {%- for key, val in tool.items() if key != \"return\" %}\n {%- if val is string %}\n {{- '\"' + key + '\": \"' + val + '\"' }}\n {%- else %}\n {{- '\"' + key + '\": ' + val|tojson }}\n {%- endif %}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- endif %}\n {%- endfor %}\n {{- \"}}\" }}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- else %}\n {{- \"]\" }}\n {%- endif %}\n {%- endfor %}\n {{- \"[/AVAILABLE_TOOLS]\" }}\n {%- endif %}\n {%- if loop.last and system_message is defined %}\n {{- \"[INST] \" + system_message + \"\\n\\n\" + message[\"content\"] + \"[/INST]\" }}\n {%- else %}\n {{- \"[INST] \" + message[\"content\"] + \"[/INST]\" }}\n {%- endif %}\n {%- elif message.tool_calls is defined and message.tool_calls is not none %}\n {{- \"[TOOL_CALLS] [\" }}\n {%- for tool_call in message.tool_calls %}\n {%- set out = tool_call.function|tojson %}\n {{- out[:-1] }}\n {%- if not tool_call.id is defined or tool_call.id|length != 9 %}\n {{- raise_exception(\"Tool call IDs should be alphanumeric strings with length 9!\") }}\n {%- endif %}\n {{- ', \"id\": \"' + tool_call.id + '\"}' }}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- else %}\n {{- \"]\" + eos_token }}\n {%- endif %}\n {%- endfor %}\n {%- elif message[\"role\"] == \"assistant\" %}\n {{- \" \" + message[\"content\"]|trim + eos_token}}\n {%- elif message[\"role\"] == \"tool_results\" or message[\"role\"] == \"tool\" %}\n {%- if message.content is defined and message.content.content is defined %}\n {%- set content = message.content.content %}\n {%- else %}\n {%- set content = message.content %}\n {%- endif %}\n {{- '[TOOL_RESULTS] {\"content\": ' + content|string + \", \" }}\n {%- if not message.tool_call_id is defined or message.tool_call_id|length != 9 %}\n {{- raise_exception(\"Tool call IDs should be alphanumeric strings with length 9!\") }}\n {%- endif %}\n {{- '\"call_id\": \"' + message.tool_call_id + '\"}[/TOOL_RESULTS]' }}\n {%- else %}\n {{- raise_exception(\"Only user and assistant roles are supported, with the exception of an initial optional system message!\") }}\n {%- endif %}\n{%- endfor %}\n", /* .expected_output= */ "[INST] You are a helpful assistant\n\nHello[/INST] Hi there[INST] Who are you[/INST] I am an assistant[INST] Another question[/INST]", - /* .expected_output_jinja= */ "[INST] Hello[/INST] Hi there[INST] Who are you[/INST] I am an assistant[AVAILABLE_TOOLS] [[/AVAILABLE_TOOLS][INST] You are a helpful assistant\n\nAnother question[/INST]", + /* .expected_output_jinja= */ "[INST] Hello[/INST] Hi there[INST] Who are you[/INST] I am an assistant[INST] You are a helpful assistant\n\nAnother question[/INST]", /* .bos_token= */ "", /* .eos_token= */ "", }, @@ -489,7 +488,7 @@ int main_automated_tests(void) { /* .name= */ "Mistral-Nemo-Instruct-2407 (mistralai 'v3-tekken' template; modified to have system prompt at start)", /* .template_str= */ "{%- if messages[0][\"role\"] == \"system\" %}\n {%- set system_message = messages[0][\"content\"] %}\n {%- set loop_messages = messages[1:] %}\n{%- else %}\n {%- set loop_messages = messages %}\n{%- endif %}\n{%- if not tools is defined %}\n {%- set tools = none %}\n{%- endif %}\n{%- set user_messages = loop_messages | selectattr(\"role\", \"equalto\", \"user\") | list %}\n\n{#- This block checks for alternating user/assistant messages, skipping tool calling messages #}\n{%- set ns = namespace() %}\n{%- set ns.index = 0 %}\n{%- for message in loop_messages %}\n {%- if not (message.role == \"tool\" or message.role == \"tool_results\" or (message.tool_calls is defined and message.tool_calls is not none)) %}\n {%- if (message[\"role\"] == \"user\") != (ns.index % 2 == 0) %}\n {{- raise_exception(\"After the optional system message, conversation roles must alternate user/assistant/user/assistant/...\") }}\n {%- endif %}\n {%- set ns.index = ns.index + 1 %}\n {%- endif %}\n{%- endfor %}\n\n{{- bos_token }}\n{%- for message in loop_messages %}\n {%- if message[\"role\"] == \"user\" %}\n {%- if tools is not none and (message == user_messages[-1]) %}\n {{- \"[AVAILABLE_TOOLS][\" }}\n {%- for tool in tools %}\n {%- set tool = tool.function %}\n {{- '{\"type\": \"function\", \"function\": {' }}\n {%- for key, val in tool.items() if key != \"return\" %}\n {%- if val is string %}\n {{- '\"' + key + '\": \"' + val + '\"' }}\n {%- else %}\n {{- '\"' + key + '\": ' + val|tojson }}\n {%- endif %}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- endif %}\n {%- endfor %}\n {{- \"}}\" }}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- else %}\n {{- \"]\" }}\n {%- endif %}\n {%- endfor %}\n {{- \"[/AVAILABLE_TOOLS]\" }}\n {%- endif %}\n {%- if loop.last and system_message is defined %}\n {{- \"[INST]\" + system_message + \"\\n\\n\" + message[\"content\"] + \"[/INST]\" }}\n {%- else %}\n {{- \"[INST]\" + message[\"content\"] + \"[/INST]\" }}\n {%- endif %}\n {%- elif (message.tool_calls is defined and message.tool_calls is not none) %}\n {{- \"[TOOL_CALLS][\" }}\n {%- for tool_call in message.tool_calls %}\n {%- set out = tool_call.function|tojson %}\n {{- out[:-1] }}\n {%- if not tool_call.id is defined or tool_call.id|length != 9 %}\n {{- raise_exception(\"Tool call IDs should be alphanumeric strings with length 9!\") }}\n {%- endif %}\n {{- ', \"id\": \"' + tool_call.id + '\"}' }}\n {%- if not loop.last %}\n {{- \", \" }}\n {%- else %}\n {{- \"]\" + eos_token }}\n {%- endif %}\n {%- endfor %}\n {%- elif message[\"role\"] == \"assistant\" %}\n {{- message[\"content\"] + eos_token}}\n {%- elif message[\"role\"] == \"tool_results\" or message[\"role\"] == \"tool\" %}\n {%- if message.content is defined and message.content.content is defined %}\n {%- set content = message.content.content %}\n {%- else %}\n {%- set content = message.content %}\n {%- endif %}\n {{- '[TOOL_RESULTS]{\"content\": ' + content|string + \", \" }}\n {%- if not message.tool_call_id is defined or message.tool_call_id|length != 9 %}\n {{- raise_exception(\"Tool call IDs should be alphanumeric strings with length 9!\") }}\n {%- endif %}\n {{- '\"call_id\": \"' + message.tool_call_id + '\"}[/TOOL_RESULTS]' }}\n {%- else %}\n {{- raise_exception(\"Only user and assistant roles are supported, with the exception of an initial optional system message!\") }}\n {%- endif %}\n{%- endfor %}\n", /* .expected_output= */ "[INST]You are a helpful assistant\n\nHello[/INST]Hi there[INST]Who are you[/INST] I am an assistant [INST]Another question[/INST]", - /* .expected_output_jinja= */ "[INST]Hello[/INST]Hi there[INST]Who are you[/INST] I am an assistant [AVAILABLE_TOOLS][[/AVAILABLE_TOOLS][INST]You are a helpful assistant\n\nAnother question[/INST]", + /* .expected_output_jinja= */ "[INST]Hello[/INST]Hi there[INST]Who are you[/INST] I am an assistant [INST]You are a helpful assistant\n\nAnother question[/INST]", /* .bos_token= */ "", /* .eos_token= */ "", }, From 84b0a983195f87351195221e4f3be1c7b456ddb7 Mon Sep 17 00:00:00 2001 From: Andrew Marshall Date: Thu, 29 Jan 2026 09:56:39 -0500 Subject: [PATCH 057/206] webui: Update Svelte to fix effect_update_depth_exceeded errors (#19144) The upstream fix is first available in 5.38.2, so constrain to at least that version. Rebuild pre-compiled webui index.html.gz based on these changes. See also: https://github.com/ggml-org/llama.cpp/issues/16347 https://github.com/huntabyte/bits-ui/issues/1687 https://github.com/sveltejs/svelte/issues/16548 --- tools/server/public/index.html.gz | Bin 1451557 -> 1453103 bytes tools/server/webui/package-lock.json | 59 +++++++++++++++++++-------- tools/server/webui/package.json | 2 +- 3 files changed, 43 insertions(+), 18 deletions(-) diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index b2c11faefede91f165035151a5a25ac4e4ce0952..e3b06f490103a30ef41f127d35275f11b1255e02 100644 GIT binary patch delta 1412507 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

e6NnT= zc(=*(;U>^RUR-`%e|HHj<`+2sye=VMKM9%lS%=W0105?T6xUryAn*Y)#5I`}UmYL|wT6S#o~OSDBFO~%P9F@Byt z!Jp*KXHmCZOSE1Wr9`8LVt?Io;`Wvk;g%l~zivBud)vvYwo|`uJ9T^8sjIecSnc%f zZKto=#xDP=?ab|MXF_e?u-e(%Th4}CzGby@x3`_UYCCtslH_l1JRfR*Jo%8i>F6-O zadwzc`>BU`>W0zBf9Gt54`=EjpZ)3h6Sp6IS~S%9LoONo_v=1xLISktt?0!seiI6y zMX!!hJVXD>{<@Q!Z~-lP)ya8@Zdjw6kOD1w)k*r-ZQq0xXwhqA_8Y5o6MmpYZ^b-* z@td#%EqXiV@hjYf9B9#h-@rWdz}$ozg0e4h&&?};8;S_ZzCb~@bd$UtQ_!MeOp%SJ z61g<~{pl(2E8c`DXwfTdMB4Xy`E?&R;S5^zR&3-KzX?&$qSx4nu23TX>rQS$6tw6y zMRi`JUw3j7#-K&7NvoijpI$wF&6_X=Eqc|-??BW|$b%NWI^fKIZ-CTIScDe6#!#8t zm+Llc5|q8_CZD+-zHY-NLD?&$l}_KXFR9zH2`w5v>6ye&FFe1-O=yG`y+Tztw0#r$ zphd4x)GdwQgh6Q0TXBqL=8s_c3}IGuQv#`|X_PdC%T!uf6v9aL)6t#nGS;XTJUIBPE<8;Q5NRoR$WH zqcd63oTeHSkvsXn#S82iwczkfmKY6+0tkIad7^&p1tu>4e*v$7kss@kSfO=BK1>LG zAFcHug#FaHP@DG8O`~=kg6AhB_BiV1YkbIF|8HJxb&ty`*)Kh~4F?o|aS)F$mu{aa zdbS_=D3tUJWJNyC{8Pat06E*?pi_uLi2H~@_OypWDLc%#cAgP@cpeXM+6VqBOp$qz z)nWfNXO3e_D?zSKjzQ^;&cDBvW^(Q&ShfD5M*lp)(VgdvxaBkBxS!x{hq=TUe0~vJ zL918VcOjG=Jw%W%4;&5hagn)*mjkeo^>C{Hp-6m2VJ#oG#_w_SyxpK@EsP&v4t3(- zJZ~4B-d1EsJ3xSkZc~%Zyn}n^`3P|rtVsfn_P5ecPWKBa33{!#iEo~+xb7*O6;T=v z##;IX05Y`amFLLDnEO8S;GNzn+39^js2{aBi5|ekS{mS3=7&#t=sm(W5t=D=@3_z2}<~X!jhQYLgs8- zJy!@lR}8*+2H}Fm=f`7s@eD%p8N_c=898z0#G(_t_P)D4Jh_g0!2aL5aPC%K7nXxcGC;O1j0t@Z<9dDJC+x`az_;@n7l=@_&RKggp~RzWXeuz{wIw zQVAS*UIgj$DI!CaDd_im*wT~^u zW_BE*AAM6!9PWE|^|T*bKB=}_+5)&i2-c)`i*L&FK)Y=$z^IXJnfVb2NEyT^R=Yb9uHZ`ut|=h!+lc-6lX6m$X%R$ex~-&Z1iP6JdJ zs`&pUP;`4LtZ5zVuZ8Am&!C2O8-H;sSPo0PeVTY7ZgMHMbFp+ZQ`%97j`rnXM{MO{ z=^@RcR;0QX-<9L(y11R-*?-;=Zk8R zkKUgrS&=_fw^nJc?mB;@1TiGHNRa?v>E@^mu0#9{*mM3+GyiWR@=3Mv^KG?J z#!qn`-$WLw^!ktY&~@N56^3~Wai^Cuk#D0eBacefX2zkkM(hvs)-JhjHR2fMb&ohT zBStL=AgI(P`eUFEb=mKUzK_uXk};W^qC_owKK+ui1NO_^0~krxV4v{-)3!vipk^_0 z`htDqyNzGB8}z}02Iq+_J3f!61e|b6SKMH~&3l#g{6UiV4^x2QdS#Z*hD9tTe-Vaw zXPlAALdAqYl-dJdJ8_?Yxrfiax=wKO5!7*VkrpWZu8 zTUEJfxw7_q^gF5HzXg8=ZRb9*^VJb9>+a zXH7Z`$}K<}(*bqlzONR<;jpRoDL^Y~0`Z#pbzif4cr=mG8!dC6igDY1B$fx;xUD~K z+~3F`0a=RBzue7iC*^;hSB5NBK{FV1$1gE4*M}jyJ@!eB^m+i8EIGh*uIcd*l<1{*86Ks zEna}eM;A4G;Ln&YI&_{u1u1D1rGua>CWK=EzQ1b}X6YGSiRm`=+EBmx=b0Sb1z@8* zVA+YSeEY_JM(&D~EV7=^zv$KEYSVGzl?l!d z5*F;{zbZGw)TTng$=<2acgfQy*@}SQ*Hk&{Pp(24qqFdJTGkwy!X>mR=v3+`1NaB8 z>h>$ImeTH6e82d|V=&8{NgSVD z+7b*Jw_wpL*6JVpvsG-pV;9hyJJ{RgxXC)AS;cT(|L~4G(KTZtrPm-D+2X*C$pAng>X?WG-%^QhaiPznmq^1_G64^M`KNJuRiW|lw%pL1TSRIgUL zKUVc@mb7WjHIO@=r%Y26d&&+@oI^}|>~+1qDzCy^>XJx1#8ByOut-we*G_KrI3%9N z*4DY9Ki1&~^62WaQqi&3*zH4D={4S;^$gBwU>*OMcD~fmCZFCu_Pryqauero<6 zq=-1@-_pw%RCD8eHt#kE9^vrw6J11P6s`!1*cOe3eOa4o5MN&D1 zUDSya4;ML+TECptWWs4Z>B;UXN)m5~`txQ-Jp6O}e~CSxu2fG8x0+3^&USx&maytN z^zEq7!v5C2A%eiXUsv=2x_faM_=8-v+X;zb~8A6Zj-xs03s{W<5A>k}+2y7rcWn0q1z0*3uM+WXh&;^f8e zoBjOi*^?oJJrSfPhy2B0Ghyd3p|ipRVaWp)YkT=dNNd#8a@+_2(KBr6;2o#I8B_f# zLw0cVG+E)C@D*H{$j9Y%FGdy|x@oYnOoO%Mmi>t=BOLa$q_YFWAjYwfcnen^41LFfDRLbM7j>|eOsJ*7?+$T* z0F>}vu0v~i9>4m5?G%yWLQyn`hDmt&h4{~5TGlJW`ySMt7hJfCUNk<01{iXdvZU6# z)7AuXgG$ld*G=e8Icg>JB+MV}-ebGC=!T`r3jLExE-Hv;rD;y18 zFJ89Ez$D3g&x)%HDYEyLEW3am%O>L)zr{6k8k)ySSSTVxaaXlt=rI&QH6^spcaVhS z;D~=iV~+QJe8rNf!QOMbfIOslx_ks=w5d8!=X+8!?Z% z>X#NY?KYb{-2(m6!v|m_!WkJ$(v5zvU~ss=9`$%4UZ+Pl{oBC>?I(=x?7p;FhEeZk z9T5>2zJ#MK4d9>Q#`hZK_yO#QQ}9q)NIdl#6nNZwdUOUu3UU!NMn;Mz`?AtN5hF4| z83Dk9ttA)-!fsXp8Mx6ENWS+Y>=DbVsZyyFZlRRUvnHg6a?}Ba4bDIwJOlKWQP^@p|vHxOOyWj7WeA5_y#ABg}qdUcFQzBzh4{3~VL z_|yrX=%#DCtUmyv>KB-sv~oKaTw{2vdvq5AK7Lh2Q)G(rW*^dS;6 zS=UQ`nvqS#AR_6O>%M%X+wjeMjoze#PwcOE_5(fa+Gn1!bfI0SUBp{hv~iwaOvyx1 zpjZUt#IkM=SRmk=F{8#YqdZ7HcOowG%97hHxA-7Hq1TT6fPoF|kityW|E~?oR6(E& zyMX6kEV|q*;iE;cpO+x(^mv@%Fp_&-A5T=%G1W=xxnE8U?s+k9ywpxJBQAp2JT~+6 zMEKlH|-99bjr4R`P<5a=NnE(zfvYM z*fV^<1mycY%k2t*ZL*rSP&+lJm>^bNI=?Sc3lW_wBNJ!_)OgU)bIaofDAkT z%!d)#Obrr6Qt+_@@B0!d$8E-yVyeXi)Tl(uboK29frM0F1bg{_5Oa6LP(Mv-1BGbgg1)N$$je)Ft1(tBgh-M4Yz4$0n5jez`C$t*}kO6 z@?P0DU}noS>X?;dAPyPMgP$6#_0BLUR&PJMNKs2s-w}2;9-A5l(*~MKwuG^Cul?bX z!)a(qZ^`#`BHO~=5J83v7+pCFbIq;N%}aqkfv~`!ptTolm%UW`aX#M2=(a2xsTyG5 zNnEAv4;uC8p{(5o4kNOK_TepYUsEnM98@0AlHQ7f!~M?AqX3D(;{EEmFK5Cy{q{>8*gpYzQiV7xmEk4pB4HNrEU zYEoG&EzahE3}l3O3@v|dgQW*XhQJ`SS7a%XDQaUq_-s5DqBbZl7T(! z3ObcE^v7l?>G#(pt`Kf7KuCy#!DT5$LwC>x;&!9A4>8%AQ!!*Hy2q1`;Hz|3c_zT0`8ttIttb{o3VCt zilkNWhdg#_wnC^>HvLS)mUGcN7X#QMd5wP^t1hfN_Jx4rI&qsPJ327vYHH{t!C)t7 zaK3_wM8c*QZF4gZBSxXrJ$JYLj$dfPxDY8gQ*_ygBz5vb>c2#b?zJ>b)GQ@{%(K-2KBZm-tK76Rndk z5jZRSQ^Z(KE>BLWErOPXG@Z*j<=RF(-P0};(DU_2{MSi-5!wQr1@&UvR>(T}g`gu>bZ7uk;S6yiGDF|7s zBTGHUjXC%ba3UYyCZ}raoEfYy9k%#WR(0gy5O5)UM>fJJK&8A6VtGXmGHmf5p9XN} zlucoxUEMCiAb!CR#_HQqil8cOH-kyGRAwvd;{PbE|9r8-us_0%Wm)?b8?)Jgw>$Qc zHo*PTvsVz9q7j*4M9(LN?R&kC7^M>Mg!050#C2C>tH_2Fv9K{%g3bc(dP!G5Wr5zs zvU^TsbZHi7D2WJS9;3fHy9iWWCWp%*Zspb-*FQ_l)`f)xpOs|@kpCtOCEuo$1A^MT z3#M4C%PWt=kJ_wB0YM{=2JrFl=Skm5W+c<->u-RcV8FwoA0{hWE%Vj)h+8D8A+ekW z2?vuFy~iURlDTJimS;vI2>BLqG5u7b<86fwLMSY49kg8O6w*nAk?r$nO`{SpC{i(m zviH>@p8fZ2TZZr0Tl zqNmW$lc~f}gF|`3G_tN{k@q$o|MgM$#wZWSkR3O3F!!ASEQcxg$-$ve7K7~8do74k zCIrWaAiWtjw(k;Z);xU7^BqgoZO;}S0!;liDrcg?$?9R{`&W;nv~%rr2R|_D+Fq4Y zFjc`-O?c$;USmYEM`bY(DLeewAoz#pTuHidnS-8yY<`$XJAxUYXo7SmjF}4flOfU) zenPD>(a?kzchgp=}A;lf*kfWM9kdPe9m)oqskc(|>1_9Vs?x{14Gap&SB=qno5zaRkTPvuz_MfCXl zdja){A*uNME>Chu*xjw1Tzet2atjO3 zsY3N#d?tOK>eMp)lDQwRZHN3o`fR<`NX_CAB*$=eMACQ-=xEBmp8 ze*pIve6uyX1r_k9?I7ftiLHe9FRYBU(5wsN%n_E7;mcxqse`Q$HICTEYj1uM z*gIv?XJ?Eu5;WDX(_x2W2Qf^6&OxX{$)X!Ia~p1`Dc|$I>&&R`%g+6BDacu3_bq!-rbi+vh`>|wO9J5|!&Vh3{29k9jKh<+!LyL2ek z?!nJ*dW}*hnI}ia&ZL3y0pa_R>V>>@f&U^pvSb(Yp~b>W7i@sM^)%+Lnu%(kH zxdbf?5`tDF=3eQQ5&Iq^06gyETN7M^9;c&vUZH^K$5U@W z6=gYSt`GjItJc6}$8&L2aZPmz!e`erTtVfB-}@C7q3b4jcQ%Ep%a+bH-lehnbE6$- z2y=h2HuXg$X#8o#52oCb!Fl!rStm+Nl~IMVNq=Nn+X5Q=6@nX zd_?XKs4|pvGrUbLV}u|3tOqEL@%##4woHj`c%dHr1x6IV`llKv5exmMRXBFvrCPd1 zRo89p8@d5D;SZe#SE6_1+)R%%t7~`TRksXqm4CLNyLAM*-DSbOEycML;J|aGnD5Q?*ya1!d#h{BQb~Fe@i!1RegcvghNeXh9VV>mx z&O`5-m6&gIx{BoR6h*Vc<5@o9g)**+Ntp7k?QdxL@$g&GSFe+9Ma;(f-3`B&frqE~ zl^@)Hi%>qNk*5GFChfcmb;AD*ZjDOqjT$}oePH%MtJlOSv{l4Hg}>`UztJBKx~B`D z?`dT?pT2*4*?DW^V{cxG1?Bv%3>88GG=71>p{2-MxvQ24H7r_uofCC|X=3hMTDLP5 zXNzu)2$l)C?{Y(}Y`yP%1ia?K7I@WE*_2lsngLC}m6=k_S*Rjzzk}M8?Ru4dqmJq+ z2SsEc#7d6jx={}QyHCh#PCRLIg?@LE4Se@oD@!N5slQ?budc>!O6`3?Im+QZpaIh% z{UY~jkoeRM;8zsb*oQDOFz}x`^|6*wAU7lwtgTjGOaS*x_g0P!MASrCUBP zbm{(NY9#AW^J?Vybb?WrH;s0g zuCcRvw*zOv9dbBr<&buBr@}YS|2@{vkKR6zn&A0SANcxTF<_VZ-G&dAKS0)HG3h$i zhBje)xC2o?fX!8$ZeaT zYvbRZTWB|pzh^C9SBA%i?U$j3Al(Jrdg)Zov#W^?UTG35TswN}>Zq-b3>MNbV*X1P zT08dm0^A8~CqN;DTrL-w%d)_qUmt(H8XWIlpq@sZhNcqf2agmA_Z;8Z7FRqHV(<&q zN?tLxj<(GA!4BY(+>p*XiL#K9F=rvY=iyh(+00+(y0x}gk(2(2LUgzltzvT>FEX(W z8`gTgG})!@xvt&l$^EEmUw!!d_LQ9_7nf5J45a#P$rf)rU zBqsdIf22uB@^paj`1nM8%ZPw5VZy}FHM9-=k{jW(CQYa5A{ZUY(EeQ-jLLBS4lXHS zd{lqY44atAe{it*9p7>f6qO1aPtp^hqSd~p5Pg{bh}@bS#-8|@M2N2%*p8OU*O%;D zMb1r%uf^Q3Hj}T|B9dgMY(#f@L{bCYtAaAUcsUkL)djdBx{$pB2O${eH1RnBCs^FC zL@r)ZV3CQzu2BTGdmlO^Wm%X9?|xq1O%{b=GQu2=FGquriSv-8SNT=U7Dee9?IOM; z9i$EJe16ZFezH{eet91BGL$o=y*}$!TH%X$PAGP4C@QZHF0CvrP(Q1d=S)&>0H~PP z>qmOgDF6(Tyf@#{G|60v_6~~?O+fmu3cq}|1e5)%%thS09Cck@G(jp#6v(kb`X*5q zZOi3hq7ekDka>sQ3t+8rm?qb~m6NBut6-pf)m1sZ z{99Rq9B4y@MO|v$O=r!M)Ws2S*Ne~vzKXGn01CY)1r&w!u)BX$WeZQ&o#?@|#xL)U z&P#1kHqE@l9nc3>-EmPki3c_uu0F&-*JG^KOKoCSpgrkW+aUJ6BmpMv;$J>uB{#hc z05$O1T&~kY#sV6ae}i3bq~ArdffH!!75us+P=_t@3{=AYM(q)_H_!0z{NVZ=t8)Dk z=o;3OO>zV7$1Js);&W6cG>o_@IIp_a7@DiSlKG=WMDDs&#!SrL_~8gXY>^F*AU}@v>_jX zfSY)16F6jn6Dq*=W(^z??P_|Fbl7;%9LGvC}6%YZcNR-GtJm07ZMlDZ8EG=I3&KK5VnFeoyyR+@9_!YB!rpR;Ms^h8P!kbVmC< zT)#s!{;5oNX5S&^tw@U~7sZ2e`tKI%8jsvyVV%zhFJD6L*cHfSr|-LeX54H?N}g6Z zb*uXKuzW#4r2=Y)`Gd`whlH*ehbTSg>JfGg&GW+#6VYA zuix2mvRCWe%mU$8Vd_*+1qP&eq!hyFv%dk7G!sSxY$v}#i+azwpR)mNnAAtibBl(i zXu{Xzh8Q~WOv&Hy*Qo&9vw@w)c44IMeXjz4nymcY9uISR7ekJkVAgba9E~8fc4LwQ z9j-*c0mc$kN!GeA48EG?ovjBU#>30s0}(0Xj?i#=E=q6 z1=!7J`WZ|RrjDTc^pmU-X_+@ue+8@;F5+yXkzXXu0rR<&{%)YFpYbGHKnkwlL>$I` z8LDl*gJJDzM-ak0%;=GUoJH#oK6E8ROw21%xYbWR(470D{5F~V=6w@0#?%;H*6ULo zcjvCA-c!WyBHbThWTyobMOrfy?r9nfe_S^||LJn)e*Gj>Y>%j|WFRz;ltr;(pmoH} z_=jF%^;frG9tpg|{AuO`3*%(5ex22gz?^1>#CtP#!MT#-RV}4G82j<4(NJ?_E;1y9 zeN>rk4>#`Lbs$wof1$akDDd7@==7lr&+KTm05LL(T>fXhzN z&Qphu5ZH0!%vumHU8{F8%rmX1U$o0B1D{)}>p~$3b8|O~=Y_igy1?e;R`5 z=L3FCq_^>SMWiv}ZmFa`MP0q8ZKw0r1@uWUYb5`xNZu}I;NLy;;DF5uoN}TWERw8y zKzx$9Z!0odva%zgrlE}JW0wBupw}yInOHp>zMhOI+%Is_xwDj*GX`2y51pWU&Yh|I z3k;tAdk*R1Y%6E3{k=~C#{ZdWnMJRo^?wVG(nG7B&p>TyHepSzV>evhO2J|lCjL)Zt%+tbC1w%Yn;x59Z+c9@1QL&f0 zosqdU_867Kni9ZcwCr{4RXE|^*k}4J=B$<$y?h)A)qiC6t+(OMur_-u+JC{l-owr; zCT^tx7R1bQ+xQM4CnJ!|mD<00f96qWwGX}(=UzBjxj>hFbVToWM5nSa6(v|mfu2(E z8(b1Cpr!;ILydk%mY=8A*p^gXo63Kk`#?kUki@ui6KH#LUfF*oz|D$Uadp^Ue-*CA zp63fKQ!a4d3e8^q(+d7Qb7;pj7Gly5tlOCjWrm_LwCUy~E<$SaVEp zfTryFz^FI~n>NP`-#7cxBU-P1P}`UF+?h6Xs{rY2Oy)a-DYlj*eOwC&hLMZVnUs0j zrL;3hyW{_iYcA<5(jp4?ocbddJ$~q@>u&RMH)|!Np)-gelf70Mm!Eg0o)9N|1bh~a ze)@Q;J7YI;b4nV00-vg%zHrKen3uh|B9HRu-hb>`rhYeDC9G-wK^gSfkJJ~afM_t3 z1VwZSaIGorqQ_xjmY)NT?OhPtN?##nwuGnW4+`g?%Lo;Cnft=}cwh%3zoh$MSE&^~IKTBX z$#0ZoGK?|-Z2E%~1janEgoXaG@V@gdW3p6>U0~Fn93UT-EV@VR8R9^E7B8=)7Hd&j zODy(#bRbHY_>L{*NtrkMzzp93mA%rH1J#{69Ft0JjZ}SO*zet=AsQ-|`y3kqfBZ|4 zY-KF0L_#zYtC<&VuUt3+(x$qG5J|~UwIUJ(qQmYH6JZ;6zp-{HjTtKS6GfgGFv`_b zXj_Lj+;z<^#qBP;UC%QxaE<{1lzYjnlyGN2~kE zA|III`X9?CTWjUmMRDKg-?<_e*u%@fY?BtDMohuv1)3;!`vt!blxK7_-X>A9(GncZ zuWwk;QKMk{o1QcnCD%yUD*re{1ydENV*^lndgd1)wqv^j%=R=g6d-pAT$-%+!HdPu z`8T%PJ`Ciololt7F0TiWyX^%#Z(B^*4`0;s1~3QlZ@9_xro9J^(Ha*JlZ^Ua1t-O2 zE>`h_##;8L!zY|vz;LuAx8QqBmaUw7A(n&ocFE2cek|>4#eUGNYq9N_3c(`Ze@elj z{^BU;&Mj9bkOdXS|HhBG)>p_KAN-MZ8lK?sy<8=wVcnasOY6L-#9x2AX;|^x-_>%B~Yw- z1wqz+s08{)WC3I08(n&=`M))dj`ibdV}3dOrJ$ zD^TPRUtOk$h%}qvg=9p`AGsax@njeK$V`>+JSpbb>mHN5c?`Pz2`jXmgKFR7hLV3z zTRLTXfA`BEYlPQenM*Tb`kf>lpo^qQ;sGn%2=Oqrj5BhV($~c-d$s1KKy<`6@9R|B zYdgoz95>_&141h8nQnS;p^;x<=QaDgy=OBOXREJXvt5NG4e_hvY1zkBUWcH^FvYGZ zbX)U-LB2&Uk*@&WWSq!ab(HQ`W}Ij2YCxMsW;u#gmPAm5St%bAKS?}v4jN5<#Oi~sHv2`vhg4|u=G4ED8N z`o(X7ON_58S;X7YO18L;;!7S5diIQ!{ZvOC1cvDIzCO0AO)~9pt!UVqQE|%+{)paY zei21II^&qUu=4gp3bhbG#I|K`xr?E8r4lH@V8r#6XtsMYD9T)7f|a@nY%VQXYCEBP zP-;tO#PR_})-TbMTIfkpYcnePdK)$O_E7%6BcTj1u=&T&YCl1!nvC>-_H%;ihoRIt-K`Vz(YA zaTv|9nQa7Ez9qhV3`JA4jL3&}zVnrq4~@1TN>JDSB9jbz>T2KcpWlw!+C;qMHNBQ+ z<2s{#ZUoki4l%5>U3Qnd*>x?D#R%;bW~4k&?8%W5NM2N-#a5lCx{k;RXG(q>`8BeG zLG=A42~i`{In@rU$M=F3fo>hJucp@fpHjSd0kORRW4pIr-8}Q76H6F;z|7-CGEY9h zYCz)Aafe0YD$VlkoiUdJ^J~Fvwh!twyl7pHl67iAUw z{GEId*noo#$gEYel2CX`CYiUdAsCsPh_ng`Tn`ln(u=%LGIF9mzvcP6@eDf9mWIVq zgVS@k!UJU4iIqS#q*c~GjIXVni1mj)_j>L&nzcFqqvR)DXi`#&{Z2yr=I4tm8-xE! zHo~B?*h!IbDZdckY2bvum&FI()Iy~C)#sWHKsAE|X+@XT|hoTkyh|cVJNo z%fS+Jd-2v&ts^;2wEQ(ystT#q;R#CM87Ap8v7o=2aB?3?ra?DRbMOdz3yL(7a%cl3 zaDNwlC_?cwN&T_21XT#TUwRddYB2t3hr5 zfUL*Dun8Zv1I}>*ujme;Un0h%M1>Ba~9*S@RR-uV4B}ul9g0!PXO&(QFs3&7EEQbCEUKX{3}j% z(|!>BWsR-G>Q%O;W_#2WxMAlL_gBd-vFnq{Fm*|)3i`^WVsjZDZJah)Z|BF=PdMYN z%UNf|&R5)EgG2#UboUQ!n6f>p`nq(J>^_=KTN6yCoso@!&C)0O)naIFH}ka2fKL&_ z!B*&{_b(Wp9V;2PUnpxPt22El&)lC6md`FHLoy-1M^pj-RcTb?|hh!Lh)r(bUD1)0-1Y%h!IZowDP>A0RuRH)n7-TKvZ9WFwEM|!*f*74D|D&}U-2O`-XPe`zinEDzCzGPGqv@L0guSQ zoC79mdihnx(-#lY)$_D+n{quO$vQHY%>n|TS9k)7I+f}gKQ}sV<>@H+vxus-z}G%E zhY{j6s(X&UoU35>b+@rFK)9qW(hyX}bZ#8{XGn}YX#xlvp zWV{p$j~$H%sP@z*9?Q3vn66YN9xNaG@p|wh&TdD-?MrPx2xco$Z{~^T7v*JLqD2m* z8t=QSqxt5ILF~gNfu0*e_L4>Me>{6sx0qfafxwUG=W+~V#wcVA+$v{`C3zL)T|#EG zlzv|B;VBmoB`n~HJ`>aYX{1=D>JYL)opmKfE`1=;5r>rwsuUh=Q^9wQV=dIiD zdGpO}Y%B5tH4QET-=V1qs?pKuV@7nGwvT+YOc^iY+>Q zIZ0MZNt(lg?M3Fbah<|z=?E$p!ouE0U{s6h(uC2lFx1$Qb?~5&8MhOY;2XdJ5*cLc zGUGw$01C?-r)~8S`oBtkYufofVUsyac&nq-30#bkmT zZI$dW>>?g@sjrNTG(#3K6 zjge=DwMr6!MDgps@4;!+7PxrKAy)E<;f{0`)i%|DO|@eX)Z{a?J_%jpR(L}AkiYb@ zaYFXdJ+S@Qj2*Lt_J?Dxg=%^%s;9Fy(Y$zS=r|wHqwB+&3SIMh;BMPC?s~$lv zJx|%E4HBXlEKDn-n2~-PpUf3koW8qr$iaUYU%{urjgU&lw`3PL^HWQM;phVq7)FEj z0r6OXz0c2RVgxd%pH}R*<0$)pSbG zBFi$g=9lHyuSv9X53bc_$BQM68Vcx9_SCdoh6KpqU%V zee?b^he)PyF`uISZ1cZKt>rEBF)hlp%U3zk^6_kY%L#IM2KeV8s^X@s`tcWx2d197b0}JR2q9!dpP+}n!jG+T1UVCZ$ned9K-W!f-sUV|Jsu}n4Fa$ zzF4t^dNX=cg=|5Wmr2f^bS>ltmFk8!@IU_^l={6HaSE2WkW5Okc$Bx4Ej=uAj^58! zxF76=Z-}u9l3(R$lxk5qXcSsVkf%a^0TJp8ACid#7-V#XExi0KC&`pgW(t;PmueP% zVoC{>zA77q$Pw{5px@+n;98DtRS8QV>TCKAj`c?H{)5J1AEx?s-k`|8OV#G`4E8A| z6QN1!Uu}Ay)kEI8UhDo(Y)Uek_E&xZ@ye0-IbeTfm8(e)^=e~Oq_=j5pZ^q)1{#Be zszk?Vj-!!QmNJv~{CFoOJnJ*NS!^#dH`#{K38mH+Ohw(9G=xa>HTs9g5$i971Bau( z6K-&=bveJ*R2DM8yDCn5YmI3zm>0#vZ_oLkiw`52nQV6rZ z6D%ZJ*VR&&fVq<*=$GvY+WO}96)5Yb|E|)J4)+T2_y1F&9i{!zKxT1iS(W^i7tyj) zW1O39ghiRSgT$l??T=VlGwRkoZ_wB;$RATXGDd5J^%Jif{ny&xU3{C5ch;{bUXZhq z{j|Duj2kyH6mWU{cdTcGMpZ3GtOKqDva(|RgY)5S>Y9w`7J?d&Mc&RZbRMWJ+AE>5 zQN2UC_!%I}CnHH3nnH< zC$aIy?U7;eO^>q0I2cJM+6o-?8L~!B2V0amk78?{ez^P|fA?;aKX*7D&gL?5uODy< zfBC*z)(F%kj;=C9ar(VPQewOu2uvDIHw4hiLE^;!=7DQveG9|blS_QmTyVOE;+uN0 z$-D+}f157@P^AB33i(+x1cH>5JRG5-w<3|4-kTzcK_OKnr)^Z50FIdEmNV@8i&v$i3dkoPK1V!|jiWk+oImu<9^*>(;{U-0nbT-_mn>YSOq$39fJ>Y;@f=*1+k$}4_#AC3 zz_}IVJfG1S+?NCoKPk=v1y;Fn?L9)8XV&`@>+`X<^8N2kpY~@N0TkY)zxrYwDpzRD$>x5HN;R7c zHz#-5MsbjL5!8443-d-uneA1s^mMK*-~Xp3X#z^S^G4S&>ASl`Oq3+(YBltrMZTr&VM3?XRk+hQW*fG)1Y49M>`@;#3}_ zrbBT(-2wNoUea7~*c{CZ!b$sMQI2XIAncqkg5AO?qpJ?r_kERd&jMEj!HrGU-daN*lTh^ZZVK{Ao! zt>b7ECw4?p%s_cy=xy`AB1U15~2_>fu17dVWIa6BYI2I6qj5Y>g<;%=_is)_Ou{-$>yO+M^vQtvA7J!KZWsU8x z1v#)Xeb^cK0BhxWtdh_~&rnz8Of)EKn;HqZ?nY1!FiF>Vn=-dgfcC(wlg}#IGw%9$ zR;IVle;!<4-hTPu8n;gRoZDwl?Bv^O^j~crsZVUC{^2x^MdRB?Fv$4}#e=U}Y^jZp zu8Sja2VYz!QZlD$UMu3W{G*DXPNixRIJt!14unR%uvmur1pu@aN$ul=I_HR{2AtIf zU}D%YP^+O;(Htwvz?a-W|Nh;v<@dIWL&blee@tm%`UObX5@&ifYEweE+>EN+zDr@C z1r8^B`)V{Y^9=6BI)w%6ZtdqQ0+-9PV5=*!x}~k6R!lEa1C?BltYGm{;g|Klc``W8 z6nI{OFN*Q_fPnm*vZi_C>|9Xrc)#+KM;Yyci8F9rG{&vn}!KF1wObBw_pMdr>?>qL^*i@1Pl?x{&u^WX-Hy8 zY}3MgGvgVR<#uY*6P?>A`J0Krv}+2Xe=e>5i`Dk(NVsr!sW92Y#)U^>WY8glbZ34e ztM9dlRVp^Z)A6J=$|-=A2u@D#X>6fRpenmbZR-&2lWc>L|Mf8`+hN3h`#;}e;T>bm zAarxw7(jPssAEt?J*Ro4)F?)rY38?kX_Qh*2JX4`$m@=7=VY3FX}uOl`S79ge_K}8 zCp)Ntfl7+G*(Y-QA_q5ehaGd5u zYgAbmw`3$kvR7S#RjDS0S7=Zcmk@bRiS`PS_cZxZ347T;HGlAu(;N?(fF7|+^rDMY zXmk9&L*W=!pN=bNG+pE;#xa7jf5tP9B3o^X&m%&}R_@2SFO*YJg2j_nFh92P!HEK< zZg1OXD^tRC_gIVj>sD1{LziG9uw~W(R9Qr@GWQZhp^OJfL4-TRja>()h?Ap2@(AaT zQH`%&GtO8?JZrlUrv!}yF_G8LAVLowc<*%B?X>E#7N5q_&+1_=VooR%e-j;Pi;R^xxzv2jS@KuOBisPmpGt^CPqU=aXWjd(`Y3|MiDOQkgjkM9yq>Pe#i&FSWd11R@IwL6{DcWs_)q& zU6ogo|HiC2HRZAh?^sV}fA}1~v%z->N96=>ps#$<_MT0h#q^1Ua6u9u5V5cre!1@qRe`*o5$R=5TWReBy z2UO);^leT4GpeRJLkGNZIlBp;8t)Y#rAVNj(p{7vfwR|?tNM>^>03N8#ke8FHO2Bg@&!2+zu{LDMCcE+k((QODx=n zCxK~t1K!J!_)KjL71inn`usOY0=ejSatwMm8 zYV2tsYNG0Xf5%eZ8WXi8+0n0LN)uCO8)=PAi>cw2LLGJ4jwll!ispNEVK=Enw~dRW zZK`Dt!!-`zMnN9q3C?=BA$l%%GTe}^Dc|LVTl&5TkjN}}zwyyaLN&F^H-cLcQCt~Z z6xs>vUF~0F^+TwsKWjenZW!C^BJ0k}T(26wf)!KAf6@|F4YMd8jFtHU-kPyQPTSBs z1LeM8(edbtkg_b3QV3yb>>*{KdtfNAk!DBf4)Fsy?8U`fSYj3aa)PG{ti^la0xD0> z3N}!zjgV)?qo#osPbKDD8=g}oS+?+(7$)(ivkb$IELzC`DcfsiI1$xEA@HMN&@d%SzPK0$!je##FyAGX`wv`=Jbd>>2FT?0xM)umY0TV0 z%Y><+m3F*B8ozCfa?~W5`Hnjf-Q}ST-$HEwe}T&9XtjIPItnd(|DZ*eA8As_He9Om z=a?i8;R`-HllQALt6uD^9C8;#NOG8@ly;1Vj2Sc`c!s6qdC<}!Xw3kUa_XO*=i_SY z7?KFje8uN5mS;Yez21tRbyXT%5aiLG8 zk*Mr=k5_%WbGm>c!@$QTl)YGO?{rso#BTwc8Goy7?s<%UVuvF= zvIi*SzO82Gu_W}BozCkW7R+IH+S=Y@e_R_K{C4%Cx?=R1nM;r!ZWd66{;4nl=lm{|lS8)^NNWnLyk%Lx_!HBW7>Vn~LN7Cb9EG!LH98iH0l@Iaf%=fjQ*Sq97CWB&sbj>qX0LE;47x;)m#fcEiI-g z+A>>!JTldJ1-oZ;w4eOu%NncaBHnh#5l+QDt2^`C)1gMUZBO}x zVZh=u3S&xIxV*r^XX9LcE?LMxS2GQxIq`va`|kSXwzb$9O5>uHrlh! zmVJ~hQO{YTIJ?K6^xUJTo*;6A@v%|k%r`Vl_~g_5je}}Sy;0wk-sCss%s4}Cg%?Q; z_S{3s_M)w$IiJU`y=qH-f152Da<4j4E}Pt%KD~31G@3QLhC_6Pmz;Vrx<|A%fz>SM zV9R@^>`(fx?kL0Xr&qUYmQ4LRY_G1QgyDHIA^e6LQ+}AvnRk3}YuOyhWjCiQG~n+1 zw83*0qtLyecg(bcZ1*>(S|O~tQ0FsF%y|v*C+{IF28}DfC+>yMf7}gk^%(Rqc4a>1 za%|cXVgA|vYMKIG`c-NGPau~HrID58E#GG6voMk$D_h&Q+N&bmZ##wiz0fKhB9@aq zf`)g-Toc&!!Yh`*yB5-7$-Mhco4L0p?O#=FsJGh31DVpGbE})=c(t7TDdBC2 z!zi{LsR>fh5{mcXe@owdy8Qg=T?EWvUPlPGxE>`$a)xoRj}74{FuWn7#f4ci|QP)NtGYph?8TcRZ)wM5?D&IcC9gX*VhRGJKfbAUc^ z!G69?1b=wPA$+u4dax2W7aqzHOm}kT+OG7uMCg<@V^Aytm>^*QQLSJY* zs!D6Q$phO~9js!oF{~~H7CTH!_nTN6rj_4r85wJZ`|xJ*+Wop?=3}S_g8X0uS(G&2oMr}X#WM)QV}r8 zWxlP6L-}of*aJ{jO}2VUH)d!#akij4<*Q}JKdCq982Os^P2Xm8in^}6+bg>J7Y~UQ zEXJ+9m7lX5#=r?dfBOt!K~r@+;BmFSCs(;dFztjJypEMb zsd_KBvU#pnEQj$7euHyA7F%HPEnlZl0z+XA&&IvWK#Wsx~QNH@OZLx(=vhzKbBjbe;)fNZL}`0PV|<5y0VZlkXV_F@2uOUC9aR5 zd9(*)xObb)X@?|~5lN53T|x9r9D6H4jwAw%5m_Ss-4vTu;{1>y=%i*YX#4iFa?&|TIga86m>7(j3Eil(L>?|X3C2iI z-I5;+Y9Xs+WdA%hYJw(>9t~F*B&gF*@ED~~Ouif=Swf4}GU!so>7B4J7k#PGf=hX% z-nhUV;f1mvR@c@>-ePWuubU0fe`LybVmF8ptVn-iTzqlCerrvRV{3KQ2iNv7AXn8Q zO?w%y;k4~y1W@#$&^Bv?L8e3{TmPM~N zwzZ_pyA`yKiQOQEhzI(E(b>w;lc#@v{O87hf5CRfhHJz<$PeCQpwbpl;QeKxQ72WP}Se=e=_IrD%^v)#$#k)U({80MYRSoFf&CzBtO#qXwd}i;r)iY#X`S` ze=@_c06(T6x}m>?o&yF9jyRTp)!PP0X^itM8oixBxhiP~?HErmB2HR}_7jrwDe-h2b!e25d-iKvGwlATK zDHeLwo1s=qOh4B>HSEP4Ft;>-!Mz(VUu@+FTkyds#ifD{EJFmPC)RDzOjQ4m2I*(W z36nNtaUKaE-w>KS?+^~n(J*E?h^&=H4UtkA#uhAqlqb$ETK#2Bdt$LdXtm9#)L=aa zD^s6?vmbhMf7Y)x<(`k=*~Lg!8Ne4JYD2`!?niZ|2j##&j4M)MI6?<>R5OL-q%Y)U z%b&3j^A~ruy;aYOSeZ~(xi9a!G4l}@`mhAVG=|*jp-=(n>wCyfC)S~v@Z*wd$wP|x zpRXzTl||WDp z_nQxIW-qs1zI@h|(VH;(79B`uUqDZ$5wgdH0QeOh12eQn9gwLKkcj7zsT_jUQ){>6C3E6VODw zIPuAXdzk`zt_%+tOzys^SKkzXUSWBmeet<)(p)io8((i9KRamyKs*fwKeK$%@<{mzC$rv_1$af?k@L|f`x;BUH(_{DCq3J5~0~S z_4`+ryHiLx?Ds0qP9Ht0mXz^6km7+Hkrzw1w75m`1yOag&T*bucCAgvD+uF6#5WQl z3J#oMM`NWJ-vY>HRa=_JSv^?<;TEkCe_+<(@;HM<9=Z39X{R~ zT`}}^5~CGvW3qr+GkcdGSp<_JQ!bOiPUhw`&Faj3$po#ld9>97`9CeJqLvB+SyJXT z@V)=$My6l{H#KYNrx|xx0`OP^7cMYSrCZlS82#bzSLyq6Yc7Ye|NQD zngpGb@+yp>_eQu~xKBA@=Tb0S=Dav!iKQOy2RC6=Ye#%xzq7P7A}LH88KQ7MEiLtw zDMsNnR-{nZtN|w{7%MI3Pf~*mDnrNjNamKLIJc;myl(^kQH9il{LGEu8jm+cPT3@{ zN?h^OA8{JTjj);Z`+p@svuV7^f2k%?zo{8wks5VaxCFe3o-%1|uBSW-+nAfi#_Ysx$nvoHqmN)AGyu{yTQ} z!-#iIc_1zxpF6`Qqym@+@gXFn-9SN1Z6Q}n$ty{yW}f2|BK1JHBz zO#jLzWKMj{qjQf%ci4S;A$e4Q(6Bxf&7a&=*B{!aM-6OR6d+_iDs39gW| zAXI0-h2m6Di&T(>sQalXe=6OO3yTvX`Mkx^ z9vKga{#Kd=&v#HP>>;6ODQ&(u4XR*7XiolgP4WiavN-Sa!v&F0raDNU^0g6|d8iFK z#QYj#6wcCZCVe*E^iyX1I65T*kfZ_AAZ=mihLXTvw7}mB-?|2pNi``H zlRaB8>?i3vw!i)E^RaN?JvSWvq?GhUy@$6khT9!3@fA!to_N#AevHM)_f&ejI z$^LatpE@sq@03t~+usgaR{R9xNBs5W{>HIsYw3nikoV7Kre^x~Ata0y=T=PXg~Bd`>H>9 z{r$ELMWPxBe`@^r@#EutFx+FkB;>yO@TTOGKCc5JJI z)oDk4zSG%>d)BK*|Bin%(YzRs`Vto3Bby~xuEW*wKX((N?9di34g_q~Uq|~EPm4|! zJH*?=!w1(pw{O*UaF6Wo02?!ll4||BljiKo&)yaVh0M zwsQl$=A=wmUEe+?=!Hq+{D-A9%9E z&e|ycRJ6`_DmSGB)$^3^6~UK1Q6y$M^fF1yNx<}y-s`9$#W5># z*wT`Oa}Z&HH7g!4@X7E*0y4 zdB*ZG_tuWs&dawFj@Mee3qsxIUFI7;2SxxS!*YrXV{RN-WxJVW!K#GG2p0n=g+yKA zlU&l@N^Z||HZ}L%?Ydf#;;4xUOVFUZvj--#$ImC-t_OVQVB=7{tp*6`f7*=dY8dTQ z$mB*G$X2H;t@)G8jpYZXse9M-424@T#BS-XD$D(I28dSckad$CDv@Bil3O)Ss9npC_%Sh^)HR_ANPelz zu{tQS5V0p2Ylf?X@kCnmf2`Lsr;+kig$El>4edz*Qn?n<&82n`F@CMcRAIkm{-iE; z1!tc6EgZylLUj&DXa=g(56Cjrc))1t#N}UP9}A_Ktc#JHc3+7gfz&M@q|}7&OZ3YS zG|Hb>y9H<{+fNhZi-ZN1Gw|`u1s`%Rf6yA&0Z3uFcpt52 z`8KrU`US&b6Fh_CSU3r7e|NkPy8ef45J&|Ew;ezt;KVYJbK6 zLRDPR5BxJw5u_UcnH5GSAQQ01uUM9z!aign*!sd032t%lb<=5e2k4Dq)WNIbP?UFF z9*LV99;{TN&+N>#P(GkwVB1e*@`+I52uKhrrdQ408x<__XX=qw3F{whE&yt6gn;?P zr?4u1Cnuq_f1tkI^<-KsEQ*&D;Ug;b-6fVINoW`*;pg;#)$wf7=l6OZV#OE%jAqF- z`6@l34MrOM?z&q)q-f2JDK&s@g`eK`1u}8PNQR5G!3L{{j=W&3tu z)z>|76Qq(xtyij>9U8}{*}Af$i3ICj)2_8<>wUhte;5iEn+0N;C9duP&d;Z-EuaO> z?`|8>V77c(xiQ(q=Oh*G(iZ#21W1I_ z5TD0Vx7oQio|}{uo4AfEleSBXVa6OwxFxv=uUGo^atEc=#KL)ZZv5Xaoej)d#S4#j zHJSn7f8reBXR@*9`oORx;_`A!zw2Fan6=8c)fw_@sboGoeyUi?kq`F$o@T;^U5CWx zV1QH~hpAtES`l(x;k8wi(E{t%+e{$;QQ0N2etHecHL!iD#M+T|JGH~58NGnIS_BBN z3*&$By$QrZP1jJ%q1G7aBC&3HQ%2va@{JcXe=0D^6|lU1Rskqad3#T92lygqa$;G> zASG9ksT@jn%PZ1L?Lg*!M)`krF#Z2(mn;!bf6=LAra%eL;vvnWQlH#7VFp3@HR_S+ zUc1fb{T*Nbb%CC%yisRCcytZ&e$)f5Yd2 zb6*n6X%Qn!8yFyOZibB8*~&&2ph%1O=&jY3LPM-s57l=^9irhL{u*(e?~hw2!&Q&p zw9CS}7(?ZIXgfj6H#v(QM5JPt+R_+9-TVNeLZ9K zVqbL3IhRNdTcSp^-A->vABJudtZdyb*w`v<$mu=>#hJyUct*ydA5XfVf2&r0|M7e( zl|q630Tx1>yRKP|KCXVWzF&NU!Keje&Ew$u?0&n~dd`3oTXl3m&B~eBQ-honLL&PS z9Gx{UXHZ>}_0#z|3o2I7@x~#_x%eeRfkH;CkS=q~$;r{EF$Wrej0vNBSHX*gZ6~u$ z7Av`_v?Yu#v4w$emN(6Pf7#Cwj;Y$Ww|ZW~x-3r-e^l40;G#XuEuMdh zOg}5FZk~}vp!TiVsXPPnb7@lxTh(1fCrJ_$t&DEUh>)sJbIpHIe**(?W;&UzNUy%2 zD{C^c%V6ZM35y?_jTQ7!GsBdRYSiSvvuEV3w=^a6rPAbt{h37lmG&4Vzv?BPhv$m- z5To*Bd`7kqXmshAUXg+M(o(O^Qcgj3L#2?sWYd}f%?)X*`w=!IAv#m;saDe-Gmxnw z@&?t+$l1`6jU1&Fe`U+;j0-Q00DhUhRAlkM%$42iBO}+Jwk&Sl!&huXDun&k@?I43 zNErkQ_UL$U3FR-OySb1?31$6`ORW(W*uoB3)K|k3d8V*TVXeuN7Govbvl9{~IU5LA zZ?)SCAN6WW84MwM+KiHld2acYN91(&WJiy$YUcMP#l@Q4fBQRv`gzshI7#N%Mry;T z?MCx$td7lRwlzkhdyjI)&6*bOzgI$Uu>`IZ#^}V^K>X`Wc8XpL3+$2pIp?3G^uFIr zxu=GJ!+ssC#1Y?2U}i=pULPKsFX!;kEgiifbN01cU51;Lhpxo&>1LIJW_;zI?8FHh z9Gek7%yNC4fA0Lg_i^_^tWKA$uXd{88DF-`Lfsl3R}}oN_0x%TAe&*kHmh3wO*?aT z7B88$UVou8`JH`ji|J@Mtb8l7!FRS9M}yY4dlku=kO!U*tMLVzl@^)S7V^o(j-9_` zU#m+!KGu=aAGY@PJa+J_DMlVI;}mx)(_aKp)5&e+f5JWhQ^)1*^-d}}$5J3g8YQAd z+Ae*3J8ViUc_k+P^>T*AKB;KRh88a6uHB$~FCB=Kjl~;aaO<)-PyH9~d28I?tR!3)J=*Q)3B?XB;xUrsPG^@mX zG16CDe^g7|)JyBdhou`blgyBsf7qIMcZ}03QNw4HLTDX0UKV>k%Nhzr2`0#)E1 z%c6da$Z{;#Z3;2BO9l4To-Z>5hTV*PG(Ss#f0_$ck!UBquHd_0U%3|Wj;bxz<`2uO z7=R1ER+u}Dt)$lcQ@gVP-MvoqNFM>~V*m8J9#jipxMRfE;xEf_af6FRiA_}Q%w=V@ z0c0LOnc?Y(`JDH+J{uQY) zX*5$!87c}DJmzy^;vKb3>SN(_+zeBKnZrAO`r^yp7tgijK}AfE02hT&G;!pe}%u85%fwF)AWbY;G--c*^+LfiuwB&M~~x& zvRiQ$9euhSI0Hl+eB)tK=3s-XxKR_}1yPg9{-Z~|paY963cNz0ini(m#`m*xB$m&P z2B7)<3(2ryHyv9&>eMxZFTX^?%?tU;7k^&06-bEqEf@#kRjJbPrcFqg?6U*Ne`aqI z-g=kgBV$aT|LEk|FOo>&s+l~?9)D#nwnWV6L3K0dL}S1s{2jZSN%kEM*kwteULU~x zz*@-EY39BB-dR#u=*|b1r(<#fiOfpBZf=&p+5*ff=%9YUFnOFDG*^-~h&T5IHcgD@ zV2S22CtI-wC)r$2ijJB1)8y5se*%+Fy9Ps0(4kYXcgrLt0@kN6QFZ^db|ln8d3tX< zwq?PbKp@wo@l^J*PUgTaidB8YR$lXj;4|mzoVY!ePF%J!LU3Q}>EMgczcqipe5rEI z+)?1spa0ETE9Eur(EWI>t9fpGwbA!rcBq{D!LssE_SalSl8@O3r8z}afANmhrk9Dg ztC)Z~T-1W$kqJ)vut1da3__7hD!HFffR+psf6k*mtTtNCl*aMVXz0ga#@$|XP#Z2S zLm$^_r%2 z53c9LmwSdf_qGt858he`eWd}AFXLDDHC&OS`r5Dkylfr* zYxN*@@e1g_Sd}PCX24L^ToxHNo1DZeIF(F( z>OT4BnaKDfTp(BvNwEKC{=u5}Z>Px4&*-yJN?=aA1*#@P5?G62cg z8KLHhf^hy=@c3W9KB1SsYtADHNWT|d^(ql>D8e`Ha*OZ(Br%C!F3g_Eu?nYRa7GoV5f90q^MLj3K zF{YUuMZWT6fB((Ffx^b$ym|1DVUjQWi%z<3na{m>;wSfC4i6gVyLSGI`SXA9+rKE! z?LYo}f33?Be+$*in>WR)i-c*L%vLd);9T(_#X|*cF;7ULY`63#pD+VP-;sX{MYPl` zor^zvi@fy_;wB@>8os2gfGyf*6|80l2iX>wx2NMYHBWClY-PA8hH#D@!?~oT27g}K zl}5H$HapQCdx2>f!GrA2rxT95?Onkv*0>YW;O3ot6q;QVl$B=e_*rs) zTZqB9^S@{V+UtUuT&VXzw(GL1ROe@LoH}y@~Po9dD)qmLT_}wp%T%1-{Gr!zCb>NshLW8hneg!G*~#&r zE?~($g4e;o)UP&w_g<`11FXp14~Frrwl_P=PyhYTfBn9bjR z`l9z?bYk{20yFw>T#}+4@@w;Z{jvIh;HY5g))#P@op9>kD##RDkDiLO9%4vH2dY=Y zPBO_6={7nU6)b_w2|n4;Km4c|ddIUl zKvY9{dpoCAm}xYDkS;em^4XsD37T!4!k=yq#=7Y)HZrdH853-#s)8<)jBBcN z(LS#tz&`XXn}pKAYm;9&E_Q$T>Ungo;*Tlah69lS;LvnPLY3w)G14Rh=WCIZw)f

e``<*s(U`-Q@ntf4aB1sBX%! zO~N1G6v9+&^4-=JfDqvN8vo;oWvGw+0k+^4 zGewXvsB&MWAJJNE*ov|#e*+ z4Bkh$q%)hO)YNhPVjK%8mlJ=OF;@6xe}OI*X{}+qi;E_+*qWbtP#F7YdI zV*UNfBdjx6Cmc9U(|uX;O^Xm(cRUq$s-Y7~3^>2z}!(9WVM`@2AvGRUMX+sNM=Ik#v_&3sKesplFuNE4|KD+JV zUyU!fv``|J6ay@FDXnyA-SD_Bw?@5vaQ$lY_Q@f%b5B_CC5}A)c{;v$TV02#r$tYb zoUYemxMri7{bhC-4gmEsUlKINXnr4$-_=;hWCU38SNH4{e@c58ucYm^Hwz2p%7ul0 zjy4{D5YoT-EjitB%)2q#x^bCd=GVTjjp zIM!E{awIL{>6{es_{^L{X=UFC9ppZl44j%=Z8z1wQ~MV`>gWvla2Lm+Tq^F{SjM#_ z)7zB9BFO}2f5rK^)gtm@r>R`mfMqJ_F$A^n)6lrez2jRxzHwrM%n9L?Z2f6{y=cP5 z>lPj{_wh1@5L?#W`?+jE2Y;VbSI5;ml7_){n|-mxhN77Lo0}*3O<1koth`zM?9KI? z+b}9L9>uKpcT57d#)$j@{n4HFrdIgRP?NY!!VcCEeORqq`79U;0<0{H~U#htV@3VOF*pOFcsrCO;Na|Hvo>&!g+FT2}ks%-7w0<{(? zOmCUsei1H#3U8rSBo-C zA|+vMfAJOGs*6RSPO6BwT$CXg^)1P3RYvLoFUq=Qu_RDlD#@=F1&yqrURfFI$i)({ z6{`flT9hC}`YpLhDFHWkE@5`Z=dc~5BDh?XLDo0Q7+bUc=6Lb)8CQ#igCSJmx>l5o z0x!~2M%nxbs{1bn+r7gmU7sIGHdN<})fV#qe^#iLXanHATTgVx7NS=(R@!FW#PP8h zFy2C&XZHgta}nT^x(eTI8fdT7=Cz{x{9;NGe#b*%P%iu1FSv+c+S}X}@#M~( z8cn~)0Xh*=Prf7|zF?V?=c%tVZVbpn8 z?r}>pO(Ej!*p4*p%km**x1iMwXKF-!f2_IpzRj&fcC5OG?K3;7U=sAJ1lw`n_s8We zc4W5{7CcK+V~CHetLE)InF3wG11*u2H4agHP3QgV|v2QFn+e^>v#eKiH0#*0V%XNzQ1&VvY)9_QD4ip&uB{9<} ztrT?|ZxYVqO1!e>JRL_NuQ()%#>3|JAFb7oU4|!)12C36a zhTaN~aCwunk&7nX8FR-d>Ma1EQADMJTl9}gYJEMr6+2sUlubHJ=9dsm7TOupQ!y{8 z4AT^GyUSQ=c)MlX{4*>Nm0#K$1B!sd>M=g$TXOd+Z-O`C;JX!uJ&Hps^pD|eju~8|ur9jhJiT0e$UQ6L)&;wSh zmqQlCvIsehM9MC1#R46t1%xH~B`gKlwEwopjsPXh#>&?y=$!aze~(RJVd48=_B;nU z8h!~_!RP`g(nu>5K(~hvwX8(f)ID(m?lyOX#&2p%7bcV z*s?xY(C}Q3d~G_L*;7YKx~Bzwgtt!JkW&f~#>^eR4n2jEt?DMLb7$oZG*GOHrC-`& zqnB2i3_aK*qWXlItBg7;6wI?hK%yIs&`WH2Y8_kaV=zdme>VuUulPTm)Ry*NM$q%= z8n*PPfWJ%N3nBO@{1;-n07Nz4v|2cBeme1%{c7l;Ad?7(tdLIQH;Vj;jsGyRCLPz5 zm5k*11#qKRV!oAMn=F%>GZvb!WpPmUW9FEYnKnbjuOz6HkoX!>_@>?c#W0au&3$Z2 z*JM<(HoNEEfA}e88o8|$_-d`1m(zPNXU^|7hcCh{YDhFSV$M;pD6yCA#8zv&DJ$k= zJicTSN1RgxG}-v@2b5!o;o16S3UV{xyVKUoAsc(Z(=RK1m?IdPt&@Ocgwy%5lhFXZ z&b1I4E-PG)F;cm%zfE^K=C)S(IcEnN_RcYYykBVhf6X=hw)#jul-F*A7N2UlQRoXa zwp$A|gmsU!&oONYT_TShT_&leFrWM~TrshksT1IeDuf@}z%3Cd%O(W%;sZu*+L+=+ zb|gapxYc7H6na^kpk$C_gPuDfp!Vu2&jpy<8Qp3yEJ^N^v}?$QAR|;WVv#LLCzTR4 z7b>uMe?C%xoT!xq2{!&G{m2mISleSpCacSREim`tw`nXD@cC&AgI74oha`tFk*1Ef z3r*x7Lk6s3^Tqa^zXr;98^CJM4v{Yo`9PV0W0dhNCisLG8S3}5?5j>*yo!NKH1 z-($Tl7NeCV-a}ie$2D?gM70xkbaTUjwWv7BocKI7g?|5iVhuqK8%Y?cZPa|^2#=1) zT~yB{+dI-Enzy1&8q=UGDVmb*<{VyqC_dornoN6VT>?YMC1drO)r6gripwwun|+*dL%%tQ&u_Cka;U7* zeml5R22J*5wQt{f$we_9X7&(t{=aokFxKwT~q~ zvf>)eZKaYX2*t?cb9MiDX{zMD&EEllffY;5NH^-)fM9B>|@Yg{DpbKP!p@Y`nEEUw`Jvit3(f5MPMD>tcG zego>=h{V?lLVO7vleK#uk{kPJzHX+IKn)IPOjpv@RtEvS9(DocqaeBU3w}dl9SUxg zdUUX5#OT1gnLpr%9A@R|IanxPB%%mbXmc0VzCt0SV;F!WfTYluBy=nN<||Pl>WAl| zi&ETGtQ<}^C9D?_|Mx#rf8RVJ-pKb+KgZ#3JXfyEdKwkqG?v%oI5mAYdcWKS?_~^%HjHc1(>hRmDQAz&h{HxeTBxt7i#<*!c^H!v z*SOV)B<{Kpyr_31fc4nr@(GW0Q`93=qW4^4uu8uDByatw)O1bNf6bQ^Z&6-SJXs36 zSfo<@5zuDX7HtDc5=|{sXWMb_VbIEk>NgL zSEqnJgcVpu1{PCof4pJ&=KJREFnx9IrVLqj5w$Cy`wznvKU$TZBtTZk8!gbI;WrQF+TE?Ro^>iB-Ve_uF6LhbN`q(`2Qw5fn^ zRAEv$-+xXti)|`-+eNlpkcC-R4l(?uoyr!D*qiJ;pBg(|VkZ*yXfbr1Q+OuPvW8>Z z6Wg}!Wa0_`IGH39+w;e^ZQHhO+qRuO`&^xib8foVv#R@MU35KF{eAT&BXcBAYapi+ zq_SCHBB%zdz29gF<(?z|@`UaGS7`qZAX%^W!&mv_IhVvru~`t4I{e#|%o$YTie{0t znxiXcD{}oqC>}UjCK9A0?*iO!H^y;~^X~bD(Uey)YhE+T@9NrpJNPCpImx?N*+hS8 zh0a&ow#ZXALs3k&@MU`aX^Ly}qX5}ZS<_ZEr)->hMWcVqS1t^-6SHp|SlLH2Ezkd8 z5HA8$VdM2`n*F&HG#GeB4((~Hw1OG$>?IOkWtAd`*aIATY~55EZ9ZEH;oMwTdNC-I zZ~S#BiEs7b3^(x7z2FV6uPQV5tP$$&1*oG;u~UW}`oJKthcZhU^i@uB7DFRWLy`B} zgW3N4{4OuEJA5@KpJWcHhRumkm7M+}ae(<2unUUB6G&F(v#JJ^Xb7|Ake(+GEUW1y_o9+2oCTbwP5y(WdS1qI#Q|jRK%#vucRS{c(WLxqHFB`Ok;YXP3vY+AQj@dM289{=3BEP$ z<&{7s0<(!rd(s* zd*BtC)}XKEpBWw30}qp~9szSiwLBcx+n%BG9TwvqbBYTqZF0y@+NUdvEH?~vF-0Ox698x8_SdsXQdVv(BsVqPZGf@!NGIr)rj(lHDHmF zq?9PwJ{CbaVMxYR!Ydgdidsd!Q*i!p*yT)Zk@RtTMbggxk6c()6?dOv)H;)f+JBwqs`;0wLuhQ&SBk*7lqxJB!v^fB5i z?;~knWKg68j*F*+r}JOpu?{e&c7V5IInE~UVCyh?962X2+vy!2r+DHzX0Xq8#6d;r zwj7!MhNtZNi_(G{4`j`jYMg5@oGCtIvn4I+nmy1dt4);zp~1~>TyAIj#j`SDfCZ8O z`|~C0EHh474y8-nkHuh~AS8y^QOFXac=&KR+C6@&Tu}o0D`BZMu0l9pcHkTAoU}O= ziah&v$6xatFaa<*J-v?kd1a%z@~#>c{n8{L;k2xfL783oJ5_h|3j>tjN0cA0{9+G} zh6_e8X?g!C^^oqZ4Jp4{LeBF~TOV(yPY0~-*SZvzeo?hIzAh^FMePZHik$Wd%hoEr z;1h5Wc~A83qp&FkvpF$C9-#3;{$Tz+2}A_jz-D5)e@Kb%M2+WUs99gn4VPspJAU+Z zj_@5OO7!)na>rZ-Gusgnll-4oL(4*>0`_Q>Vq7Uu#3>32%NQ`cUm=3{;T`?yvK$tE ziuAG6ZkmE>pZ`X4Z?G;L`+U-R*Fqjx_-Z_FKz`&cih_+FUd)q=yQeG;rK9RVSkFmkQo14z$##}xRtsnGo3-?ZH} z4tg}yCNPzyR=->EKB0bh;Dz^c|2oJ83_$kDgvk$)PI6EYNW z@fAPJU1f}4wmde~f8h@ScTFt$aYbC=jHDE;HZANfo9Ke3Nrb0!Y*sTxD}_@`nLyOOo62j4Q1HdMIG_4-UIVwaAp$N#hr(^q$lR0Yx*pSgnf20woprs)6^r`uhm)ByO z0eEz1oV|k;0<<}_Xp_&@TfTbPr`x-I*|*z!>nqd!W{Llh>ygOO%R+D0W(ZXBPxvtJ zj^%A)p%aRhS>U=bD)U~sO33Nl$f#VweK~2kLj<@;`4ScaNV%FAR=ue7T=iu5Qh)da zq3^>bM{&g;Z<7@!nM#^cZ2{kS@X8#AN6}-hq zj^R%&ZbtFb>9=;4X5BN=S_CnF)mSm#VCrca|Fvcd7GPhRK>-Q`?RNttPD_nSLJi4Y zg63^l02#YFI_5ds9&&1}nB@7Cg&F-YI)gu4 z^;<1f0@$&hkbo3DAUNmFwZA^N;`$?U8h;nWuu=k(VZBAW;1=U0DAaqMXvoC}g~orH`~U$|EXo zee^BpS5JHLTQF#1(o6J|w%*{HbU^LPmU7WqiNF`Sxstwvuz$EWbb}-48aF(kE9BT-EI#WZ#MPU!2KZH!z8MSQs z9Ju5!a8?_+qvHCAZOu-76DFDZTzKe4Zuhl_mqx(%{gS7FlXwbo<}2O2`UcUApbblc zv1(MqRm;FpkK9WUZ_BP|m{llp<+`IELQgc7m7%IkF%Yg1JV0J^+!V4vYnn@%*ym!< zXj%=1;c5-0)R$!d>4aokS1+vI%aVq^1!UKT8R5+fyxB2-vQK=*mx&dYV%Nl!PBl2M z!Wo4B1(rGWNLFK=qSBR4FBQqF($KcO&7FfE9nY!KhfxKDGwn4i;6)UsE)X{+VhxbR zJT+cL=9PH+odiRwn(}t9G2(m7QmuUPMqa!;qhi1y9(*Ec50nCouQJ(-;NB_2)nW-ZzYusI`4lFzZs z5h3cVY1ILVMD{=3LFt34R}6I&P&^NCO69DT?Ku<;vNDW2swBA;1QluOYv{+;?(k3GeOHhDiT`eZriC?32M3-Ff-G}tl# z)g~*l-MFk6I&Et2B$e*KE~>Bi=L0vcWRmRNPk>~QwT$1a-ucG zY>Ff%&&oicC|_|-`;@(G^T1@H6`+}Y{6arL~7C?!+H*^LH`;K7)C5OI6aAa(P&yf^!o(U|9LV$ zeYhqvs&@vjP}roxdB$?>2}PyRLn~n$z{v*^rSWRLpuK5+7+Ck2VpceCUw{bb+|w_^ z*IU4AB;8T`wzjb0wFJigBhiMohl~KiHI+Evz^TQ{y~$B4)Z7e##QQfyZ1eGisxUhy$~mrXyF$> z0xL5Vv1f0~DXJBT%Y%dr_Z)-|Ba^|xkX~Y9DEatvm*MlE*#WGDZ%V4DlBQrnF~*vd z2E(lItdTE;@~_Nr7gR;mYQbqDC7u)a=Hf?d!C~?w z6BxS&mLh^2J^)3L)!cXcDo{f0Gu2_<$LVC2g=S&?8nG>S1t>IiEtMGmAZv^ohHqrF zne?UkyA*k}oVmu8<>@gup?}OSzm!WY!JxQbBhfazfv>j50AQHNM6sE6mo3A(=+5(V ze|IShNNpu3P!aat0)!`q9(>WRw5qs&h!c(QK;61jtOG@W|D;4r-Z38r0$yrraN@#Z z%+dofU4HGDw+;p^8E{H{5sUD!HdrO1tMk-W*lsxH@@`IylE?qj!4&L> zV3@y6f*6gHN~6lD&)5frD45%o`5_x8>hzY6n*CwoV}Ot_goGDOfLL-zof|uJS3cL^ z;CH`*u>yuOvM_%BiA8f)fgZ<~gcA=!AzfDrN4?LSxs4AqbWYNRA%&A-9>Nnpj4HSF z<6bkgM0lllB@j}x;M(=P&*xZgV(MW-Ec7-wN%QO0B(Fl)x9K#2K7Kj z6`b2h?o9yvoAC8DS}qJNjKUYG#jRxCzT?wr0v*ozHES;{?f1mKtxdQZ2Y3?II=l;M9poAIKYiuNj6*R&qDP+`LxKs4sQb=2q~Tby-9|KkmM&MDlUakSfzwf(H&+ zcG*Thv8gQlFE35YIO0V8P~AY?KlV~7(i_UOL1TDf6DNjO_i2m^K^FQ`v}%r+yaHYD z^4f0Z%0}=~`yInLJ6!vp0E24pJxok?SRnGkBfZ(itl4O9%~b9}Kd*xZcN%fVjdI6H z&0P?yI7RUdgkNSGYf{9~%`tCadKnl$A6F;4;@t({g@H)?wII{wos=z`u z_h1US#ZZY41T>+zi7=Dj7MUJ!#}GZJ!*(Qr*w2rpBa>+r6`G$0xEuN)>qkY(4dkM` zBYKW@{({wr-B2Z$AaDHhI8r3j#QC?UWW>Z%bX@$A{HoM2P}$-0Zl1|zQS7d`gYqlG z7D?QF%X!tFxp0U&uhg@__~4LaOTbcavxt1sd~GiSs9&)4;AfE-Y9xnfy5Sx6*!AMb zwmmti?Y)Z=?1^DjeLn5R_Z+`iRx=Nc@HiHwhK^{|q$sh#D1>bM7_P(S+w*rbr5TeN zi3@9R%_)Z9CMa>(VavveZ68~e14P`$DA#y%l1WYIjWYhs4XoUhsr`XkJ^=nXLAB>q z!z+SKN%3pLzGoMSG(U*_smX)ff%7}Y?4b!qBBOSMAz?Rdq^Dv>(J?$a@lw+z3R*3b zKxu}JWl&oeYrV4}w!*1%#7`EhUf|k8Wd@RYZn8>|phLUlq!&7^vux)T*(`FO!@BOVEG1xt(-_dPLJOYqQ7ov5DRiV(CxXvuS2EnM8 zu!E5FSQj_5AWfBnWwifzc0FK3uf^cKP%#gE4>M0f4wZUA8Ev!l4f4g0xr->)Xs^PrykdWpcmISUjC0_J68hgcI!E*~CWzE4_wnku zQ-pF9%L{B?iJ%%u=6%xAZlAMTrwJ<%uCSP=!PW66*&k5 z9UZ7*x0xBHIpE`(b!2lO;wO?-m9wJ)k`y_o57%Jfx%ykpBOTmz4)ccr@_UCa$^8$= z&4G80RzfA7J}%5ow%>H1R=11UwGySOxinhvvAn)6yuub=Cd?PU#I}t5WnE5sMN9>X z)3e3!r}K{I=<0KQ`)Bay^YC8S53t$a&4Rly--ywy^bT)yy+tgyj5yM7RoI~?iiSm4TUExPO~LzU;3;9`dnGg`2NQzQ#+iK6*EsP z>7odMkj19i1TU2`7P)ru1Flwp8BcI`5mS~*6R#ZW8n{Bj(K&}I1vR2L|2y)MO z3)?z_n+}nUv5s}~)9OwM-Q^L|TFrX4O4ImOcyrEqjfC9!9t5#%-CwhP+v(<0U8K|^ zbQoK=^IRiucV^to@Z%-EU=%-p#96BDt{3C;3*a6_1clfzzoo^NTZ8`cWcYWKjo|n7 z$-Y=;Do~VoX75IJ`N>n{*BPAMs@}g4ed==PY*?+znXr>`H$EZTpK2diFw9 z3BJR~CS>qBqw({963bGa(AaaWpc2J|7olMDSio6(#uM3r2`m0ag^Blj+S)NT&qA2O zED1pLPf)(zjWQF%N9#K#0(@Z$Rk1bU>k@qCfWAWC_FN2d!sl*HYezT?qLQ)LWcZx0l~~- zVptA}odbyF{e=PVsvlEC`OZ!EUSor;>exZ}EN+vpa@=LQKt;VdOR4R%TmW*O8WkX{ z6HXp4nD*Td5&N3Bf&M&)?enqP>E|3A5zO}|7;`dL1oWD~EnXX>h^%;pa4k&eD^#(X zw}K-gnq@i=RRHXjf}o0jopMJ$%+{xD%x4D=+9YL=x#HTyznz)S+G8bg5n)iR#3(1M z*g(`@zQN|-{ZW(l9$sC#}l&|S3j6?KL8*7WyXU2S*iUJ4bg5?}=(*C_cuXHi~N8xl#mH?P^B zwA{)Fyl^@pNTVXK1b1(^w&D|5Yer^`bG_v!p_PCb+5eoBoOr;Jeg{gnzVZD{J3O0m zIe%`e_k3pGlHDO9KxBN$aQ1b?l(%5E3HEttVA70pim_q<#f(637pFn6GnU`Ki+qOq zIQRGmLcTadU0HlO;OvV}_u0eQLX;vs6IMWlXgP70pdgRBedH4&SOzHX)bN7+Vz!F3 zxwfME3!j>Ogd*gslMjrsqnLd^|n%Q=1Ym&CszV0ie;4U4R`=wUGjfGsW zDiChE*2r*tH`@uZ*L8^Hz2r+irhZCaXc8mh_dAxU<4X+ijyeM!RB{Eh2IC;ZF z?srdEKKLr|9$9*|h8c1f^F35~<%F0f1(wrB+3iEUFjkKCrE`*_HbM-Ie`-3CZ)*OR?UCUjAiC zijxwY)!N<9lV)CnZJ+D?qGJlmgF}C*D})yBchebZuZHiqrILc6;^y9{^kwT{3C;!_y@=tCv}&Yu~{;P^vd=5k&BrhlgB{F`IcJ>Yif8Z=G3H}U!cOf*pEo?W| z9QX$ms}ok_n?{%8oI|?%oD#g(%yQ&H5-9PG;F(dJal3TMq9pxy0j;4Y-syrTEDOJU>$_Wbzi ziNiuWKB2xIf^x-MMhLq5*Yn-Qp2OT#G~;t|=dQ?mf8W>WaPMyKp}Cz0Z2Carc>U_3 z)-zfz;~yN|KExi==YzUwmHzngtM|a@WU6HUaWQ=`#zQa;$X?N6M5sXB2Wqtr7_?yjfBEh$2ioJ=5ep~ zP_5pYZOAV(O;soJ)+ty6^xZN{|Q>RKkWUfv!5X>A68 zX`GXY`{cmg-oKupT&Y6|?+G!P3$rI}A$SvJ2aY8xg@@O726aaUd{KWh4Hk3VPMud; z``-BIf@Y{y26qQ2SnWp)*!1_U$N9gsDvDNbNxa&n8+A!OLXSR^k_#k-0I5j!xI$Y% zJy})cg1Z;Z(0KCVSIqEAknpsIzWcTZ%7QnG8tWjMg>4iqKaB`2 zIe-CS|N8f4w2K0E9}GvIP;c;}Vrd>|X&#_l8kNDrYZwP?g-EbhB=5*`ArM4l&TIvO zVs=~*K(U*m21=0z%BIF?;3XyD3wu1)ki`aMbk#a~mu8O@xxPnQ3$9{}P5 z2F5QxRIgk#nlH^aTexkHJAb`-JEAXqJBvNJ9b1xgde>wreo7(uP!If;1sWK(XKyz^ zJh4y8WF+jpa&eu?xKCv??^y&?zaqyU*JMyGA|Zj(olE?jFt2 z6baMRrxa&Cw&Yc0Ko%H6Srk!t`Sn@$Ss%lfQXhMLj{6f_`$0F&f&a8qqCr1q#ZIUfe-w1Zuc-hcVjq)L%WF*p6&VhcWu$ z%i63mU4P^v%j+A!`LSi2h0Q`ZFmDzNsIE+y>smQFWT6g- z-vos>B>(tadxNy~=r8dkT<3Zz9(vMl!zz`C9sb#z*EXaS?S0_YQV`m~So4{MaP^#f z6>8xv5v&#Ld#;!ROA-C-A@1e_ z`eJ$_4z?01jQO9jl@BwhK*vueng6slku3ixgGf{<6+5a=>r2$8Q8(!N9(FT}iSxMsvycG@f2g$E&xvJ6)RAahA` zoJM6w0c%TjL0r`}gNOZ-=_BAb4o`}cC5R6KI@}0V0*y5&()ow+9kT>;_k)-05%6x} zv>=LLc9?x4@e2%WdJq$Csei+ww9+cPFf9-WtH$|D z=DS(ts9WGwJG}65SKjV}s3cX~a;e2FZsD?d{(njWm>3#F)u+(obeyTJ9p$&4vQ-{U z+_TJCkSmdcY|DnURB4YGfX*Uc9G+G{fhu07ILAMO2B${@(_N)Ek`(HJHOHyzL{h%_!nKPpX!)PA9E9)Y zvSNl@;#AB9b38OvJa%+%+^q%xpiENcul;M)+$yQMiOvZ6z0G5}O%O&vd(0v(bUlw? zArHy|egq4oO64{fc5cUzxOG5?SJjL{$PB=Dg=7HJ%rBmPWHA&SZz%B`h6-wlqXh=S zKVR?DyCRZSds*-Gn*8VcUN^_j-*~rg<@PD=12@${G-Dl1k_hbd=TIzfz;b&J<(Nz+ zB3!z;nfD#Jxv%sAh<7rFp*DE1h=Uhfs|k`0^*e(X@W5LpxqrD1Nlj)ojO@`mj2Gk2YpfjQoSVkUiTJdM~=N{%vFbMfldqmxDO5moZ0s_l*8{h9Q`~i0;sDtu}l(mcz@B=14rijS3CI1Cm zPR%1IFyC{zE6;7S`N{OwcG?#)N-$ShKr^;KZ-8%+k?~j5UhG%f2ftN=;wnzUT84&f z#QZ=YJt=@dS#1~W?t%R((R=K-GMIcj_TiIv9P&20jdd&J`A@|pX4yc8DvgiHhr_nM zyfz$H7Cis0Krc`Opv8*sxc*{(n?OsP0g@&F%my?A_2*7>Aai*3?Xc*8EDA^c>kjR?}EJ`*;(i6YaOd8Pyj0t zPY3tV@pR~BTLv*3c*hYyy`$3lcz*cZnLxHSC}dvWhR5|APKLF*<$ejnqNSQTJ9m-W z6Iv?pcXPGZ6YGFlsFt85KR)>m9NL-BaKQ8nwk)DZo~eh^p65U{yQO_`MS%BYC7>#| z&+e#|NrO@A#I&Q77D#r0>$@<>@u;cZ!aasZOjU|ww>KpWoI%Jn!p!sLDO0MQ0P&OX zFoejp^xgQ0(`GtA;@MfN*^fJpLzaIZhXH3@-8!E&icDw(6^p&0BRZP}ohj=!i) zQ4ZDB;ZyGth&5sJ3gYfUyKS-^K5NCjKB-89?aq#aC6Y* zY}J)-;6&0PYt8@`<8`0f9T#N3>T1}BUB0ZC)pT+kyqGF zUYfMV4dsg|(I;06hTq9c&hb+#d8_tDr<$7&x*g@?6obW%Il`3PvAvc_JNm%$R#2V2;X9xXI4k5RqC}OW1w1HEo*Qo0#5O_ z;GeBu6+_4yYzpEPzDK+Uok8Q5!ypMhBpA|@vGDXG)5?lV)RXf@6gZ`+FThRC1j07- z4UYxXR~S~*J3Idu^XRn43gm0;SxO?0qL6pMnN$iZjosZT0 z|5?oRjPsNzb)yHU6J%VuY>37R=)QU3Oy`i}odQ@-$*n|rMOVMfpkj!8mEM(sQ6D&O zsUlbh(mICB@WBoF2)`W*atxT^!`Y$zSMe?A5VVmtlRbK8t|>WC_sQDa6uuG#*F8j5Bk9zu&($AL;c&F!88_uaQJ~Ci6!1+>VpWOWC9h4GD11* zIsgES6xYD{%5#kVV#CG;ww=Qgr8fvaxb?z%BZr?M4a5ahGZ|k(0E#Ygwn9`L&-1Aj zT|zMqN2}uU_*Vl}5~$kM!|qIy<&?87!f3|gb=i}Ki3v-@0$U3GMzGOl6hkD$*^G|6 zJV!$1Bo<5cX&dgGi?)Xrvx(uYTbSX&8$oE4{#KWX02bCNZq^Kj(wduMmyk2z2Q9%CC z%OH%RAPlDVCZl@>BE%7K#L}WVM3Z1L^rAPRO6LZl7#JSX|J;VeWk=Fg3|tc|WGxW8(_tHB(K*%c%pYNw z*f+_Y7$sEowf{l3ZNNp@LrQ}a(p`X4+WZ<=(8zrG`edaA#N^ZfL?Ir@6&_R;amO{} zc(O2@vrhjAUCcO*C~q&JdabfNeC?2!x1W?hpfY6q2p16|I+Fm&hCc82)3XE^Y9Kjw z{+`IFkmz)A#(pH2j$0zhnOmVPAl@T1%a82j+`Wr?;Df2M6p`mY%j& zUgTBNskM~uKOIGunR^C99VhjnR!(dqh>vadLa1=_X9h$k3uOWzhiFCdZ6SK*;)eK8721L2ob9sWys0gTFEicq+;n9DZ4yefWe`ARp{E2L}p8K)ieEQ)Y zl}`R+`e)pRb{xd8>-_y<7ImCbFASS1z6e==w_10W$?sLE77vJ7g4mKzdZ18r16S}} zfyhx8v!xhukqK-uEa6=wuq+$4G(Bu{Z!9Z7Oe2bvmv0Q6A-JG`5$a}BFtjFZD+0eNC#c`Y>?~NcrQ<%m7a1L*#G$C-;D5T7;;X zsLV3}(EAVo$it0Kn8!(P08+0_Yf^gR>u>OJ#ar}JH?^c>`!oRX1+a-zf6zuTF_t+d zV%^(2;x%|`Y14~iVLQZUC50IsW9~0xe+04 z5Mi4lOItXN*@uyaJ5qHNQ_ne+_f)RkV^g-IG(DnCy#YwM#UTAcfvg)EWlDqccjjh& zDPBQOpjSxVBxn=F)rXwcQQoB2XjhZfJ3p6~p)4-ZSE8GOms(K2sRyx*I>u=VJc~R< z6cWA<+VipTA1X_1dd*Z>YRat=ZkbI26*0o}_D@y+?mzDQA}2M4C74p6cUkpzEx2~t zWxFBGL@5s88cYL?0cwVc4x=)}xG&pZERyRNWET zvw|gE+;n}-spK%vh&!zwq-?mRnUl(1@%>yF`fyEak++e1ktEuB3@jeb-Ug^c0H80} zWa^GC=i@#+oZ*$be;qTbIPwbe9ghuf*CeEJq)~p>g@!t~0U0gSfIsqca2P@`x=*R) zuN+37J2sjt2>ZpC-ID~D zUXL71I@!VigjN2-UP_AqaBUejjPcw{Z}plZDnkG@Riz%x$x|-NkRHQCkm>m4SSqY? zf>XpEO8N6v)agx;7kudo60YKJEKI!Yl-hLe(7bE|C9l`UA+i@sjHqNkNEE+2->B8E zV9r@<_>3UMjDssjT*3Vg<*0e;zqrW}d$skNP#za_`ANxEo+l=;HL^VUcRO_RwRmjp=2Geb=*0QJ zn>9t!t7Mbp=5y+u0cM82T&aI~j}PHgEY*p?7~@|G^u-8dJ(aDL$dzwXX;G$*uVRw@ z?-l43O`T9gr^pY%S_-#CrOFYy#eB239*wP{qoiRSU){ z=C*cIRmbN14b&F)N2hMcsz8(_T?Ze3nC|j*8Y+8-S!VVSC$^7hqQcyTY>FH~hqdGM zSmuW*gwDIh_5x$JO}0ZpW)rXKK$B+s1i^#dQKs_FP0J;fRQ~ItMpCJ zsfE`tLF|mjK8B`Sr)Eq43vRr`-~E!Ix&U*bUWG@2N*CMWR04|_EwWk-ky-g=Y{NyK zER@xYR8(4mtaV%|A7(T!#fX<$;a!{^QyjdRo{D1zVbtXd^-ZKji@&zE`&WGL9=Wst z)1+$%@hMOkA8ZA`LdGQ2BBcOfAVP>95+huQUbYh=Jf7Hc&Z}Y+iS>z)k2_K8SyIYD zWw92=+4sbWlqOSF)GQ$5o^(}N%(0;Ep2tt#MdXy&PgjWMEMDlSbM8$32rhuJJUI;~b@ zZ4=B|XYJ^j5Nn^lz8X=nz8oQ@u3*@n#x!g*>Zk_=^!w{c_NZ|%Y|du_gkJ;1<+dJb?$ zxAaTg48$lFYKs1Fd5?6SOgdDQu``C#bg3`kT=w-fO=Hc>&OeQ9+fyH6lj#uH1emc9UX|}bd8ucY7Eebr_YS9uKQEP*4n0~TWD>cEL|plCx_1L@Z$C$XRhUY5Lb$)J1mf>v)GB+ zLcwg?M#JJ|>7P&;2whU(J2FQ{FFLLL+x8u5;t>tS$M++H*A-jZlfAc{nBHTontRSU z$ql*&LmvG7cc|+P2P^pE@?N7Cqx)*ACq6o37eeZoWX!~t&^Hl;2A=!@Eg#u|Fe zd`D~Z)y=*@HZ)n$4tUhViHVj+>-RHemifpb`yJ|C-yqW=*g~SN(HF6i%Uw635{U= z<7>*8=xK$?W@@)~)wH$j3%4SE{uO-fG#IWT5>F5gs(%t&4#AxMLk100b%OmJ|6`(s z0^`g+=CWtS@z{5~Z7Vca7MW}gdL`YtsR7z9*gkAASoR$dP$lZm75u=9KoiVz;v~UG z`!@zgz$4)0aKH3E76QmObrY>1zQ=3iCjO^~k{s%lAg7OMb3)o}ujm~^uh?%GnQP<+ z6c0RBrI}&OO-659y-rPMGbj_0Fw06)6R~fOT~Pkj2dBQ2P16Y#)m>f1P{Sr|!mo8~ z<24_Ua#Lc~4BgD$JqxQ!!p2mf$9YW^`E`-7h9JTlo!93^?G|vNhBu{+J?JlYOtrHk zI3qW24IW-b+lrB-5Qh!QaBu&Eu-p_bJo9m690G#P{Fl3wa=?I76|2CoY!WCyuMddG zY7+cSmLW4K*ma^9bqe3~C%a)#h`R`{#%K0jXDg#ka|=tcu^|Dkm6ZloYr(U$5u$uk zlVV5MRAqPZ2?Gc(gRekAv*vM7QIpefC_><^A!QpwX#)dfRr8;%OXFEpLPtV=6VK1a zaA6>zs3B9VqT0s-RnD}gkQ}OY=MM2jgYb9N6Vyfix@E8zX|vfX=&V!bWqMai(^Iq>2s=M z;_&H{dJ+j**Y*$O2rgKg7jlFXWUov*52?Y7u4_>*)@uHA{ZZ!LH6_|PXc9ZC_E^2X zx^jlzLN-0kRk=e}=muvo)Y+m*w_ZdNwT}f23RH#QK>Q#bVF7Rq8pxv?I2rIAA*m@j zu-nx-t^j#$x-Gi4^kPVKDC{a&e8|R{lA8N8ezp{C)Hc<{>scVDi$lLA(0+{aTlcb1 zA=6?A_MH^^+nJw!!uA{p+L{cxyk9ET9>M?(%)Z>KV7JGQY6?;xSD2iq6+l16TRnb@|~z&>{ix^W-Mz|#9GwL zEr2Gu9#L?#>pxGBUuriZkb5<_A@l`SoP&4D?Y_EfI{_=3K*%Ye>8F7F;(6}NR=jQc z%??G+L!@WiIkl9-Ac4o>TCLh)PE=J^2>dE2-z~#i3aGT18;Es^3rb^PFRez)2Dn%E5z49beAj9c`pso z*0WKq>UiBYG;V2fpsw5D-~Wo6+@t{YLTRXC=xdlez= z;r6>`A0ylTQ#(iEzwt4QZVpIe&8uq}kC3YZmJB!#mNV_$N13!IpmUTvCGNswd(jbU zHHqr|g63$e|IvISkK5h`ptE-1Fn)hAEJgXB{XXYOd$Pa0Ny zz$lI39Fy7Lt`x~>delXBj>B%kqgXh3LE2p{SzBS0Oi1mQX6}# z5Z?Zx!n#}P_BmI68%%F6?%GT{pJ;`zU~q$EikyGs8duN?IsLlqt^&K$06lMIQ531) z=61onM4Jt87l^QMI1+qtE&8dW-LwXi(+`JgeeUf9*9ln!`Sp$}gmi7oh>u1fr0@1i zVolEznWUXYL%&&HiUeQ5131-=>^k*sc=4w5V+3pkv(m`Fhh>@n4P-!;+vLd5qxofS ze`vR7PF0HbDN`5>(K%z9%(DMT+6&@~MDA;k;N&w3b5@Ad1q^rW`Td zr0RWEdvgKq?Pb(B@y6tuZty(<37fU_D(B(S_a3)FsTgQJ+>xoi25iTh%uaCWzf?SR zzQ;M^POJqzNl<--)O*GL5#wkAe^ke}D&tS<-Kf~)prO7sy&2cW(vPO+gZC@necjqk z%A!B>urHF{-OHUPIqeIqbaNzjt#Y0Li#l)3cbW~>?!(pHVv4T1i~wQ8=GFVfYddcC z7f=1VfSba)_K6jbEYP-mdF_gU+C7pgl+h{v=UB_BJSd3UO#o4Gh#=?phE}D2PJla> z^yxgXq-bW3%X`(otD{~m*zptg!KiAoF|KqdEvgO#)QxSCBC)t+QO<}F?RN>ynA)8r zABXg5SfL8DYk(OqE@2*#nL8-qqiorgK;Ov?Mt;zioWg5%G|;0^x(i=Ela%^`DO(qR z2Z_Hh#H%_L4*m~?;B3IUC6f7alB}b+#ItQ@>R)afQ6ncqea?Twgn+wjDwj;qiT*`i zm6}EVeQCOB{zg22{M`xluCy2fZ1Fh^HgN;gewrG;aj+UF&eM6}XA9(ck~0D9`8n8Z z*RDLC|1y}hTauNPBw=e~^Ap$jtQ0eo4wyY2%WCNLFNBgh3Q8DmrwT zy2Qt;R2Q0ds+RA_&X0NvNuYtK^&82Eo0@<~E@n0pIC_SvJmX>dxe~Lxt;qx3UNStN zc?>h9#zxkt271ep>k#5OhR$aZeByHx6T~KMF6=R6USy&Tx0fA-V-f*Yi-ldDfPMvz zt*-Ieao`l=N7yXWX9;oWz(d6{mW+ z!)#DKbtr%A%3)b1np<+LIqHrH!y3me?qiDXD%19V07*c$zq~0_1|EWM-ZbfFeh&M` zoi5+X1^ZC+-1XABr0rXS)&NDN1eLMe$za%nW0W#Drv%-9u=OkGoNntK{TdSBaAbIb z!{n|&Oz+E!b~+8oddM}knx zQ7#B<0cAv`DCG4H3L{D;LitHNrpGyI4VQ{zb_^0?pL8GI=(cc{x)mcnWVu!*5XyzS zFC}^4t;dRg+7EpD^r0?TYrJ1xo1EUq(%`s9t$rVL;rh$|!l=s1QQW}RZvTMO{C6@b zPEHjporU9y zJa0Bn7J5}&n&IUb{w>J>Bm>*n7UQjm^l^>=N;F%4Uiw(0wR`y%!{fF6`kThllFw*eYP`5{C%bv!FFi%u1eMv50_zN{BUsn0+N=4g>OHg7ImF?fsus`KB z7>O52e|)@HusojthS;57IOU-+V-yj;BK)5@!Oh-hIKy4pzcyu2?Q>PNpjQR^^2pYm z3`8@3(0Y?O-3xpARcP4Z-Jv2`n3GZr%a0hno;K#A*A!10S}n%8ov%fTiuCfRF^lvD zt)Xqn0WfZMOA7ehjudAL9Ys@?679h8R@i}=ji)V5xwGH|A3JM0XJ-v$XGup;q3$ek zZOvVSMAotNhbw~ep1fA zFe#n?{G^sO{~N(tkB#0|>+{8E2wSv& z<&)X$ta<0o$B!QuKQ2RB>loLOdi@SCTDc0xSF@Am(n|G2tgQ2k_9h;~b5prqs+X2l z@PF7!pwfnETbS}i+3?_o`Gj-&8?3P0T=EeF3)HRwQRnM0N}!mCPq`8>oNTquyI3da zo~#ot6@JG{@6LHpgI4AFu!hQp;YPE5%I;|entDuig$oNt!aZBXUKD=8vgMWHVmZFN0 za5c|Bf9=$!-{FRS>m}ULkFa*CcuaW8ssXJXnLhy+Sf%?I54O(MYiaV+zzTuWq z5SoBQgd14X7^?#Nslady7)}KW<3cDv2Bta%WpASj1RTVc0M!g+ep0D_oN!!d?2YN)prD=x8DFpBf>}_A+SgQ^#VzawcXYEF#5h0(b>1y zUIfpF{33eMxXabGR1|-|AbJ_Qw9_axaGcgljT-*jT?t{voUC?MN-GxTR}`wPAT`Qe zYJ6xc$JLb@C$+ns<-WJ#d>`iUBv(%g#vdMSLzK`lHU@GD;QOyzIcD_ZnX3{0$C?5fQ{Hp+R_D2aWHGP#S-WmBD)m7X|;j z4iw)VUH#@;tPGqctGH$0Kf#>o1>_zO3gVf14Wy=6HQyb7QaSthqZ&Y!jzo$d5=4@0bmkX=*AE*CIkR(BhJYme6aC3Oj>jWW7&T$`m#wn6~& z%}A6Qz9S&N{uV4%;=I+}JVXhZ)ekEjEI_+%<7;y@4%e1GK#D0(3gNsDbW$F&pnrzr z4jzWSAILua&m7?jt27Ii^cS*V?Pqf2VCo%*en&9<_)U0t^~HP3WJ%TU-R&^20-UNp zMr1aB7MJR)=Xg+s+3$37~ULh~QKqK%vGZB9N{`4KWieurfKNdjPl$Jg;q6n_hlg3gU0jlR-0bd)t zFgkFwU;z`mURv8E4>$jMvpgsMp2X*-hqj5nyQhzr-vn*`hbL(Sl*xCaYlbgcd@|D@}8=h_M}T zF}CXmj}ZR*{k|DVTl?XV^d{%9RvWza7>!1w(P(BQWs>$m>9jw>%^~FQ>4=pYuDFF> z4bCD8_|npv(_^{et@z_Wm0+<}gEP>7)Ico1UqcL9OGg=w)^NUt{YC8zN=RurExDG! z@s+d800mr~Z{H}wRi6)NeAa)A76+Zht<~aTt-@zm>tP*Vi;_8v<;%InXk<_lx)Yq0 z^W|-r7#HdETv+s~VAoQ88Trwn1T4-2C<^r!!wUSci{bLpvOoB2CNr=GB=S%s==IWe^92 z#4M3v{)s7#X0t~#MuvUpLiXHqRS25}{nuX`!llYmuC%=X9?v4bKHl|!$iMbqGK-5v zVQ;XqTcm?53%lIHG>4iDil`vzbAsR3(l2#l@Ml~uO0$jj>r{^0M8e%|P3YW^-kNx&|DFRWD87*z#U z#y^ICkpXjLx)L|^mz5^NAx%kyXl2DzEn~Sm@&cn^b6HrTu93ElVjM54UI-N!r&4c2n0K3YS3g4kj>4!jy5FBZC^Pct2WfFInkJoi`-@_7atskrhS~*tnp!4o8#3m%(L}HLN(geg44qep}y7ethfJJFTi!FS8@Q z@!nRa_uztByFbK##>3d&CHNiZbJ%kDW(8=iOW;EJwOQFG+4CP10$GNEav@y8&Mz`ZR$+jo zb!T~LaT`WYS|=A+&=WdgEnI>m!qx*~YCf#iDorG*Pm->G%1RagS9;8;N-5vcy;Plp z=Xo(Dj~Fc|$51jyrPFV9AC#?g=LcyZSYR_OMqphG)PlD`hkI&qF)U?M3ooTUD0S_) z^#h2-NGU@Qk^~AGw#e{|%Rid7KnpwwH4kHaF70}yG5)f4mJXMWnM1gB6HPD<943;* zc^IPr9GIkkPxv5Cf8iy-XAKZ82*AzXXLGHqhcrslAEE7dqeKal9;K2HQb!4@OGZE( z$0(bO`c!u7VUh9IAK)<*TPEXrs&IthpDYC%+dWaR@fQkqrb;o!6VZ5p=^>pM`VZ`$ zRS(n6GmY{o7s%IDzBEF^xWUFqv@d>wkWZPPws}W3z>s&D(0G6tZIb{oC^Nl z2&t4j)gCIrt>C#`*#z2!8kuN!URr?v+*gPkm}CRC=_FE^&cHR<0kc;-g7Y~ZDiNay zgDft8frJmu><$4Co%A6}GsHKE6_F;sJop;#iqI=fM>#@{{-fy_%93b0=s_ZFEhK3r zIU<69($a54$1vFsv;D;hb`Qv0#b}Y=9QcO27kTaNgEAyO{~=d(;QTTVhJ`iHLcll= zhK??P{?P5KHQpS#!KzslZ$APnvjB5`V^T95Gt5Uoq|v7ujppjoK&kgWN!$ehvwtBcG?58mI? z=BR_$Hy@NSxBcBT@^3d&%^=Z3BG2ppNCZb_oJJ)>G>DZnoqjP7aR)OA{(<1)3O{c= zGQRO+F3o#)DA7N85gKPvSp=zUo1#~6k$?u&T1J`3!1x6xe6A->53qi_Ml|1O1JNKIA6DGNja%)7c0-3dl;Rk>U;EhE^kO)Y98mz;;i60Jhy{~ zCJ@ta?vH&y9>^c1z+F1WpT7uy<(7EwPS%--Z#i$7qVIJ0&<<2izZ+fSF@>qEXZmc= zWmYgEBQU;P6YI!jh6$T&eOZRI!%-IQm?*+tR$Kf{pD|LAbUByF_E&hz99M4QQtk(( z^!^Z*pT`0XeaMd-rK*EHEEO)C)l5X1!fLY!S+uz5B0|b@h|T9}z6=w8&_cLO_rfyF zLpHX~-E>yP)^?fx0pz;MQcocC2zCJ%jVvx?Zbhy@w})k*ES z9GnfN*obZMiR4pwg~oM%Ja;4+gF$Z{59>&Rd0}9$(;OojtADyV7+o}hRXI5CbcXxz zgN%>N^Dd^kX;re=G|um!(g81)mWPs9AA`%{!zR$#9`sKSaMti(u!$pB+n`>hRx083 zsNoHh*CrD@sdT~NT^qmd;W9d=O6~T?wec3C`#nV0rjx;b3zxEg_m~LsB3}3qc5F0_ zhovTK;~f}Fc+#HP&E8e>X1q^=;X2=w=4iM7yfZ$Z42F_RP=4O4&J`Yp;*dz*PPet& z-?$h~ZlvqD2pfwy!dFoJ_0)?)jCTak$5NEgxgO$bYTPW3I&7>yj}c}|^>DcsNNe@5R12;rtz*12 zdV;qydU&S@Aee$jO5p<>^xE|h^@%3n-~oEPEq094R+Hm?ePP}vz%bG5p(@DDH-r1F zj!P;9a3=meMcR#*)*js)Ux0DD=oTKB(FA$TfrrQB3%mt?M{)aD-?YQs*-SJLECzGs z;G%hbJi*<}xYHY7ct~h6z?(DqV0g2|*OPz`{@v*7TNof80N^JFns4a6==4cT0j7KBWjAWnFu{l|uraG|b%$rg+<_lS3dF-qrer7q&c|n?r>;1mXYkM80zaxvU;{ zoR6fsdPl;4)D+}=0CH z^5&m+$HQI|&kGT(WI3P!$y5w|4)57@Fi&z25kP7z9S1x!@7K=;13sRO!gBRCe_eE3 zPvkYKk9dtM%)JF6T6mDQr8Q1EldDb#*O+L-g^!qjSc9uE=`})kF1sz#L2cT_Ah%7^ zPLKoG=a^<_f5r^Y@8SwuWRXHWUF;s$Y=A><8Hk_+miubfQ$zCpVD~LN(jO7Nv%r7G7cH z_&``H@37yXix3nH1M!h-j{OG7Jyr(&n>?s*o}en;(E?}KOyTq9kkhjblEW3+r3k{C zeRyGoj}SlCl_v+9eU&V$lL3#<=blP2{9(C&xu;SPUs1__r=?zA=dbh!8F=4o3^XjN zVNNKn6C22mr^Deun8I~tG=)bsL=G2NtoiXHjGC6oJo!pa!f4{*9&uG_eY{@AH^o$tg}Il1 zm?1!>f%%VN(B=Zn0R+z2M0qr=(*~Z26(GOXZhP{_>xHF9nB%}V+j#cIa6h=t^b3p% zln4@${C?%YFi5k_$2BlfT#vetRp>Cd3(r;GNRPA|9%^na`Wo!^5w(m=5SJuLP;Z21 zBRu*kE10pp!24*XFt|mq;5f?Sm;Viang~GldpEgr5rz&+T@>@%-HR?drpZbY6^EQ$ z1E_Nx5=vmqz19?~mp(e=Bgc6;ft&#^<%W5)#wGyAF~(EM7kCB32SVC3wKTC%F*k;K zfvyMWziHQuS)zGIhF5|iJD zYyhH|_PyETg4anug5K<;UEF#DK8+Z)NeG7L0X(i5<+sTJ96rlSb_iv3MT_ZvBHdUI z&#B1sHVI`aA#+?oH^Z=uiDCtRB6FQci6JbkNo{NvFJ7G~d*dJUYzRE?^oqhXq6ui@ z*-G>@t_)Ve`OpB4MhBf@r7A{#^!I`Dr6CDW)?m&mYwy9Tv?geLyuQDXz9 zQMY`saW~C?n70`a1smTYUiN;Gk>=2!;IVc(a7S&ATWikVN_cXEaPK&3;G`kvWS ztjpirulu{NBHUzhV~&Z)G24YOw}YY--0~u>)=(|YDDUZAb$;U-5%qwgIh1Z7pe(Fr zkIy;kXy|PkM5T*u$fM1F0Fs~*LRaoJPw+0g$gE-WhUU(3?&Ao(dD$G{02LnI#k0}? z%XJewj!83Q-DB2;>Wj<#&>L_Clu2BZHo>B#rF%%I);h4?B5!oy6!7L~nKG7Fk1H*SMJn4iTOna&o ziiWDPCrgnQtcA8Z-i<8Pr|hu5=gY|pUdmC>r<|G! zSYX_!eb0E3e~poU>f~NO-{g)$u1oN@Bb>Nlj&_x(>5sxavI*hj;GFjcfav4xEP3~r zZ&ui$OPgp&YSHLi&vJMa4mkt^trR(y8x3>h#sk@`C%1uo#fy7`+;E^zLqkIJr$knk z@Y!ad{GMcD=Z}9}V`>M$+qufEI>m*UW|0H&Ipx1#LCUXxNnVZ&tDAQ%;h2&pXDu7s z{ecp5XI(y1hy5^{m}Q2_$H#?If0@>Z<>l=t7HtkB70eyXg*Xi4^B&?|!1G`6xHCusZ9uBY@cS$(m1;^yy znFgkRn|4L7V_x2NQ#AgxWX-MXOKl(EL~oU&Fkujg|6A(zv;JVOb!eXZk^(P)ivd7Dq;hasECyND$15AR?(!~ zS24Z|jzLIfeKjb%Yt4oh<=zJ{vH6ODOXYnHFt?LRf%0`gk8Aa}8R;O0Q z!FkCF0#A&=n8cTF)4j{uM#Q_CUE=E?+s#B8Vw7_)r0k7BoHu3^xfga)!;e8tXMR<$ zeFZ<&@p$IF@Mfs)F|aesd@W@oB{_?ze(t@05Wk@PCIs^r%H2=B)ueqDvt?U$A`uO}Nw&PU5U-M#v0s$vOd(wf+jYpP#?C7NNxnVBW>ku$|Bf*vF68Mk6?ix?}lUh;oVq z=Dr$HM#zVc3;C5i00Cok?HhaIh|z6K{=YrBa{(J>1Q57-ig$)5XX!D(8_L`|!DDO@ zXg2s>Zs%^r_26AM7{5m!c2E9-5hJ93tWSb5e6_7keY}eIp=syB z1Jw2feZ%*r$Mxq?ud7hi)Ytadt%b>EQV&R9F`t~AGX8s08u*=#LIAhKpKq( zo=u+E;dQ)^PV$=*&Vj+Gj-#j=K!S%?pi9t<0T5m^hnfQD4xAX}pu+1odWiXxNg(#y zg=XWaFbi=ja(+D;6}8bv<&`n^Vy!bUGv_?&QvWime%)Zk9GXWO4V&}$@uTkeRr3{w zenn~+6(pmE$bcrT)Mt=~ znF{2M0>PSBO@tU|n-kbU@xnMp0nu5vXE0F^@6$3L!d7kw2j@j>x?t5HMjLnqcvSeX z*@P-6CSd_%f(|YcwTgX6kayq{Aep8XW`w-1@L1h&F1?31$rilXeVTYT4 z4yH#Ql}BGg9yFYyjhGXEV8|#2lh2>C3d|&4Ge$hji!T$e`BlWz7??QiAlx18?C(t4 zH7)J#7-e@dY83i-%)B429X{XMZRF)oKIn&AJ8LgC8hQD{Z`e5-dHloQ2OEDJH1hnH zU)vim*4E!1ukXInbmO%^R0dIohddO1|FcZg7p@cFZ^(2l1T+OMxS(Bxmk z4%-V~v;Cp89lqECoYStrd9(5Cbt8Y(Ie|H#AMPKa)cDe1csx~@XJrd>=XJG_zZl|p z7HX~?pfP zd%pVyM7;nTf++jzTU*a}*Fl$YtJ`f4T1@?Q?FborTdz_5FU$cD=q_ z1E<0Odx!hz%?Qi34A#qyZ6E=^1@(S>|IV+!<@X+nN!t3_HX0nmCMzxewtKL>1&q!I z6ByN{#G9>uO#sCThYOzY{d{c?pKX|m`E_&%hP;FYQWqS<+hTdYu z5lTMWdL{`c-4m0te)t^Cx2A1r{pfJ}w>7kWIqjWOWd^<1_J5OJKvzK+gQ4cjwLKDM zeAXN(ZT5CwZ|ogxZD61x@t~~q#xVX-H)4E@K={{xP=-Kf0lvIx5c=~Vj7@|vHWNZO z6^^>v%8PbvDun)A2z4@`^ozD(e>ZW2{lkd=&HUJ#*a8P+{BUA;{y9M_y9=v_P0Qz? z00f<~Fe^lyjpT^6krDBB7-R0xayLHpD`It#p^n$X7_*0#+u!P!$NFd>;(aVUhWXiJ z;b7%|`Y^`!q2YV>PP+Dz$hesh+Ntmizegu_9)xBhuvfJ0a29Z!q~fzR((r^<1v4AM zXgY-cdtu?IgHQb%7_21BZqKdrgm_ zk9TCY$b$0(-UAs&VRV}$+`jXAK1#u1GQU+1Kt zClDkdCKMzkzU;-2h{S?fqosn84@^zr?a2)g+Tv zbGpAZa_0EubIg5{-TL|Gv$lu<=Irl(*^!c*@kmC>E!NW-Q&^- z+-ehdyk{7ec2x9Uxl%4wgHzdCx~~SZ(w}P<_tr#dw8%xg%05~bTdfHEv*H? zX=)w5+TLAzz5&f)D$hpJ0?HNHY(1EyTMtQNxv13U+SWExKFWqnTWF1?1!KwF+`j!+ zr!nmm`qN&oxWXe(vfGR-GsA*^*b)9kOQy?(tz_4x2XbcX?q3sv!46h{7_`!0CJM&p zdw?buP(O|jEK}H2rU3O7kmh<|aFR^HjN)KmMfXl|StuigBAFhLkpUw6S9o47y5mlR zumqGb(&&adf+%cpIx>L%bN0HxA1XR4GU6`eO z(i(%DR`)YjB*idGLk_s%TgF_6L#-B_MnM|kiM!j$=*HQY)P!(WQ=o;S!V@AiCP`rW z-G+s%HQ6IWfL9@EXhbT1-g;%NT}`YV#;JrNI9Adhqnef~dSDTS-y~iZ~-^I}yw41lrRMhbD#>n3_HXiO*rkH|&CvAKBqLp@~=d{5hW& z2SmuDkQl-I0hACa4V&jA?Dku|DMFbFd1)I)ejPR(w34nNx(5M ?fouBq$89_V} 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

I21Vy(3C`!0V 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 z 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�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ç`-x!+n6G0$@rOr>DbrSS!(@|;6h{xP!`IjDS)IW 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

x)}laz^0iGj5v?r|izR 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

qL5bZJ4U+YoyetZa|Sg+0l=%CEaW|6DMY2BUQ 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 KZkOnu=<|1T0OOAVF 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%0D1VJQ;lr0TvEHOH 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�x=TbQJ zA7<|m8X>ZoA^uW~uLSL0On>h&r4sB2Tlsz#0w}cbp>@ya=P~XckWSdXl)^s&cD4jBo9i}0;a&=!gixhE@QT#Sf&A(_s4uAZxXuATIijeau zER+mOHqu=H?_E(v-lznR5IZSSl-Uv|EZwF(Rp0jHmJpmn1~F%Sp^<b-SbBZ>Unar&mJCIg zFKy8&|Bzh$A-Vd)L31^X5P=BRRIUCmRk6_1Mm5o(R+ha_v zMsogs(zLGfva6ZWD<<#h*lcz=33%7bu?opFY5OsBgu>F{L9aO!o`sqMla=Ea7va6s z{_q;Gc;p>)x21!$f0H7oArY6?WW0B6-Ksc5%&eA!yv!?Z#EJo8u2L@~Q~YOxRkb? zUzQ+F=yF-&n~exiu9ogIBzbY_1Uw3ZwC>BF8TvbQ{mqxa@~l7A%6YmV)roOz73jI_ zwh=sXvB_XmJ_Q`J7}iev5$s9=9seXG6^GCeaes*cdiBY=cG>6+@8rqxofyu?|8)vx z3Wde43GjF@vqw+}ZZ08&-_o3C2BG$3m)OmNzJiF+!vHUs>Czko{3=S|O!&3FA@aCC z!zfvwewgwZ(0ow{rbw!U>jN0y0H!ga@>aTw0zPB?<_3g^DR)^?CViDU{+`NU%1{IuTGXfodIAg9tPxDrBx|=Av~)_uY*udg-6`0 z5^xJ*g%!APytzB&pMw;-N;g4*^&aDEPm;gRToJzGW-+91`iNZJJEuR!2b*NX(Aw_| z8@|$?T>{*`(w|-^8Y&`1;Js5W4ajjaZ+|1SGY$+yE?On$M!0v#SJfb0Sh>iYt*qZW z2|)7vEemguc^yHw^F^&)>NCyBRJCz~9rWN!>xv&DjU@ zY66)lc{MdjPRkxlPM%s5qc%G;L0lSym?CJEyJ7B~G+e|x$rY-5C&8^qT@a=P?|-DB zz+Ft^VF5oUbEgVvK^hc(6PMkqC*XYKg|>&y{!ItedYm?ir4Ex=>YyN&f`TK+=FctfecLG`o zFr3qGqMJIv5Ufct{#5o1l{fcWvwxTGX8H1U8Zt7J8slKs& z{K}_C^wD*Y>3o{%9l^Zm5nGtg16`;4Nt>eTUDq`c%#e9pb{$YG)ZA}PKOR7(_%6ri z#lb0@D{fWUyG*LIZ0pmfDI9EU(B+e%&1*144=%@x)WclZ3JXjKrj~I6{eLph2?%^^ zWS#ZwaxdE=RH+V${G=my!Zc>_Ob%90Rwt|Edm3j$Hdm9_ zA3>O8*)CQa5d3TZxpZ;tr%?CUafnFuF5B30RZqj1|nX$cU1A3W%!J9>%xY7JAa+I%dNb*S_5Pn z=-DOO3f$>DUdsX;XW%jy_%Pm!PWjZfN-9>ZM|Nqe^8y938iB)YtMow2*p$ET!iggG z!-R>okc6EA*p`r6A4O34!Teu?=fq?*@Fk9^d!2dt870h_v`oB4{cnJ26HUA5RU6Hn z7#q0~h_8wDV0;G!xPKnwi}K|05hRp8^JWf9{o!kx7)*9owF09-q(n@DulN$M2`~>x z`5GyA>CFLTR#;5c7d=Dg;8#N~DNDaU8}jXVl`H|+AxLm;Yv-a84A2INMey{^BuMqh z>e}5#E&ok1MR|!ZHbAiSKe>^OFRt0;YAr}-pX2jgKIGoisN5S7VMjghE>lnmU%^|#6Yj^kA z=ojcTxU(Kl_NFC0Q?-mb)t_%p1jBPdhc#HT|rhj~!F zT`!}@hM(gTd#OC`xN!11(o%7Oke}@8$|Ne>Uk8))HwFTvkqq@OKk<&=X&Z^KB5oo& zJn4Op%w%CZCcBU<=wIvf8Re-XS(l#8gSbAJ&*AnS!Hn$)#s1bJ5e8&@x? zwX~lVS-kbyx&T%xLvwu(L2!YDxZLC?c03p-+YOvs*m<;gG~_o9%rz*}?%HPurKn_336s?E;LufF=!1@fa7fLgi1(b&Z1qQsDY zDmpt;9L90Qtyvma%yc7*X$ueS@48jpwynY4L$&~Gif*g{YkU-t;O6)y-zgi}F*>R- zpN*{E$48Wi{eOFWFq+7x>N3{{sahBWoqtXtID~B%q(epM>%7Fm!7;4bV+Dvn)t0tX zp@o|dLn)qsF>~SO>cSL=ekh5CWP}m>PSsMY`l5QN{EfF8`9UxMgYo3@HhmJTQac8_5{xZoja9{rjq1v%YO!+ zLc?`uhxvg}CyIBxt3g6UEQrYSUlkHU6gyFYk|8L3@|P)Y(m`2}a&YZ?LVUA_=mf5m zjn+e|vx2{Q^_!9Ha#M$ z!snkc*qOWNzJ!YTOLb;SWwwf`M1POakmoO^58l#XW^gjyLF%&FiD;LzXma(QNBvI* zd=aH{+i+}q1*zFTreqhROVvr#XTsML%*NXrH*TQha{p_(ql~r(c(K_P`1Lw4kC)<0 z+k?}q8Q_CM43P03HIzjSCPXEpgG|=1+sp*~+-fS{x9zs+gzC2O5byt;xqr^7Hm5h0 z{r>G33BpQWcu~BvmZ+m{cUGlC1G>L!E!677SocX>e0fN#@evUB8X{l_X^XKu2EF-g zxcTzg6B9Knk;89X6?%iilg-&yitjPg_lJmkIkoH>4JPUx9YaORT_8S8rrGy+LM$i% zB(_F8{}p1!8v2X&Byg$h<$u-{!;E1v8!=(*T;{FAIAdYW4!k z#P)MJ67+&`<3vq<+Kwn;NG%V+c0uY$dEWRgL(|`SuJenmSrVDGe zu);Nih6B1mIBoS(OpayfW+?!7fE%oNtj5B%2GX-o$4^074#VB!=OQ^ zT`dypf?l<~&u7Ov1%D05+xz>okx0UeDv*>N8$sej(DjBXb-BLAC9_&7k=E&S@@#Z` z3S)!@@Y}pVtoQ4Qf#@#ZWzmWR(8UOZJgejph-AX~!efZ2QtB3XiM!wY5OxM7Tz96U zv47$}Xyw*bF;oH7?U==qxkohmh!xJyNqz~bPe&ZOqo`yb4u22@LlBsL#Pe6Iw8FW( zb&?>}HyJ}u5zYnpq9)IUhf*j2zXcWk^By%p*nnwo2waD7sj&yeQFwC?p)}rYTd7wd zC3je8t*3vr=&QSj{p{^(OeYN-R2#^v>W^1;D~om>xPfPe!sso*n!a#@des!0OOfYI)5ViuZ!NbKfN2tzY7IVxLE!SoR)+@;S zV~rVVjIG8b)R@Dg6%&#sAy{Qii`HRC4R%p5E5iM}DZWR_6|mVEcA}`*4sl7C!}j0B zcEWNf?0!j(;h%8AaX$Gs)0Dk^Tzb1^q<>?ERyF(T)=1&Qw= zuD*KbT?GcPzZQAH2QzeNkUoVj{*c_Ix^&ZdS^XN(*D?ctFz^g`ck9armObpH9vD74z+i;um*03r=YvW0=wSRFd z3RKqGd$3cqj%@Ir2_1Eye)ts>`W!*#rShYRgDcJ}Oa?|NfgU_OASNreBs0s5tu76& zu5YeKm;U9utLwpBK$;Fu_iFvd+fuF6AzKikSXfEft6!M?`<8ogT+BeL=w{jie2b5y zM@(Jnq}oDBf2U1s4#YbdGE)K* zXnmL|xHPN0IrfP#pMIicKUwFG7gmTTQ3Vz}e7~@*yL`W>YI1jCaG^AkS&=I&Q8)rNuwFf+=&qZuu?#$EnU2_0+*5NmYuEmw>WbP?+AH|H9y_meL7loz2Q=glTTkOn+NEm#YRbINhOfbWw@?e+q;nZE0OHPxoHVq2|A+1zbvV zVK|a0fybl83`n@l(vTjcvCzf#K)O%?;l0>?on(g!0$=S-oxTYqm+;@CUEvAADFUO0 zVhS!0xqTW+l8oB{K)beA`XMfW^d<&d)gD#g_+ta`q@aI|*^4EhcYlOrP)$?QNY>Lx zpu#*8!lWlN?yki{Y;i|H+G9}FZD{g3n`pv$KDKPlN(Fe zKG#;S{V=_zMXu3~5r4Kpqg`-!*TUhlc@0kGMDl}-YjkaJZRd3VrZEf|HhMzc7gQ05 z6Bw*LBH%9Bz6I&aLDX9s@`e@FYKv*7;tgxmbQ$Bhi(91!R|+>w!$Q(oWTVau(b(;- zr!}g06U0+Y?b&1CS~ngn)gm-a#0RGOmUGH)D$m^{`+zyn_TZyRe=vGj zU?~>y9Jt(B(#Jg8YKK|%>P&_`Ac2|G{vSw3+8<-#~Oj<)}yrWh)98e$h zz-d2O)_d%XAdWJkqxCHORw`9IW3qJ;4d$gcu|>ku6=x^HjTY+U=TW_`AnoUMUfE$) z?L-)f?}wlFa(_2stwK+H?YtwQR<$pe9KH3yP}E**nHl~Z*7ub8g3{GLDD3TM*O%xb zy`Zs)r zOq8O41Xx;Epu{|bw03er3XW+AA(F!IquxZyD>oqq7O@Ta)zpY&R$H0Qj$z4F)E8P- zD|)!|BNIy~fQ4}-*rPjPIkQjq_Ne;BnU{XmJL@v5ofRhU{to0cqHYU6>TRUFViONW zkn)5k+JF-?30qdhvbuJbnZued?~LwzK*~#O`A_MG=@R~p$j1p;_d>+ zK7CVMf10!C@^fCRWyq&YkrUxeMZ8|wlH%%YfPZYVMa$QtSY9I9>Gm3RJoZ{yxxkeW8aEeW3@CSHS~-~ZKX96+{bOHl}#&BX`<&+X{A4Dhh8D1 zUlU%?6U+vLfQ0|-$C!4RdZ}YmmE7p7J2Gq;+k?g)<;%&$3OW8KHe;=fE;kp}DxPig zIe*<@yQ)}^UA3!mND9qs!DR$Yo!&puUC?Mhkwj#=SC%kC>Tj?0S1HBc?+hiekZ zq>uYiktjN<2@SuZQFYZ-D+owHbhOLXV+C)OSwnwokU$_zeoJ19=psahX~^C|!+(U$ zYRtbhS_)j&fXd%2dcVx2Es(#aYi`+U<8p%%P2JlNu&BA1?A!OK^WpgYE2Qz$ zFEy@Cxdb(4O_>g(aiK!ZU%Xu}CV$R6O_>2L5AG?$dJ36@&oW%Lw>;d zZps$S-b=EZXK)t4v|CD)+;&WuI7IBMtH#Sqo)xVGJGxf1mS{T*4H&&C7i@Yn7aBp- zJ6oS*`E5%KMVRu<50{r{{(p`ra@4X2+c6kIgujj;4K;}9rV_X&yZ}UJV}1(#*j}Q! z6BZ<~l$GK}HWy$N$;Mn5g2N@YH1*-G_)NBFm&>AV>i2OhHI4tt)B@=KuEi|D=~RcE zoKA=1*^ovgh?ym$petz@ThKXk#9KiOb8_+XCZ11JB=fWLD19b`u79J@K&j)$H80kV zb+RxvqWya?GHyIx((vp6={7*C^l@Moy6%C78|#hF0**)dDi-q{rg9y3L26e`5Ol9( zIZy|SsZ&H^U|MjLR0e`msE z+QPz1*bj&`5wIQ5V}HSR2sm;9N|6&@o{~yln3RW-%xPJ+IT^PjCvb%|ASbk-=AA*m z_7?x2!F^B|FW~3Q-lk{6t!o5WXvR}$#XQKN7OIX^zX9^Xn8*v`_eEY9N9(v}qrFFm zqIm60p!YtQL>G!7FsmIqpd4=K14X9fG+{NbPo9cgijumZEq~tWiQHa(T!E*bje})Nt4eej~ACb}{JGE34CXac;xqphw^`h;w(5O4*w4m2rCk0jh_h2zT=XJKz2wCByK*z^BLQwkGFAA~O zyk>VLzN{0-3(hj$!%BuSmh~Pm<_Oa<8$(J_!qL+#QeK$Ki3N|TgyggG{dkx2jtjNpveP3x8L`zg*<1nO!Q`r(1Yk;4p|= zjXnPw1~6w5BJPGnx0VnfG`EuQsIyORtgixr#6?Vr^j z=PKpt^s&tS!Nd5FYbwI{FheMfT!H|o$L~jQd4)Ws>KQK+^LyM7b|qqTSc^dXnZEgc z0DFSchksAG3-6v3D!bIzn5l+uW-6k_Zzie;KeN1GM55Mlv84XAlKLY-Y8}U7c-G_u zT7QT*Dur-v5+H_IZH|JBDLfa# z|AD3xYK0H!y^Ks>M@f-*^=hpdi~YS=?C*K85je7j7-BJx6dt=3+6-kO0d4`~o#4zK zyUfV=g;ydqeX7Y?j}ojdE6>{IhK4<*?5Syv+&(^O|^K@y_Re2J0A?QekV& z!X*K*Bx{ot^YIe*Tvbe#nBKC-Q__iLPEewOa4A%4r7(|40w2?o+}tHaS@>ek!5_$m z=Q6vLb~}notOefN9H3pFFJ@uyry+YE6@Syk_QM9~l4z*wU5AX3A#lh@YZ5B|nfFp# zyV(Az>LYBY0c<#SEoK|({_^$fbPkHnO;m&)9h=XtbB=mEAu{LJK>c!}FL}qsr`z}C zU2i$ZpJKxjBNCB*MzG6OVUihsv5 zUUB~yfHQEJGZ35F%cIo4>eDFmqcCZjZGyT_1Uu~)Xs)k?xMMQfpT_g&r%8wUD8ZdRRsUDcief|Q$tBpC4ve;B>-`6124kpOc!VsM}sB}ixFzqnk3 z%rW*yVea8O&@j>+p`!JnYI@^XmH0LdRx1}q>s$TM!__WjXNG!!KU_L0nZtX3A%6B?6v7ke@Y944zLqy-T)nt?c;{7_17y}wNhbd zi&T|DV>MaZW!!41`vX{hTYp@E3T^2YP86VVF5%Ae4eTB!0w!wYCH_@kE2$bWj-Og$_a?%>^oS6(pp`Sbr4iwS*t)RDL2C zX8?$Vd9xr>3f?sC&-BokK9Q5~O>^4TNni`sgWz$+p*SOBt!PXu+qwI(d zz#~uYo%Rp5Ha6D<8X|oh+nM)HYe_3B%kL2AE+9bUymLZ4@Ef`hA!4?kJb=nPM@kWn z&2+TO8Wm2G#&ac^frtD{c1s|gM5oFOeU|F`g&>N>o$MB`HPSz|P<=Yx`f_aXQ=&yT zZSrE<{c%_yS%3Te{;35B49g=-W`a8iIXoNkr6hf+pg0v&-$q9whuv*~8b@I()P6ND z(S%cXaY4X^-Tqo{ufLX1lVp1We9AlKCJ1hoW?O2)_`bWB6%Y8}S!oCMZ8T-SucyL5 znRA&rR$bUv$(Xni%6?QOF75=Hrww2kZylk0!avL@0jrwm3>p$bH zE*kbr(tl*e^YRLslN>tfBj6lSh%W9{csNBIcTN15XhsEzVnu*>nXqsHVc-Xn$-SRc zYH_)aimzNKT@_x*S^7zidt=LK`R+0%y&~kQ39-@=RMYCNQAnaqcGORg4#zOT7Od0w zjBnfPWc_pH=p&ru@1bjo!75b^m3J+vqu$}4h=17MU+QhZux{-Yrfn^R&rDMX^;B)T zI@z-(`}N<0l|`Gqy&ESctm7C_!;Mb@w8BcJ7|`AF7S_3%dscmRGz0Tq{Jx&!;`8`X*D{jQ3afRGUTLHA5pD;^+Pjk!kmLR@c8=yUnONc-*+XzJaIL^Wo~9 z&)3#dZ1DNPc<*HOUt?ZqPKWbVmf|bcVZD@YWus*PXk&ZOmH*awK3)Ct%R67K{_~%^ z?=~)OQE+vIm4BYLQ<2N|HsnumV(SZ1^s52cz;F) z1OswoeR=uS<{XBI!vkTi^a23=#V2e0SU66nA&kAE2sR9JK}%v6DLMdh3Sh3k9;vKJ zP~ZH;Op~MFA^MAF=>gkX6D!v@LS!e{IRh*VuxgAQ-24h#jry|z z^wq=HB7w`e;OaDy1y&q4@GbwBxPNcqZmY=B{VR?yH)9jov7wo!WrSA}!jNeKGzkOU zif?i($@Xbv$@fSm36B2zeEU&VyBnA19Is zKR7O9^M3n)N^P|Q=j~H;kc2}=XLr`CRVTmbbdfd%&Nf(ZwHz3@*98d(-}0Cj=2f&f zM_z#6DfDW=HMMowS#nPZtprH1$(3R3&J#|gY4afhrR+Nq?jxiokj6Dw1z;Bl8GXcv z<6;+yM>O#_rt+)#l`tp}4u9+3J#bJWBssr?sXpo3p3f(Xt=9-Nbl!p&74g7y0>W^2 z1z0Afo4Gc&m^(y)H9~Bz2Ga|@Q=X|Re#LN%xTgd!=f5t zYKE1QDbL1rsB_M8^T86&10U5(1nV583tUNT=Ft0N&x<~SbJXC}TV|%hqk;DqZNlYX z3};HU_b~QZbHr@Ui1#0{tb?bK8g=&;&b4*3|Jn%_n*EE_5$$5x2!%e#dM}ErTmYBF z^x)AFUSldGmzulw41ZKQI@eNwr$>HoI7eEL(cK-8GnvQS&w=H#)9B9sh$=Q8nfwE5cclU#;j-8taIQZd!Vj>^;}|4AJsIGqvH|VX6bzT@E&-o+k&1& z=}JN#a6GjoL(qz}UpI4A9gwu6!3>2>#{$$j64}T{k6eX)VpXF=w`_Ga% z$pw&Rhw~J%jrpjB=apP%O@fXMU+S;q zQhzezu5an8(!+-)v`?{qhd&~A#r`XYf}s90{2yt})qiUCn19njPD}Hwpzd)8a|L=$ z;@A_1M_r{;6;3Qeee~Qc4M_~$cQn@ji(!e8$0|8ovWw=^XZeN-`A5Mkm~lL(EqH5-l>+YLOQe}#qc z161P1VSga%UAX79eQaXpbjy7uz z2e2{o@DFpDdWqI+7C)B|qsv^&?PKrp&>*q>?dX5`meED|Yex5Ph?>dovnp1AF^1nZ z4xpP%AD_=peRQvX0W}qb-6I?PfsY{JVUKmo)7BHc7Hc!EkvAI~d9z{tB^RMnzTPhm zCx2e2r8u1Z&0>W9Tl$v72yK9%K%lLU5o!Vc;25Emi4jUp5jz@JlHZ;`$n%Nb@DcS) zs9Oa~fdV-u-Y;0$BrcX0fjdY#U8OrST;xHq6lf)y3wB7<2^+gYty3a)_QXcwAOA|Z zl^>aynRZ=hHBN1{3H|NHs(7-9{Ya-NcYlTc5Yyya9Y-a7?gB5K6S;}PoP-rB|dhb^+Xg)ZH$RS0&?S?zw`rtLG!Ru~N#fW^-8VwEaUDl@=-`shAUKYVhwTZFD-@cwX^CMERR0U0W(8z=`R|d1}+-uWk z;22q@w&8@;hv>nWKLJhH#ifrvq^f?D$YV$&p=LxCWr)U{13g|UP(M}0ayt@KCli}p z_N60G&F&OA`*U(Y(I$kaOq^$WOMkOJ3A|$1Edj~gCrvXCK3ekY7Q=6;+hw8VtiGOa zELdLB8E&a6WRgQIt-(~9R`weYp!XZP=15wc6Bg{c>uO!E$Hc(ZxZaAd6qmR0W9pC4 z`(h99)~-~%sz<1%fO#UUqdu?Ab464Hf=3l`4jdyT`|aH8`V?_$>pzXF(0>RC*-zK2 z)vzv{T_3J2LK0sRkq)CkIB`4U|JqS421wlqX$hLm;PT&V3^0oUtNO&b9O|3}+>5C>M)Qmt1B1 zMTV4ucq-a_D{(G{P9a&EaDSBhdtD^F2=9Gy$Y^$!)ERZN;HiG?mb*Bj2Sn&9M4+25 zA;N~U^n$xot?SZO<(NP%%D@4ksnv8hq^5;_KMLu#Xbr#7HUBMM_iu5_zTS2DEw00F zaSVQ|@9bOL7_WDpTb`7JK=%5kPBDwO9?6U0st*+PXn5vSgRt*1Ab)tlT$p{!df9Hj zX23X4BqXYa4F$BfqIYR(D~(KI-rF>g2YI$H*^E+PP6_#wDg)po4m0CVXcR@ARkNS|up=pf~Al&XFXBXHvWWzd@Fp;X~M0@Aby zMog0nfG#6~R^#3RxDwCt@cisaL0zJQ@-8eAz(*!Mm-8_dE&_R)mm@M2Eg5Tp)+}E_ zE|C=2rv^BEWM_~eJ-{wfr1gcDX)+Z@T-Gw#YGjdPZYdg#oxH=O@S5gfm~=^jTw;Kd z>pz3@$pKQ0h%?ZT9$-1vOa|#v1021+GcZkbP%IBgfcW_p!9d2If^d?7$giM`R$z)Q z1=2JR1B8`;_~?gUN|y{X6+(Znk`y2$%uNR6lN}_n1`;R|FeVUHIzWQqL=R)p_5=}HQ%rukH2`3DhSOh5p+d5Qbjo@Oq*FLcAjyM54k#3<0j|kwu) zc;Xpklod*F$elKq;WHJb0h^bHG!-s?uhVx+^k8wKhXlq6vSP^V0vM+S7-b}8a3S3} zhWQ6v1kZ`p2m6gB@f(lMu4nATe@mPX=<0cPw_j0a!$(@B5bp`ci#RQlCgpUBL}5OM zVzFm1a;s!Ltv^GCNj&CX@7^)X?Q*Kbb=+-8wa5n68{%Fq-##TTuLEyTNcqEmXY6yw z20f<^u{2Kus?aa8WtE*htl1|aT-D*B?fk?B9$(U!xH;T^>HW)6L3qCiE@hLVX}v4v zZs}CLqz{LsedokG1`Q^NL|q=q@S_e&76GrgHr*+(BZLn4gfy!ln`N!x=d7zwJo(`_ z{4+4ehi_SigSh~6(QJy!D0xPIc2O$b*=8lQXONO1E(>e=le8zWS&m7!0KQ5>L$W$v zhtOnPpLmJmT7*vuB!P$C|u^TC!V0IaSu&bf6%o+c0@uVf9wQlEx)b^N5Yh7N)GZo714v73mVi^)e`^s+h>%XXBg?B zJAA(_jz&zRpl#7nl~Qeo0A%78#Hj4T(&B`bT%gKeQ9N=dMd|+}p)AdFBZJ%}V$WUL<5n z=Iw(>cCA*}+W-7qe~;Swzp(v>d2OlxVoQVmFG~HNp1_wQm7Z?gf32`X|1SoH@|z2a zVjLAxrGU?@xr=%bTzH8NQ%tMFbe7!2Nlr%4AlKzZe+Y`x(FHaMiG6|SA%lMe zxd>sB&MHW-xUPp!`P%jL!xIbxFg;x4PaP^Ga4%9#5#A`C z7Sa)uX`vOBy=d9&s~y4ysk`D2}O6ZtM?xwWXL_(4&amo4Pk?KQ5uO z?kL7eSLfa#mdcM{kDXtF81QaObTO84OSpZeKST?S+i_kMDqg4=ZZ*5^SnP#eY|!Fb zaVT8-!dPVr{A}bh@BG@NDlHN&d9npgT$Wfm|9B<~_NiH&I;4bj6ZN@|bJqFDHY09$NAzo>pJ&uRnf6qo>)p%UXW!pGJ(uZCnd^_?BChJf;o{n}Lbt|4; zE!gLT;DKZD!zE+FRl+9Fgavc1)3RaO17R z*h9VN-?oQZ>R1fG9f4+~Vd2Hd5YDrA`*X}vafNXg>2OzwrfqhMk_~+6e^Pumr~gUo zr|JkXOWfaB%pb<4D{65%ldLAVZo_-`D!wR)XHVYhW@LiPTW_&DW2P)t zfp?Xc7Yxt5_g3u$-HuDye@u&T9%#r^W#y}+*gae)j+HtJ_bjNHUTH;CxXX{1OcQide{Fw84g0QsZro@o z1DuUsxzWF|=mx*f>T?p@$ZmT8)A!SAW48o8-Hj@s^snz>A3#<9s~Qc8QJ(PkW4-L9#yE}i*MkI zhmT+W_cOw<(CYQge~2m7Z7s!xx5;t~a*uO1DBFHK( z{7tqj6)^kNSmndTF8y&Tq&w7UV%YDUTB*^rmrVOO;}*9}vPK_A&Y21}m_!N<;kg7>+H8VAuHm6PPj7BA zp`82zBJ+y|e=cv0lMk#Nd5|R|Zg#duem{u(AdkeXMngYBKz2mwzHUaO97PdQRkZjB zp0;$RT)@AiTh_T;Rlj`|eQ$`hqdp))dQkZA*(W1~MkAjDg7cfvf)^xrywy zdC28(*gX&FCHL+160SqK>>k_#u9(|IxBJ&tXVRz?f3^kq@hdzk@W0UFr}-pD$G%?^ z$axVqoD}HDxU}m@J59=C#J9S8F9siuJW2+~Qho9nnYo8TGP!{d_=%!ObbJ*TYQ3=`vUhA^LEmcHo&JZ#-08FY7a{YE9z%^it=arMP(|gP#2g&kVt8FYX zy`1&Nt~lRnW-pPGndk)Z&DpK1R3azrt${uVfBA|my5Y;+cAH6(wR;iVC7?_YZ5^)- z>YkRQo8tjC+QVpvG3tCYzk1tgQ~6SMsjt8b?n><8AfVKC@6gkC22&DG48rtoml<=? z;DjMm6I>y8?p-KqNYI0r@z7K~tS_ zREY{@S8%8Zgn^%b1?9*< z4)|G(yAOt#9MDIBo?ldO__Ga#Sg7{0Q>>7O7vGY|Y4?8{dmaof>$OL4LE6D^e z$3nRp5jB2AaX?;AP9IHceqC+Dm!nmU@Dddn#daBNuC~t@y2b`zms5p6rFHHiTX3krHh+b)++bjiU`Q z)D}L*aU<;2K4~stO-6w|qb(7-e-pDnHd~COJz9=G9h~y3`0%4o>4#Yey59|^+w78@ zNU1Q5kN^L52X{_f1(z^SJy0|SegS91{DQ;WSE-N4)XYgYocF)Q@ zb7$i|b1~oXTUt~x$n~ry76lh2HEZ+9{UXdDFB(T2A{wn^aRJ7iM$trMzc8Y04yCE< zCS*g`ds(TC!i#v{}bxo{8}CBZh1I~!zLQ;=Ncb45mD9(H>2QEZB_Z{e+5Cx#uH?HO)*wB zzj}z4wME04v3WV{D=i~>vkh<_N`~s5oUyKI#|=32B0G*lPemwiMiakWx{fL?O`}tuA(jKmAY7ya<|REKj%2T#p+>=G78nsIc$ZVnimqBNrIK42_(bVr zpYgvn|GOM9@$dYDdcJVvH&4-(O}m}cmIyl?XV6Is@M0m}prC(xWZ4(Wdx@%;pA85XoZQPldvUfx$lbr5%r>Fj><|Y((HL_0Zlje^qsQu!F~HHqvFxaah8Y z+Tvn9wYLUHubd^}8V7G)HQBoK0T+?IrkDn7_ox;~#5LE5xGLy+X^Pi_7P%E{Kqn-e$E{H+BU5g!uQ9FazIW=^lv1bB8TPrmIrQikAWlD%!-| z<(0xWwQ@C!dAwwxjEJN;D6Dl{RB06D!a7J*;NN!de>@7U;f0c%^QxeHa%+2+w1f^bSEOL8aEI=W@Un#LlER5NeN6 zA(mlvZ}8EsY8<+ly;ZNe2XT6cb^(9qeq8Uz)mEagg##NHtuDp$W9J}ub)EmNKJf{%R|IYrN58uT#ljRYen7j@iiQYMzTi|DQF<6)JHuLgm%!2p!t|7 zuZmkbdq-DL$+SIGO%I!rsywb=;7+n!8oHI`UfQl0xqB?djoBp8u54nL{oe)I0z#*k ze@7K2e_GMjdqXZgt3+priI4RAD+Fu#+coaAcwBjCt%v|T!xmNnI~Vo7J65Ya~wg%GQ>h+Q+EMn8kP&^qR!bfX)w zBt^^yO||pvcJzvFElTmCL=pvVh+her4uv=_e=-P?kj$JDd?%ejg@mYHw=CsYZ`x<)!Rhn?h0Id*U9IoLNbk&=eCyUvX zG1BN-lPQ{1`V2g=Tyk*xjt@nZpP}SCGjd&yJypD@#69SWenLsxb-9^4*CoYFMcr;A ze|ri2Td2KT3A^|)v>``@HLTXjBfZ?#%3!@x@SYLphIf&^pX7NIOLr&x#KL(ilHPjp zO-23)8OY0bIiQXg)~bA#jE=pW7h-n5jBsKJm9Wmk=2ExIVZDvCADjcA!5#S#pr6pE zvrqjXD|T^!y7y7ab(I!}c4>olZ{Jzv0lPN4d!#? zz((ANoRCN_Ks-IQv3Xz=CF<|ZfC`?fZx8qo{7R-SF4N07o-N1Go{sgnV7blf62O~ zWETwP%u0e9a!?A*6(a4!$M-WrHd^YOFPbOJ4(WyT$X$c)nA^T*7hdST>alIVpK_ zjS6%^^lCd^vtA!J973+@eUz5De=e)Cj5!Upnx}NvJz|Q|KA{-vv8|KxRympYA7)-0 zx!84HTsbo@L6M~M%!H!gWE}*BZWdS|!OoL4Kj}a`#&#S|0k)zrD5-bpJ5mRoAgU2JRn~164wXz6}A43ZAc;0j!}KGZ*rX#%zrJEN{b*D#muD4o>{a$O z{gs4gAPc@`8l5h0>}zJY;LYzWS;ycGn*H`e6N3M4hBIlurdT73*Sgt2L&#R<6bTk5 ze%5vJUigu|KxvZiy!X)iU0kW|NSU$OzkYYpoh4m!;SiwXN}Q9u5Xog82U%YN$fIP#un-K zwf6bZUn3olRk(i=#`}~y!ABT`j?+BXH2xDd(2s1D*A;b&e=Xk{xqXpY)xwt&cXx|9 zTx1cH;YE4uJ3QzeoQRL2HB70%@*$@~JiMRA9CK^aHOA7U`Y$c4W+qizX_}wLSKXSm z`h=>+677+n7M<`PdKalU;jFIFJ^II0r^;D9x5E+mUG;Uvo_cLq)&!&wlvTNx37`aI z^$}3T>N*X9f9g{cxIdQxDcM2BC^dyoGm}yd-fyS zIY~rX(!wZ5q}7}NPXt&7s)-&-RE1J7pX%WPmpg@xa!gp-^q3{cgYUI0W~`(oA!wbg zS2+-^f5|oBXq~`6k4kHDJba?dk`~IdL%>;*$7dmDHPJ&E>N$mtvwR6_fSnde@_cyG z0+LM8V>t|MY&E?}blJ?#x>%@mB_y`cQ8|80WbiK4!?8_93g!}HD6zgRfw~+UFcwez zLbzB-P2j$HR)*yC5S~@Zq%1^hNVj2Hod@rHf1;gHW)iH`YFQP+wkFxGq~WzCg^cN< z4SXtGxHR;sPYnTA6MeQU^lF}O%3905ykwGFD92hn?FC)74G*ijj)f4hA;-Z(;UIy7 z^_~s0YIJYXFspG^C_!pQ8LTFHsKOyik516gECz$s3= z1f`&w=0n#icRP(+8r!oaUC|6LMA-Ei7P@rZcngadwoIP{ z(}5y%3yGf_9K^wY^Zs*^hZv>!1zP+zf1F0Mg>rP9pM@8eBo7g^kW;`Y$HWSb8H0J$ z;4FWAoZ(o5*Mg@CwP{m@{1B>G&=$pSxf$}N$f6Ulg?KrU%+2_9VpOlq?t-*PnxgfB0`f6=szPfg%d zh*|~@nZDF5?BjL3V=rP$%6NI5h4sR(6xe2XXckzdkS@_dLD-OhKzA z5!7P57Ro!eIy)nnUmynre*vCo1aB~yNuj)x@7H4pqUv$51SpyZK=G3Ntu5jtprtcO zreBd~IM<@Q8Gb{TZ3Ta9pYghCV$0>*HGQb7Bq9^dxVG-qH0_i|e{bovnmjqxiuWJR z_Xu^Bx@p;LKolfPOa8Gl{%l@dB_1g@>*2x|{1v;lrzTC5IksAwVdi6%3VW}0nWyMN{2iw$Rm=FvUa6frXbb+19W=;v zjW$U{r`)EfQGi^lLa$MPkJUCJVkeh!MtNQyQ`n!WXr>I3)nK=9TNMe6VU@}@&pD+& z-SY#&N~8>dD91l1{c%a3k~SlPmJ?F~_c`sC)KV2Gf0Ai-=Nl-H>n`PG?9t!FPAs3^ zB~Gt+^hX23uUWTF`T&PJCPDy*#M=-fxH`pkQCnCQ|I(DRJp6zIBAW2T6jXUfI!6(3 zDK4IbiCm6=A$;*96I0`ZCt+?VBq(d?Ey*rZ6!s`MWU$e6qg#tOGN5*xk%7kO!c9y; z(Lj^ef2bowOKi48#aqG)zswU33A1t4JbQb2I-hR5f)zdD;-aYn9{j#e&gTd=Ia6Fc zt~mN=$=-hFBj>oVsT9T-L4);QPcE}`yz?*CR2YZG7`>HlcA$}Xj8S1nCaw1sx)4~H z^(+vn05+#&KQ=-b9P5fR?p3#WkBeqjn=Yp`e=Q%|T|M~@>R=PHneH?v#0}Dtn@z}> z*da~f$%zd>$ipERZg90^{Q8GVJ57e^OoB>Wa%md=6t(-jzMQ1%uz}XGYu*$$aT}`e zAm4OaZP*7rE8V6-%2+$6)6=G8bVcdw;@h!CvvbUbdP{To=inK<3Af2+W5qEyZu#}h ze|H(H!xPr$X;U)kGKfI1AK(6o!`TfQRByA9lg1H|tN4@9sQ%nL&n^*~v@TuZgKP~G z%&tz7&2GyK6beNoBQLN-H3e|uM1P4ZDSnq^GuMIL7bY)e^|_#FYuwKY-tV}z+;w4m zo!SeeOShw&C-MO+>Fc-KQ@WqJcAmNq(DgZ+M6#dN3BL|Alc-R*|t^_zsmeS~*AwW(z?8p3<~ zos2oHyxWLeAv+vRTZ6Uz{jm16ltZ$zt$g zne1dlcfpz>wiSaPQ~if1rvRTeVKH~2T0tnQpkATLDP&f$Nq6j&hS@2Wjil@ppY+nR zpEgCh4av1aRBs^N;B!b**W%P1svW21urW^c{Yd7bFg!CWwam)$?G*Yn6U$|K=F>Kv zjhbe|mx`yuC$FE6e;jPhgyg`?&?K_Ky}oAY z9Q`pt+z6#FtII2j<>r2eY|;OTz1{|SL;SL2zTquFtivp{heWlZt5?JSikY_O^C9zX zPn^3x%eBR18EfUWi)-`SSJgtr%bBaq==zvN#QUBWkz7Ebe`meN?XFl!ht zcgP$6lpQi?^nUuYcLrM~c3Ht+3$b^X-!R03y<_;qjJl846DYVconAH2kn%tF-~etp zCsTR-o=(mJ*j^Kr+FQ=a&kFp_0~hYm*yR;K))adeu7!DX1#3ro3y_BQ9^$fAKkrp% z5+=?holc;uf93)(X<7}tS90DC_f4nxKpDIk^>ZPulWOrEo{{h~q91sf%vF&?Q=sZ3 zuM%i=VNI&3FYvmC5)}3AXJB*meoq3VAg}=f3(`b^YOjCA50qI5Unb=F+H4MQ0jR9% zr|T*C5$R23F)1egki#dX)4^X4_~S$ZEM>F9pAY3Le}VC{#h*{)i(ulx;jJyccId%< zEI<3|E`h<<3?5})@z0-jKDc>WEicHc(#}CIcsJO+PoBTvjq%I+4Ky$DT;F{aRhrJ4 zuk!EjQ>B@1-}f-*nrMy&pXFNE9LoI9&kJRfBDOY@V~HRD}45(!9A%?7dv?6 zJr!t`e=FiYsx;m97)M%bUX%;kY1s zTau$MN=y;LX0_ocUyKIg|LDATjh}EL+Pru%JE3nlZ9o=%9^XGdI=h~U4g+ks_y(sP z*sI({)ePiblb{2W9lFcdDG1_^>YdT3``5Y%e@YQQIDd#*PY~qPd&ND9f}Cn%pPZ6V zWK-w0WIEc%2q}Ci8r^1`uuHbm;NMJ+D3r)-P#q!M=gw>ZGKppcFhs#pQ^(-kA&5v# zAw=NJW~>fZCXMVonf{2 zf9r$2f1K=MLNNk9v`e6X9}u`oeY|2J2D4SeNA^oz*SmK?S&*rxeD2&(KgqVaZ=rf} z`DxmZ`~gBn5nzwpR$;LZzwQNmZ9yT(y%!DpM3f;e*(MgfBf;s2ydJ0L{s1>{2rwHxB8Itqt-GY z#&$$=r`tU#xV!sd^&yBG9+_(ro5QsKio(JIm4~F&)`!sBZg%!?&i!42qeyh z;rh*UoM|}g;wHU^QmtQ;x@N>IOvD3FW&O;kU@)f9Io< z!JR`xdVT*gXi7nQBl~}7f3mQJ5#xra>7}?e;^{sRpGGv*=ImeNIpVmiGGE?# zTy)|0-;%4kckj^6sQd-WZ=t&@+Lq2K(mis7J^ZWd%Yi##RSBgcaMBGfq&_?`_2l;C zpL8Me55D8**NX9@`tS^R7)=l!HY3;sAunFn6h@j3Kd@W0g#C*7p&YK4e^Bt%->&E6 zJ_VbXDZQgmf{7f!)87?~yjYr0R|N{}$W50z!;)FsIt13n(gC^3!g09mvnBrUqCt}fp0q*_wmwSX86Yck z7!~?h3n{EG`O&Q<{}h*Ge^`b|YjMRtK3Qe+#l(_Uw88W`0uUv%jZF$M^@k$d#Z3wb z;fE5^^|eJT0o<>1*p)aoW5uGX*MPjB%hWqyhbR#qoaEl}iHu9gr-K~AttG{K=iFzc zNVdEEe~4=2h!y>vd5FKbtVB=rr@H>CdcR=snNrJ=drk%w#2QJ#VVW0I5P4|MYrv447RCCTg z{p#`Y?|a%cAhjNcJ*IbE-Cgy?RW1lSgjchPp-y4@eT@@97bZeLhmV6sYJCfMDp?WZ5z^+95SFL-b zQpp?Knr`DGtlU2LZon_#?`yDq0^`f~+(fV5q~GLkd$>Rc-Tlt{%}ioAIkFS|7;oEo zRCm}NU!gCZdd9Th?{qK=GoAF6raC$z-0QxXX+0%3tCep3a1^myxk=J)@J$Ank#rG% zum{Lc|FNuOO!ja)p4(XHE9jfwcOYi|Lge;Nt3-a2O9#$9u(oSF2I|o!XYT7@46{kg zQ{%Gv+iqKn)E|6oo=zpN%y7+kdZ2tUr1Ypr5*$fX2x1c5Huk{D4fYG&U~-RPpX}@% z?$TyL&at$^CHm&~JvpdOihg=rd{v+iz7cWsuA z;n(x^BZxJe{Rl2`lbO0Jv|a^MH-a_~H$s{%Ngg6Kdw*z6-Kk4SKH*U7oGEq56gfM} zoE%w8jI`!&BbTgR6&`he!Ll1%KZ3Y_VaB1dKR{Oazebq z4(B3-{bUu6LTni#M@+~(Q=&(p)*y9L;o{z*n4xa>3J-0kPMZx{RSmyoH^$BkBLbQz zmsVdDBY)-2--MWTMdQBtiiQ)+n=97_L)~{U-WfAHd%I=Y?5ve%%ukBW!l9?_u5n#Y zns^m>N_7HX`sIY=cJ#9&mXN-9fDlD+>o}5_xd$%Y!IQfJ2wuea0kW$!Kg+-%zgb|L zd121}{=N=|$s@>A=K8wdxv9r}XnleqLa%zMK!2TO`u#ir7miPRvd?$!-HTh?U7gZ2 z&;~77h7qdZe9%J+8B~ALlb4Vsiz-gz7Wz#O&PI6j{d(o-HZi*-9xiRTS$TrRH+OkJ ztpk^?sx&9de{KUihUhl!!726HVrH!OI;W?+B5sH-(v3%p{$Q0_OY!kXX=?V=(Ti(df(o#A-}w}N>Ze5V4Q?XgNMGem z!aLZ1S&!3OPG?XjP8;11_m3~nOKWCc6ZhR1ua`I+y|NoIR`Gfmz^PVmc zE*N6uH`M`T%9`5XkxqiL!E(jg5uQ5YFOY9;!zB$4(4@l(+HWP8N?Y6!G^^EoMy-GG z`#lI*w07>HgnZjy;2A&JImEk@Bri#4-@S_)W`PlNG((z7iK245!i6-GB!M_5xD5)W zok$Fwe&ozm3t+pemzO_V7xY8}GvifulwOEsi94~60zPBPVW!w@A=r#$=rF#9x)UaS zwp$&``IbQt90x$}T`J@OGrCK!$&K-27lR zcJ~RbmJ{8PWYBb7%5v|kV+i4>;*d}YyZ#H>2sspTmdpAPw z^^}*mVTH3@L~7zk35Xwk50dT*xjbjbGCNEaxn<)`M*yg)+8;yL@_3228e?PdY$r>y zCLo99e^Dhp=%D+V5$_5|>tJ#1Rg1T?(Uu(LFa7-ZVZM9Ue=<1=W8N#V%Ldw5{ z{KLdORgRZ^er;6HxSNf25On{x)=COR%qa9z-EE$u6UfjZ^qtxZ_|W^nbu~wKOM)$> ze~1c?J_R&<U9I8ved4{6LBz>%%(TL5Ml_%xatE9T^I;(-OOm1y?fPJ${CIgu zLJX+4*&VMs>0W|z`{0}kk08S4iI9RUG!(xJoqxw`!!di<2HIpT2SX($;trNT5IH+x z7c_+Qu~{9)TC!wSnt(2mND-qB>&ugPf6{naf>B|plX@kLu^OWnStg#H`fH$nBh5Eb zj58GO8RY*Q84ri88EjK%sBPVz+9DY1O&^yxbrSdGdtD(|1A1w|zweuXO6)7!sV-0) z0!Fm%I<}#ICjZ4mhPC9f^x_*z8}xQ#?=z{n^L0zkJ&>Lj-Rk9ud}52LNuI z=`Tp#V)y7Fv&*kfUG-=+`dizyf1ukb;{-R2liV?e(kBSh`fh;k$jk@zu|-vi%}7U; ziTWNi;`}V^GOBcK*&Lm0rjL5tig*yQ(zZFLX-#lb=oDBSJ>fX_1POvSDtvwEDES6C zBSW7jXWvhV{l~|4hXS-ji{T`idUpM)O?zfFFX%8|52BSst;eK#t@7*LfBq}D-kvXC zl8Uc%7I+e2ICfXBm{&I*h)Vf3gnJy@dG}~M7~2{N4;_zLz$6o=YQA6}llIZ1$2v&8 zF?!t}_3%=oYWm|IWChnfZk!LKTkQ(+z3CK~n&b5lKUZvy^b@b8$z%+#(qJu82NwN1 zV5i?9C6K9f^qV*zhlH*ie_m=lyx`}4iik&u0LNzji~hxan#Ay!r~VvtnrJ4DRgn`B zWPXNTToh8~=YUjp&T#J$99iAbectXfNg#eU5XBg(6sJ=#-<0=%qf__u zERMeoK{wS4L!qIe=GQ-iwOGB#T-0> zR%nP-BXBQfEtFU}ZfcEp2ER3d_d%xuZtILT1DoC|a_DWH0Y%eQaEezQ{IGLqK?7&8 z2RqDe>EUkqhQv(KK;VY4+;|{Ns29 zIH@?Y>D#Oilt>z!e=YFmFuO~^kyh#nIv7s{rxYNcBu5C}1t^Ny0UHHYLp6#KF11kN z2O?W(EKv!cTAu0p{G4>MtSG%I<2@B+ z#bwn6Pah&OJ}%?qyOL0^|%D!{a5|%(9%}D*y6x6e<%Pl0%1QeNkoR-*IQxV zv+P85COXIQHC?!SHg%i+0o?Qy)Fg*O97?SUuQOS``p zxJlqi7P6{i|dyR$3K9N>TpDlFL%)wpg-PDU@dMLmOPfLG9ESljnonU;sGqAeF~INAq*k* z(Bw6#2*HHBc}oN}Jwz!6+oGqQ%pgLU3)>{Wf4X(mqV?FB^`@ZnZ#>Zm0vFGqpF!ag z3Z-EX=}0dcYbJ) zklJaEncSX&sVt`h{bSmbaL2Lm%p`iS6K$I$OxofSv!-85JXBQM!8NmX^}wRw)q^%O zf3^gX$9(LzpFKsL(2548cIZ$#g2L--Y{Gs3XV>%;HJF}?cM6@z@)z1TLP4w(l_KCq}{T)H^mR$jj5`?CQWrz#h!~4GVx?>HlHDsA>cZZ(%T2B0^bmD;xx}Nw(OtZ4nOKM2w)KX~KtI4?wL=KLZ z+Fdv(J(;+9yPngQS(C%s+`gA?Kfhhp#Zd(D8D6ctJu;EB=cmj&W6M{5-k|H2HK@QZz5En%w6-c*EHV%LvxL!t7-}Q&w(t`S$1a1>Gwt*ihL?MR-oGQfG>0mN{~cyuEu@=JE^+ zgKXB4x&P58pX`#zC8`NQCKa)yf65KSY~bp*1B|>(?m<-JD52^t`BXxFR6c2c3S% zS@hTc{WPeZ8D^VGou>0@`SC|ukv}Kqy+CgPO~=!r#?xW&snd&KhAG&WBV05Wz3UUY z`9$HPH@WxeZqKOzLugX-Hon;HodvaEpLQPLh#NZXU4sJ`;9MGO+luBbe`&IfKO^(0 zckj+VU&3nk-Me#qAL8#7zCVWS!;V>q?BTd~)jPxgIJmd_NzA#Ke6wG$=FIM`SMhmmzzi^%JRz->j**F41eZ2 zis2!4C|c-|=`j8|gkLMifBxMeqv1Wu*uB5A*sI}Zh|)f$v_ndp?}5tJdPZE&lMI@MEy;A>7KXz|e{x!#`&z!VIS7D? zC+xZFfF40gjXOdp)j~Y7*$)vz6-Mx4G8>WukJ+XQMkf)61a(K2d!V_l|J8d$aCJk$ z=ppzp99*c|B10;oTX!d)M8=i&nDdlWPY|E9csPLyleskzXF2wPHBlOzeSbld50 zDumJf2{5krqrsg!f0751@_cc30=~jDNrM%J3CLl{Q(hlY0AxrwV(>F6$tHo=|3uM= z+d2HiyDFL*EfFVbl@=f*^cwAm{{y;sb21F=kM7>Z zqhRrPED{4MBWGOBVIPbZCe9#|wemTqBdHq_B$F@Vwk9p1mXeG?HIQoxB!zPZUO`8y z`h0M3T%jex%26w%K@jlIlkxMpFr-)m09%!wX>2VU$$J7?*4_z^jD`_YG;lWK84%GU zgq;O6yQ$QRf87A^4mZ-T-J=8CKmSYKx%jnlB>VnfA!Ls)7!mYF0?T|7KeFD9ldSD* zc8}x4G6+yC5J3=|YuLa2eyggxr@Lnavg7r6+_NWU)YH@NuCA{7Rh8#*JfK=T|9ZUl z2%IoyN|A=nSlG3JYq5nJnu##1b`dXr6yo$nq!b<#f9Hv>c2dO`ekW`GprKMwn|pSb z*h4=OkD#90$gEPmPtxe|+2BysKpxUIpQ)#&oDIF^3gC(psj=)l5p#&dC-U)#eL4;Bi$ai`%V|QTFz6X%(*!~FoTr%r#G<(aGssvt$+P< zi+}!dfB8>cRzR&T2mego|LyWGmg8@@JR1CKg@*zU`~ zeb;QzSm(o?&ybl&Rtaq@4J=g`5$V79dM&uQe}+E}L6qiHt659+p6z_*sGo`+q~fGY zKY~mU8m7U0OYAov7u7_x4nqv@o+z|I&|@06S4Y1v8gqPR$XZAM*gm?RLccv8Jz50C zOKxdWL+HlBRrps%!QH_duau;YUlbQ)M9Sg$qQS55+-50I*!vG1X#kG(vh-!y@e=6q)EO3A&%CGWyJ%YT9zycDi!=VXvHU5<~ zQ5@9jRmb`K^%n*`Qv5-qAN@RlECm`hhss67#5!BBPRm$p=-BAQDy+@RALsA4!o{p-?jsq(G3NUhl)wXw@3CAV%hf91gO z_h)~7J`-cwJI(F0Lfr=a#q*&`yz^t(i#^T7i^E}Pog#8Ghm483KhfvwkNe{xZr=CY zFM=l?)57T+pLH??FdC-_Qo}ty$#Xv`XMf5K5%5MnLK4u<8ZE59Hq;?89%1O9sJk(& zfv7l(uLN^9RQPUuT`2&jp5_(}Tt~=4)B3**f74j?YkS5Eq zy_Q{A=70CK|4ywlY)i!zR+i@JKzvvA%RjnYsjQ>e>rrlXTvO_<^5?3mfBx!eVWuR3 zuyuMQQS~BA?~D&*HZckMI5W#n<4K4Sdx1(8#3!e!|?_GAU6T5)Z*1w5t2~=irw4-t-hz z_mkn?_*@{rB6OX0GTl*rRy`pmVN{GDLq2q_-e(+iPSw%Icp=EBBXV4S7 ze5s{AH*BTySqUO+l@i?B?F58UG}Ke4sHI~a#9Wr-M-rFvRU`Nve-vjs89c=W8jPY` z+?M!bk=va(+FRO?yz63)e&Hb%5sV0gL>Un5+f8$VnE+zcJ^WQo&j}rs3Beuy))YRn zeH7J$FwW(s@nV~-xeTlS4TVAOrA+SFV3QU0P{{QQ(*%nwJU#tpEHnBa>m5<=H^ZL}m^(e^>slQG;@!NU*FNFQ)cFowru_Kh;pyv<1VfhnAXgQ4 zot*C43B0-;?y&6A6Om|rce3*98NSBZY_%guu21|EiK5yNRm6mJUr)X`{AqC;HHj6f~aV!n6ORVYC3_Vf5=S7igDOBUlhKKT0-<^!W8?bn>Iv@v9D2QUHd& z#y-+^y=p!W+n14ZAVqTMZax%FH1)-Hik5~Po z@G5>Rdsijc&a+tAP|u0Ycf=D^ESbZu$dC>tVY>6#R2H3!Dr5S36sdIdeXQ5P?#yh7 z;`fE*mz=Wd(q@C$u{T zvVDZH?th2Z#dr*?_b6lL3>ufR1mIS)tSCnTYQ<}5R8c6~Op`@LhPi?lghyvP+p z$x@2@xw>l5o#?G%34Oh;${YLVnxXwG3~h~`F@NZKz9~~!wLN6ti-JE(slTveQF+I? z-vI*1QX06V%QgMcr9SgVSMaL?7aier_(pGS{im{ zB7G-U8M_;baK8}hl_V@GH;Wo+F$Lrz?jpuUvQPUOFpLv0`HuLdHXP`kcU|w%8%+e$ zdVhuGx1cDRdT+doVCYo-p&$tE=&tA#P1aR8oZ*s-Nh%N!6NZ`Pyt6sQFbnQH>H^sK zAd;w%DaDdPv)^)(!lzC!7bYa~xPCu*caXgMDtUL3ynB?qL%tWi`yqMv%9>r={-dA| zC0v@gOAz!JGPR(WXMa0vLkDuTu>f+fnmDn26B!99Z zjo9WOp2><5k5d;S2ON}yNjaQ>uv4Lp5pMxT@%lQ_4gs(ONI( z_Cx5}BY3IMh_cQp2UTf#B@I-iUVkcYMd>STiNipeNtT*e>iO+QD;c7aNW4H}xd{kj zaD6O|Lm?3_{2MJW`|;FxNZJQZjl_K@_1En^dPAU_s^-Q}6Z{g%wPruvEVA$DMz-%< z!A~eTL4yPjbCCm~vR@0oTV<3@(Uz=HuWyU{J6{zkA(P9>R&NQe*LrT5F@I-2jJSAU zToQJh^+{MRm+Q+3&_hIalFOdq*;TJjjBb^KAjm7s=TioWJ5&kE32yEA@^7gAI7%k& zuC1a+_k(z5Lt)57r6mlO{%!L2$=6~-9Osj}mb{mXmi?7{rw8N<*qsVMz~yBOH#J=G z^Hex5z|brO`Foa966sguDSwyKSfCsbsVQz)a76((4DVjxhPfO}S3nF4if!na1;Gou z>!g$!BW3X(e1>fB$_?W3-$c%+<(wCGWXNUq;$Pc))n;Mldm}g;C!;Lw;Im+?5M@CUBv~H3J^LD~0`V?!5)%Jm*Y0IOPusVzl5byGwnCy_I|_*^ z5MkhR5NL(ucZ2pV9n6+C7@?*6Q-88%vX{ZD6ku8jA7y;2oOGm?O{u&d5r>2i+(!VS zXF$nf3u#>>;VTLZm4CW^;LT4k*=8hZuALLbPT3U9VKqXLI<8X8yP=R`;id|?y3QY7=mT$#Uk$2-A))~`C#FkaT*RwGlXl_cVMX|Dv z8GYmHoiSb&9)AlmoSPZpz$Q!56-^274F)RLf1gc->laVL`Z7#BPCe~blDp6N&|Aqh zmIs0+gA^3<(Mpi1xZ_Jwu;)ze3JV-Yg!=U2H}zt*5KPyrQ}lZ$wA8P!M*|z> zIbH}4_jis1$L%6cml#9VG+ZE_`?g6S>^;@YXsXy+dwTu{c?d)|`nbtFm zf`&JZ{6FPhzm=^P?S*pq9uEhLs--=I+kqbyQ9;s6Atq6wLQt%BxeLd2JEUbr^NTsP zA}g{;w};}a47W4m-__t${p_V8J`Y;?L0I)7fMqo}knA6H)3HSvF578;%)&fGJcHoL0?ox5aV46O{X@Uf=00 zrF|iJ@J>Uqgx_dHeHBI8q*fGOq#o9eMyCg(qAYVvrit#ZF;st3w%Re1Iz%UHAHh6I zX7t|d0ZvRCHHA+uHrV?z*ejov&h)q>R!#i#PJdnQWl2?F(@=#$O5Y$}bie^nlRg7Z zK_!DI8NWN8TvTKjx(w!sr6R+rt<3QrVR+qw^tjBJL~3)udVARO{5*nf&nZKJ{LICI zh=(GtfaMEg6qmLNyo_ma*~3+pu0ds{TZ=-X^^TehQvvXIHa3M4O1phaoQzi*1k@{F z`G3KfAVJw%G_Nm8*{?(2Gum=hcQfEMmp=GJHU8e~sEPwiF*-K;{$)7K_5IGn;a0gG z6stj2YL5=pV%}Lxpvj2JeWW%9HGihg^FtPC0i7ZXD7cqDYN?l(jh=P!Wqqm6<-F*U zT-Bpqabq97+=_Gg^z1in{oIDdQ0 zK}kjPOXdgI38$5WVOj{r<(P(ql*MCj5H`Hjs}inykH6qpufQ0jay2Zy6Lf+xyXO(o z%7eq+A8B>YNaskab87I3g0xDY1zFQvZ^~4SyVq1=%wjQsQE(pr)d_`ykgjmjq(~RB{&nJ_Ww~_gk4O6j zcwKG_sb_=|jVgWh_1v#g0w@t=yy9Gfn@9es!JFG+Bq{vR?%f@P= zj!k;v(!m5L(;rS)7w)^%;NL(9+%SnP0nSVB(i$?vSx;XX4xt2z7qz5|t$zU1iLF8LGh+sfNPk4UO`((H;l|e-c;k79$G}X`yO{^z77Uy&8XrJg+%QD& z!TdhzZ)f7BA$mUc;6lagRTM9i6n{Cd^proIab#w;0u^PG$-OqGdoHM9Iaj&4ag$bX zJ&G{2{L7!ZEC%~ zos0BmZ*ZRYLUwD~0e=!7#1-&;QwJy&L0q2UwDx2r{&jSLqxw~`JP;%BTetRIAT)g| z8&;$^F?JIXvgN_cga{Io&VLq#f(|8^SwkpWeu^!e4{|zqcLJ)k68+{w`~YkA(g!1g z`?Y*6?Qr05m#UV95`UMXT1E;Za4vj`@i{5o9o9~8#ZqV}!V+-j3eG8j7P~&-&_Waq zjuv{#W3*#m9EEQkl$CJ^c%Oi z$<^PM9z4GH@~V8GNU$s)&P3$-gPGcpG3JP|H0nSiBEf_GgSRJe%=qzrsblz39RcGe z)qz3`sqfO*7%IzHpubEiefo21jqj%zsEbW^o4PtQOje{9Z(cGjt6X zZaQZ&cgtd*er@*`INCZS4$^pZCeK}(2PIFTq z0Eyt@YJZIVJNZ_JsiF$rtxzuV#*-)RiwT%U^S$1PMBZ{DFq4+>9fLk}!VoaC15)O*5DMKOwixdH>2J4HjOMv_K zA%A8o@~9R*^(#5NQ`pNz3VT^wy&(KlP#GyN<<{9DFN&kzMH_6AnVpwuBGL zS&+I66jR!H$5G-xLs%_&qhSjQdVNs4pabIXaKHAt)~r3Py@eJ>!pcBqO2yqHF@GuP zRqaBcVOCgFly≷OW|1DOL{H*O!;C?>4Is?#)*>`QSLuuh0_+$G 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 delta 1410805 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


6w1leM^zy+LGqSvdn~{-0Y>&9m>HNN>3)pV29$T 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

AqT`=NZVqJCHEO{!_} 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%0Db-qc$RNj$HOS#G!j-8(^06qf!6^8 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%0Ab|-pI7xeEb%#w0;-P2nJCn$)-;2=-q5uHDJ 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%0AU_Q))eBY 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 rsNzMXI_8#4aojl*VGy+<-U)WBImCPBs7boJYE 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%0DG`T-T>@clpPdohDo+l^bxns|1DB)!Vw+aY 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%0D4a$*lYeAvO@y15N&0)c!As{~DS24shnj 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⁢@%b1 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�Tgf0TnZ$78^=Lq~Xb3(X;&OVXrGBk;deLt} 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∓VOhaReKta5#;0GiNGdyhFb8B5?YCx%TE5JeHfMIl6IP30P(L;#wV zdFc#uBP11gOxtYlsgdo-i?EPLw^Vuy#I5AvWH9hH1P`D?+?+##*(c)hmaRo8GAu9K z{QY21IGEK6IeWEo-f{%5@*6hWx|;kN2NPD$teh>1DOl=F_L`QbjPG4JLS}w&ada6R zhxuK`QL0>+0Q)+j$wfLb!UG5W)YNku!H(2kOXa*sJ|_t@@J>LwH@FR_NQyiR#}e3n z#594zjR0U$nXqu>i^eqS8Y~2*wf{8QBu5J!xcOui(TZUDMBJn9wOLL*wTTEOyv3S1 zcIRC{wET0!KMIyut8vUq(UK^18lcNb=s_)L^cgX?_WH|0rpW@+%sC;?lnv9S9s0b)GoOwJ<|vCTXz_hFw#Q#0E4(&nPeXr@R{FD6(MW;9T`cgIx>RFpA} z9Y57#74LcTvRWe{_@Ch#?bXOBHVFe8gU>lQ&BN_R|nbxbaJgA_L!-^bc`iI!0C02rYlL?eFS8 zuhV*UM*qgtbP@JwdXcXcX`_dCS)32ep=fGL!w~d43VBX&ban3^7DdzV2#~Jkhi<3} z2U_XDBG*46(MWY`Ek#46-w%9JBvt`*81xaffx6;y*n@V)Eg^Y{X_x83k=sYp$Q+s< zQ^l*{@1kTbiPr|#9jO;P!?oWZ8C*8Z%Xp&ic=Zbf z&&W?zy4lKbpm?9GmajxM!_{T zsk`(P(zO~}?Qa#Wh-WZrOI4S*fVamy9By|Tpvm)U(dX)M_l%EZSK%xTyA(i9KFB^O+%l!_wrpkf6 zF)Qz4lssCit9_B0Zu6atPJST~k>@QZWLmF8y;*TH-@VDLRDTc1+wpk;9$UAV6-`9~ z6Xai~MIp$+K>Yd}+iytl_V4O(^kwPKs^%5v2`5pSYC+zG(RMxwTVXK(?ce@vN>V|l zyV5YFjO}tV58O-jeqizw8f@hUf2_C-E@ZPy?qJhLqo6N8KK}C?Jn3SDwQ@GEYT>A= z^(QM_#+4YeTN+uGld;6r1#$hmy7h7Pl9Ku+s=>77i;Z*5aieW2&r6tXd8{(*WNfSz z4CTjwGMyJLZl`mld2Oq&`|O6 z=&F38hBCi+c?@IMJpXDX#QOuTaWKb@t6Oa_br}*3#%6Is#ic43b`_=tMxP{erF$c* z=`<*z0xJnp+n#9O#pJ8nNf*kXyr*RzFUvdHKGNcTTZ-xB1=XULVl!6NyF7Qne~ozP>#TLqoL_ zttvs>tkIdD@hu0KG;T$DaX#VHM(di~k9KeCAh9_}-_xWDD~74e6i{Jp$?Z)4cgQxJ z0e`SpTdQb4=b9MXFj%I1-+5h4ww5eBVYNPg>R0{iodq_=cw!uqi}WOXvC$w=;`uQN zdH9JtI}p&jTwv04Q{RTiK(N<%HHl!ufrzGM7>ZX=#%~R9O&@gE?lrK&buieJet2tU z8XF+Ev=Vz%cNq@1Gnz4`F=Rz97DlQ05pox~wMY_geDrTvFN|9dN0Ee*hS zN5iXD)kp_OHke%(?EMaxEd$^NQ{Yc$;jtJp%jfp>sI37WPI`3U6xRQ>*l~UjqI7&m z35v}bF!+5y);bV{<>XDYD?YsQ*WW2-#oP?&G)%dt@ElZes zNm$_Nvh;H&E&0%+&S}c^nkCsnCpU!lNM%Nt&dCGL_G%G?2GTuxJ>j9a+o;)>+z?U% zSUSdqWNaI93v^tIIZa(iU*5%S$Jw*)PcYAG=bleWMFe%N>ENYPVGc3V9y{}xz`X_Y zpF-u51x$^%?XO>N>TW&-s_?oh3`X^cn*JtuarbX4z%PB0Wt^4=So>#I+ha1pw+R6+ z*{uPXW*C!oxAKt+*Flz#MK0?0G~pvWT4GG#pXqzLpCKa^IgVo_rUzxl+;%9EN^=mM zi7Y0+`spz=AM}cHD2Z9tK}Q&g+g3!bgQ~*P%$UiHfLXgUah@EYXhpid=+luqiyhh= zj}xF>>@$9Ck!GN~HR!ZNhMhITS60I(GI;_%$s`uU&kH^jsy&r}3V(~_o|cm(sV7u` zTnkD`?f*qde{A>V=HmW?=X{0soqy4c_F0uo>w4r9L}_}P>2$Ox7TAt@-7QK3(ugPM zAYx^e4k7cxRUy3sE*WrP3uMlkfe_g6`|Igp0RGWOv~o|Aah$vIdCTP9#Dx@!8A%f0 z`|xoN&KvA+jmT5voa7>U7y0n-&Y*KAEOG=fI?H&-joimx z-H~6E9|EZ2Nbi*eYH`_w<{kH3QBH{CC&2nD^$#6@6BR$7?!!T%@k z(ge@&LMBRHuB#T_Ymyo?;sJ{O>f{0ZEpJ!yrTp2aDEK9@hgG`79V%d_a9E}tOVlBp zUQF;|?tXYWSh+YJPU#;|V2%LbGs4e7d_OFiwV+I7y9J*NkQ=%!c)N(zaaVBA+f-E& z(~Y+ih;Iwo^fExe5cBO9<2^2*nb{BJo7^m)!Jofg}z5%>T9twK`UH<-@NB zv8rtO>*=(4w0NGsbsD8TMb2mzHUd$b)^2*H1gLKwu)l$wu?{3ZfrmUzswjs4)UiHN zS~ZBZ4sUHhXCvl^Azlf;Zin7naS)_yhslQLTq7o8H*J|Zm-csp6njvQ!k!IR4KW;2 z_P9;77WDjes*pfj<^xFLom+1!F2MBf<%29M1bPNGk4)@e8~p*zM3{X)zz?P5eBFD+ zkW^uzyh}PD*$g_0@Y@Wpva$(@lh7|&0WLx|p&({}{)Nt}X3&oCaWn52?$7I>%2az8 z`0Hq(m`0EfG3Cp1RNPPV?8X@NkVuaBDN^+7-M-I%>qYmr`xr2<)PY=ld9a|-fn2^i zd6b$V7PjpJpLh@I%9Zl7nk8^o)XTC$)!|pL!$(ZaI(?(hY7JtBrbo zNB*D?Y^a-9=>c3xWkX~)Oi$b=E6p@S4YF@#L=CFrIH&HUveNMLxYSzyW&(oVLh>bp z5WPE!&=k_+f4v00Cg`7E7C#PMvfI{ooLWFE#I&bmks=Kz?f)1G(a(UlU{SNB5PiDo zNL%T6b_k|9yBlr22}4H<26Gl%H|K4_RE#j7z#34z$OQ=D4xsx>B~nL*u-}6r-xtsd z@RxcB>3SaM2#6|P==%~|MTg&!Sx$<2290<^DFR_TytDD+yD+FZav@s{;$HqM3zcly zRT2eR!Tna>;*2WJb40kK`i5sGR_Zx0Z1FDUx_l@L9*g&_9Lh!}5JVS^bfo%(*Yl0^ zI0(+!X95(MRnGlNNJ5MAJOyG%7GjBkk?^Iw*O1V;OeLRC;|wJg;G)Nm$?&8-6=x&o zw!-X{2yzcrTuLojjgp9fG*U)#O-GgK>L8f^u68hA`$1vSxDXJ?;}#hbl%FfV_e~Kb zN-+6L3Fa*K9w9Uw04EmX1PRH+lX-*}vmODpr42Z*sN%7_v#Fs?>$k$UitVpxBdC)o zb|Yc~ndw5KwE9^vSn?!y1wSCj1{H^J=^bh_5#%P!w15S6R6i@owKCi~_|h9CJ6sM^Kx#mc~BB_|kUbAj6b?cqel-(mt@ zWdhuOdx4M-r60^a1kl{v`_{q&$QIa^jxWr=6nepgU4(um8s{1cTL=QGGUecp4G3)99HDI5rF6}W#s?y`)4psMK=&e zH<<vk+kzcPNaF=UkqCA*_K!&{7D0?GloS z8G!3e2)PdJj4p$_|BdZ-xVNOT`g~U*<&oJ7+M~i9FOr3bqMj%CP$tNhyI6sqqV!XY zZlh$d?-}pTUcDKeB~Sk`B)6V|_){{+XIYck5;p9!mL{We!H_DWZlQ?~Knv(k355tg z@;j5l`;#v-uFH6H7Pnwhv(^A+j=0ZLLAVu_RIcZ0HAbR=J*3R2_kwC> z0a~)sLN7`Et41M`uKRd=%FfGe<2zH$@4Vfhp_{s^E+@^oO^pL?|79JQTC-<`2c#dY zV00Q(Bg)Y!kZ+bNX$uG`91F0;NG(bL%!a+so3)Dh-c&T8&A1cENrKqA^2}6$G0OS* zG-${OPt2wiYq_dmKM%`D_&7bcSpy$&(k{H7*;9Sx%l&Q=ChPj?LAvyTYv1h89lcB7e&NHQqN$^SR3#WU|)A_eM) zD9Uwj+Qj_J@pygnzy@%pG;lOb3?%)1Yz5i}OywpMmqiG+F4TuJG=eR}lss{%{CGz_ zN_2SIDf2Fc#6t&rhUG`#h3sZHU6H~7;xH0W(J+~7%Hp2Wvl$t9!&=Pgg=9Tx8#E^Yy)3N5Ad=EmH1M=X zs{_qWl$KQt!ybypgT^3|&T7a1^RLtMLW7!#c)$QtQ|JKB1SrY=#b_rW6VQoX5Ih{I z_lN|}gvUf8QhGlys`&1RPDTqyq6<=CFBUb+e^CEz)R74Jzm2X7Mg4E1qYz2)L|z+c z;He|okQcBA@MMI-?=D&8$tP4())E$WMBnC&d*E-nd%x1Lh&>+Y^#Y0j+4iR(Xd1~mU#uAYHioUcLXPU???yBlEV&SHxdB(a zbf7~9x9gnf1a$UH`yV#ZV^`6AIU_?gi^GKx_4T9`Jz4g4H|7MJTM0uSjc!IO^(LO6 z&rX628_W^$a=<2ZU4YFP987^ki<&XUZ?yJ3uU5(eO^>`x0oeiUZzd47-%OuT6t-O; zq!g@eQ-#np(6g(+AT)DFz=^_6)fj+C*m9=8iT2M!7=Q*7rB!L?fhvy!D7x*#;p_X* z1OJ44)$GqA-?eRnDgqJNCk4g|?>mY*V*qbMYzchu`oj)zE{@%A&juomdaQlN?ZuIt z7WD=5`q=Ka9z6rvI(!get|bAG9%G1~Qo(kD1cm#yynlhXe;F$h5ZRLc(j+Jhu>AN7 zG*aKnikJ}YCQ$)ulEa0z>qPuzKai_y9nf=d%F^zs2>poxfaPUk#jp3wK|lKQYM(KB zdTj5j@WJ7zxDrQqG9g^hGp%fyLNI73!aNFM$kWlBUg!y+Wjd|wsrEO?hO*26PLSp4 ziz!Ie>pvc7r7kmtVc7ZAq`*0ChpmIJX`?Us`#u~NKy9FxvQ_!^{0%_ zJ^2voC^s5lzim>Pwt(VkWO78X^&!58adrZsja3i*9BlU8+D$cQ0%q&d3B2DtE}UB7Sh&Q(o@1p!7RTxJ78x4 z?~cxxIZt~e1pC$hFkbt$|Ir^p&b|kAL2_NePVg@rktc7X@*6OS^Cc26rh*7A9+|5Q z6P`!PPw*{D?$*NOOR3t)gesQMaFo)u3TfKOXlDp%|Gar3TdV8;yT(r}Y5#w?#`T|e z6qd$!>ziL-+3&>4rx*}N0aka`qXOiPiJwvU6y^hL0_<7anrhAlT1z4ny$TFrM}cMR zN&;06`S=v{^QSJnUt-K*vX=05B>&k5AYDQuRZ)fW2tmC+k!86@5vdL3sVohGTm(oV ze2u8K9eXuw!ojmXC7B#6ka}~ZoelX42%Ly&IxEIakhcsJr9}&u0ySWg;{vKjhlB3Ti4F7xAgWl+Q8d(2i~YUw{}aK2t81GWs#6x zuzCUW6r`OYH6g;Gx?&IN4Z^KJu2eT#Maf-OURlqS3*^_ltBCf7ru{#;uR(_|Ckh5R zA7;N)*}^G%X|)-106|j{fe=;+)C@_n$XmVlNu-R(V^eE)R%K1;j5pb>8EJNT2IsnM z=^t;-e!8%auKmqNxO`i_FtlFlX>9)M3he%mg`qR1>)fOGX4`@gd(evHP8y#>Z{);p zd~eh?h_|h)TcDES90fhxa)CcI$u%5+A6PTBBQ<>q3&b-K%TzCu{?ZgygF_ zs|!mw;Z-+KXs??x@>eSzATPV4K&!nAskzx6A4Bxcwf#y^xqA%P!wODUU2vT@NGd^< zV}tt(wQoO5!0$iVU2|W1w~W7j4MTnwP!C4VSo%$cuR{$6@#@4)505vvJmL}l z8z*O*R~_bb27za5&Gn=afma%xe83xFoKv&|`1upp{rIOm>lJB#}nG!Rh0QO0*(TWkjVws3JKj)hpqVll$Wg*%8|;w$;EeN4p3p z<`9o001ZZCVDRcZQ|&D`2c2rjUrmEs=SXcd-Cx<>@ZHo$UDo|@dm4=1l5y%{u5o2M z0ucMz&1+5kTAdj$FyH6-tWFjTnmuU0uw|zzTpyu7pd;e^UC|FSq z5=l;n?r&rSRN)-NoStQId9qe-6s$~z)fD&$0K?7kG6!b{vGe{2=5+pO%DpF?le?1X zq$eN5IJicJP^tFp3xRi!wj~;gt$z}KpHkvq8 zfTu-PUFz#PZ5PH~#cD^Xk52-LLuV~difeL7P^Urr9XB28_rU}^JU{bmfAR=C;I?|->qfc(r>3L4RH~^kjNd!~?JLt+W|dSo z7D^7xEp;&3>CwXpB-GqKlR^+n5lM3vMD109!iq+?4b_!W*aOv-QMeC{*)kHXk}b*% zN1P{?q);MJrC92>a>)u6iY;2D{12IV(Wqoo{SPvY%;_fqv`mov5WB?}7)GW1|4rzX z^8Zcd>>4E;>i>h>yQFU16E|;2TDHV(+L|C#N=6O%0)N=(We3d49cq;>)e`q|she4| zTCQ~5RC@nL1TtBgbJfxpqm$q%hV_{Kv=BfH@cm)iXsr38L!4^|$@W*Mp{ZVc7{T_R z3l55>jKw34vh#CWEgN3^!llgVrs@&n>vA8&o5Q|4+nB3`c~g;iY5uau_Sh$=pf;$v zP-!`hJ5rbprA7SNG`sA`Q=dB(|ARHGwcpdFw=kSPEOFP~-{W-$ ze`9Z~86(}|<)uTpUU0%OYVW_qC*HhJ-W=E5#&gm>3L6it{D0OTYWe?cJYd424Gxwc z{8xeVTi}_!&u&9`srbLuB>>1$)l+l*qd7l49lw?$tZd)P(%_=*e?-dsxTKa6f{N#7 z&|iFo`IL_jA^v&ubExlLB7$>}EAj?pYO1sVlBea&D*0!T%d* z9Xf{V=Yb_P;B^Z5Y&mk|Ux2Gf9~sB#XsRM}pN}V!KLcrB0}R>C#%)7MSV=nA6-gN( z!t6s*OZz|;f0J@v6Wqe<^I(8jmF=vm3ng>2GB}BHwmM2}Fm5EdMytW^Id#Ev$`#+m z7I2RMP$KTMw$$(IY8e>#b+z=tnPSO7cIl=WL4m$Hn?FZ$3~K56bhHihec#^Say~UQ z31!3Q7ujWX zahXKFsbVrIqnaV$&eSzC@+UGUz1<_@`xl1*hOXlwi>ax)+GtrJC2j2_B$$e(@wAk=(iCH;8+1%w;!uk0M{u?I=!tPpoX|Xqy#ezC?c+B+s{4RO} z4C;o0dd308j{Au@mY7^56IA7we52@RBb;6G>|9tb zQ)!F}_6mycnG(Rb4KXXJj80 z-QPc#KjgH=$8)6l%Z|LAWoExOEg2p;#@C{C&A7j~VWJ@A)PvMLF6K#{PQ(K!b|K z5L$a;YvuWD7zenK$8Ic}ELnjg@A{Vlv5~B>b zBwx*?Cg0kf{FlRK0O_TH0xbf*pc084_>xO_gTv~RVgOCXsZfQbI8hbwBpFMi)0 zJo(Q{Te^vCw<1g5w)(n012ufM_Uowwj=-c=xOPqnuPwrvA{sQfHSYd-<8ymqRN;)i zflAU5YW|XMuq3|x14cf$=dEWp(fJwVNip~KcKe-&&XqckoqzV>IQ;?aV^^pCmMLEU z_t)uC8p})B4)?)tK=4Hk`68v`aoDeTx70^I8k~tRwxiRm=wOz;yH%o@S3N71TXOi2 zbo86W(1lOTOp%=mz6Ndfr$f=Fn91P)3yK~{I?Tr_^nb>|kmp_a1ads?^myLxknF$4 z(3OOqGEWHwii`K}&)R(}KP=sz37b;mVQWlINI6Z!8LP#G0qpHb{cPTnN8r+a`^K$0 zS4=O(Q|zP_^H@0a^in&Ns-7Q9f>(&joHnQmi{&;^7$JSq2OY z!FoAerw~zk!=eQK%}4P&j*J;BLAW9WB3>EG4{$r@!s2Q;^*3teM%6R$^7F#Ih*z$f zACc^10R%@dj5JWFbZTR5c=g7j8p$o&PVMm&rhYd8o3hFomE5G zg9p^)*gaWLk8Y2d>n(ctk0dpW8I8DBPA&!w5w~GvYnMSqi)8Z3Vel3G;zuuAV_sJv z9i1ClZD`NfjzTO;L`Z~f&SIBg?gew4Y8<>T1so25RWZ#^nA^f`Vu1**5+G=|Z4MU; zpkJGiancE9#{;w4vh>*GDk?5zGM*sw_;dAb+#RvM8;FkP)GAPK8O9E5;G3ns0o-DTL~RO1 zArtXBo_*BZYS1dGTIo8^N_0n+H1_cu%~d-=5WBil;Vup)CXBR%DK@rhshWIBZ! z_XW%!SwVV%`^%mVzndiHIv9BFFQ}JAO$%qTxH zaWE8JT6A@^RsK$+SHgx5CNKAY?im!cE4DSsj_^fc13*N3D70y)E1FW9npJfey83fl zovXmFKVHJwwA7enpp)m=g}}EAh*$J(h(vsVf_5s7N>uXnC#)V|HyCR*b*$q&Hy>#0 z=dSLcLR9y;*poE!mB_OusMo<0#z-~mp ziF2W+1po@nx6<@&o1aU?gWLuQvqt-FkFU^rFIjefV?c|a;mFaeoF zqzX0m;oP3@bc4t#q$v0gO*P5(=%4~s0gKRL6)*-*BheNg`{~Mshj4|IA*v~NX>@3J zzM#L!Lg`}AuwQ1rPyw}uWkJNDB^!nOxs^}pe#!Y6a5tKu?!~n$t$t0~rifK8!)TpKiImkE_kD!8~T&2{wEv=`H9$kYX5_1 zx_N!P!%klw8W$Wh7`WP%g;X6p`z3e1`%lh{&sWJapXozyjNR^8df_rn2XjpkEI zj_}vj_U97k-03c#fxaiJ;0w&rkhtLF5B`8lok8z~V01j4(FTTC1c_wt;c+iv_9^*8 zkCZ)Kw?FH@zfT~8e3A5f)9{nR2aC}iYlQD~3GiBEq^-G`LGmTG-4W?H#c)k1SUZxB z)J&xf?kF;AG`pPQYn53Zoqt^vbh*$KGUoRn{aKjBfTXK%8Fvjb0}xuw z&JcYDHMpa*Tgu|wJxk@misP}EpuD=~$~S{e0ng%kJa$Ue7z>Tt$ixC=ZG)gJno;PN zLDsuKNkf!V{mdn~xhY-rC>G=+rV!)}o^dPE)!Emr&$CjDK$-g*C@0>{kDK@!2Gh}w zW`qyT5b38n{`_snDtdF6X@q^Q0O)K?mpRPc?yPK0xYmJ@*(Cd@AfRN{k?Ke7r#RPZ zyaluGI3v;Q_B^()srIgQP8uZBGA%X>hSPC^TWilOtHc}C$ci_lVe>Z*iH|w+Z!3Je zKTLly%CQY~A>THpXXA5bj@{2{n|U-@+#wne(zDMo>2T`tU-k!r;{{_)00A$@mOh4v zN5g$bOhzA{Dwy;Tb(4>eUSGy5a_<*hw{uHf*-wIsoX8K<3TiN80EC!zP)geo&us4r z3p`=L-G9&4MsV~9f#2Q!-)CbFxZE2%y&>2*cF$RA(9xC+V( z{qnH}Tdv8+dbs1L^EB>Cz=My!l7I3vu9VAzPsU|zDfuIw&0}4QZK*@EGK_$IG0k4L zb)?22r;(-@{`DBIPmRgkE7ilLMn07p8cw`E*e6-}BF#8*bI2_YaHX|s#P33N2w|I) zivl3ic{bq-C-+=l;1J)T7EKhHLRv9^CI}khDI)4Upu&Z7%4xz&J#gB|4Ni$YplaP+ zXNWv>^0N#-ux@VE4s-3_|MY4O1DaIIDK-fI!s|gxymV&EMQ}(h!1JKjtRknPgi@AIiW)Z#)Z!`(zb|?Qoi%8@b@3+0tZv-SXHBPXY6* zG$COunn5c(rg?ZZxoHKj4U1PSF|(Gaao+d(Ih|b4#VzUN5g#-9MLIMC{jEZ@Ze=?x zVhW;p>2IvNf;9Jn`#D$Yk%Fy>Ry1>yOh$wiMHsS9?L+GT@7X1qdk(2-=6ke*ysdZ`W_Uc6A` z2F~q1A2Mt}gu67DzI0^zTQo5)kHdqHr(6X&)wNRu*pl@SlN?j4>Y-vFQ()Rpd~e9o zD4b3Zs`vJSQwqJVy+aCd!AJ&lGnlBHin1f*f}$+1vJK|CB-yK2x;rCT>9PsRPjRH(1JTJzt+KY z){ruwxvBW(pGFw4OIAk{STJ|2R})y_3fRFf?4Z%aHgYIln<&Cbq&WHQ4KVafy4}>` z(aCOupjMCRlE2Mh!oiDYDE~-l?!TM>HTS-8-#u{BhZl!g$Qy*Eo;iL@@o9xQBmpCQ z-b{Gntfa|^W#Ju$f zp7vXAzg*ezO4q6Xz)RY4vUS&`6A{fVZ93g|6r-?ZAh=eAYGGNLXyC`~>q)xNQLLdfyJa_N$TA_}i#P|Mzv@6QR?10OC(&D@^T1sfF$FyU z1`E01*!ASGE_>W6Z1kuG)-5Wysh{dx@FtDx!Pe4bkzUphyj?OF2QHhf^IXiKa?Xal z7VP|Wg3{s~GF)UAeCNHCqf9?b(@Uv@+rul{&}!DSd5dJ+WfRD%goybWMK2mpnbU@f zQL3AETTfRt_e7y{k2ak6IA)^Bdu{FjeF!g>cDmH};=|Z)I7P2DVAkOapSFkZ=rA1aYO*ZNvYf*9XkML;j=zUbo;S zq0iwYkyw!?!Vj?MT^X3Ceum8$BTc&%3|tpf&($)Det=sz9n|I82@WBO3n{vZJ$!Wt zY0ge%lPWsW*uQJ|2gLDb1hCpM8z9N4O8S96l>VUJYs}j*p$TK+ifCwt7ZYPsbp)Y= zw6u<{9kIk@%x=6S%6-R6w}JtZN$s+QF=U)tIU|lsz=W#`P7b~)TPJfEg@vZ$Gu^lb zFM4<}#;l=X*fx8viFX+QN=?zGn#E4uHfNO-u0$zgQbI*crd=<`@a1wh4Nh3_pK4fB<`1lCewFt-rwDscKmO8uyl6Q`y?<6Zm)c2QYB~)ClP7l%3XblD|n^mNLWupD- z+%eI)dzePzUcQbeu4ckCcNi8Y$ji|eJZx3^UjSV|qQAAaKc>RbwOk^b*?*pGzn<>C zuBEgjy*lPH`SX%!t?XAXPJ5L~b>?A^TG^agJ01%H&oeVKVqWi#-tSa4tDLDvRL(K4 zwYXl3q~*7ll|vO{IJ>++CL_eOJ=3dH$9kP-T8Pdg6hNaS;OCPu#OhN+->yb^nf)2O zQU;M^QT(-UvF4|@FRJ&I*nj?*$uz5lTu4ac%HVUf;1I>-P!}dNVw5`y)nh`Mm0LG& zZPi9^a!cnvHJDrB0Q)Z(yQO&#smNN!hO~9;{DvK?A02zzf96PRB>H5>}3!pb$?Uqq$Va zG8~eA46l0p+N$r_A|(<<|jt?`4T71g#A%LajFE z@8Nu%c6m{gD3CetRliZ*s=t__=3s`N#SD2qeu(BkY}bfwLTuNFZ5pwUIyJ~X6tRZ@ zf!JQ6pqnMWSXP?ICR<@jHYbgUhg|4?xw%OWHO5V)QPC7G*?+L7JE`!y(wHc5SFU4m z{|nXowileN-P6$M;f^~y8}kvx##+eWPW=y7o)H0V7u_!ev+2|(%NUO&rCo7^ zRIzf3sBrAOB!>}?ppNRh0!_Ci29X%; z`;qK6#UPf+i}&LZ`yiH+QJ_iF#tbLaNLzp6YNTnZsDG1-EB&QsM4qfRuJZocA!d31 za=Xu8-L!}teRY>TEoNx!kJ$YzTKs;wEukiBhRnnCMIVZ{88|j;`)VEg05qg;KG~{K zk0L+SU+*lvX)#43E`}8b*o)*@IJd_1?LOAd3onLPcOPu`1q#D$2-@Ed3JkyyiE>uB zA27FGTz^;=J3b2153d*m<+`OYa4U>~7iaXABYZ=@p8girnv&fGV_>NSKqmJuHI$&o#FndK1TbB;H17O*;1CB++5+Nd9QA_{aLp36%L~* zw|_h8Q{&^eP+xj*%81G}y--{l_|k5~-T`-%ae0q~gPsHgXE_8z#L;AoEibL$$fY^u zJ~_tkhgW7k&v5R~b&;Y5krU?HRJcH|B^+yxCKtiZ>UYOSA6Cd}QR>wY-Gf_RM#P)7 zmHo3iijeCEC?wtrt2 z+G7Zn6Wwz~MX|N2V-_m~hsgJLdz*IWI+_`=Mryg;rj?v%tAAy#b?Fy%6XBCw_OdL#Pak0VH(-O0s7; zQ%SB^=Di?8DI#b(Sc=@Xy;QUNrzNyrs?gg7F{ID#GmYGRW63~qu*Nu{09CANDp!mX zv5kbGdMArGZ-KTEtAD&bzHz+$$>U>%P;C8tbx87AK;QOBt$(P;xDm9Kr+*jtz|!v4 zz|v;gLrnZ2c1WQ2_t4j@qGKWS4{XVg1z!+)1#ef+Y>Lvx0YjVki;AO9j|$+ODJint}uD%+&I!MlyWHf9U> zZ}R>X|NXG!YmFTpEO(xBa7o`>+L(p4#nKG&SzzmQai#Eu3)F{Ooqt~XMSQqaR$G9iVa^{%dz<{}LNEQ5Z5JtqXlw>Br}Gq21S^ zO+YRtti_XMIHs<{`;mQ(~!-O4&)e%S20>~FlmpOE{e+NN?U{32y;iV zl;FZoZBcu+Y*=`#esTa~P#p;^d*^hnjq2>;Y~^KT#rR(@EAuvn2I^|Z9Tha{&YT!s zC`7c!wRaNZBG<5-Np(<}V?^16DbGezEWb$iYdd(ij(>N3@ht14ct%X&wo8lIoUY?H#Y}}Tsio!BXPVStB=}CBnGF;B>MiSI*h*M>cg4wn>PhKu+HNt z#Ie?BJXPY$)lc_V>Ah^OzVOmE$`i}zdPqzI#dvYiJUnZ!7ngFssP41K;}CbkxNwqY z!Z;g*0<+7st(j}%a&L`w+SVLV?aH#e+B|7uG=E~i)k$OwC?=9?4W=%|LRXH(ROg-`^+fky8sQFVdB#3{Ms^vGoH)wN3 zoPQz3+ME5hgC^Ioa6@3g2$e_8F60UtGpiky(OVo_u_Uh8PzD0`o0@AVQPMav{qfVq zv{;KHR)wUlHg}Xx<*u0Q(xhgMVKEZ5c)^z@t3>1*W`H=w5d6}tHf>oDyN5;ox?cqJ zeBkTZ0JtI-@*d2DXfdKv@_p$RM7s|48GlyN#PSt>;)iPO9mjKDVJpfDzOkkaJIia$ zz_kO7#>r_OM~TZ?8HT&B)1%w<$+6q)DD{l&=|eP!jxwensvC2x*V2iO&3PBK=XuOx zXAaoIJP(iy zKl^I_9xD6#_@>u#=4i-zh9Qf2MR7zPD(SCWnI=j)YAdnwIM49alC`cgZ+~5!57a74 zt=d!LYCUZUHb(j-PW$zq8kBa`Xg&EmyJ~BlvDo@rsA4Qy;##lvCAGv>dj|eCEpe_* zOGMGq{cfW&*S@NA)1R$#ZMSFIE#XYCC2cb#Y`1N9{T{$Eb`1mPiO>UIw`W@Ffeak2 zULN<=!^TDJamxcd8NV`saDVP2ez42_UT7-qSx%u|x2w~<9<$xoLir-d5_Ef&&9+t( zC@Au=_xya+CncZTRDWkG7z$w6i4Xsjl|_V&tX9bz)w}4`%kgxLnxhe@U{`vABh|*8 z8RW*0k6*ALr~0jbjP-g9TTWH^32qgw&CbcV?k_#O#ZlYzJ+9*SAAgihH|}Khn_8L3 zUF*%jU!#7%^r)$|9%@olWi){MEv^l=sA)|2`H5%p<+GS{SG)-$8HqrEEIEJAV9&5baqZEGAT=p1XUFGtd z^M~F8*qlXV@6FfYq8Y9CVly)3Ynp?t=|CE>TAQTVTe_@OG+5od3C_)%w8~A|mbamy z{UgxIDTd8?S*%4%Pm5r!zb#@~eTbNDL&V?`@qSnRpz%wPw0}9J=82%y)4J1RrZi$R zp*X}PigPK2;$ztss|iR53r319deGwtoUb-(&xiP-f`_`%>}-X|Lu-%}tH#Qs!cEKC z(}=w4$&>Jh=yafZF>JOYwI|VeEn?pPtu?l~%0066-I-RXvI@{>YY;{BNz39$xkfQe0CF~1?Tzqid znK_9lFI@&^UqUc1T?%I3#b8c&&2?*!o2rb*O~IMS#)oe0t@$XD)9wuCJ~{#J63wYc zv(vR`-Vn{RZta61e`pHMqB(7{l(Y@`Gr?C6@56^a?|*Ae6#>cl&^PDgFI<(b$Nshc z@fZF+Ngc%{LafXWXE^DywvPKghs;AMpp#J)WVsaOq+6qKt;am>)~xUkDo;2ciu|sV zZl$#oyUW|IG6Z6*)A!wfeT8x8_J34id;gbJ7^jT?H5K-@ufhWJlKOg&fA!+Mx)lMo zx-|d`(0}XItOr^Ew!z)X2BW1{?SgezFk;niwfnlOs+P{WYn_#{p%KKYZSB!Ls;&4g_bp%?9 z5U7M*+K}b#Wl@FXcg_f&>k7`wKIPi_KmEfNM|9I&a%0h)7QK@W^URQ+bp_|0oDxZ$ zqTQU~*qIV(H;bu_`x49Z0#9}s!$Gn)g0%0@*>O4?{?Sup z)_;U*09rg<^!XtQ8T%f8`dAq_9j3Bc&G#qNSv z*8^xs(sF^tp`jtK%rde;7?zD~!Dvy+gnw+bd)!88E6be^EtW1hPI0)%s_``Q#eRnI zUlkbl*>Rl|)L4i<)k3sbnO)RAs%j3K6|oMiNw{D`5GuMtysA`ksNf1*-v38h#CFTM z5@{3dveq6jezHlvVv`@+E0P9%r8BGDx|DUXQ8Jnw?%Q++B2uaWJ!|$?1VTj4>wn)j z@t37ghcXbV)lUfBz#BDNWiAN9lG1vFGnKVp(Ak1-2WT4B-Pn)t)W+*fJ2QaN_6(Z{ zc2FtGChFFNveWBhYjG}5lW+ElA&8^<+G8Jq;CDSSeiyrY_+2Ht`_Hz807n}tg@O&{ zE8)-K`pl|LtvIJuQ*Q=_mQ82B|9{BtUY*PG8FubBZ~oq^z#OwK1(E7f=1G@o_UKZS z2w5IWl4*&VLfOz(V;Y@z2`I_a3^wd(AlFycE`TH)W-#F*A;r-ED+$6^Jw+kexGmFH;& zfM0GirS+PxsY@I>`~2hy(O+@*;-K=V@A8G+AbJELfx%(q?6d+skD$j+K5pJztQ=}w ziJ}2?6j10UU+E=_)xMUWq}=i@kff-*@yjB$wS2D8ij!f*kAXK6*!?Ejrk|49uieT= zBxV>?kVg(X=qQnVREP|jynoQfWf7w70hG-`;Hyt~>#`uQ%Zwtl=2Bis(x*>!s9dfy z$`BPoLb>o+angOj@cFl-h0rm7GUu8iqd-p+X2kVP$p$^EteXUo3+_nJXYE;**k0Zg zutTA4b;hk}M7mh-X>Mz}V^{&orQirM%mB(o!Vt-vNnPHoa;w<;nHvZN71!wPR?Jw?iNzfhMaLD+Gi-KMJWs~|+ zO`Z1YiP<7uHokbu>FLZ8)RC>FEL(2Hz|3e3&)5nn=~5JZ(jtC5^HLzhJ~dh&b1SZQ zs(WZp{W4qV`8H?;x>kcd1}b=!fkw4|IM!YzoQbT++^k#Is(*N|U#UGFzU z7+b%a#Lb&aFdS`sep7?@tMFS${djmA&6>R4R954DeNAPzmCA0xTFHkt!LMi%vO7dk za{D+hL&R=e>AI{f7KJ%qn~SYvd4{1#+dW#za`pb?$7pF|GZ}Vmkhp#e`y=D}OGM#Q7#~bDC=G&cK_}AU=R= zJO1!L{^$R&;$}+K$%q-NzSMspxcD%j;B6a5pEGBICxzHUjweKB2`|J+p) zz|763SAS%_7uhK>%b1eb;hsl-x-+G`=bw+dCQ*HHWqEj z7HbfXdqC7%%lCnLDY@`8q^?pkvuf@WpvKff4(mTWFHx7Jum0t*sV$txwjc*6J90`t7%sMI{&; z$-%=;_g_IkR*1;7_fvx=1~)v;eNIY{%cv&LxwUn)S&$M5I^xciM(&6B7d}(U8^-H^!{LYG=ki-2B!%2qba1yz=_lgIfe0QTVqg_Sifd zIe)_p0cID>khn}Hgl1jfc{(9_G=by&^x}vWq_U zddNyUaE1K%nG3hZ3$n6JS6upsk2?b{K|6-GIKM#CxWhceqvYnyr7I`d@X24ctp42r#k3;kOw7$$cdRNNyP)!tzZ&tmp_0e0Fp^^7zRb~F+FNRXp8 zwU0GYnP~kH{HgKAkD*OU5Tg@?y!WDr^SZh0NR6y+M+|Bzk+6&8E3IT_6I7{AuYYu- zD0Hzs;)Biho>iBhc7K`KWPyf)j85$fdO>zr{Yb7mE|1v{z?WrTJ|HS8c?A=6#p z{=aJ9q`?GDPSfACU9)@mW>%QP1b@r~pzc!i-Ev*2=m4>rGPmi!enpyt4x@!^O7h|_ z?O?u)b#^7zO$NdWL~3DLJ=yhQ3nFk#sPgmk zzVAt7g(-@q(A?s>r_KnAPB+F(8}`u9YZh&|?FX|^GQ>x zq->mfLPlgYC(RJtZfaX|u>7RRgOs$QD+Vwh-c1;UX zwlPN(^MM<{-32({*&cZ<+arI85-2llHX!JOq%hdQw<{kcera5%>FsC}>M~!zr?Py* z_qFyeZupR5Wq(7g&)M<8y1U&jBmFK#=8gvwza4{pLbn=r7TI zlW%9TZ59pRO;3*V!Gig0dSZNBngY%$UuwU_O|pnqV_x|Y-1b<@=Q@`Jl#Z^RzF}K>kEoR2c*MwO?Ew^ebCMcE|4M@tuX&8-L zK%Jn01k<&Y@9{43K7T1aD0>&ASxq1}$OB1YC-gVCSbh^RZ$vPk948Jv2`lG!(FKs~ z?T<7cZ12B5qLy8vZJc{~$MP(+#P#mebXan!_|ss7M6 z*fFZ7g_R#t4pc(nn3h?Z?KsCu)7|FK@q{47(Jk5*lopq5wu)@-JjOMHQ$Y<1(5u6u8 zQaoj(WGTa;oZfI5MeKhct*@N_`lc$XT#Ef-m4Aoz9NQARxR};;asO~Jd<7KSL3x|G z+(^=_PfJl@v!s=E6&3S$vin}`{$H^iS_;b{Uk7oM#*6ZiN^&Xn_Q%;e2*%&AMdHTL z5^K3k;Vc9s0)-jM0-x<8owb(vmK{mwI{ygehE4b z&a7Lb@0lsO0*Orjp_!unA({SS7G_Q@?|IV)ELUqSiw*&38kQ? zV-w;~LX1`KN@eTIqLOgpGfsdIY1#7o0m9}8U^Np{(0^#)TR({@k+{D&y36Ys%vZDLKI;|~z~7j>W|qX* zcz<^Q(H-654GWJ}VjZE^;cd;Y zuQz}~h#0rRV=Qz}zjnWkw_*2gW6*^ss#k+2z3~@Bl157;3dsDA1$){1ihmg@$B!!E<9Ut zB(I}ig!z;_{i94C--J(<+l*ce4ZcT4d)oA-p@U%C)4}K}7c4-WHmoDHE+vAtkprC; z_&BRtp*%{`f~_L&qF3-6&$Fn%8Z`{}N`8fsP(nEZxQ2VK4Cm|X@qfs_as2eOfY`c? z3&JFS+n=16ZNs*w+VkrKT?gR6VUb=eUlPt;3*DX?aSW)dxnB8i|j{IE`&5R)Ue zElE09h(Rw-rfw#bvf9NyK07tODbS~fH23h=d)FDlU-xtkwfmJTXtB>IRh3#>Gq)AfqhU;_2jhoCK7kxQCPBCM=ZPFJ;3^21_}x| z8$^*64UE6DJ`y3x`4u`Vmlj^;IKQEHd!08tsfL+$voUW`0Dk~c%XVss`5zDRp4a>Z zJ5sS+*wNkV+uOX&?+W!KqnD|q<`cWAMP~+fve=o)C}f$#2%8h5^&cdT0@;&yP^DM4 zG{49W{tqF4x1MEx$zP572Pc5l4(T5VZxiM>3G<7DdGi6v*4TiXo?7Mu4WV*7KoqqUYEhC*NcXP)!bA5!x_ z1`7G;H{iSZ2N6?pbY3USqu6-&6*R@&)H4Qm?Mnj{3|(sg=eO* z_Jj))&|k>|oY4R#;Kd+2{Gf~!2BWZaUO_&==#kN5&VS+H?B8MXqFgXa5wO7o`o*X& zn&TmipDz*Phhx7xI+uJW+e4$IVYi+Xx4{2Rt; zDk#9`!0JcMG`uR4W>uUMvzuaZ7uw3urjAHk2P`SdwWh5c*V>{Cc>SmL zTnY1Yy?-o=qQ0CYO*dHnoHj+Y1zlf%ox!D}ikxG0(#`J5NFx~)k6G}JX&tST+jNE^ zeZb*ZURPytBO!NDR#u)VSDT2+1es}6@s8mq^t05D13!)cHaTVF(ZGiPXLKvGEVb$s zfCX4}!KDq)FF)TH^~tyS&D*UuZq=`Z=ddY~cz@I>oyU$#8NP>R6*Oe_sy$?y&E^Fp z@+);RS2%*6{sa3r^F+#YwjieBW9(b@YHv>+iS6yRg_r<406eRK;6Xw_-{iNyopI*# z((aw^u_#<3l4xhxRPkQLIGE2r6A;K~OC5Axk1f@41uko^eT9P}@o%%=YlCbnVpIR( z27fEB-}{2y3Qj>RT=YH+Z3N_pe7AStPOp)D6g4~W>ks8(YmaBh=bIaY0%J?uE|3u*mZ<;o|E+;?_S-mZnjDNoVC+c#^_qzIZGG)M|JDJT=d9L+)`K&ls zJt-7RXN&bhtJ375R4FuT^#hD+s*-J?RxD#_Q?EDXN`*$HyvUmugyD9sdazh%G!_fZ zN`)Y;dez*P^<(jc2~+|gMZ?LrLa9}jG)-D^_lJPnN~Hwj_V?q6MN*n(k(3>e#DDNd zU~Zh0rkEjjFhML{YFyz>y(His0U}Q{4-+4 zF?D3t`TP;=>fO$ZO?A7MbDx=HtpHh-lBm9W(Xw3*jtUc@(K??E zoos9gbeBMx<85#M&4&1jF*Y;oSqBbAq9chYDdBKkV?{>$Xf&k^v1*b|arH8Nae;odb|UGO&|#umJ( zr}^pTHC(H8J;8>}w#}57oXAn-s{-zfh9Y<|CX{%(P?F{Xc8D=bSUF--Zy!N1Iv)A} zXDPbl3O_8gfx`01>S+DtJ%5-PdEY(wr$3pQ9PHZWuyv(J$oAkyTGObPO=`Md-meVW zW4}%rcttbi{ark{bf(&G!k-Daa_ONwQqy-Z>4Z0D*zy|+IiI4-E1UyzBv3q4V)n#48TH7|_+$$|>vL4%{Ka~frNnC=%70-dsd*?CULiW9 z<;gGuMjo;d7iN6mm~TNNUkWy(1`r;|Q5+mH2`_o1_?d1P8A(^Y9reQ3AgsFs-6J#cw8fQg@Pz#ktjuIbi|MZ3r=Vgg%oqRhqyn7;kXODJnj9_OgqHK%P>$@?y-KmHe4Q2%kug8I+97F4`?%Q_;cS);ob zMqOwf9e4Lat4pRqs`o0{iM4YNkS>o7rh3|fU+c?%;TKVO*@;DTZ}uWO1_<<-SS z!EoODxVmdc!_|IAo|gAnyuS!2?hpHMeCem16Puw9CVvH~U4`jrSn!|{c$D0In`A8d zdM6Pr8Cp_azr7FFb>6tH!_+1#s^&vsRIBxnq94Tn zjD^)`EPU;b2H{YUGk=tJI54KuW2gXuc=N1iNZ+L9w@6^}h*}f=NM!>O)|_rbBb@;w zkn#`=YJdNWY7sKY6^8@NW_hK?!m~C1f7Gq! zZhv%-1g>2+FuP6PBWIHd`J?fux9%7Qenlv8pq}FC2lag;*m#t=0QB4qYz-p9SVS#h zXJ=m1&~wI>5T~n&n!Ss&Dh#>cT=cqNt{$`Rc7IVtR%HnDQWhZUhRpW4w|^FypK~Z+ zWh+2)J{5`L3-M`8xNK&>CkJ_xA5N(aQ~JsVH@>7q%UBfY_K#wL0O8F8d!#F-aqsP+DtB^lVlW|9n!9=L^M5Nwt- zl7B&{jR-;6IMdw=Ne18q0+Qj~UnUvYRRfX%I^ez}!!Lg_Ysc;V`%*6VX)u?Y`)?d1 zRa%;SJYUMmvF2cs!9R308uYWuDOgKq8Y<0ya}lhV!skz~pPvytjt9`qZ4mWm+Q)6nqXFtRbCTCw6h?S94e5@t8_v98>d#>QiA7BYOxd^Ew_*Im)pHn#;?Eu=9DgRdzsbu)*<#O`Z9Nj?uB zX7+Kx0jrM0JK+~>WjY@V#bPO6*p1$1K26B4+)$8{HGi|@DzI^#=XH^Gh zyHd_S+j#L}kEl<#R@Zkneto+4?A6xhc3TP}5#@1jb$$Km_V&iw#(#^Ao%iipshnTk z-hR5d_Tnk}pVUk9-ur3e`A>Vlyjj&iugrY8T! zJ>n21|7_UKJQGZ@On!}H$=c}!@n64cD@i0S4|rNPPm1-;cP{K z{-Jqz``UbZ&3`T}b>xw6=82&~TCqyR>cB29&58WJmPhEtXp)9SYR!0(hTV`4$d&8) zS3SnjCS8($(qkm8NtflfxR&xSWeDV-N_WDTmf`e*YfbD4=r2?R7*PnNOHDlOc0k|$ zP5M~y?8_xFpDCB~e{ikjf8<&f81iy0|0~xzpzWPP**Bq8dRym^zO(S!Igo>wShdpQ(??;Z3(Ve54qOz>s;&k-?=t0 z$>`LY`F{IPEezPUP`|M?D80 zc01d>z;j-2!p5|ZkEqGF7w8ZM*j|U-NW-r`I2z)p^y;wt7zZW~AI46d8+?@WWe;IS z6h+UEHp+G~%3D5)m}V;0#ehQ!ykusiM4p_m0f`2Yv25m56ckA$`9*&~-XPl=dEZ62~ zB3z`l_2XAub_WalqI7cu*Lh{6r;extjc0u+e7*~50UzKh{oEoU?6IedqX=9$jele` zw0{^0mjuWH6pQqk)d70g+#@G+tEF#*6e`dO z@;bd`eUuYxXL1t@ZJJYk{Q3dD91o%85!HtwZr8&vuE?>MH{t<71oU&Sxq#4e=s!Vk zb0|OLMAJ2+(IjdLjGJYS>qyL}qJIhUgA`u~T#A2VQn&bWTHx=@AvLPY#R9-Y8CkT2 z*H50^olTHQN;D*=Hq9+uc@r;cwOa~~Z9tUjR76*7tDHJ9PkIs=9Cx}dLqkOvx$iv+ z9|VsIy(&DM?`ng13`r@{i~oi@^Bu>3CXzc{L@V6GheqEXvY%;h)~NUj>wl3jx}#(D zm8NH-SkkmlwD6fUSZsyDl$CYzsOuJ66C9qz@C=sDXq~~vQTY56=7}uOEK_bV`?%}5 zxPADx{YR7K{z8Xda++P6XvEM3gKU4H%fREPp}JMw5kQlOa>PMU;rwEJlD#9(F&r^l zx=}%tf<%50EJ=3hU6cB16Mx!G!XMCR!n>O*mP~qcsn`MXu!%QBs(>9N?A%hyZy7h$B)a^ha{Qju2gq-O}){ag61&e zXIsRMQL1*0Mjb_3$kxcs3ASVw(j64LFys`bvJfJiyJ|1cj*faG&b1|Rx5(N$e-kU} zQ#y3pIH(WpH4|lxg^Cq68DBPaDaA7zL{Wm=R%y5OV53YHN8Br^X%dRmzjw!Xmuyx9 zKyrm)B0KA0G@cWo6Mva+oUzwE0UQ)Y%iTGrhEC5m3>wQ5M2v}eUv%AkkVmz;29J2Ztk;y|&2Foo1DNCuUL%uffG-I|S9yH~MX}dl37= zv%Y_;{PA(@8}IbnGdN5~!^>EH_MK?@#G811dmC$!!QtJ_JAV}trir@n-jV%@uXw^X zpYVkZk!n1&se)b>^~Lkc{9Nh$avs9fQIW^pj?M~QBJjc?69n$ayqVlc0#H2eMIy}- zU(UOS3g4G4=QBl;a+JxNN&nPM`Lphq-cP+tRoisit<@QSAa)`jd%HLKJF&mrUG%&vGb_fA+yc1{|`kqtdY4(v#Na5l{1-`(wuOey=O z5R$mO=d*sHS>y}tAep6S!?xY~qp#FfB0EW$?6mR&?Gfk@t>Ta$Ds;dPZSHpR2|M}Z zQGI!`(0?g=_q|$L{C=I78(VPRbWU@lg_GQ1VQ5}RnNM?lUX2$HZenGH=zzo9i?xi) z0Ix4nOlcg7DW%ocuk0@Bc++vD+hn$DUQ4@ZQ`x>DT-C&wU+NQ-Vq_O3ERAPd*M=xb z*qRv^g!M(dL{({3yae_R*JSl!?LcqatpwlMntyPTwL;QfguKwf4m(+AskHJDJ$t$^ zgn@hn19_CY;Qp+04i9;pJ6Sk@jl2&Nd7L}s{<8B`CYaE_{p)M_L2KWU6aCyNyn}x3 zLddh+2~9Z29WEb1hc2JV<$R$tT0WM`KGSIVQZ8Q?I3IlDa?_PI^<=6%p_aopd~_xLdpFX&9&@SPd7tyNi?Z zUiola*7Vy3srD(}2Bn7MPB)h;Gt_b-O@HVz14cQNUg;R#4&?1=C(D$WUn(;wv~|Y6 zu_2xEX)!y_9V`yHV`I{FGx)y1Q3ov`U5A6$i~8DCVIapeQMB8F$c;5-VJt$UEJ`nS z3wkW2hQ5<*{9>#X69$jej1V*&A;{71Dq3fE2$@9v2(ug*cFXs2&Ez}Zj~;C}&3`%X z-|1A6+*M)KzxI)*;_xnrqYSafqZp6O6ri740A2g3SXcnw>5_qZVrl^rakKzFjw9jv zj|VG~d;23UywDsQ_>rY>$0>_R%BXvrQ3q@OgU6jx zTm|W*Q(8P=ojk}Lh`l}6qs~b#tN(fnmE1vYGSAONt~aQfy03lxIxt_y@^!d; z8mp!}q4&Vsu#)lw*a&aKD$0`y8&*)B2t`4B zuTJs7ukRi{RQ^m#OD&!(osyE%5;Dzm$fn9dQO%v?4rJgTLTSa??WShIlukAFvvDtE~CxRfM< zq=fK~OEcfBHp}^XwTy5~uFZUfFcpMz6@+OO1XvYBR+VCn_dFx6s~}#h5QpR{bx7$c zMj5U-Ir6)y=()vID)1@U3HkUFF zS(|bb299i*Dz9qCU6$4W_Z?t(I_fD}=<4aI$eAun`ycaF%%MnqAW0>UUe5t)b4$ps#yP-PDAV)UrLJX%OBX$x`?z!7{W#cNMs-}cxZ{;H-sKoK>Y9)y;u*Q!TNt@98JZV> zYOBB5+E{nGcYoO)YzI+h4?$AsY8y9Xs@pU!1}=&S?-GfHsla{`zRJ_zF1jk5G&97u zEKP%|s@~d72pAIA2_o`^LUx_deKcC`(g`}jy1NpUpD3DVDTXp&v;;-FN)@J_h&_nm zn#wK0)evD?UR_@Y-=!MX^@)bSgT)3#IULl4S&v znF+0#+$-cyVB(5e^*w^ZIYJP8&%oR2_UQJ&yV2-UYe*wj&hMMwXhoC_b{(zO^Ek&# z-zSJ+5nzB$<)co9aLa^&7L2cmuN{dKDJ21clGk5=@_4b@yIFhCdkca z)MJr5ykKq4Y9qmXT%f5$o!ru9-%xT;l~`~gH@4Q_yjb1Z+j{zpF8vyPdHRYM${M%? zN6knpjIw~rfB+Ite~n-2l-HKODT>8Opur|_Dy9`nzx=G9+oCShyEa<^FQe!cZP(`9`hauCiv$q<=7pm%(aGXhHU{ zqtUE3yXS`1yM%-7wFHxkuy$*$-1aOGn zk$S~;nf5xf0A ztJduLL^1BwS6WQ7;@Ul3?OO5bYzfLpgn!#(=brH1?%X}3xjlC75%c%f((rw{K)jq? zCf{w+)LUJ&X;LPQX=Mo^dXRoveUv5K2Qng`U7L<_@MZ;7RU8eBeMF!eV`iv*CEqrV zUJg-KK-nCM*9SZ43jKS1Z7LNHesQ*MIPZwwQS{*<(q4eTOo`&h7e+(z-kFex-hZvB z#FzKKf*>MBKB)}9C|%}TCCOsbGg%p5V{C7d0z^KG#+@I5bIl1ZCZ zneIIE{wDX)+Jb<@f^pAqv@6<5j5mXoK@z(FR6wi0YK~x|&426nP7mevcdS#B*;6^< z@hXUe81NOctsEGjQ)*q0k7!@aRhFf}B`V(2j3U&`svc_Qk#wZ`|&(E8RpQ2w!fF zV|~Bb`Bt6lsfmYD+%Zy_DDzR<3r>k>hM0!eH4b5dTdl&iO=xa8X7#n(VYf%e*&lyI zB{8;GX)g2boJ6DQ$q3G1m~&Th7H;HGRaNK-kQ6ucRw1gGV$!A&4*^tty@qNVodiHDu`K4wzpI!ds*mWeW|#+Xz%yWF#V?M2S_N z)0a^`m}N9L=FQ*WfW=du8U(%HL=a>B7!TzJNi1O6;yhIZw{22C9q&P+_D#I%>tZw( ztA7e~_4XiWL!8Z+m@ zTKT28!jb2e5bD1 zf8U~N6$LRq_J}Ba+nJdPq|@+l?z0W|S&18$rB^1sSKM(B*`E!Kx*UayHNBfPHUpV) zCWc<0yAO9|919&Ux^RCljcI+Pq8Pk(yza!;gYF>stYv@3)G=gu7}(d(s4p0`ehnY> zjBYUJz1|nw0dD^fD-Z3kSQ0j~rEbwWSX_+ubr)MZ!R?!g#iojgOSJH& zUrK_pS8m{KVODF`rF#uO4Idu_Q@roEqIt3*A;ey&FnHEJ+1{Di-Q(5=#Du;#& z3LrbM;m6(;(}xUWqlyUiZ&n|x(Pe0eJJJf{C8o1q%>oz!9i^6lUKhgaV`;Iqi#ZU4 z*N;nh$w7*otCW8hOZjIAT8w$EwXNOY1pwXXN^XmLU-V_4UQV7XG6na~AkO)D-IY}h zt>}!kis_?Rp658FFc#dsGpx(ZZhlA7OG_e*=!3^B#$F7EUoOsfq)ndD8biF5I%gM2 ziy{MLBb}VeG!;{=Wkaq-sxEdr*ff?DvYdU7mC0ut5Bq<$Nq6p}5R-ZF5`mY^d?qbT zXUDPMI|lsIQs!h5*`WaBgGw>{;_ouSn2r@0bi8Ae#O`(U?YmN(julT)bNucUos6g!&=u5V#_Oia!yg6T=!2RtToK!}EW);PWf?MjIPEWYs#~`?eDX?r6q& zL|c71jgtHUYzq+xsPNjH7WA3JwfaDo`-cxPjFV%7{bVyh+Yf=3=M!Vc=y+xk=Y*Yo zY*2&TC>t+l(cgrXg1AoQ#V}GBwMx7)>=D8;+?`UHU6xK&BpUxVnQ%(-8Ns-6&!%SaSwlPbMYEQU!F_Fg)HxiMcxra-<69C^2%wG z!uG_RHH5Hj2Zl-51&2mS!q`z!;6V?8r{38R@Drj~Y$k`)vKc>XU@;(6k=QUz1%)^Z z!ZPhm*lTW3rB=F0ES}==ELAt1Nz=xg4lX8Ex96j`sPNlF&~SYG_;FA-tVd2bc*3RQ8 zM!R%H3gcV`+YfP0=vx1nmakVeG?^s6Npsncf^s#ZG~rMY`hzhs>RaOvH-{5-uFtRZ zFak%twOG;`iI~`A?rd8g|^L zPrE-Z`Qu4p3``E|7IRav3#CgUHEC;E&T{Bjb}LuHH)yL?EAzV@=(Hh80n%HQqpa^8;(Y}bVrBk-)TeN`W%aj&S|4{`n?f&CZxqf|JsnNfz(^Y>N!SXAV z0>5?pT$cgQZ_B=K$%yB-RQ5M61yL;Gx1ztShmVl`P0ZSFK=#d91Pw}2{5BuN*r*?~ zUc&YsgPqX=c6N@kiEH1?^&lr)g=gg8K1ZD6Ns0oJY3He)jC_@PVU?M%KU$HZ$_E+XZba70zs~O81W0_&(GUVp)`(vUM33%)lW6sd2EwCsc)(^3^FK%5t~ z4I?TOVKT*G7c|7r1ks9(mSfVc=%BWOoL9m+eq(!DaA$@c&v=OR>i7D8=)G}!^lcu)P z@7zlGO_cDGV27%DU zFBW3$r-X7pl4&^-khOm&Xflm%gfpVR41AHJKym)>9oeb8yuS-&sFT@n_%o}~_)vw$ zAXyy&8bTEBW2ri^nMt)^8Xxm>M?wa6(4%=3OzFYahic&18_{VRUg$Fm1-3j>BoZhBo4NSx~%+cEXRYjN>vzlhVRZ!r{zn3ZeIw> zWHyFM`B8^4-+u&7Q9ZQlrw?^d-E&dL(%-J&#w_z*8^OZ|m&vVwhd1ZU6GN}wEVDE8 zearP-%k_QBQNe%ztgXX3WCoXXFmX}^Jp}|}z0CEezt0zP<~NY*8E6}|e-WXc*e6Nj z>R3O1dU>AxELy|nzug}(pMk>tOk-fMFJ)CdmXaz)!`ZL7o9S3OuY#T@Vlj zd(Z4}hp=EY6$AMbonFP5UDx?&ap>xfVCkKuk8__sO?H15mgYsiZX}i0*+uN>( zs4lYPA7H0_`t)^C3%x*X?Uy@>=$vOf0#FQy+eMsS4JMCM$~mn$>$(7=YDqbq4^HCv zF~gaNEdXa$T=6@~72m*IYkIBgwV~IhUU7!Sm00p)s7P+qcZ>NEw6qL%lP7|khRBsg zz|{)i8+m_tYn(k{CW2;p|6p}+4Af2kh8A3*~|+ zbq2O9r32AA*Bbd{S}DzEpuQSX00EsZL`OF5mz=}#%J^upg<;b8ajUqJDOEG=VB!V9 z2f?}OKoB2)9t#S0qM_}e&FGjNGu#(Giu1z4X_tT4Cq$sZEK;q&wDNR$)GeG0$1L_J z%}M~Lzk3aN9d6(S0!ylp-3u9|!m^@A|M%-ppEC1VX35{V+0D%dFIU=mTMqg8Dun!} zPxE}^I!|(avPcNnL4p#w`4!OOZ8dSFRt7piy)Xt9krl<594H#UK4N^Hz)UhnwNM|O zj!%DK3;0DTY|s`G z@-pf+>i9AItco{YpT;l6R_$bx#Hq66;Oc+)px=Kr!la;7Uwax5_2yj5Q9V@pm%z5t z(;zZaTKh!SMeed#WSP5cJloB=b&j&iS-#f}Y#K^+Z*?Q$$uzTvQXL)f)b0EZ`+~^2 zK0MyRe6?E|I_4t_7=tArdkmm4oL!=3yww^bD0zHSlYa7~H1<50_e2VnLInjyolt+& zfC@?!RSCLTU_e<{cGSRAzG`J|H!Tt3)DG;3Q=y1b7EjHfsLi#C7XJ+UHrY~<_DqoX zEbGTo(|^@3VvHoI*w5ug5ScF~2wxqtT9VQ1afq-L(4xiI{c`kSY;O!ar$01Kh!}AR zmRxCpg=DEIIu;^{_+@=_+d_Oiu-1PMR`F-=jDrjY1o3z5x~qqWtEcAx6*AJ@d-3{a z7)$Z+@?Owr(CR71UK%!i@bX|hR(Tn2YNOl&%#m2SB9OM_Gl$fK1ouJLb7EEksemww z%;zbnCZidmDOxZg+FC~GldfIR*2GY38uTVG4-;3=F>^6%SO#3pF{D9n?bUy#z}ZC> zWa67qLbes1-E_b0`XCuqtn^stG6t6KD9FQyYh7oCW=_#tNy`>1{5I9!)Or_bMWZ6y z*@E5_4*ga)Xgv&xB$;@_J?Vm;7q*(;cec9PelPWq5%JQ-hON-t8NTg~&x&!~vPrg- z^LSb%<*+WNm(=Rmc9$^zCyRgR+!99zeCo|VEQtEm*7LPyn~B%X$XzDSb+y@MHtLI2 z-mE>};!Qcvp-*o!`R7vLHdd2ukbAi`ZwOS)a|kr|0Kjg(|3|x)uYozsop{ZEJ(c_G z-bh4u=-ZewM9-82|G>ui55pY~3@k$jwqPk=GFZG&RpTLF3mZM-(7}I#XU5Xf3Z#7z z=ROg;Y47X)@gA+d2iCXX4h56zicf9uDxnj(!wN)#3T!$8epax({bIA%YaEsvl_L&a zhd7*ztdHpC9|DfZ`L{h2DHs7)vGoP=I9OMpkAu~u-8WBWWVQ$Sa5ZR;Z#uHBsRE_K zfv90;v_W=}v#29df`93G(W2p;KiI{WygEfOK)0J3(vVUf^8h2}^8w62J|f zu)k(wiH<}6nxsv7MzASb+ZGM4mshJPm`VcnhHz*iSB|(-9dW$BcUUhT^h%BW{bKE~ zwO?<=G2Cv3TCH0 zTg)3FsC%9)Ouv6A2jPIhKYHX}*Ik zb$iLIr8quHr6pC(FjCe^EH3O^Ds0h)HCaB9HQcn=c-e%Kk73omQoubNg5V(od>*%> z#oJs@6p_~X6ER7P$^WCIEgkQr(N8?YC0l-ks0ruDuHk>wUXgZXzkMZYG92gZCvVNU zlD#q|+ynn!JifMj9OUQQaX&p5M&+f4MFv*9uv^r%78=MS^gpZ*1@9eBS9D*2W!*yI zx=0eJ9atvKf@5=f!dPAy|vd@STs+m zOml+a8Y;bb((SgkhWkZ2o?g5?taOJ@H5?jYgbn+8C1qUpZqRwa5tS)!kXqU@rV=1) z2kd_p|J>0k(0fvQ^4_5#pDT7!OxvBP1+vAXzBm&c0>N6AbE@pvM(1%xk~Rqw7TJT< zk;LXYB9F~Su{e(t;88@46xF2gAVR2Bk$G%CRgfl?UMqjvCLiRD%<@*7u^^);uF=ip z!H$s_p3e6sXwooAzPgwo`!vL3iXQFlX@!50Nv=N@ByO3v7stvd@GNLl&dtf*9Lr*g z2tkr5!NOjLOMw##-|GoDA&Wma$#wOdhuh7F1&5QCM~}wfMRg4{p3uT0C5k2ec)7t) zKIs5bXoa|{{uh=4cczao;A1}N{f;<6jyz&v>+I0CXpcj={ZqO2} zhw~A2&S6f}XPCIE>YtdZkLw8a9~O!nP*`z&QaOqR%*7yZH+L{En2@pHoZck(Dbjzz3puh) zKAuR!_dcHTbL-Q|LT5~;;Pf_X1KKPc1cE>sVxt3(Nc)12K1Pp~Tx~C(aEcs&)y`q$I_CihD<;p-D6mgw=S&wJxGGI^*yL(LWf$_aUC~YbAdxV6 z4cM1u%jX|%?0hk*C%5gBZo&o03J$AFPuzMfWwY!Rpu6F>^Q3d&%PfD8gN5k;&8GE{;Js)E|f=PLZ4{p z2yMSy7so>x zLr4AQ+Gi==T9J{hwJW*DaQ8#qo1z$=Lp0WV=~T?E9$HP-Iph0AR5C=>F}?wgpdWf9?292=p~$=N z!x{xSE{ zWH6;`AYc!ZM+kCFdTad&t}@{yc)zx{Bp9F~80=2ioHuNHxi_3HvtCz22i^TBgwVx3+D{WMj{KzITf+VKp=BR6i&6>rM4Z z_s?_+%DdIu>49oaw%^+datmu9JoK+jAJe+2=d>ATGk-FR&X>{2%$W-kJ?(VHVb~%S z2WPXSHDJ<{k2r%$e#5@ce!J)dK8aYiLRUg7)}eoCtz9j*s;zpXSdGqFrd$Ipm!GZ- zQa3zf#bg^mK_;zAV;x%8D04~Wb|1187{buj3fGQc+>cV@rZqMri*>OPCsW37JS$A&)b^b{>6&zcKv14mHCM`@1n+TyO%5QduPIq?Hq5Z$mp@`R< zs&{`3lg7_Unj0_H3S?R5xkX=9 zLGiAU=whi+phV3^ks?$}wQ99Ws<_u~kr>F;jZ&*#se^+sr1a%N4S?%PwTLIQ737%IyE5_FYp_U z3UGt^RZ4|Yt%ZhV3B6(Y0>u1cqg8(>Q@>`FjO(>3hz_*bVyRZ39m%0mtkX`-QbRg| ziZp6vygk=TrD6+IZxW^Yc;^NVyj21iyh1}uMOwu|tBMMH5xDPWt5(uBqi?HK@V)7v zW(^ID7SUU@LZvM2-J&hE7puH#(EMPG*J{lMCDQgP78*2axmE>(y-C@mZ%ThndW>q* z+jx#{)d;K&W(WdlutKv*D*$Rvm5Y^ft4@P83&jRmG-}04sZ?&2o7AmREHqoK1|3Ob zRDgG)hTJcCcS@7Xh~B>GkHJfi;|%$4abd-TF-ZHjjZIo{r&J( zgar26n*C;fKdeD_Utb%?1gz%r?s=yR57CQ6-o1TI3i3pm)k*9s9olrkSV$fPe0R`PAYCSvT`k8B3GdoPq( zU-OHF65A6$Y#4v#ypR)knrCgsUprTPs4o_ZbzH2MSnXSNKtF7{=6sMyx7Dn-S~w3O zQC8m?KImmnZq;#iUtr_F3kGj$>@ckHBwr;g9yrLM$d-xkc3wf);EANrs^eFq-iY!W zrsP+F9$|mP;r$}M7};DZ6m*fTs#&XOom%x4m89&=M!kPnDv~byO$}%E1t^4i70>!? zgXCGpn>`h*;qs$~_}t}rkdmk9jU(-FK~ATGpi^K!n$y~hk4DHg<0Jh2a&@VMO&thF zOUGqq=5ANpOy8GmAKCE-*O3%-Di}AnY ztrqxVeC2ke!GFSDG?dH^)Gz zX>l~a#MQl3m@IJ#R9eK9R@!%F_dFy-X%T;|inQfxsWe^S*F}jt9cJ`V?7gsB?3YjkW;rkR%RxsSk~5O=V(Io4x=i??yo7%o zbQ=vW{CGL!C9W*(!T~4KZ7lSi+eq+y>NXBMmI7^Ow;UhjeH7%q1Ua%nK14x2L_t1C zkmI2BPL_{l2wd<({~z*0=O5W-J`Vz3*mgCVBf-9l#QWU!%ULXC6Tuo(Me91wPjP)} zBJ8K+a2fR6LH;bi@14V>q#kzj5aECQH%nQIl){8K%YIXgxSbP(y&^1n6*``ck>I!roqKa|&95%PQ_C ztGr}|UX5m&Q%_!CbdMIhxFJp~;ARTRqV3t?o*Ax#SUQ*C4N||(t<~&66+gxBec2w| zc{%1~${?Iywn|b28M+|xF^PYgT-44hHbuE_k01FIF?;Y|`hc4Zqh46CImmr`Xrf3C zMDbrFidjUU3I>j@VOKd=7%u@tAsSkX!zDl}-2UXyd<-xq$BR)hg zt=1GvdH&1~U8V^9mE%sOP=c3?-)&B|by%Z^3v#Y4)^kV8=N%5V4P<`;7Yn6At5oM3 zCv`aVN6TlBe=ui>RY0b|hf)E~Y$JDMgfNmUC+50ImIHIyrVH!TrVBGz(``0tO--2d zvQ4-~LYi{1swtaZyz-k;sQ>;tQLZyv2%^uLEc`~7SF zEz0F6Vf=N4P&T>9Y)gMlc(&D*RUFIX-R6s*CKEvV)G`P(0YU7@W}ZLYL1$7D;T0lh zHN+7Mmrh2-m`3iGQ4j}IZ;aBJ#~N@EoUYixL9~~pZEp|0EI(LxoQvPVJ9YQZLZk5q z8|H9nj5gHf1tb#O7+J)`z|!!ygR}A8A&^^p07x4b>;}LIW3zu*-vrMAP`+tSiP7PS zRRRg;o3ZQ}Q`oYZm&3V@_4U|>YT2MH$Y#@4*DD4Z&7uWpuIlr7Su-B(n{;< zvWFO*$MNb>PHclFd*Xn_mebX4`qPbB93FhhJ6#be!#=8UUktWE#pEm|)%VSqs`mo@ zgX!#(0a6MPX{vwtTi{sYMXQ>kiH!BWMLWWHDxBTZWt$3d@4~rT95(xM&H{k={AS>J z;0_5EO~Qy2aaw^lHuK11pq4fmp?iXeVU1;zN3S%a{J2>qs79wlHj#ekrAJn9O)@JJ zX&1>xVN&&+_PSe$?AHH*wsEgp zF0I*A-k@Kf6AD##AjAlwb`A?OYb+h&d|>=DvZ@-wM6kEhwFqC?=IBp1M^`p63Y=JO z-OO^9#DRZN+VuFG%ov{|8K23y>QdAV+)q<9`ctZk`M}K1xkYRm>kBVJwFVWm!z)E= zA7`)FYNZCixXRsd^rbg?CVMO9_F{ke21KbYXx-}h$&S?DoqjXhSvN4zk)5s-I&gEF z3cI{fjiEA*tb6dg*iG1E)Uwqgo)~lL2;&G#Mz?>@|ND%i|CCYmXJ5AY&wtGdI%Xyu z+JfR(nbLWO$RZ(m%w0;Wc6&37Wkofy&OcpC}*{#b*@Q!hN&xmka{ zy0eY$j?CchWbya%;#vP-G%WNF4gli?JwC3el`^#nDbu&d^fmpt6Z83-Iz7{=LS~gs zVTDk|wr_gLUfZ83rA`NCwY@1zyy@@X_Qrqa!MAzf>FE|RpcCbYX+$Ru1mHUX{H3HH z2OCXs8-#mfISD|in&GV<0xus6u!N$Fym6Sk5oFws?%a_#s!$o9_=dNxX(s$mC4Kps z6apVnVM>(lu?a?+;{GQpkzq}Vf1Cx?l}>k2q(QN6bAj2oTymBb7va~rU0*?#jlq8) z{1JdnfqBaIJI)G4S_~b=lxR@S(|&`Hq9{0n7?v6C1bNHA^96|xWKnYmNFOKxINv`h zJr?uu6ZWtTdW#RAz)yz#8Wg~g9!5nq9IuS}#HdXhv2Lt7=(@xfp!u;d1`YB8A-8sks5;3Os+I$Rg`Nk`>T5XM(8M7%XA(-Y7(fOAk+tnAZ^s z9E6HZ34au*@p`EX>&dZrhXrFwy`(vCHZv8vM=P6h&TZjiKSJ!9Ba;Pg}yUhEd3v##{QnyZV z!@!z3LxUlh=CDgap}gtktxE|myi6Me`;;^Tt?&I7aEN(y%Rq@YOKg9LaylxzO#CjCpqx=1+bkWA*6?}{W$kr-i= zh8Y-NM=)jzcN9-JFR^>YRx|TWjx?-Ay8MhnVoNB*p3+vSJC1*uo!8gm0!ADfL~hz| zmTgT9zO45Pd>y9mw*u+fn}*pi?o57ZBZ;En#{w#nlZH z217qRgox`KIZQH~>|s)-{Ky<2J%3wIl4*WHb#?Ks<6}8)8nSwZFL~=8%X^|t()0y5 z>BnX-R65djza)P=T{$xVEL3iC5b5wVv*hsTWpDBoPNRwDn2CpdJ@&6&fb}k%5pqwy zvL}V{@lV~s;VFlON$_9`e=!l8n4hF>zyO+A({j1{9z;93mnD!$Fay;rFtmc^NgMJjGY2>|I7+s*YZ* zA|P_d=&em?JqWe4Pp@$qcJj4fW6O^2_I%g+(>*(t8ST_SquT9ZNRGDM~KP?0Ee^vr40xqu0kh1v2 zys8IsfeG7k&CSD<3ry)t5fgWs(1iVTD=RuL7*~wzGG>NbpBxF<8)C!Y<$0SBwxs~g zyQtqP@Wd3V)ZivWBsH2WA}vU3num-0()WJ?x7j8~BOM;xj>5pn68R+Ti2dj!;$&`K zK&*``$mxnevH1uXaY&+)pzfiTz_sU((z4W&w5TD6`ElSd7C(mM_NQ`LI`WzJq}pSvyO$s>+F}uNr<}N$n>kffPtr5Up8yJqmG+UYDIepRF-5qDbUS*8spr{j7dpGE z%AHc_0#R}FHSF6G6s)h3Cmw(v}}6<(JvJv3LN z=Cr)!a*`q<#B)ElV2(vm7Cnwddt2$}Eo*Lph(34hVw5rfpl|^1kPIMQ@gCs!PLM9V z((5Bn-Rq@XAVTGNXuV_+5)4N-MkM)=rHdhSe?Ri`T>{1_r_GDak+W=ZMdE)*>hYfs zvOb^Wb9K+Z#CVSLR&%gNuoxNVREWu`kFZTBjXzz+vw)@nEZTIb9_9PDxZvCH&3hd8 zvzIQ^p6TDsGv=@gRh&CUHJ`A#{5qXhyxt{ocjo9C`H^2>NF-)>;RXp7Vba%)GHs-)jW;X5`-z7wLNt!$;c^q+IwOP`hb8qqm>OuP6yJ6}9*uvZ9Bof_0H(1$ zVR#P(j&ah)`QZdHC3vCb-#~7}pAQ}?Ksnh2ddKSK>OF)CbxvWh1wWTH@A`WBJNJ3+ z>-@+1)5USU%Eu%2b;Qe3%QBF0%WJ#{qsfh0Uoy;5kEfjz4`oU~EbM&2ugA_JX}<#} zg-vI8{xUb7@`Zne>hcafWV6ro|Q$WMd0~AAY6Qu?Ho)0;){sO zAf`qycjHu4lGggZa!U&XK7D+2ak)@w=am7_n|O<;AtWnml&nWW;10M3Yf1Z%F8qBi zj_KXYr+^MUDbRk-)9YIaF;=jg&(_a}H*V^}Hdzx`iBBcW0gy(GP{IdByOPLOE_c z{otW8Hnj23K^+x}wG)19(90_@r)0`wCANo{*B^iU=N1vN-KPp+4!6OoB@0fzXzUzP z5`=WpaPHMF1J@}`711%rAb>Og$7xxAxF>Z}3s~&2xgU_2H#Z1=(}1lmw8Mg8NpVx5 zFJLX;l!Ifwt}Wos)IDE8MC2~u6QCrPH5b|HnhO{kXURwSOI0d|h#bE9e(byzqlh{< z6|aBRaaNu}1$zmdzE=%uvVh%TmQzVb@bncXn_cv7*GU!L22^7k=>eh#Q52nXq~DJh z6X`PSSfekXz?59lL>CIpmI_)|D^{|~BU2}jfT_y16Tw23TTecCj^To4K7-npMCs!U zr$7hqG^G5OFTb~-l8|piDfVT8QI1H^W;#AL7mhg9-( zh$M+`2=_a6GeKawL+6X|7HX$qXW#=}#(GdSY(`ZdNv;}%fTpn;Cdr#!xxGs0PGB7a zH(88_zC0ftEvYR*+;&%dc9*X=wX8Us5S#FGc$G<5&%w&^`AFi?hZS9a0` z-&6n;xIn9y7S>6zXD>RJE7Ak^_fdZ+Y1KYN8j=&J^iH==;`*K7TpT)*(>U!^)8ZrJ zJfk|v=s#LuQ!Bl3_gW_$Lk2MJFCB{!&Xw<9xIu=eD&nvkt-cw>L(K5hBzQYx!+9T* zI~NS%Crs=FcgDs}gRvv0<=h!A69~Q|GSRzkqK`9f$R&n6c1=K{T_z%J**bqad<-@~ ze2earCj=qE#z8|jFdPend@%K}SvEsDIJ+rZRq?r$BA^t;*a}bG7I%|EE)Y+s@lX#q z%dlSql8%v}@mzaN<(S~s(Oo`UZZR^CS5hw(N?-`Wd^{Pq@j3UEzAJr~}83&ngH{G5*6Dqo;o(Ht8SEavO@v7={-j+0JFHzI)cb*p}U+ZXi0TLgh{e zjr&U5XSA=1Bb)9U<2`}fke-lDqyV`xtPUL4&zY-Wtpo9VXHtT9jEGS9qIY;IsO5)z z3ziRH`U$%)NRWXc}Ro8jdx^;0=sMQlpz`1alS zPIczm_Q&u3)E)qWN0KU4!vrtbp%XkCa~e`)>L2{ReK&@LRQMvMqFu&*rqaz#(DWio4rpnQPCJgU!_WAO@jEJhkkjMqwI7^`VJcVGiLN>Z|T1i1Vwnh+2QL=oj#p!mqb8L<`0l z9Kh<6(84;A-I29TW@hWFL8Nc~;hn%?$OSTc0qUs8;p7 zI<((aH<%EsazlaDMb{-i23LLzAV_IN>+6u&>RTHdo6>+|1jh;w(TZaPcC!bq+yiZL z$%CYV^Ikg7J;1?{qyzAwG`*&d)@e>!`;wZ=gYmp3jXr<1Nv`luP4^kO)<152LQz;k z8K|2p6MlPtG)+d7ElGAcTC#+Lvo!&c1C&y}D@4|35e6*JMdK5l@^bEY?;y0k91PXc z%g%oxNk?9G4!S3P!_wfq=dI|>{rfxH_Ckx3>`f{g{bH$S^ zR9%G{M8|)raUCr)nuTH8bo@TVk1c)OIaio-eclpW9okJx86EC>H$1b+C~JU9xm~ue zi^dc}Ti9@7S&(b$YYIB1MSr6 z5tUHH5gBAv8zo%|!*&{h(7ruCe#MH93!{flNdkZ2B|{CpB;@;X2R1&f8fGLOZ~ofFQ)_*XD-o_3vQaL57^~~Ooz3%m+M-$p;cq&ZRJ)6d z59EL2kKpo7pNYHY9D8ivGupYhk$#NdY|G{%ac`a+$Zp{{&sbw_o44b(J|Y+gv>QYk zp|UA)c8+4ksTApgjwA+z-D*eC3hb-6&|L(*FLLd+w;EUePHUAw5b(G*esAUskouzT zEi-48vlX>}a>2s_({~DRTbyV&H8~rcFtUHXv`G{L;0=LbBl}%{oMLrxT4rx)kC+DS_w~(-oig;mx zu(m| z-%;*N!+9~*u&f|yocomU-MetZgCJT)uxmW!lo_(Fe(I{Zse>L{gaAmMzG7E~uP@@nn;e`Q! ziYh4ALXYd7FY2IVm6k5za=VCllfK@9X=fh{Tov_AtD+DYrl}{gaT$>f<`93`kWE3Y zzo!Hv~B(&P)^HmyZETqA$B>tnRURez>5jhL-2Hq&(G5mJ)E*z_Da01Vq2@ zLPaS}!korm*a4mEF*!3A%1?jFkiLzpj^P!f(LRJL)xykXdIa-B9MCjWLk?gRa6O#D z`0nTQCwHYbD?_>ycGSRHg_&s!>>>Yd*pv=qQlioo0%M9{>)YHN9pnD~w6M{idTqcB8emMmHLXfLOZB=wdS6o{!@6 zXbIB{h0H2~=QLG3Cx?IAElqvhy^bTDORJ-J$2z@Vi1Vy%O3Yl@nc-Z9N!5=T4FZmGi&g0zY5Vo)PH_q7{GcX|=P;&Xqr283}{pI5TmJRLSc zu(2h8iwcdp3BngBY*Z0D7mCD&!Mdeljo>2+oI+T_zV&O)PR0H4w~;|7A5 zxjPps7lqX4u}lW!WT_3YzyF<_MQd`9yr2NJNp%GHT=>U9SQy><1KhXs{spKkS%3^O z&f}vLmY|2%ujqgC@)ayHHRA6%mP>qunCn#ZM$wQHLnV;;oR9G&{#HT*=RfVv|F)a^ z7%^;J@a)?CjJ zU8{kNaPWVJpQ{;c>srXXo~>j#FSN22@>$E)8`(Pe zN%pRb(-Bnlhi(Va9Zi#MFz{Tnj$(-uADp9G6~3PsdMskTM|Vx8%#eYuYKlk~;lYZG7v za~i>tWErr3a6NJvsfP0a)2tZx8Wv47sdLe)yDJyRS1u=!; z`U~m+{u^@hi^tO6ui#F1iCUmimecR=mQLt+G6qD!NP!8L5Ws;L-LuoqMnpqTHu4m0 zJS+gB*;xvvI}WN2JyF73K)1HE4>Tu7N?(e95FWOlDwC%FYfAy`&j`+`Ga>2XO|1(sOU23dm5to9%S9y93o#;LQ&;`Y9ScfNTQiDwq&Gc_L;; ztP5xdcf+0f8cOtpI;>QEL=e@D;q(XMh@X%6>8dm7{M@A&k+i#txR-^lMLb%6<_h5e zV#ut}l}`&@S!}nOaF4KJ+BDAf!L%xs5zv89o$*`7->YNeXiVtHjLTNrqmOkPthCT= zBWwoYh8cAm7oJ?NoolZ_(RtKqSqOjj+7T>7()Y;RXNglC@td#3dLY-#yvEmh!lWRc2BqW%V~5xLNdGVJrO{BAbeLdKyI|jW=#MPnOsXs25*3Q^dn47b(`A7{zo=Ktt}_S-(r4pxR_Z|IeZapzMI}CxBB8y_ z*}P(A!a8*mgaB)Q)M*u#si%5FW7kW&g^lWk-NKdY$ZlJ2A$95P+S~1GyIp^~4TYrK zZh$(MK~6Mx#qR9>^8Vuf=>GQp`W`XvPUVS|qIWDr?^uT3u?W3m33|r@^bYwCJOAu1 zpH$()2bXnN%Hr3N`-LL{>~^oQi2WX+OipVzkTvy5PgAOYA?1vG8CHUwTV7yyU4^SW z+}&w>TbpbjbVkcRb*snA-(VB&av$MW?U?D7blf>WVdqtZMdPPeo%7li%Ia0mG~uk% ztDQ;aaMoc0!iFPa?4*O(u$nOHOll*PcE0?NZnd}k=Wdm*k$BQz#`s<9@rh6Dp~QpE z+42wF>ecdpyXe6g65n-eSA60Vukd!4cE`hNk2mN*R6uXx{6DE)$?ZCBQE}cf<~`iV zdAo*N)SkES{73v+xozRLcCHKkfsO?%3{e_^4^Wa6$jtQy`RNU^&>Li+H^^UaP`uut zb_dwgB;>lOI5a06<_=Qjdz&OwDF&o*A$JWB&XL@IH9=Mo-&qovCA99m!xuMlw}vl@ zq-jLu`_0J8|1Ke{Xhb||MT2oc%EHLE>h(qyJ~v8S40M>MuBebeUq11-Kw&3BUN=Hn zr$SWMLQj`MO1DBq7eYWsq@C>(072|RvC}?z0yX32D(<1B!7u#WKIKEKBJERqcq$K1 z<>4iNA7W8#U)sY3t<-r(VlJ-m^JH}X)~D}2Y4Ic~m%@0f8~ko=|HgK|MF z#%nQMaCD~37QT5nU(4vr6usRdV;NlE06>WtA{-!|Et{UmitDEVL3-{#3-G|3+TI z!dj_kZBW9Q6GSV&l+oQog_D4b0gzY?RFTdS|)|A3!Xnk&nKCj>9cIi*&X$17*PXoHX|eibUg4?eh>z-ej94B#Y1jX4}VS3W==0QOHK zb5B@#+J^msJ#`f!hIoEX!1)Np1g$xdq|;ppoZAykIm_~jt;qH$M|3)UmPFHkUF`x= z$aPsM*^509K{|JH^7}$kBt-b23pTfvGEsd2-Zm~Dn1>IXpzhHV{(c_|LJ zp#Srp&Sh9fqF>#;cb180aq@m3Up?3zU`L@Vz=!5{f-|M_9kJ_b4*;WZ_$e0O$$6sf z+1|JSjX;EuIW5K+A$7_aE}c7nj|P$Z%9|Fap9L(467(6`O2cc{DV@YB5N9mlw!F>p zBlfnPdvIH{E?||VTag23?1v+q*HC|tJ;$7k5M7PTh?#9LGai?zu8PqSsTl!dT3u6< z2|vUL$Log}U{ijG;a8t0azRQ46csAGMLT(Hm=_o8a>O%*wFB-~c^))>g*^rDsrs41 zgu+}|4qN^Xu9M`A02VE4?z1a;%+p5Zt3SVZUekH1jpvT5+qvuC3{E7GBK+_u`-L;_z6TOrw^!obJ%TXT)@Neuoc8l^FH{GEv6QB-;1 zZsnt9X>fl}gC4kbNI&d&)DpT6*Y@E#_vpg^K%-(rEmWEw>aIX_ELL{gPFH#r(O=7Tw~(T{T@SY# z;dV3JZu#5#YPdCJC2#$RuGRgBuGK?n^-x+plvWR=)kA6ZP+AjzIVAJtGMXb7#W})m zfygN>B_P-0;s&pmGFLW4rzlfpgM@G?GsRNfM7flSvNY`6QM4iq$lXQvXW*z^V%}s> zbII-c+ZlZ2hZA5l!qx{NaW4-y-exz?Gzq^p1qkl)aO-V$8&d15mRzUl))`LDeiBb? zB+v+o3E!woHc}9Ot5;IA-C?DGu>>3@o6GVM|H7;RN9EFo+U9lg0c|rv(ECQ$>(sVs ztGD>7wz|Hm$&*tAOmPe;uXK-wS+P#t?hw83ktV2gE+RFe;UsWqP+A3`|{ zRdYAipFhYS=W^}+Ax^3-F6jx+qaS_y{a0U4T&zZD7_D!?zln0M#z4@-N*N>@Bt}*W zk}gw7((NpN-YV{G^-4!CI+tf`#TzChg6O=@f?!MT8U23I16j_zU7l5fbOB9nM(r*8 zn_A`G&cQYS>k}Gz%fQ0|(+D!4QO??;{)7&gF>&5ACeGf@5Vw1Tuy%@f#dD-yCaRf% zQWJ0S1LU(<5BdUrElGlCDb){$p5AeDc))Oq%@i?zB>@jlfxPn`?@-Y0>}?nK6=`&F z4i31eRP;l6cWRG7=dttQp($hLT-fL&cnC_nG+zSxKR&5oEhYIX-nSE9^B4y4j2Zh+ zhyFX9rqnlZo-Gp+IEQByn*c>)Djb<4M^@zM^|rJuXT#zeoMSOqPNbI4dHPYUj_3&( za~H&aN!7mCcaB&}KW_^3!YN=;&;|Ji zPxpXkiXNG~-QIV>D{Qau($(adyLs(0mpB_$JBc#;qyfwd_93mj%y4c)vPZ73v**sQ zsKnMgwU}|I7O>t%jNi!wQugdot@eoa$#9r|re+?IU&sBL2u`p-ReqzmSFrX@OjG9w zSAk6c5IJ9+)OcoIbq3DHn-u`(GA}w97%Bc1;Yv^$lP1juC4r_OU9FO?phrtmBZ+f> zg>ir*$rP1A$K_S|77FVY{x@YAdR5p<`i+xz4VItCq-XBA&qDQ8*i0fOzHP_sc%Nr~ zDX;EnHVVeH)$pE@wi}lkR z9ra<#pmzVsqLq&+QlhK@HqT*tfcBz)he<5QwgRb*B)mg-%`j2`9%`2; zClSmQnj5%B_Wz8x&mQYyqbYwu$_GvPF-uf5?hN0nG4qGS(Q{3~9FF7BTbJbPZdwb5 zMrXF&F)iFhcz3D`tWCj`(%f-nz#j9AF&d-CYDGEcl+o|Wj^@+>t`I;hT|UZxuER2x z;4uG&(Kx@CxR0a23*lSRUi(!hZZ^ zd4LlHo+u1gbQF2ckvB%&*=drMOu&y28B^54v@8Ss!?_%jcUJGumnYjdhk#{X>Mb6? ztfG0pvDllv2ci#OC%ncP(0k5*-0Nq{BZxM~%kuX965i!Es)dfTzCOHwLLX3E%o|5i z)y@&r;cWMw;X>s!H`~}zL)z{f-QVv4*b^d^>H}RD9@ZK#?k3XB{F}FMi=hjED8RL6 zA^6)Ool(H(p{p602;H5XP@#2=F77Px@A4i54jf@ts<@$;XKT^5AbtRUa7r91faYZz z9SzHnbL^KnzH4#t<%gkfxt$GV<|4uG5&*PJafRu<*>KMyx`6$K%;5X`4H_2ZAJ_fk zb?OT8j~n*5()K|ea^=qOTj1XQa(oQLH@I~;GfEmBJ{0Cf;Lc%QsS#dGf`;&AVlk6D zh)KG!wbEK!2VP@qwE?<+*4JRgRd250!B%ah*#d}OZDph0vd2V+sx=zxE1PwGx3SS! zj&Mu!^)-EF6j#)gdI4Y@fZ?!aOL5|X#-s9a zy@y(FeT;fzSx@SX1wp~%1L8Zxi>L|jeV@C*iJs7xq!56}-rzHT_iZsli7xX?bL7Xl zEbY5bCJc1*!-Ualw%ENj5J*ZG_4?MzTB}~0R+TWSDPgoW>+D|nZVq9@JrhOPaqvmo zIjjS5%oCTx(<2AOBRHD;8{=R{x_CI40FJF#qICPGul{9IfQz6p|xyG72%w zn^+b77%+M{boi}*3bF4=c}a+J4L(-@_(NXmDh^x+;M%&M0A|B4#MTp+`0t-RhYD7p z862EO!rh=wDHXqd03L>^8O#Us0xZ&d(%EYG(4tQnFN#c)l*-Uj2pZ~rv2mVYU4cWW z-B!Da5ZiOsa7+cas}%tBFrE2l5l*4CcfSoZl+ekD6mj#*w(mXj>MaLKstW6Zn%kwwCp@!(=R7 zBJI?m2&$O$xkoZC9t-%wx0`5bfdD*hY6i9s3nN1QGPF#CV`3pL+bI0k=YsRs^I40x3Py z6?&|Ddt}gLP;Iy^J@J3K|CM+UKcjO#5)dMWshbqxpT8P76hI7zp`yf;5Uv!t#97PFy9$<;}u)Y+5o%pQK#f1oGQ}ihc%^zr&`yEGw zAZ}&9dqolo62WRD5fFM$WP&Pv8q_P0vcckFqt0HSTOhpQ@1}I11Aa|xb%2#b^+#TY zh>0@7)e1;|F@hbjkYxU#dPYGqO9E!L6BRUnL)E2(wlV&isRyI@p6tXBI_;-r)vgqy)C6;^fdKlY+U_zEfNIkPlK`|zU!YYIEOQG3aR;C~ z7Xe~6`_LUf+P~}%siW^GeK|=O{D9_v4SYj(egN-RMjZ$J9!orLhNOi99gzEnorM*R z8YoAG-HQbrd<~}WIxaxC)3h@XDb|BA)%MWEUyaX&nnZGZ{oT^S$^!fqSI*E^hSDHa zP4s!htH%P*$g8Ist=tkS@Sb+h`rL@*o?dcY@dE$VC5Ed1vVQ@PFJc>WePvmHefX0b zFHd?aRR_ax5k? z%aAHv2n8sdPj&h$7{tv0ftVpIPVR_X)maD$3#o+YV(02POXu$r{1SpFJe*4Lk#FsPnFeD%>W(y23m{BA7uh z3;P*F1>YYctiTjG@FPSn*J#a9*ZRlfzCFG6PjA4Ip`l&P-h-;MGl}Erp^K#SJPuvx zhWmRs{ceoVw=8#eg@Xt>U7fj7#BtnLi3nt~Of&Vd_mOcZi{qWKtHBP(uAf~)zqk~% z6!JEU3R7MozNEPwN63S@-jk@Dl^Alf?1c;grmuCDNiBr0pzbv{%OafPsvNUb9`mwJ zbZAs##4zX(f-r-M6V@?*x_YPsO5Ed6OQh2edWr-o(ls_o=4!;NoA`G>9DMbQ(> zdIt}GY(l=<|N7O_mtVz6-#>lxO?%-nZhm?u*KhXu!sD~iMgMX1<FkW)T{Lx;Gv+Ur#8`d10;_cqRBBViC?(XZPMyVn#pjMKJ$JH0VnK|6d43?V zL@!`lFo5v~e^USLz(E)z(14y6#RczQmG0zQrtx ze&JDfe0oKAGcd8}2Of|onZzJwlu3$YItB`xHN+MQ*QMtIQpg`O;Y@Ejcjs;LaxcaC zxYS%ipYn&Up{EdI7vwk9MDW{Ls9+1um6eKvg_TEN@?>1)mfGa$0T}15Ks00hj6^`VQ|y=}qnRmNRfSg2(0rJis&hRg~1W0qaC zU8_JH@2RD@J3fc*`wjBJIjPm zY$*67J_y7dP{K8qdB%yOX+J;g+`-cYK<%1;@w*Gy*-#Ic?NHBU%j)q3?%(DaS$Xseu}WUpUWy zf~f~0S7or$E^S`RH4oNqB@IN7YTrz_Eq%0^IIzq$iOob>(j+z$Y3KQ7BJC_r8^C%G z3hcD$Lv8xxu*IfJW96PrXJhRbntmRB;ehl^I|7CyPAHVkCIYuPewxU?1WzEr`h2ju3ecWY;G7&z4aLZV+E;O($6WHNrmwwjk+?B&> zU-1DCX%Zocy8&$yL;(aX>{kKpg3cq(TZcPujT36pED^dq%y*P6B2~c{u{uV7kVA%6 znZ&Y`U+5EA3JdMX3rHgqkif4Y53u>wC4^zbS~}uNzFN_RHOYV(OPAnd%42dg^aSR! z1}=cZb{sm5Jlq#v6B$k3gZFO!O-LU1fM;3vzZ;vB8j=ijyP!EV3OPV7VGeNIjj~{t zi|ftOTs5O+F{9S1WVD&fsNTqb!awI~!5UTJBNR=LQgasv9wUd*z!CX;X?+{!C-}@LODD#Lj5x|L~h&7$`-c9;_ zLyBT}TI}2)o>q2hILzFrZ*4Vb6uycp4Gr^YyAW^Ns`VzmjnvB(xPcOXAsa^Y9Eg_& z2CJCRh`UDCqSM)`3~q+IYK!+g^xpJMmT*^y({_w+yl{pBU|Cx|CJJ*E)Ym)I>E!Ey zYK)@>^Az~qbo5RzOMlVI)`Fox>DrdEO^bopRkkS?a!kEp1<5S+msyj{vO%t*-MFSa z#ETb<5W4u|HAd{ZVZO$HNK4j7E)u0N<*AOo?xo{oD@PknAif3|*D>*uN@8 zw06Bt46uS`l6J;6|8 zjPwsw^gZii=;3p9OdaRl1+mpuE=F*^8ja(p12ky`SmL%R!zKiPQYzIS0i;1RqEI!? zWJA%G=;}$mu~rjzNiFf)EwYtJ%j`dMwWS)g zsNV+2IonXEvnZsv*-^DFx3B&Ou*I*2WQPdlgFS0ux0g>yK3%|J3@pofBk2ch@9L)0 za47*dO%qUmGArIEm2-EjTH>fr2N)7-7TyLeArr>+<7quN-S&(lH-IYwEV(cR68cfC zy&o0*Id53>sg8@O`#CUr8;y)6WMiTn#dmMu}gBoG@zk3%iEL0Bb zSF;iNj>n$wplCor?;ODT%FmO(TRbvlyb{36&Oh~FaOrQu$IDQp!zS{*gls_Q2J~@% z`7s}V{I3sC7S+VfM^a#~0L`a3;KU~pdS2=}{dZu#-%ehRdRK72Gpzg>T*`8d`5_N$ zw&0o}sxD|xQCn@{SH4evR%0;?s5U}E4yaa4EEb|pQH*~zI`HpX&teV_dp|)N<(U71 z3{=Pn5vKJ_nN_jaL<hsGMKXa%vFf5l)EmVS(Z^`2n4&daSm zPS7$6AqAA5Hyg=l*s-{y4YH9AV2Sx2-0NE~!f+uccyy0&)@q+Rxj<0p7ejG<786xK zz+J&qV{{Ed$Cg2T@_k^$-+kwTJV6v>e_}G2Ss3(M9cL*<^&f(TGkMG?DLDCnU}e*P zVb?UUU(@UaT>=#Hv?KJrAM})2taPBKthfPw=dI~5p}lDu&u>6?9^5ygf$xO(rkE4T zM&QkByvWY_>1#*6tPB^6gn;2hb{X8=yFh)gjvG%G>J4vqc69Kz&#uuv_}3*+r$ zmIc?!Af1zyxbs<0fILo9Ift5i4-*2N>+lK?_eP+~Y~52aJrc6Vh=G|;A<;!Z*v`BU z3x-CRghncYz6AeF-VsoT<~mjXOI>=z(`F6_G=QmCf+=jURcDA#iRxQ{l1nXrxpGN7 z`pPBI;~`DLA-d#E=Uo#o&0eZDc1BWAK4gd=pIGL#H(@#GX5k)OS-pm9W~>Ej+z-LM@58R8yTO`6e< za>(hc^kX+W{IZ|D>SuqMX0QA36XD68~ukkxT!J;;I9>H%)(k9s6AxKKz{8 zM<@r7ms|`Q$c&-gGNzy2>ON0?)ILTJ%&OE5terv z75cr85%S)C5pWiz_7L2EQ>M+6dLL)R=RqNS&ahx`F1xA{IuK51Sa;6M{n9&wLD;%! z_p;meNp{_~oS=s2nwKJszTow4>B#3QWPg>pm)rtznwDLy!-naE_=xal%vl|sE?>gD z9wt7gXv@bsAa3%C_!oCYA-{6XkAs_!q}^2Ia=R=!Uug8`*f)lM>Z96G&}PsbYogyG zYVr;a0a<$CLmnsaQ&G)P*9S+!;!8DZY50=GO%aAWMc@?R_TfVRtzivH5M1bW#9#C$ z!!PmeVt^I-1=v+ypof(UKG)xBB+L}|hWMjNispb6%fHKLEyEfe9vvcyG1ybbUN2{A zL^+rclLl&#{&25Hv{NL7;=xq5D)Vz05N|pk+>;BS zQ%nd51xWdtu9uV~9=o~bS#ON0UMv95V zGr%=~JRuq|!28n{{;`BZu&E#A58o<(@Y5u9@C=iH(?b~mz+miLM}Y0Rq)~@*haU|< zPtD;ppEc*^@*Ku(d6?($j1g%d)>qD^)K4`(nK6ZN{s0>=PBt86^9~cs@*LxPJYWD7 zZJQ*2xQ5CPB6`UUR;~`HIK+^!!oPJ^CBEJWmLh#cS+SL7D_4Q@dcMw2Q|I)`e1@D7ZKWGbCyf67m#v+U%-h4xSV4AT=c zxd#VlVic9GwFhUTYg#V;;z`iLBv|{{B>2;ug?DHRY<}TA^9ygF+g^cg!=z~zCrto* zNG6Ro<1&yyLJS{iEmIAyQVz68nZYf|%egDr*i*S}@dT)Kp0n;*t5zVQ3e!e=H+1c68p+y zM*NS}FVoJsQytPw!3D2}^%l)_b!JbXgyVJ8ZA*p#<2=9hZdTZ%) zR`R~tpmjSvQS=wtC&GS{)Bsg~ts|MhYXa#cJZJ6}wGDMMSltL%L*hj~@4cCG2M2*f zH9|wDP@hue#>hTNXD6Z|a;;zO)|Zc%uEp z*%TDU?iXr+*I@``1?q8de2)wis!K_09FHnu3l@70VHAzNwU@#uJT$KihN zJ1-s*GKW%n%g=~-BKiq`So-G2DAy)!JRR%+_tD-rKfL!S9OxdCPs9ybGFnsS$Ypr*=GgNFUH^F_1>kgco!6Tu+ z*b`5cgyl#_SK3TZIg~yy9EixwMWo>afDLN3rlV>1+`OW(D;11?HU-YJU+?Vn4aB1` z+j+2tIYW=s2%c%YN z@1sXmB{D6L77He8r=w&`4h{38j>II-mk%R}=!GXVSO{D@(41BLBX23a3LF4;bf6Ov zgDb!&P%_gQ&uYtmrf&Zd2V;7WBlvt8W7yEq*s?F(bk(2F`q|;(;lcs+TMOA2^|#>4 zGxd;SfMF{|-~D--9WLwxL!t{UVw5g@GUuCj_=Y;iB=I#)7;%?cZ}~&wn4VY8pnQel zl*8eOo*)Ci_-eNA(H1H&lDzGtFd*;<_9(*B+jmhVpx>8&j5q{Vqr?R@9-?B7N$oWI zLVY89(-a!Q14G2!>Uao2Y$FK)Kh1bZECT-aKfco3_Bf#~8|%$#B%O_4%8anITrMh zpXfNm)dKS_a4cgE0k9(sSaE^iVNZdT_J<-XEPXD2fndSjI|G6&>^mle$j18qbciqs zFeY)s-koKrxYojvP05M|bOd-~(XuTn+56<>*4A8ly4Hn$G2tUR1V8KF;K*fYfq@MJ zEIv8Iff-hIo|ttJQwcT$3~=Esdw9y9%M6CRnpw2vobHzSFZQW9fQI^QMZqc`ehGh| z)$e0}ds=Ciy$I{X1R;-7Ze(5vUhz$zJ~U!c6+?+zyeK#`asJh6sCiYe1FM{U3Ks~I z=0ymsu*cqvIu9XsEKk>U;i#9AFkE~AXoEz#F-ctpD83uC`NP}JFAgh(Q_JB(WjGE91+s=SNqRt zzj1U7_6DOO%y@AP#_n5!s&CxGv1hS6lj!tIUqrByQmF$h2?Cp%YyslxdacM}fA{}? zh(lMs(w2*4;Kvqp#Z%zW0g*Ai^@L7nc8SoPACW4NMqO@JZlIT-s|jP|j=Mt-Ml}yT z*#9Lx2-7v`L3Wj3v(q(dvF~~i9jgW~Q@UwM+?e>3Tkc0Yh}h~PsY`(S2?CHG)@lR9 z*cfe(s-2BlALrmg;1irq*S3Kq55JgyQH_*tJz--Lq|IUvdFGALAwB?u>1nL`bmDT& z#9ZT|39y`{`r;TqVPsQo?qb%~|94l5HZOw*Xu_ZxJ%ULDjYtfDfQLAjn&vPk2wAp$ z3v>H5K8Joqtq^USnK$}W2$hr@5J`ltG!aQmSBTk%xJc)nFEGf9@aE95j1ZQ8be9y( z|3AXs0YJ~iL?ApD6BT|Ymso(CL898fWId%GKqALAt;9BJ{Z8-6lQq)w2E}_HkqR#G zG)yq9y?pJ4E*2K*ZMwz8Pkpp<OsZv!Vs zg-S|T2UtpJ2=5L@>O6iYK&4qQIFKXN_% zA8Kh@YTO1K4*515^Hm&yq*Vl@RQGZpA>e&S@V)Hn;mS*13ONQ>h_r%#@Iv+#gr1zC zAzi6%v8yh@8tZ|w(0a*$sxbxPV zCroAa4P>?^nGu-qGh08D;00x!;ErX=8iJG71SHhen8tS$dv*X$U}5UCW>QSOz7Ye4 z%4s-vlA%xZ$#G>dx8@=UUi;O^Jz70cS*fGUa>%z=5ahYw~ns6^izMC!MVg`2~Osp1Q#S#HK>r zI#c2~$+_RzsuDK~I~Jju)d~*xwT!M}wGVc7TKA|8`&Zr(MTdvsjbGE3^5bI1cnNy# z*y%yO?c$T{FYt&s#Ff?q{<@JNtRwy+mgV7khOm$RFJfQX-&O{V(P#W^X3Y85{M-7K z|H7c`SNvOl&!Bhv|9}5Wf8S<*jVD6Affz*5g!oTg>-7u~X{1u&u94NZHc5iG19%Rn zChzKu6{~j}oSeJ^W{ur7SLF-jvbiQtle?{kych2H#k$M6)pR){zLnjrt*@e!{#3>- z^4HC*fpE9s(qsw#(jxN+7v^u54b=aE3nxkG1)r0DQH2ZJVVCuc@pC`_f~;BH(hHiR z#kvc7I$X42?xO8;7pxfV zV#8OwpqkbMy$F4Vi#Etzv>`ixy-Tt)Gpy z8+CVomC5L?Yp~S+4_{dQ|JVhcM{+H_fB+5XP zzj(vRVT{kNh{hgWx3Udc5^xnpk72S|=&oyjvW&RvR<>}JzmMtCoyhE*F@>C$=EmMqD?<-cSgzumu>^)fa8d)Ht4FImQ~_m}hW z7hZI?^_iEJY)*d5e|0nYTm6e+FgE^n?xnv_9gZ%Fq7VG@%hUDpm4EtJyTUk?)dW#aFAJUZJ*AA(3|~CGt+iM7fjg1K;Pu8eLuM z^oloif5AK5V4x>OM1ANgb((i&PQw0wc&B?6l&2fO;<4b8Y`dhu)8*Y;&-yO0FPtp#go;5EG8e!njwGApYp1$5hOeN^#7!9V$SqHD=H`E= zdkSlAEH#Kwt2f|((GO9c`2`vbxpILMOxmxJkuZz+%T<#3+^=C?uJ=m(M#GQ&N(J+N z(U2QbM}J0_!Ykn5J8H0o9sLV`h~+F@_#Eu0ty=O6Jm~f9U-X0Pweqt5eSef~@o)M= zcFLFha7T0tnQ|UDMcj^Il9!1=fQfk&#?F)#nSVK+>@#}dW*cmCNoerNf!MQa%EKlv{)_h=aPYGxx~xW6AoV(>l=H zyOu7RC=7M%3g`#u{yS@s*)*4fcsqo%MGl^-rHhgX{Q@kTZo|*;;P8QEpi2YAEVb79 z89vqZTWQBEoO9pNVIQ8?;Dp<0)jbG0qULWw8_t3~Z9vtxU!#nFgi(lv{e_ZCPODpn z#6_DT8(xP{KWqD}Y5!Fz zM}`AF5?~L<*d<*&!iB?xO6;_=fPsp9f~^vX#)dAW6spBjUq@}A)kedovsxHw+h{Uy z>-Ffc2WPho@9Ok_mEi>2^p!OmbmG2~I6$z%8N)FhRpIn$7h}B)GZ_qUP92*@18SfS z`vv&WgV!t9q|7pH(JT(y&{l!=6>`FEAjm1YQIVXgc~z)*UiMtdO*Z09*8apM>(M6v#0EF>4ZiLo;sr9pU&>>xBC^tcwL0GZ^42%z zw*L6I{{Gh2=C=O$5dZ$x|DF`aI-v*3f)<=t)@8W8<;An4vrz9W@HhgCj|ZyYDi8k* zxsK5>=fVBCuyD2$2n=QFqU`Gdw%s|qFJbO)3Jml^qE zzl3GH-#Ve6>i3}VL=lwc39+PBXLJjP<+X<2A)Tz|&m6Iu)IQvwU!Go$YQii~$Peg% z1q*^XL>9u7+5OFHN%knEkt5Lms;TIj`ixBb*@b`y-sJpzWIs3qEZUTD+Rv|%E zln%~JY0auBtfUZA6NbL4crV)nifb-(TOO9r=~O_w1uB85-_Z3eINEawqO1Je1aGaL zZWq3P(M_?@B0TRnFw)AP#$Ea}f*oeI-2Un|6utA83Rrp0IYI-!vBf?6$+;EDbR}1+ zn*RbGgsr?o8k(x@EN{RF=Kuqb^!}Sa)W;2I|M?eZ?)TU1wOGvmD)21fYgk+u%y8p4 zgYyJLn_y#dIga2EQw{Nku^{Eq2=7RvJF3io@9k~E1zr)Kh%I0-c%_D1`os0*J4|oU z`3j1+!g>4fA2d{M;tfgRiWK(n-u5bxb9y;v$jA5WjW@3y-G>LZ(3xTGnis0u`}W0j zdJp>PaH}DY;Z2anMO=eO6urs9^>_q-BC6@{c7NUIVTvA>yNA*7dzdQle8Q^X=qERS z#l`{9a`5@z3bz{@#5wS7!2rM-a6F;#JmhPJBM6Cw#LZ2L(>r+y=eGGcL1>K5yX35| zhZP^y(Z>oT8z*(B&{ba)fY!_*@+&hui4b00n3Y^koCi0rzaMV^{hYr;*NukY9p->A=KSJf&NTXRBCz%rff)E=drZ1T>z%Vh5fP za+@~IgL3_7($~RHbp0v)*xJP!()M}Ah&Lx!z^874>$#kEQkh82n?aRW)G8qNu) z)S(0Y4R+z_^=P5f8@R!?On*}^2R^wzmq7`HwV^%BHBFqAZppY3*UI!&b)!iCRCG?vGePyc{_cobb;{09Q! zdl`iL=s!qeRsxac$$m#x6GXTi_KF0`A>3C!yEa7zk!e)EAlZo_T%vnN*rKeBtq`rh zT;{!8=CGl5@1Aq+jY{2roil6V_!Lvdtd*&r@G=>|uI|$CQ-@B+L*hcIP~@aW9Z_iT zV6)uBjAD;H{|3GvNY<=O{DP$ zANkW<=g-zE)x}|8r2hcrjy8bkz&013+sBKAO%{6HZ z|3QA;Xz*>Tfe_bFL_y4J`KdLU(1=>wT&>|}eRUmgTdSME43jq4Dq~{f2k=8f3MyKt zx><+L6pjd6Yizv$hd_A0f4Q~Utk)`=8=DPaakIIx4m}sd7luGM-y><4rVMLP36q~y z3{HJ*9dAsl%iG#2#u#acUeEj>0;b`IA2%fn^p~J5vjqh?zSTFSvNg+sVBjpbrge(S z*IJ{gX`*GbwdLB=at6{GDnq#j6?KrNKx}Do=G^LPYg}Hwx?7_1 z+4$+G>u@wSwC_d{n5@#CmeZ;+1+-4-!R(OKcg3$eF_U!CmBEM zpUpn)CP$j%XY)bFLCKAal;G3mgUvrJr&X`xEu4Q^4hxu!pOv%ur?9YUj-SzsRJLX$ zrAy>0hB2Iff0{-Vuz#B7=AXhMYbwUiXxHYS;sr~q;M!)Dj=Pd~V?*&`H0b7^wufCr z`iJc>n19+{L)$|`;r!DdQV;tl?bWgA37lH>y0(XD7|uUUBek-BHbyq?3JdmB89!TD zZT=~)Ny!{Pn-5w}r&D7?`))Mh=AV|+w{^UQ^H0lRe>0T!tenk1EzX?mpRF&77n?HJ zm4#jmFE;-)jkS=jHOtA&Lv-uF+|7<>d z_Woz(qWhoGOLYG;yhQguO^fe;21|7Rvt2E^fBz|7K7aqSc@*9MY(0zaf3_|~_dgq> z=>BK46y5)9K1BCFqnFR#|Eyee|FiWay8jtoqWhnw#rHp3U!wb;=8W%uTeuTK`*#$% z76RT4tl<2?f-G-zR?x&PQ{UvLiFH}B&^`fgl4S!chkVpGtUr=wwa8Bs>w%=fjgNko ze+&5rXiwhcmfpmykT<DYgM@#PRm?-t-5pFunxsmckbx^(XvDDRL92GN$f=w&Mdk3ok+qinsz(a*W{66!(S(fKQfZ~lXg44VW|p8?Cib%c+Ej-EqjNz@ znm06r_<|H4+<6}d3z|<|QFl?+f1~jn3!aW4SZAHirFBpn#DD5Rvdb`DP#4WqXM;CE zhywuYv9IA~%oj7*c|IVN9|cZiuN$r-<-9jC(2<0VK>Q@dmU&)>Rtg8t`1DRFnQ^4Z z@Fp2jblOX2qJ0qf0mYO5N(v4 zp0k@Oy}dnK(fni@L&V@`0eh&@-eM0K7liKqvDUdzg3!v&^%q(Oh5inAp}kY39uXW8 zhJ97{|DBud~2NPKrU+--j$x-v+CD@4S_ z%^+o1Z9AOwfs>&G@%k1_fAm2z6!}*+xUBi|cO;-xtUk#p5l^5mo}BIh3(G_v z#9ji4xxLx6k=55@jjrB-g*p_q5N->aS{15gATB=tiWXNI4MGL*B94Pp9}z2^FrK0M zMgd$CfeZ3XMijk+n#vAjyHG6D9Pp&R+k-dtRvTU@;ZA*mOdEG>e|+SG=|jX3x&MzJ zB_a(aeJ<#YDR6}X5tF7?avt?LYq$m)iMh$ufSYhxdz=V_jjRl?0%C1<^AySv;(any z^Op{I^(H4m3`B)~_2oSCbqlSCcz4b|?8WP%bcyNuht`?gFmF**;PSxCbxOC?{MIrU)A_&aNe;wWQS}&FBxJ~9J9lqAw z=H8*|Mf^=N@7E!TL~|oQxR*-b|;`S#2X`n$Xcj730IziM46w zeydwXK;k?MeILZ2VtdSJx1SfZx~&YM*@fBLPvU9XdAG8|k@wriDPUw+j73%A*e?b>~XxoY5TAbvG-A@)0SZG^d2 zHP=QBf7~s}guKkO70Fa@f^{aD)~vmHBo`##mJ2m97q~FRTo6H9dz+dI9HvN%X&3QR z0N%P-uR$)ZxvVlUy&`~#gj}+1J(Nv2i;C9Ohw|0QSJZqC|IJ9gEy(;Wn+*V1dBtqa z8kn4#&4vIR#t7c1N1&r=od6^2LBxUQ6X`?|e|0!E&+lv<>~&Y4jRfj_5Xb1H=8Mr= zh-5byG315R>joo+y=2uQ$&0*yzq!DowQvynjK#cXREV4h_ODmGxkHrEMj#B%oEFFct@)dR9PNFIvS01E|=$#f6V}*G|iVolw;?94OZ4An3=uy9M=j|YgBG6 z7=Vs*dv@hQAM+~|`dmE8_9db)VjIR`K;QeR89!M}FNQ95!+7HH`R)c1)=1- zgkWt!P5#N}wnUt2EML+R9`?O!Eqi<=xM7s@vn!rIU~9p%Dub=cB_HwYPWQ0ze>(FI zG>C}!>+q1}ngd@&%^saah~{AxySrOHm%&7IMe|R0LnQ8N@y+dAQ$Zz8bz0CP2yieG zho~^c9nN9?ZArO2>QMlvu`qrk8)Zm`u|=KpT$DCKTbzQ8(p&jW4K%~xh~pXzAW)7JXjVM(f3^00EM60OD=96?K~b(K$PY?2Jo&0=3?w{n4C>Oz zg*W!+*@ZE2A}xPT{TT@FVLIitn%m%jWXV#~@iJBJ(yc6}xuI3-6r44nfBQj#5cQwr zC@=5Ag?0Moy!{fKeg1(qz3}Vt>lkZxZ)Be~e8sYifInyzK503DHuM-1G7aP@EYpRK zsWE$qCYMQPbS-pO0lQvO7b_aOFt>~;af-;fJL%th7k=#kmYe~e{oS5Fvl0SnVG8T2N54B78ruRJ!CK_x1J>$U=WiTjy!Oa z1j`rqzkM)%Yj-@;)Rqv(gwLfreAn=yc=M|C635o@dwlCPXuF1Q`(OOrsDsl1ndx?# ziZ9TWNk2d?wu#_k?sWr9lpvLylJt!>$-)^C8|VE|YqC9&Yv!m`f5r56mU4ToY8}oB z*EXT-f{-zz-PXrsf3z(Ei2P7}{o?T9aav>+@O=DW`QThI{=(f;gL9GBUb~xShQnbw z*=^MJRc=5=7>)`CTXU&r$nWElx_Ep$I2-k80|59CAPb}hh=V_iB&_kE+v$N%@ea_v z?OxE&kxLy!lG3j)e@Bx^AN;{W!6*D#{4SZI>ETm>`!?yHPhs9Y2f%!C5y)r-U-%~j z+26?K>9ywomP;+dRmc#l8n!&$L3cQBc;@DNpt)$3#X-8j+5-XwJ5wtZGYfup&x{v( z<=>95@!&gui=>|Ts$_?N9M3cmc!Au@-#rC>fZ~~9|6ecwLZ5Uf)eI= zdW}y->}h32j+$=p+iY}Bg$^$Gqw06VG}}OKX%^8vAr!B=oE!B=kZaN`;Cm#w~2>X_vY`In_ir}*jIjlxCc zsxp8${0#qY@sF2&qTvd^SG$)xS46|?qUoib zTl<*Ye=OhnkJo9=YyAjoNz`Ah!4HhQf(G$``#b4Vi>04#sD1JKdgjL&cAEn;uOiVmK;qTUa1$BE81*!xKqr zd|r83`L*(M<@?Hy7`xwsn@9GfD?aXieBXNO3Hf#9jR>)REPXmuWWEw$R3vp@02Qfe zJ~r|k4LrwWeQpi3mzIXOVxByQBZgP_t3pdJ;d;K;`na_8eD@uVzgtJ8PrtQ(|?C?}x1AhMPuJyBXW5vFI-@-`b zskicdwOabbsz}AG;8zI%`RgtiDQt=a&Cf6C1PE2Trhdj1g)QvvevjLtlT0NU9R60? zk-kdAewo>a`O8Xr49ssFm9}0O`>h!ne>UcALas@al=m^GZ6!DvVc|M`aJD;LnQ*$N z--K9HHcaJ#bD-v2C-yn1`CKQqd%hLP?S+Bmw_Fd|Me8DftQJ6ag%pEqkcZ-`ghi(C zEr97tVHyyQ3x(;-Ki?YuZ(Cz-d)CM`mS%gz5+H1^V@{4CcY<9D&E3D+*4j4I3 zVWPOT9qSCkvXJUK(IHiL2M%nMSY*#MP%}dbJu#5-IkZ^hmwLfH)VSq-rce?}oI;$T#JS{1J7*J*{f*$S!SzzVf<7a3$hKY`9c zTNi$o9Oq|AdcQ5s5_d+ZoL6MGs+?7B_0R=|-<%Nu(b}wA07LO|!4w1{!(o(r?KZ@l z%CR8#23Wa)4#y3#qMJ%ESoE~9v~-LxvHd>P0j_oAj@{^fXbl1a9ApU4f5@%7Up-$D z<<`S)f113r{L8nc?P``Kb%0Ce*N5*GD<4YOS^$=F&36M;L69cc*ZcFTnp@M(QBdrN z(Qc0)E_QS*#Z>R$D5D-hUxAZ7Y~|2s?C#&Xp`R?DMQeH?065GKTa&LomV4+K!I=m@ z<;9`gX^Q}n^K(%7fTffBe=B|Dq|Gfy8+-dg8zY==TBDPr)5@#Xn_vw&Y`t+Bi=e4@ zDW5J@+2Ic|3e$Mvw}PQpKTa z@WFH_$!h%;L(t!^EzS1dwhqCsg61oKW_z`LJifx?TmChizlKUDf1I(+;1&(J;OhZ; zugi73Gb0qcSfiXQh?2f2RlY<6FLw`jUg~_fK6ze#Df{NLRD68$y8P=YHeGJO8Skg@obSV&#nAP^itx(_JoN;; zZ0OK;?hESx1J-+Qe~jABp|m4iWmD|xG0z8Y*kZINilSG7qGQ1idjfnEdQ!~Ep7@-< zwGe>tnWbL}CAhoRI^kcX?+UdA+ z3S>epvLY@a8||NNlf`f;A_l#4iDsV22vYRmYVXfKe?ZgaJz>=zyc@MSi`oI_L-@flpd4M|4yaXG|^ zyoEpmfA>RhH(+3J*@e85LZkZHlBPGp&$SKvx)y%jw2$jj=aNgXvF?L^;MM#)yXV2M zd#}N}I3Eou38j3#Q-*lDL>apIQ^R%Ck3py0v#9>OD8?}#N4G;S_-G5)i7tfaquG$B zY*3Hta8t>lpPF>URxR<(n04pp?RqT00IW8=e@1O0qnBOrMAI3$(?(NgQ2J>*sgV7* zJ-wG9>#mHGVP`b>y4{A%0PI5(ri$^0>o-i6C{=~Jxy}srEw(P!bh5tb>P)=l>I?V) zIIZ+teO=sYlqG<>df1}8E1>=~#82A1VXv3P-UIZD!caj(WBBF7-k?owUr zy%;YFpB86XcHhDw*i{7I1Z(aDV8h^!0q*4U=^j`Qmb)<*7c`;Q5S`gr<}hgfXvmLs z{b<<^zdi2uyA;4vJ-5Ep2$FsXlhz~&f3}0*($XFvOxu7?Lw6;)xEOaY1Y0l6hZ)e2 z=4whVtpUoxsT#odFijB1);AQkNFLoxH6K*+G~d*?#iCifDgdT^b*yAbtfOtLyLFou z)N&R%Y=;rw7>k#5p;Af^nl9_YO_$ds*V^_rS=se>Jgr z_eL|$tqf0I_E?5Ts%7;;w@<8-)OnPNShT)}`-=n{uIX(F<0 zut-yi*tuI=-~Lz9p9v69WnVg`rm@tYenNSc~i za5%sl@DQ^E4I4p0W^%WbuyUDPmwvYBRPhVn+$nSU*i5Nms>o1wxWb=<7b(Zd z&dOk5$F*|=a!J=dxVo$XYaN_JMHS-*ZiZFG9 zjOZGhI+Beo8_5Aja_}W1dFDoPkdEY832%NR&vYaQD=80KM-th%e?Ln>w>PKd{>Z&~ zpnEe=Gl*bg4cIVAK=EuT6&KHztRH7f7+S*NDZBJzJ{70TH1(%^Dr0W!WG*JRb|G3? z>R{=EnW6jO*~vsSPNKMYgu`C0!C&?*_Apfy(h<1kr~HN}AB&R%YN|Xh-9{%B5*rvi zR`%PhhYqPJ7Au77e+j8EQtZt~&|a^DI3Ti3A{$VDn?*WEPhu_Mge$)_{oSZdFiZQd-lPZIei{vP z3SQohyFJ56HnG1>7~ys?nvc-k%y%FrIoz`6ZuSjGwd20(c3GVam=PnNQ>K8*LV>d~UL4Sf;iSY0CF62l4y zz!(tls6Z!FNPi*GN+~7%^8;mPo zR8_Lb^ytc-VqB)2KDa2X2wya-48{GR(sLx@2qe9=f8jCRN>u-lmoG647ftV!7^z$n zLL1fJbZ%wl_G)EiB^h7LWKy%byoPQlU{t1+MN$l|o|BeeCLk@&*AQA88|z3b@ z!;~5$m-&=gpm7MtEw+K9X(t)0JNZ~CY+#u~ffhSJM3>PZWBxo6c)0gIW$E=SOD7>c z{1#kGe{B+6v_daD-yz?N-b20cr5IK;(+er~C-mZnuop78MfM2eB|X-<3#C=)oLO~0 z#8}yXsPgStjm9%e#Wi}m-5yucPjVvO?&%kuIqcN-P``X_0AckuaJFH60xC6oinaix zw2L0fR5$%Zof0BWG`9pQjh*bY;psm7fB^93Ul=+Qm5UZw5p{3?^^gEZ zGyc9rR)Pxu2Y4?wv~nFW*lS!6Mj)arE(IKYcKGPL3LnHYP7Km z>IfZ|csV~+3kDFVUlhgr0)@!sp~Msge^Es8fYAXLNc;&{y8>N2!|gr-_ndBb5WUBJ z!5I>OLz)lxO7~z3aGqSJBEN3w*0cWwa@UIOn<&XfCagj>*b(X>d%^0F^^ZaPQbv@G zWx9N%V+kpokH`ljI`1|}n6V|hX$OvL42T)J0Om)4*`zfi{~RYs$n{1z4r8dwe_d2h znF760oF3rAbR)NRx`XtZ3ii|dpsx!$A52sT0}0ZnRMUt%*VszjwvK~bx`KjuW9;eRV~)j*fytZ_aVCs0 z-!mV-hW8t2O^1iXnC6(HbI5z;MCFX6;j9-Sm5mp6H{odh#kjFSArtJIAWpIe)Yew^v4sW9{XlbG~Gc9EN9l(w=?cIsfSRf5F>I5o*1%_aC~f z9D^H}1zxiM@xUKG3_Mj4W58cN1pGVDYYuwJ|0h8Iu5iUl7wX@ymTOm`j6Uc#u1=}C z>UKN06&-K)gSU6vP*jsuv~cICc-?vIBTj4?yN2lc3vK%1aWlRF4vh&iOqn1Bwp_3s z=7ds6@q$j7hS(gve*}|NnE+DT3`L&!5@V#X#>cnQ8QsAK5>?tH<@qwhN+-&f2~bjG z$^?mdj!eNWIo$75>qcrb@z`W%=&qmcOKTY1KXn6(4lgiRRYdoGsz<7^07_*t}c;f8_i=0T^I?7PtIyxZ}f2 zks6a=1k=|?S(UT$wm)#+NB~Eo?&A)z>?W}1E)`C_r_Hk+*?C~u1@g-DRqvO0&q*l5 zgItz{mo*8Gooh1Vdcx?Ar_{YvPNeQub7p2cKd$o{iy0D_UB?{u0OXgkHHk+TX#b7k z#Zp%6;(vY`f88$@YT#Mm(qIJdfk48Ux8oVutwGEiWGG>lw=)1wdB7pREjXS8Z7(g| zDw7}Vk}Dm}TSsW{Uy_=}5UsF`xe3(XKeXKS1D6yz#$J~y9|NNQ=t(<)oyUH|Sx+nN z!wx9T@I=}_a(#RU1$ZjLzpcEkcoViATv3*(a{^yJm)$>HhF>$}$5-QBbM=fM8!)18;C z%krzQf6mK?Uv;2{0o%42UOUypub?9!Ze(eHwzTxJe2i%h^E5S5D}UI9u4GCLACwxt zZ(W`IS{~3c?l}NAXaL6U@y;1Ce1Gz?d?woGXBxuVhj1-aHEp3H8FM(aglP{>@VMbh z3((n|Q$HL&qJbS)@=5$;x^n&=D~vWM)^cu5f4OpN3OCDik+7|D^6*xfY7@-a<6z9? zbOh|#FHwQyKlApJy_w`b^Y&A0_nW}jB)0qIR-57un9Gpg1+!N@XGl{xufUhNZGPd` zR!=rSs%Yj{LCp~8IA+|WU{JAV#FZOFwUQRv^OM&p01Bokzipubtkkvg@|em4O|H!P ze*z7Ul3uSx&zx&7H1pxK32uhdI~H(03*X_P*6!Mc8%{?SaJk`h%2WrNnIonS{7CKO zYn@k156%KE5hDYarA4@Rf-53c_|(!vE6XzUhYMqYLVxC!1^bZ~Z)XLbzlmYB0;AU? zZO$)KP(j{N6g{Aciloy|*RZ&gH*daSf0R^p=${NPK(pSNTX;Jb5B6a;ci#_k(p9Xw zxVOqtS9koD*}>ZioPJre=0VFhn>LYa+0_`f%n09+#v8H5ZRkY5d`(=(hUj`X?si|J zbRK2S1z5j>6SVDi?lY?ICK6w^2w3=*@1cK;K#7A)@ai%UQ%u3Ha(OfD*Y3||e*lnO z$m=MlXh9HVRWqFKN^p{(TXaz$(w3ou7N&kLaFH3(B0Gp+?>)o$dNg`Oz9#OQApbGM z^Z}sY!@?z-EJD^EDKzL>_>QhSZxgI7P=4?eDL)En*zXYkW#58F^L`bV*woNA+bQ3` za!JoR^De9T3oj2NX>55XX0e{;f60&YxfoFg5u+{a$^=ZA@BCoWd6-evXf$P&^U>~) z`LMNM5DLfUrB7v8SOnC<4ICyg!L*~_txPk)045Negn5I}4BVS!OJ`9K>(!jF5CKoo zMQR|+JxOI=Nrf>RG7zQaV(u*L?8p;3*^XInBbGdE*uz>*!S67S^CBC-e{qly(0sG+Jzufa4iI{#PDKMspGMZ z=!b~gyiwV}3*sm?31*=*C@*`?Bo)`=oRl!*Agpt7z)Vjf} z2oJ_USCtLsMmvpc%?+u!3M&FY#BkFr|3wX<4o1;NQ_yVk`?mnV@K=b)Eqx>)Srs;c z08y*0NtCxHfeC98AqIVuhz;lahM0A%x&c=QVU_EyQ*3(ETK=LIe*`fGelzS8`e9hj zY3ysuj4zGQ+h}Ezwb1o58rXvGBD}#A11|_T?iyG_6E$fLYDUs{UD6m`l0B3pMxK`F z<}yGa5gi~DK+J6&B2N}AfOVmH{F z#}m6DaQj{mv#uBQe`eSV7D8Z5*CEE(WFA&5`3(iENw5?4j|H^xE$O#_g~3ArH$%2y z4H?pNr1dUJE}Pc7b>a@x%Q~wJC=cph)vmHtq)7d27QqWwb@(_A0FQ)&(<`IMS>Hf1 zMs0}qrl@G3TMW)B^u}q#QgH5#!1V}&$7f;(10^V7&w(C7f5V8PLLTf06m6HU@Sia)_xqqYDx?*0T)hxFP@;enlKfnbcx*B!nTj;gZA(J-HArBNt|H1^Mi1 zWF4 zs6~L4f8mmKOMxYXL^9F^K+Z|_OvsaM5sL&6-B8eF(;-X*T@XiT3A*e|oL=a=&;eYm zdjw~J)r~v^mRp<5n-sO2GX`x2%j}QPN-*&Nk)LirESFv-22Mjz2Z;`7Wv}II@l>qp zeh-Rw@X2BT>dhTI+|H~S^R>7wo)g0ja+PQ|f4aa_^Q42eJO-?>{3*u)U^#>3h~1a9 zS9|P;N~b}3vXPcRp?TK!2*t zf6k~>h)3k_ef}CMxp(3A%YAUw?YV$9ojI37nw&#Vgdi>m3rZ}a8D0;1raoL((7f-_ zNv0th;{<>=?Pg&4g9>op_t~7Aa(RIgkn{WPdYJm6#sKP-1s5v#;jU*6xx2eX|F|M?dvb@ni*%4PMJey_0+8oo!=-*SA` zKy*h9%O2)V0Bm5>;T-{*pbi50=*5`v3j@vt4YAWfaty_B-mO+D3@PaPi%0Z>e;4oG z9VIu;^?JAR=^yl@dH_SH!El23t8Yiw6F4sTrk}JwyqMIspRHEJ39-a7+#cU&{dto6 z7j;1B)eZ~YHeD95KlJKu4*c@{=XfTZsNj4H7G6`K_A+6RR~Oa~h9A_a0Tc*b)~?<}WdJKV2o`N%!Cq zem_D-{Hd)GlO=naCv*cBGaU-~88KU=fTs`UUEZ20M4U#xSkP(te=taH&m4c& zJ^_Se0Ba-(62J+iK}R7_R_zh&MAT-;#Z1vm?AY?+-@keBxBB1u zqqC$>H$Yq-!_wd2w4=ike{$@C=*-{^im+E*m{f#{;8hu;y6u)^$a&#(CCCOjUy#iQ zf=k(WQ>7W36ObbHyg$d>I?_{R2Am?^i<6tspbe_Tg{XPGF#2kSZER#NQ6!R~#57i_ z6f7T&M*|z?>@H_SVo{JijbGjT`%^eWK@RcSzLf2G(RW(6Bj&-Ze-C0ryX_5GTVr#2g8<`?Pqqtc zCqWjiBF*D`DQ7Z4e;)8rqye#PcECM`y|Q?9FSeG;VNkDvZJt>m7%8P(=2|N_3cJ9o zM|UUuZg4Z9h9epF}!A zaDK#*y2GF|0(gE{5iHBaD^Ew?E_ahF9u`2Ms}| zz+IFam6(lI;k#7=C*KtWJ7IM+fORY&rcVG}_kGSErYC?C+J$M1Z4FDUi z#*3wYdJN+^e@M^8)O`kTpxD+np?Bkh!7{{dYYX-Q_>RnhH|>yi%=E_`P&%fnCmWOiDv z?Tq-$EL38r0!4Yagnw|>jv0FAy?@FBRLqu3Hzt&Qpg-xEOkFbqIq%3fB7DmcKVCHscl%BkME(pm{L2Jl@_&8#u9Zb z{rIkTey;2Q|LHrpIe%z_%Pd9hQGYb1hXLsvuBLdCo{<~i7D$);&36X~h{LJ(U3Ywd zOFHzghTzBC-62S%uaB48phCVXt`woY8#yMme|qpPATByh=zXo9Ctvx5;0TZ|uIz9= ze4#7s0*z;u9otW`G>yH?MIdJfspy+x!*xB_Us4qUSsI-2j=wRaM=XC^U!~-m-oz17 z9A=RkAzxy?FD*$lK2bb$F38JeEGD|)4l(cFBhcM@@e5_YSO?{I4L5N5tprP{xs#m0 zf4l(8owsG&6sC;$+0cr6QnBS@#k!gL7LfwZ;mNGpJ1t8xGTIvD;+T7`#V>r(eZA3K|ape&FM*$toH_UmEs~O*W5NX*6cMflk4+ahCEZlXoU7b4f0;iS zQkRy+$&guVGSkxLSY}%GFfHxCGYs_Ut6ka}P%k=-*Mo5?c=)$ac&dtyOR94snQ>X7 z-jhiFqtfsMjzge@1@HP9xkQkWM4ruPN-SCf9K&9c_%A`dRA)KW(ZeJvI5CMdJVAl9 zR7Rm=4g||ABA(0V!6G>@mkE*2e;9*mt3By_(m#jxNhFm9GZ_a*&*855uWw4B@ZlUD)Su(vK8^P+4UXxd>4+;zVTeI6D zp(2J+r3({{)OsxSUSvsu42~JYv+ltFb7&FaJ6&L3W>{$t;A=nEe=HM%#^eH>>Lbt1 z7X#{kI=($N!0;GIz0e=e#e!1_)wj#DPha(*`Z&Dcef;@NyL-i(tR1Mku6XU9TqQQA zcl7ko;=v81dde=q#*{%!$(d6tKDbIQe)D1x{_0Xz)FAl)mjQi9WgY)nR@23kMRS}d zjAU6apYQT4r!dN>mxtlD&rCum#y&SHN7136eyLh0uSyC8r-yk;D0XyjFV<7N zjQg)4_UTlP_j8z~Eib-;X$RJAtkNmlVte63_jX|b@!`T5e?VUtqQJsP=9rTQyB_$f ze1QU1SgJ?{Su~p)6!<9{MSo>2EKzz# zB&q5LcuDCZ9zeF|9zwTky4u+0YcZn*$JM#Vzy+BdEq-^%z<3t`Mf9h1uYl7Qxf2>r zrA!v07E)827TXI!L zv=^}nkh_#6H5pHGyk8HJ8gjA6b}kVr@he#vLRs4ne+(45-4D9Yf~O#k0n?+moR5uq zv)tQ>^3cG-FfC`XvqVE;YIxG+H4A61nta9OwBh*|4IDDSzo<7$7)W+MjU+%O$1sge zqpJR&u9GpSdOqS8stdp9=8!@BFSO=FWC5|A?tt#|lUPkvU$Ugw{TN+`7-@pbLIK5S z<>$*Te`P43gC77+YZLQNg= z#gdhe$+#zO!^Rhr{WcWeX`jv)cx+&h0eiDi19W=zMs!R;v5<^bXO7Z@)hTRl(8puQ z-lhr=IoVhtx)R2L(*=*ZfQXZT(M&Zns9TfJeL!7$oBlP=r#qP}b5v{{kbs z1?=Cp<)43{N(JqHm#ZAJ(WDA1$a^`U zPQ>%NrZHf7K;@!{At^}cO@6rSO}oceNgK>c@RKHiYK~MnsUrRak#X?Ogi3QJy+~i( zf5a9WW~W+VGn-Q_H?whp;)vl;?;J^_8Qk?Uyz;HDLnN!c%6g2b*P3w4heLXJ;oLHJ z(zPx4^3aDh_pt6B;6Yv=%wutF%lyXHSDp8YRp*v^)#|CQTJid-`Ju0``g;5qYpY(f zn(H-JGXl@sgKNTjzNYJIeQ?F=uC2POf4OdL)$6Y2x~sY2YHqli;l0KlT+Q$oV-K!o z#Lc${SF`iqT&DwPMLoUD$oQCNU{KXw9b1G9$GBQA`Jn-0TnJp}SnAe@ueO%`pe!z0rGN|K6@Y|(IU0=lJ+%!I{V z5N6HVS86hb**OFoTS@< z0-c=jJeR<3PARN#o@0_yT;@Edw5$YJyf0=irtYK(ris7^)=Z3ZAgYe@Zd-OY1L(=YoF8saJi@*kO(gIoZpoy`Sb7>>f6iY_SI)cG zq+gul&apgRIl>`!<*3((6BJ`FiyCVIBjh?uC)_{^W0`6v!eEA1mn`Ee-x7m_ft2(0 z3bPuXiP(fc&PsorTdXxbM!7UzlhY`3l{ge>3b_p2i|!v? z3Jv^pgu9=>-Z#{bhMp|EU?Rerix~)=Sy-(?kwl)b+U&w%OPZScb4<#MKQET`F0yhC z^(HF3Qu=K^^Tk67)I@Pr@Ep`$xsBCFyOk40r|d#6!iU;{ zEo7E9gTD`Yq_AP<)^`kyyqW6bV7OYa8s`{-g?a(JE=08Hv|U<$hCFcpHr1&uUUu^3=AcUN>=GENG4 zVX9MuO<%1>yUto=ix#9?C^k3alQQ|*PD`g?T5N&qt}0XneRnEh*HTAZ_?n)lU|vaY zBTmj%-Qr-tVtdtA?#v~+jgXWUH#;@%2IF9I(k_n}nlPdCf2Kq)@-K&CgebeM%1SlYazEEQr(wr zsoQ>P112*Hh~>@!-7|1haIAXt~XUL6a5Bf;$B*VtF$5G zon{OO1o%`25aAShWP)RunV9O5Q@fA3seVw0uvM6Ie|j-lL1c6!JZk{gT-IZb9}X;L zmp8gLpa7g4GR&UL@&->#^xTnI-oSjN$932Uh}bVY%1e62B4?_DbOb#cJ+UlO$IZST zeuvMxvx1pCFjez$;UM!VdvNIi<9dAmYfu;p&7)brBWHA;?}iJKyP~xIS8bhqxkM@@ z{_=tlf6c?)Ku$OGvZoI28Q8OMej5Ap6Wm;5uhsLc#o=dU5;yNBSXV?l#qgLvXEEHp z>2VeNK2Ot%9Uw_ko>GC<%&Z8)EzM?$DzTRV7it*FL~s>U($>SZ#)mYb@y z^0I=2$>yYk-;m{@ssO3{TNw zf2OOSDK+=l9hCff((d&(*9!=pf5y%iMpB{l!NHN0&f1=3O1q>88N;TP17mUa8#H7$ft%L&t#NAqMy&;jlLI!UZ%p1_j#d%G8ffCwC%72saoN zGr~dmzZz$oiT0!ar@3f#&cFH_evADte>Un*YT=JB{rk)R+x!nnzPmt9N1Tkk3)qLI zCWufhU)!XQ#@2dsACXDB+xW7vE?=6^{l(i>Q{G?%u)kG?*bb_jbmnO$EIiQV6^BfJ zA!5Q*IK52A(4e8hfxKo!YEE?}6^7xgC-N|7&{DiGI~!zeBV&SNn%Ye9T0eo+e-lnk zyhTI`TE2kYiz0gLbaoOMYiw2l96(J+Ei+{wS)=fUXr~3Moyrt zR*!YY@aT6Gj~9Qx#Ros)Ct5~|krA&uBKs&fPGw*%a9T@04|%8KhMQI|1392|UUy?! z)nA=?*CjD1q>0bwG@M$1HN&T(9tdcPZ`i7Zbz>1@pRd=NYQdHGe)X0aN<6_jxcghy zS$}GZ2r}H-1L_$$vXNk`i$S+mR~8v3dFNBcFDPsr6EXf?6ekE65#&X^aaAm#riPTZ z_6KzP$f20!jvkSCyr`1N!ZW{Dv(1HZk(flJERuH%JGYC3C*2(Y)VJM9zgkcUN>x4J z`+1_7M@vP8tYsi$)F`r0nvb;o?;Zj#cAcy)siGG>91BDr-zCYdKe_tz<8mxNRr^uM zKDF}u`LrUD=ox^{7S%}lto2{qE=jO;ku6Ic` zQ$MMwvh7JVWC6T@pgB%Km8mMplI5chCoi`@C;*bW;IzYB%3T8J@paRO3_*D(?eprb z!$X;-ZIqA2-p}ybkbw}`SBAn_eJAe493td0)4G_F*PYluqnhs7gnS)6_h-}F36e9{ zA7=m`jO3qlP$=fp2n7xnB`DxkBHvLtg2Gt-jag={&TIhqBJ3M8TWFd~vt^yLTbi|e z(@LHI`Lu0k+_%|BxKo^-xh46>Jv~J{fZu89J;4`=X}?R<{SQPgpb7jJ-FS3^LsFo? zy-%ju#A#7%-HZdE;|-G_$O>$mp6cerNWooqsE?hm;ZP#ynwA5g?1{v$ z=;3vKo$7VDg2++z z+E%Qt*m8DTF>r+Cr6Y>oRDntueR+G{1^7r0(mQudQHdDib6sP7|F?Ossl!$FE~b8938O(kFsto8NX)cd=E zB2>0Rk?hNcEYy1C*Aio+{s`JicrUJj4hy106ea!dU(=+WoIL#-PQMoD%xVn=Z~;#& zYD|Ze>;C+&JR{F^h}{mF&&54o@Ql3~7z^iRI{{`RcE$ZU1gE=79+C^E$}oPD0brU5#wwwUf#(_@DB zqthAWPxDdNLG(-`Y!GM!E~n3;?ttrSjHpQE9LC7hOqcf|5cN4aycWyFbe9X?K3(&o zZs5XJ8(=>!gim3IXhR459!d9)IMhfRMeCOZoW#W?FT)kcL69zAS-pmk&m9{&P9i8L z8Php%xa%+9QXYHfxXkLH{HX!zHk81EyGcASyb)Fzh4V6$7WFu{Ko8Sk*M*%DsXirU3)yGS)4rHJxTmzcD2o$P4K73#|3b6*!Q%}(mVuT`{`2y z`fBdN-hR>RR$^ETqWkZ~`PlGXwsR9d=ihpXsKMox?}CqarNULHY8kll=_|b* zNRaI9v#EjGCzUtl!dSs-; zS@aM$#I8&o>Oayka$G>91WknzFo0L!Kh(+1L!(wj9M$3fT!e#392@kj8149{J1y=d z#9T1ZFt?To_?57BGIin{JhRnxIbZx@ZtMqnkwJ|I<0kTV7|;g~87un-%6A2_@svOD zL`O7oK;t8g`0b-3MW*+c1o||M-lH{)I$jTC3Mv9*q$&BRQE}AG*FaybG?7q-aS^?U zKS#*e6W)`@je`VnAT0|5FAf!0z2}Y&9+7!HznkF56 zwwNkB*)isqfsW4QQiA_yqP#Eks$$xCRc-p!p>4ZA4EQ>5lV{H_9fHb-*|AxL^^g;H z6TTVyjR0i1x->)b&A}Bfnbru#!3ZLgS47cC0{+nVx96MY+t=fX3MSe0J)8HnlX8BG z+@d6JfM6h}kUiPCD`V$mRKm^eF(qv7)|iE%%wY-C7u560ArJ^+m)%yE4X_^k5R8M1 z0YO#904Dux?Y^7e6Dp*CwjKE?NZlqtXu21k?i@uz21-w9c2gx z^#KbQypr0tcS^wmH^mQC+Snl{Er!j3mVJ{#S*Ro%UQ)g_bBQExPA#_nt(~cBN2^C0 zkIuqla#o3N7)T~ZU)Mb9VtW6wo3PKxq7KLUd1@0UXfExz(gs0SP6fdrsqABiB6aUx zKqlJ2I`&r&Zv7lTjzZdZz?WjkHEgQ(MO$0u$x+Sm!s!}b_0GmVBf(731pKnd8o-m8 zo*g=10)c_?fgzGvKoE;K<&w*$v6+R=Z+x&p>wjHJ`i0pqPD z_!DaFUJ%|%CV_E`^ItXhw)JONo@uy@zF*Ur8)Zq-aaSk=$hD+H@~Bt+y9A0yhq$eC zA8^_F1-7OKye_X>e=?kfLG%WUFw_FIKq`9kO$dLIGn@OrIG-5pCXr+>niJu-0kUuc z&#Qx7H}PQC7vd<&lv0KzjNVzlb@wl^)ORzogS_2j?$3;zQ58zuAC*BdP15vY%yGHv2>@}9urJfX(&0bxp7lL3p#-N6EO#ZRpIcl#3x(i zHl3j*4Ifl@c+U>9UaPKe zzh_HWyzeL+Bt^alN%&Hd)J%^Rg$S(vmQkvEH#afc+87EUpPk=oQaodfZNwf;I=8sK zTi)I|PcZCGl*9yoM0l7%r+lj8$jkq6+nyL@KOeT`N9eNDD~lcqI^}SV{qs^egby&z zV!26*FqQ;|yjC=eLk!z`oWt^lZS2nKdyZLId+{;lx690!O9yVQ41`4OA!()-$jYZZ$Dg%^O?eIR?T-#0KF z{1?=jjqn9&2(Sqie-|dzy7aEjkN+15j@@lgdgS+%q)J~Zs;GnnGSuN=#pgDfMaBi2 zIUBWcir?cnN(^u;Xsx-9eRR=zUeWUmH}ovnTVAKZ~fkjZqIG%q%K)b))4>ahO?!M{f#dlTh9ZgMdnu!u86X~kfz(e z1LLE(OYL5?beXerIUl*9^})-tcfOfl^}?`O5Y&=p-Rv(|V^3)aGFz9nky06nf(-!R zP6#vdq&~l6s5R%Ncs~N3a@@rs@Y#_dez{xTFKt<>%iq_0uRAbIi$srOKNV*maHCeF z>~SYVLv(lBlsKGf<|ttW!0~7c(RBL~)0nlO@?gywt<~7$qIN|Kr09gQaX;HQY9EPH z-nQmWMvG^&Vv33|S=Q{Bzr zk*q%%`TaM`^`;48U*=Uw{RxA%@Sl z#fX*EyFiW&VXA$c82n?rsU~%U6F)vk`-`=#6H%z9iGq7>oek?I20=syR~^~)%4!kb z{Zz;i1LvlFSuMxJ?#$iZrWx?dwH|*@aSyG>!rZLRgU*8P3)NCwzV=X}|>1vo> zQG?KbP8w<4JTtx_Mlc-@r!gPE1P7TrsB6?Wn90wL1S=nMZmhV92E<-cmtAibmu@&O z^&Xd?42nATbx78fwR$PsY&Iq4DGB1DINPm71JmzdRsIl-aS;^sGytaG+hYTN>5ViB zwQS&Ptlqi}-0$Zcqi#+gWuAwzY~LzDxDkKl0dTrs@V~>e+gpc;zkb_CPc#0DHouR$ zpZlONeBm8l3YoL@LJ&l{b{e1ss_&D#@tMGMm&APOJo+m><9cn0KuAOYWHyp=yq}Pf zC|bLAFl7a?-I+n4*awI_-ctp-p^<@&gN6CX?(PY608bw19C_)LBgqSxLEK+sGl~*X zfpR^VJ+;j=*)^u;d@#M^7%@=vo6Ni2xHW@`T}wyn9#qalJBXqhyz=s4j&NY7MD;(} zDa2r~3&LjnBe_yi6hn=@{nBQxt4esNg0S$6Ot@Uxr#H^!n*!*OM)b%g!aU7T1R8v9 zOriZf;%aY{ad#l5cJ#d(hx)$gzKf&RDaTE-PxkU;>c-Z?)z{ZY6u~T2elchJ(Cm27 z_0md6xN&<+B;dBUZ{)-GGf*IVaD?-=4wq1Ie_z{&FE$qQ_LfD!kC3ot&xBFnX@8$c zpgSh^dT;;z1>k{CC^#6#bqOL0#HiQZ(&xysE3fc0_hHRK5_G9J%{-!R{s#Ufce8^% z+CO-($flQVU;@K!_jjE)5Q_%e&r$@D!bI-R>{GtQEsuuPf}6tF-~ukr1ruBPT~5rO zbr<7lP7i}V$$TgEiMWedPNH+|Q&FfV6=pmKA&n=?D8PfjB)ucdf|mP7NkH~#@M1jM zpyVn2-~pN@JK3vR&_Te$STsH&cBx|EWh@D6?C}I0UR)<_fl4X~D`bEu!FvMX?{F$J zHGzQ6j`wPo%UFE1>t zEVMVSEni-1SeqIbrUN62Ihz_;6|*h97G!zz8WW}z(+t+3i?VF}`XA=gRM)i&vy3n% zsk^ibsjFCZ8(GH`Q+Y9{c<>(!E4murq%{do&uFW3HdmB%0T`vM z{Jteww3ua5Pb-u8zWfyhpG{|e>MrY^Ul=jmNez}pf4}Wj*YuYd9~rc;Hd)}_ZL+$T zk(|FVl{+v?*XYl z{REDKe{MF4i1#v$e5^jOd`>=&eJnmOd@w*JUN128Pw}2CiVvE^KDz&YvTZbnGf%Wi zcJI`hemfoQWX_y!GiLLp;Qd7*2k_zk<2pn@h9dEhDL`1 z1j}tXiQ^Fus?5t&Q9TdY+8~$c{nQT<)_ow%4yA<4ix;r{%`gEGq%q0g1{vf!m^aTAnd28`nShLiZ5n%m?9fCk%nr8j(?)U_o1KP7W)xbvkzC^ z7xTpVEinhakgz%u?BW*{?bNueOJO1k>)n1OgNP3}ECF6C$1t0EPOhu!?X#-5r_tW>(^{-Ol;_xg2ZA~R`6o_5=bJDV znn>9jpVh+^6US}n8K674rbpApQ!nbL21ZghhI)U`Si$$ve5>JnohOFU5r1XSAoQI0 z&GvJ%MF?f&jDsmztdQaACbg30W6C24D#smR=PG;>CRAsQbptGca^l;!JP%A*wP^F+ zQLUHd^bNjztWpObNY-AYZ&QmWbKWUqic5431a%iIx<-mGG~Q1>q@k$+R^{Pl<(TRZ zXjVWm?a3?A7TRD?+e;&|?ZTJb8dhi0Tnq8+)$ z=6!Hhb$W%~0Dy=EBlttpXRe&VAN^;fm_RZn87o2({pHIIVBhnPlp~IeZv+dMHgkNf zl3q1O1HR_K2HtOW*-Dn`j3mo6>~R)OMhZdu(r9W*jYKnsi>V}64lDRPeCF*8nD5X5 zv?(t}CfgMbGwjw;+k9&34Tbz#V==1~2~Tk~4Q@draX@fY-!RdA1h|TRT`>#8j<07R z=iS|dmWEVIRqmY%Tl}cOzbudn=u)hZb#~plZ_|Rf1Z7o64k&b9r8>ARdn6jSTx0C^ zC8FTZ>0vsxO5q`a#qCw{?x`+D;YMQg-b9IMV295JcbZ*v$hgx&4{O&Ru=?bju0 z<*wLI?LW_|3jIbV>wTT(L)~Z}bEE4`1*?=wSs`5Y^Ib~}wwPdi`1*JR_xspGyT8A# z!I9Wb-{KE@$8zesdCVrBDIC`(qI^sh}L|QQI>V8dBc(q+2>$A$ZY(l_dLs^cuLSItQk~W`p^#e-mVRgugj`h*3N_v8+)SzQz13G@1dl;?E$kQm zlKIja7Cr2nF{fQVME(JqGp*yny8LTd+bt(CC43ziwPnuzd>rYMNFWn5O*Z zAs~jPVIK(u0?e(|m;wGdcBBF$loF4^b>mZ}O%Iw}kXap`-*xyvikE#-=fX^9ArV9> zrC^R*66frbys7+?Qm589cqIx_`}t4cxt8U?rN!^o3L|?fAua`QUcF@9ka8uc6#$_L z#Yy$YQz#7#*>Tt4C||+Kf7Y2PN;>TAwl3O;D;(ObYiZ$YC!tL#ar8_iE>zS?hXwP+ zwJIf!(u`oT)*&}n@(9a?G-Nm!Q;NLgw`F@IhUHO^Y8qK8Hc@Dm@+wR%WfU|1o8=r) zd72wVhSpm0@OFonjAd0)<*_G-&Va_wLPD=xyt(s(@N5dnpuXZy+tr!&&y#N%L8Z_D zXE-`oew9BEvKX~+$-3h73xbE1Yc$R2>Vx%>S{l`6=yjEy6XUf0{V+Hx8u8tl4_)~x znw7*fuHr@2rHkn3_4z6qYLk(7)il@T{{v-VPt7EE_5Tk5dC!$Z_y56^RB5Npct`R7 z1<^x%nrkJ`uyJ0s?YujLB=^!z(SqQ+YTE1e{|C6}DRhQ|dMLJAQl;_B>htX~>q^+T zG$x{J9EpCa)SNM!3JyPM*Dww+Ve*G-jeImV3$M~m`!UksYVV<+|K8?gG#)4byMTK_ zB-T(i1Olyn$mNTGB|a?{2|Z_l=EUjIVJVNw_0@He;XF_iWv-PLLfVB^7eiYZ$%iKs zaa=)!Xky6Wzc+mrf*O&`hrO-NhPK>H-FR3g2+^#N!|9;=QvuA!y{*3uFSwb$@UVgq zqD3Kx^FjCL0+>&G{|m&!Bmlt2DnN)rM4Ayx?W}!p8zdj1Gbv4h({) zT}WGc!Rbb%A7p_yRL7}6j9!5pz5q2@4q(3T^#B;k@iHmkW8EV}djlXjkRUivAdJ5| zPU$7|0%AMDJNYkDW=@f!o;t26Ql1%VDF5d3iFO9%aL&>Q;z$@`d^@?gOf(&~2QXd~&HpDnvlG zmJs-iS|~28)pA>D&}jMgBPfwFT4kCQ#2SsKbc9VqX|c+XX|N$f#fcB+%bkVv*?pGj zgj4NjRq`-*HzBR9#lS!-Ve5_#N?v-c%NB2}%aVAHp$w&jypn|M>XEEU3)B)qnG>Px z&)WQWIGS~Ep#ZAY7cCr+d%}MIGl#LL2FU^^SO`F0L^;)>!4baUt5Yg#Ro+9M z%#tWt-3##49!h%BIptiSWrGT-55KG;rf%bxkt%g)iK(8zS>@@WucnAvTG%WPs#)=!C%+M27jVBKjPzb~2mcPVtdvrr`ag8XYIT`Tt96hoN%6&mQN?J!aN#sJhVQaCK zPwI_#@&JTl!U4%%RP=?lE((V(oMPbxco{b9q$+w8iBT)ajkSIuamZvD^AaN)=sWR9 zkXta}Ha^mMn{ssrSOI6SwXx7Tfw+-%*y5hsmV0}t*m`PD*4j1g06*4%Ev!2|SZRW(`_{VF@kTF3Zp0bf zfKr`;tQq|658;9ogLrr`r0J zDj@#|shvkhE#;M$N`qIe4+$#XA5kFpS4hAmRsJva-ms7$i3GAemg@YmFms|Rq~-?p z#aLL3N5}S6Qeq)EH$75q3vahfeKH02Onth(w{|YSuq%I>31scdKiIh1&14eoakB)2 zvCvn+2ER!1Q2C|`P(rC`8ex#R`|dm2wgJ@D99udY3pAN95#8nN)bKJ&i4c{(zgv@M z>e@+ftvo1iwSmMlP?IUO(IWXY$T85#l_oTki)k0r+HRL6bi8-k5v@3umj}W0vxHB2 ziv_vUqGM@M3^^q-DI4j&xjC(5{>q@qgv@P-Y%iS;gFxI1=(bSkALP@kv-XP(4E|`a z;o$Pdz45Qbx+dgr+paZ6)$ozk2BO3rjENW=hV+vP*Mq7uNaPV)a`;M-8yV**6)(;Q z_r;@?*%T&@w`y zbDcWrC7~iD*v&`MmLHJf@|l?#&H><(fXni0N9vmDjOCtzTT_Ey9nV-M;y(Oi_#HmV z6Su=WE^`Fc1(1%ztRU*3cZ^u+qwENiu}xG}mqg{EITZObi2y~jFn|3a7iX4 z6T}WVH?nKelv?9CNd*?fm*CFIv%a%~QI=*;jV+TKpOyKm0)JA{{ zPd`qNwUEdjT1UChRTn-UQ-YSM=6wMB5Xq6Io@ohG-3;k9wR#w42&!ge>ZRO-y~n{k z=w>d>MmA~5lD0l{J(=ELe?aql|CzLFbfAbSmGs9b4sd-!bZpCF^GI!PWu>hhLXjp@ zaLGAm*!&2#4ldK68(*k(&omc&`v@a!5S`7~okyc#eRI;5iLE`Ik{UgXW>cMX4ms%i zK6BHL0C?HRUM5!LJTW0AzPHwwMm?sHQuloFmW*+iT`0$=p^2pK z;ebezTG5iXP`o{~k~%^Ead3DqatVn8X-O5jtR9!X7_@9}AyT?L1xQ^V>2jQyC{fIw zZa0;r$PvTR7;P%@67XrMPRrtWP$Q*sv(V89BGNIN>dA72ojeMwhyzWW|C)S;QOOPy zhLUg0D-#|$N)uK*OPQcoI`5)};B=P&t!F=D@2vBvbb^vD$e$>kPoo2Y&fS|Ky{*MCe3Um4GMwlxyO>x;boP)RY7ADd zUzbU4=xCY_?yySUB&u_FKYv*gadQv;T~K1tOIl_m=GRi&H7-l0rE+}55T9layN2(| z#wCx)6C3o04A9)cRl1l~!v^FgJUK+`sVj6f+*xTYGFmMqxK`EJw8{qS9Z4ok4&tVp zBr#<#rQ?<_4)sB8#@7UYdYt9_L?-sQ&s1 zo(D0ski0ieeOhvLY!Lw~L=2sw3?#mQbeXNN&90wc{uSIzU0>9sGe4V-f7e*lbXMQg z16_2GBZQj8#K@)|GNXh6s9&aT%^QzM7%IknU@@gqgd>XxwFpTz9<%UFUkR3%BBsrF zsXUb80Gw!V5bfC*s0TAt-pfa_w+qTG89fFw6q<i z<|*90r^Z9n#4eYi?Mob^1ab0kw#$#ullmKK3z&_fx5{U9s|`2%y(t*N73R7oyjx|4 zOw%T=EKLJcPWtE9@tVpjT&Glz5_>gj*&L$?rHZFh?nZiT`QH-N@ns`h1D-~>NuD^S zXQ^@u4;4i=!QxV;b4w&L4-MABRX5+BaG0!qVQyl{vBjOr5NiF$xIBeJ$6Aw}QsGNGbh@cW#`H8Xen&6hM>*P2%$TRcIP5n? zug>lQM79hll{prE389krVm1?DmAPhjveJY_I3mV7{<_>fu%?RY>g5tG%sz9tN2O8b zOFu3;IdPVdQ$t%TR?syCb(I%e3OhOfH2~W2uLcD5yMc{sPZdO`(7eIaP>Y~Rgj!=C zoxd<4FqYgn5xHvWgHjjWj#lC(+GQhR|ZKr$6R+@72h0}@(|zD1@hbmCA=f`NXi9SO{Zc1tN^bGD~Q)==Sld{-; zNt7yMjhgUFbjn5PG|Ege8#pr0mH|!`P`LPXzY#HHzWDS4x9qH-7vm?zv7W#}*jJH; z&;IR2F!$F!>G07?U?mHL&ShZ`cxjoS7^T*rFOvn_gocsxAcw*=)h02zXr*Knp}+xF zy{TNVH3W$-PFL65+9ZYpjc{V=3()7El%@tyjIT!W*F!;RCZ#ccNvj037=4R) zYeJMHK~g#(GMlF+=1QY(LcF}-ri`RKH#As{T78y?vZoBserFEf+M{jYesA0_1H!?DC8Gc~=uz<)6_=gUcClV2THRvZJ6FFT5rUw~BlwmP&vt&M=1 zeKsNlWBifgQ-M@P89X|~u<_Q+kq7FjF0#Vu`P?vIG3u$079B9GZx&j`eoibVy{S@?dR@zE^P2XAQ+}1A;DA)Srg)d4kO73<5k*6Be-l+QGk|$8#vC)% zzcjiK%n9ljM^>iD!?p;~9jW?Y(+(bQ(2q?!ocmLP{G$*J*7*3x@h)&t<1i9~AGPXx z-XBwWW4Dn7@}t`@G_*x7DRkQ1 z3SwiHiWoqKQv!UapBl&J(PP70!p7t<-Jh_3|4twAa!tz+SezcR`7A#*K1V>Q#=syH zG5BoP1hQnk7Qdpq&RK{18W%a4-FYd~inOuffk2PVo7j}E6BuG!D19pvz*J$6zgTYR zHhjKGMoS}0o)k>3k-eN~$49%ei#k(2U=Rk@um{KtS^PscCRVWGIif&%=vpn?fA7lM zCwtIoZ$+C(V@C~T5ayGZf9vJv%jKDn@_eBf#K84j_zF{Ze6#JF%^3-I8m{GH9NF{< zw15OiFGwRhL=+IT#y%L~(qsdWxsT4ZPgck$Z1BXrq|E`bGjyHuMoY}M5OoQ>QR0m=Z><+Qx#p){cxxHVg_^;fCCh*Iz5K>(#18UQ%lagpT(ZdJi|C#!ymHoenmAs>QnerIftKbV=g36SFNY#e;$w$&!EMr z!l%b_YFPes(SLrVU5p(6%l0QknW}-r3LlF^N5g#R3|fVu0%~h0MLl>caDqnU7LYta z)Bn3K3r$o*)4x#tM3?>N9#%ykHZ@R1gr3W8VEZ#Y1uQqq-YXi^njD%9C8^#>Y=+WE ztjNVw9r{nKq(ua8kr-r(jZJyB8P=_m8zaF_10~Xrumw2}rFAVdV&U4v_6&Q!J2e zX#2kZVG$QLroV8eHe#=HW;ArK3?2n^uk~mnP-RFsd@mD1KbTNz`7HubF-JbWkX%d_ zT&;*)5hs{`D$YHRf2zz5xPR)pkSh@L6q+t^F$c!an4*vWY_%>x%t-(d93W%sf<>T; z!9|I3(C{*7U`QlY`ehIyIkS3bAZGU6V<2OiLsFnYHQFp7BvoADpNS|&@Py==rd@h* zn3_bRfPW04{~0P!fgb&)MdZw)V1FDr+<};v5($31$$z{TL+gHmyFfs~Nvq=e{KS~2 z0Tq(7BLV#GjjWa{v<|HZEc6N;Y?2ny%Rn1cPjChjTZ)b-O=r@kte$rQ0n+OegBH?j zYKH+TvsM`dE-aT;`r(;C@)L>0`)92f0m47i1q%G|q-g@>2rpZf1twB2!iMxuO-FP4 zS?KnEOhOocn1FTtFoARaq1~Q^3iw$)j{lG0DvZl8A=Nqn^T!Yw{bRsL`WaCV1__k9 zM+xjt&Coyz#01XzA83*TF%1=+fdLg`xq$;A0i!d2ND7I=p(80x2!R8o<{tw62q>-m zY!?0Z&o)k&3jHv1X8K{aVfGWU_yx=G=Lp7lero$*1n~paVyN!p_3F$M4OBa2Zu|yn z4=|x4?)U3;76e}9Ieh>&Ja_Io3uAMz6IyOqTu+CG@)oiF?WmW)<7}#vvQUM>LL4e? zjSPer_8$f!$iKS)mE&W;p!(b6V(b}Cgu`*rrBGC(^r8;1ct8>9Vh~FJt<^&@1C`3c zMWwt}qcDIVPNY!Rpb!HarO4KxP;iW9H;BF<7~W4ETmw<@$IYWZ61!$E4VH+W@wstO z0$F}p?=29!67cdN0U5TZzn~40*;bN z4sB2jzTtSlRCV3BG(s$HDEiO3JN+-40(5zK+(X6xO8<*H%`Y1EFu^|;50%3evnas* zKy_tKF^A$8>dC;{f1|nRSS~kZQo*9^j7l7F&kK+T^Y4{^eR)$`K6S?#>qkMRckLBK z5X9H_@sGgr)rCb}U~>XwZE`4)hC~~&yA$c`x4Tv>$r)J|L-aMBy|fxT(6H}dHlDfG zMypusVNO`S51m|i2?T|#*SGVilJaDl1eQxYbBzu=%g-K?p;CqSh|C;KBb|eMS**`G zndXaeO;sy6f%Fg4ZK}-2Qaz!_Lvmy8Gu2BMN@peJ6H<-9nRoAPw zp3u#%=CHCD=jD}v88U9GRdz`z`{3+)%SB}j#5kvN{SOP29rOHNAy#A=XB3Wa=K1>k zYN1iu^TCMagjgJ9)8xfA14R}#=l`NSl-rr4cW!h1zK@`1JkQx9NI-g|RS2K|1`_Ki zQ#%544K!%D>dIsxjJ0=Mnx@|lz5jTle=W9G(h7pdlQ_?0i*itI^N4-v%-5uL*Q?!hq~sbzjySQp%5=`Io{+;{l=S z$r7vU41y|`$;bQiY<8P5s+d=10+ZSi5(naDsr1h%KvR;_FH@}ch9f$_!j??2hRaJq zvxdvWFrMAt7#K)=6bJ_w$oi4j#ZNqrz4|Q+d~)!YGZk!V8S@x`nBE8--(5^Lw~0@0 z=_hyTH{+_K+-;E5?V*$1jGA28jrrH zo7W^@*te_i)Jijs0>{Tm4758G|4@!a$JA?AlH%D^=2VCsg|&1G*~*{tkKFgch*ry* zJPL8eHzIQT&9^6jOK+^1i$B&O4H_klmt~2mB8wttxNirn95gS$8m*2?$(Lx;PHGrxCw%r%*AJPgHo!{nSe}4UcAY@JmI`ZJ1M& zb%c0HBU}!LFc2;wX33hFU47Xy^mfUrkq1QlcxQNjR8CC+Lrd`}nd}U@rkpzxmn`Rh z1%drV(fgnp3R`0bl}Bc+M2xu|98Fc$_+^A8 z*T5WW7h!G#{LzxOA^PyX=KpPGI^*_~FHnFT@!S17(<%h$p6Y*YRA`j~UGkSpfn-Tdfd9mumy&OL?AvKajOkx5yjYaNOz%ygETgwb>Fx zQwX>v!FcS!iEZlA!;8^QjW6cWrX`DExpn>3MXd#MnIhKu_n3iJKgCCGN3~1elJ^@s z{vd@6m*{_PKG|XY9o@_QQ*O^-0Jfqk+J;BB#!W_Y=jDaa1+HMmw+u%c-j%7a(L`xW zoXm_2*n(5siJY_y6?{-)UAPT^iCe+(9@x$L6Uei;?5@MA6@VaZ10A+9l#~+Vs$gcw zi|gl+j;)TbED`GZW;Nh{h80KyS>Ux=9jhcc4&=jsxkXOOWy^!1K6k07R@m&1WYzh2&0U^`qYCx$3WCEKh5m8s;O zQ=BWhWbMR2RxN z^RPDQ1!rkNRHu!Cq1H@JAoEDMuH}uw*d-GuaolI7oH9D zui;^FE(&-8lk8JKQ;d}?&7B|pQi?3aTGQF!jI}KdIQ#Q~7M6SV1!ITkC^0c%Lokl= zl2pf-)#Cdtf}c?T&WjB~DfXsDjaE@(N0qQkeVno#e=}SZvc_Z4Oe?#}1uTj>)-HqaWkZ zwf&6%#@}R)EW*+)TsZprvcpD6Ht5sC3kj=Wb*NR%VddA0BiT6ac4}Qs%srvOB;wNr zm4B?=1Yl-nBN?v1$p=Za_(XNn^Lru{Vh}BxkY?1gMWcw_@zMlOUg*96x$toZl{#4V zWifsjDxhYd${L;BJ2^hUNH#1=lBFolo+z2t*;UY!`^!%_P+8f8zy5Wmh);JyOprSm zU`K|&Qk1pDgHhe4(NL#n&sEMnutkHHZx%IYa^Mrg**kgDkMD5tY4kO)8gL~sNJ%X{ z6fuK5I7zN9>5jV{Okek`-+uBeb>D_|qo8MANZE2A)e?=oIP?~g7o|H63WzBac zN)(#^ND|O@;;c+r3{38oFR3=8hq=N0_9-q6J-4z(G>3Q6@*ngBQ+9Vs-34AnqXh@G zQfn2pHZ#ilT!tnTciqrndDNjO#7bB%I)gfIE>~l^)-Ytwdx_Emz?>G*|6xWh^hAc| z%r@<3rGjAZKkK}c!y(QO6*dGR%)*^8hBuWr2HVE^`;>(}2$#q0OD+kbOrCk|9F8)gf(gY`9y##moL|>4&_{O(Y z++fy5(7ste7Mnu_JMjgL!d~`3 zRLDkNfZ1AS;aLaaYK+6$b9%5vHq}4lC{0~XJ&bfF(S%Mnoo&PP2;do5C~&i@YR7IW zCTCxG18bYvCM#_(UIju+pAw9wyfd<|Q!*a*z>E45Vw)>G;yV)rgnRTXYs8>?G3?&C zI-LavfcQ7_a1)iu3KRC+5SA&7rJ>m)c~25x`Q}$l9cmQ6lbTKlXy{$&gg#Y~kA;BR zFV86k@0I_1KoZPz%r=+~^gL}59)di_pOUwGj-e*_w4|j-3wMsl@Ky-|c*y~x<)R)p z_7I88rh8v=`W-HF4zejDtD!_GOmsYw3>?P|(2{@vkMBy^BkhYHY8gy)69dMNYHJ)Y z;r<;9Pg{a6bc&=H*blP0_7ZPOmPZ5uky zgZweDFM@(W7{rausmS~*UEFX#qoUx_H7-LZ5MKFnN>Vz4Tx~vpFuwTlz$X-*o&jM)EajP9N2b#DuapA7r)`4% z^tGbK0^#YQY?#B?{~R>sla8wLP2Q4UTX`HD+?39X*NfuG%cCfxXQZGZ+SH$qCjHIC zB@k(w#|!QF-+a^KTa@0{LX3!uR#d)x$jYkMSU$clNom;(D6MU$>8-B&$cAjEK0Ie? z;=2E~G5blnpiSE#!tfenzeL=iYo4$C+K>x!rB@Fg>$I#wEzyHuM!6w9d7+!-Dt4XGkPcNR_Wm)eKi z+iAY4G>P&0)b()uYXy+|l(Z(&4M}bTPHCTPi^FY(8M5~1K5|xpyA5$6HiBH z@Ti~}+ZPAfr$dUOWDXWRqTP9NK9B@ey)U5Xm&+d^&%qC4^8 z;W?a?M8g?quOQ$1BXF;Pm4Nsvi(`)*#Azq9j|8&`njbN5^VM>RyGVLlVlzLS^=-x~ zX}U}3?^eXx4rpaV982yH66J^Mg87W%RMd<$1ewM#AzdFqUtctU($Y$vOc0{=rCR%L zdBPv%!k}{Q{{weGh`;j|RE>_cplZm+1bS<(Z|wV3_t_)~V(v&zaXpHj1(LDWT;4I( zS{8VWwdPhGW39Oh=dsqd;xeR~$DqtFEie8l$S@~?nwKjIblt<7h(^<>5=dqI~AqV{_hNMPZ508Pe95L1p_u;WiH^h{$icRR~Rl5`ZM+ z=OSY$f(OpL`A8&tsxm*c(oF$+gWreArA%AkDbm3k!SKq(f z4Mtyba87Jv=j9|b=`5;CO0(znW`b1*I=j8f%s%rDx94~RA18P>{4l6Cgf57sbwenERBH&WJr8fl zdLq1`zwJgP1J*+xx)FQGL)YP+iUTH@5fCZoQkDnR;-20n)PMZ`cz=l?f3lpNkPQ51 zsB`5R6u1r4&dDn311## zIAl#3prU+nVeT7^#eK3 zBaFUmFGgeTFMpTsQr8|u1m!Hj=WI7h*>*PARK(rJT}2#WYX^4~aaZz!9g761Hiy1x zq$fieOfD~N@tU>nQ*vi~Egt|8veH*Xx&xzeJwhdG^hM2i`SAIob1qqSAD9KxWNa0C z3Ovg_V&9mixvq`kRawGh-kj-XGqHy`qvTWSkhlEv#Dw7{U0|4YLw z21L#plnUa6|0za_B0pDp4R+%52bCku@;jZnHhKOW%NE145s6s?suU-#&yjuYVW8NH2N6N4SBP$iE?%)IUp-KzBM! znCWGxkkH2~HV&~tW_smH=y!3WHlG{Gl_!A_$nS2tMp%%Q)9|Nf378~)*7~@S2Hn4T zu>CAg#Y0oh$sY99U*f!Z{K|ESm^UEnv=RUF^HUmsHmQ>M^Mg(V%$79*e`ZbkewMe$`vRHN{VXbp zdoMG20bj(#m`XXWG-=O8hXrWFnPd~RW}^l0xtJBZ+{@>wx8ygd0L(P= zFCtiNn{^wcrx1>6S}SD(#fBNb)(p^FL4V3pp@jmirQ#YV>vy9TT4gim|N+3i*=6X4~l*FP_&!YnZk^Nh}xd8As{3QpdX?HjdQ)Gc94K!F`6e-gi8_%%zNsQf447Y% z8RVP(_8{MU;~?L06vWRA@(rN9VSiCTlR?39-!`!UyYBYp@(|Cs%}mk_2-%x9WK@!u zsD}bfUSFu{81``eOK;yRHyyuu(%KKRVJWrB1E*-VnzjcrC~+$Fbz$@VDJ7~9m@9>BaV+5;FeoZA-09pQ#RH}}(T7Kx&g z;bIb2R5B8?h%*Z4&tpvUz1~bT$urj1aN!NTIdFQ)lbwcl_JXXCVQ%}vSnH30TEN8) z!zrC${23eLh+Jm{d}_%tT7PWn?EqiZ!m{h~o+0qb-f03F)*kBM`)=Dq9cTY-p7A49 z6jFicvEyzC_9zv}8L~otmWL&}lR6eIoupk=XL=eKGid=xSJj!Ni`M9GfR_hrdLvdk zZ00;`PK;ye508FtlIqo zzQjqiXPDpHZw_8gVukt$ZLeq^tZQ&P5Ak9cYB}E76E;+BJct55ODBCeyzmQI0*A_g z-Ob##mpNa1;drOKkwS>vz7@5Ts6&cgYy@%7$2U3a5DL{4ocy|44_~gIIDt+K5M08v zCXc?h6Bu%)9acO7eSeWiDK)?R(Qe(0m`UJ+bu(iZi1M861|F=N5#Z^NeyMNChBcF1 zH}Xu{H@pE#H zjkal1y@%FNCre#$_7OE*+!fGo(u+F)!%OJ_7;YsGz*W_T*gLVI553s%y&H*qzPXi} z_wd}eAmNE{hlRJ+9TvV-ci5_>!}kt!?4kV~-J1_CbOnC*-e^=XeOo4y5#OIvAeGvz zY&Hyhg8t3qqX@RX>t9M$qURHSfJT!Pm5;LswshtBZdByrLoKCL3r3^*Dzb&x1i zvZ|zDSZ)JQ$QOgP?N1KIDj0N=7LDVEjiao7tUd2RT1Z8iTU4Xh{Xw2M!S8sYQ=trP z&2Vtk;D}4gGf&dJU7SWIGD}Z%cOx;{GY;ClBoFUF$bSjtCUNfbjV64ZRlh-C${MX& zow_lnNAc+Ex9dv_wqlRsU*c5^3fK!rk&DWyZx`YUPdJ^m>gSp@0OMooCpcKXXZZS) zMb^>Q&2tKBH`Zcl1m<83mc^ClHx^F7wqo4w?o+~f+Xcq7B&c6tuI}mXuj$8>L^$Ow z$#5=RlYi1%FUh4Jo}lfpS&03dS(tXj7+iz=z-@JpFvzjK)bL~8VIq;g4@ro}xw{Ks zopg5r&UL=5Tx7hx4CkmM!bx#ShNJ9~43E|&xw@60eSi{i7@)-T0W$dUB5#0Glg~pm zwM^pey{T2URa!EtFe&BrC;SLYng|bkJKpD z38$e6>J!c=)<}x>qtOB>GMKdPhvc`^`XKTb~%O{2YO0#fEbk?IYCM$Dp*~R+gV~DiZwessrk+WceJA^W)2Dv6|mf_cn5IHZJ7$X;3*I!grQtKvhB=Xf0|t8r_Y4T9HzZ1pQ} za+u?-_H9%7d~-h@FQV*iyq+(zihqB3TaDXxf{)zT$a}5dHAi*j?zO&1mwwH}Hi^$K z*H5L=9eXWvxYrwJyKDr?aBb7|8p5Xa{kHO7FQFVhk=x1gOVTS=K!da5%JJK#Cl*{e zep_o}y_N48PJJw>)<`-~kgb2w{(>9RWz8lhmh!KMwV8v6jr8(6`nDJ|xPSD4eZd`K zQo7joZbFeaanm0>J1o>r%hTGx9B6shD@^h1z>EZJ_v}CgQ}dYBUA-CeS@r)$_NK7K zH&x3R+1XunM$Zh?;Htj4a^P7JtzHUk6*Kz>$Mf)scbg6?q|9B!T5iFSN4w7AU%I+O z{7ct)svJd=zlv~SK$@x=sDE>{SXx{3wrD82WhQd&uWw7<0c2{SB265ry6EUr_;c2S z`MqvFoi0D9C}ICXECqj-M0dy(6Rf1^gEL{*!k@M8E_)AFn=!=gxlCJ-ao}^3DTW8fgFmOB>p__BpG$(1}BzY?5Sr%`V~N58*DV8{61yo7#y4;BwZg*DPP5}U6&4x|TTgDPwNd>v+C zb2>So+6yO3@@tr-sgoqp`TO^XoL0);C>y zaU{ES`dwZ0Ml?&q-)=6~#|KeB59|7clbATsuTpd<;!kV=5*x^cgCCr@XDOrI?ioA_ zdf^ovvMwff=K0H=TyI=orl@_ylq(1=R}n`tJtA1bo_}jQ^yRkF@a3z-oqjIiRXBhE zHAUp{<*xa`_KqrI&O}wn076OvPkOAa!|x^ao@=(>Jnik3hIVyth}1MSmKdM;WMhIn zy$U-F$G57VG;);p7+!T`3|qCLX=b;Kqn@sn#Dty8_z_OYt!2Fc3_4B)ZH&eDsMlHX z;%X!HH-Eh$GD&b>URfE2r8dND^}~$nIlge0+Skc1KR0sXe=TAW1E7 z2CXRlxXJAu9X?e*Wt?#GF5yNPxpOlf5^x88#)AQ_a5SZ={e8j}Nk}~%_}UF8Ajyaa z$OVKbTOnWuj1wVXuj^A5?U&2LH4W!jE4-KYfTGIqAyJEvO1ljB{6bqL{Am zc9W}|1(5_?w`xpqhM3+Ws#n5zN3W$NY)4`=nYG*cSwQ>89GC!cUuOvNBR08eB z!@!;4T$RXC!E^b9;pmhKMVI#&vkBj-Zvwh_@PEhR?bklVpZLF{fUe)fEL^@6MQDT% z-+weNxhg2G>p(FN=kGaCvfpG6Ri?sg@}euNblKDdgCeJgGSZVm1{WGT$TjG!w8sf+ z9uF~*Xc;PLYFAY8Tt(&n#Hs`2@l`yZH{fHwbp;}7?aDrUbN-Uy3I0*W4!~;xM61*x z=1!u}rPC7~&|`U!QZ}c!pQjCH=6!Q~?|-kW7Ee@k|KS@u@$G{m`>dfZB~fV8F{~3-sMEwOGn7%lPOy%g$4g7DWJUvzw0~ z=W@Zb2)o7wSQRemf3VN_F6uUfv7x_^Ct16>fv~%8FW1V$nCkS5!BN4Xmid1MHkrv^xE zX2qbR0%P#|4%2#ni3k?6eEK1N=2=eXU9x?$@ve!#w(!O3DvGx@Hw!?R6~AGR%;R{(7HD#S$;zDNJVw{$?K8 zWbaKQ_53Uo6wQzh3S{m>b>|i1F}D0~Tt`k6r+a*Afi;Q?QMS{mq`k6q*XjdqkqYy# z3v8_FXukyBWhcZa1Y`xki7|K(S@K;}`EqOMe1>+1hXYgfbqtDEVt<`iuc1H7(G~L{ z)mP5Aj&|&ZiFXSUKS>b}V}e(Jl=+=U^6n<$z*Gd=Vj@~q5QSi7C8KUBrR~K-4+WQ@6CYJ=SETy^NrHiz zisabtGXk>fh|-l4$+2Io0<%+6ymuLKLMpj+6MKmJh1hxLe}8}Tv^Ql@A2~O7zq-~Z zoX11c`s6lVpgz3}pzXQ+rTn@i^~+#SNTGcPd{Mssw8@oRa7fzL>EtmE*teU{x+xcC zu9Iz2A3 zNSP1^JzT4pi9A0ZZf?s&!}C7W?YeLcuRaFk9AGblSVBVGE~)I!XJlR z!EH>r0@q&p3b36u$u3uLflaR9FB@?|!wPW$VW4oXwf9ue-f0jlFHrA2mE63FJNwIQ zP547%g6jUFbUcQHC(2l4w)o>H261WOzrXja+vDC`mgY7gD4 z<9`K8iJ`owfQ5Bp&SQDC$*V23LgiPu2&D>qxaeUKH)NAu0~ zrC?l3n{s!oO}WcGpK|txI1ufc#?G+MCt^CNFiaf2XFPnSr!UBfD~>Li^rcKI=NRmb zgq-;z;VOR^VodUu)u&VHJ@33_kU2ipv4!-{QS%p3Bq=e#TUu^pbN`p%bLHD znKfO1%<`7oj{=$gMrKjzZ^Uav{y&PtyE&ZA-$;&E^)~|dkic0nL;%q73`cqX$Fu*db4Z=dcgo2uLUlkbXik_v+9QQ{eGy>DRxQxE&_=04qW)0m6s&5@?P($QTU zAA5EWuPpY>wQKNXvhtXU2PT9Ud@~jF_7L{SCr-?%EI&&Hdt?XQU5S-;CUds_oXMPZ zo->)gd4)cSF74HEd5J(ea=;O^yMM1E(L2kX>Bux75sz`frUcrRycCkrt(uTWgxlmD zvsy6IpTPJ;Cq%?0cEKJpl*8g%&lkyBfQ!W|(~?PO z$6%417I3f=1v0&@bAK0jF-L&@E2!yJ9rCKct13U#cEL?Ys9aD*Re##L43`L}W9El7 z66tA>#|LxtD0LZHKn7;IPL#hYCKUjpeEL~jNwdU;swJ#Xe564mWWc6JY%l4D>7$1k3O+jm z+Rxv=g$IP0sP4x7t$--bPdCnPS%9CUd0E{Z!)1VZ5hqa9_~A5-vCciubeD&^`52oA z*@}hVXP*yF%}?CMM*NXW%!JD?yoAT6vJyT*3MYYhCIP2T4Sz?D`7%fMloX{PQdI{L z!O&>;=W`8Cw@foSW;uBr)WaoVyP@mVZOS zg*s+fzSu4A<>`|=^M*6Hh#N&eo)oI*`Qw$RY>Oae2lXYIhmnpetS-I1)XrUcGg5xT zwyuj4!xN*g>Vt8LH~!H$g$DnPafaz8`R0Ki zZTp@aYJbeicaf6#{gxGP%t@qi2*tWos=V1x$P#|KY0a;K3(-5QIIj6{%huBiex>VU zG}5;Orbt`BLbomyO{!^z*U~}2HQKIr#EGUYr2JnaLrXh|V~~B23ic8`>9@cYpFY4TLP}qTZId#e>M)_WHKEP5RK$ zj&@IB3m0&h`epY4*1qN-fa#s}a-6u;+x|`MZVr!i0qE~mMeFd$A2NYYck*y9@5OGv z^v~8Ky;s9?_1iz@s5~dRi}rQq&4-&a9NMfT4s9~|yB2dvE~hIA+TFJ#;^4j|G2MNO z!GAK-Ue7g5TYC;*#V+21aj%klL|S%0&WKf0W{&Xh#hI1Y^}(6d0N?y7PnNLY->t=Z z$WP0QSs4U5fMxeJK*_keb-U#m9Hqd!^v6#$fhZ4ajK%IeN?G01=G=v)a_(Uj0zvDt zTTZz;c`k?t5|0~+CH-}W0QSA$>Otg2@PA2TD#*t%zbjiaDiPGTSt#%#eK4>GOJ13q zOPK}kRNUx|;47f{YDIG?<9X3*wHBS)hU~)X?4uCTJTje$`0o;Fz$*wC%0Qx!MSfYM z{JY#j$QW1eh-9cQJQUM{PcmRD_#~ZZ<~2UPnlTG(m`GZ&D|F<`T`()ohppJr!heMc z8_3pBeoHuwPPGurGb0sKDzCub7F5b5J_q%ysAAJ9ftG&C%w)Y5@lrF5 zx(dsHR6PpZ8a>yi4mE8KNV%QqZsVvu{^dEvcWu`$p+S;%XyM=9iSm_*>wooe_);`c z->^Z|B$nn@EHpr(SxFUr{hm1b-QBmjE{*Wq6!cpQM4>&V&v4f`L3kPnwwaD5pGVnC zxb9IEpMr;9cs;AzmY~r7M9HQ6Y}QA{nxC!;X`+V(+V^zPyO=yJ;pS{)h!?J#Pid)7 zW27!1mrVqnH$M;ng$tPS{eKEu^88VtqU8^744#05nBio~6vx!Acl4{8BheFu*t&Zs z*0?_@(r4C0_rFFN-PIa(R-rY6T7}k8j@%Ejp#DmuMxcsPUzF^k1ya*oFJR8I+Y%w9 z75M0uJ;p?cgXu^Ne0r4SZDBZ*4gab&4PjW)YDG=|9)4SE8ZUt>{eO?}q+8PBlUsVx zhYPlonhWz+SP;L9`2T!&AXGPeCszyd{qN2`k&aflM=BILbI`mk#BTj7$y`r{l_EKI z{^~~)x%FTtX~XzgXxvzT2`NPDfG0)jPjlb1VBE2(DaB&E{(1G1;CoWPg)8Bb{{5dl z{SP>cm0km~VEfc8%zt5Y7pjl0;o-VXyPd0Krj~Q*nx{JMXJ!W6(ZRSVDrm<1vikJI zjJGYQx(Vyv)@wN#H;gxmzpg{yj00?@HvFA)G*4J3x@&IE-Z;u(G8;5c zA?a1iIfQQ)ctNa$^49^AH%{(r8v0@X80&(`I#TuTy# za#4pTfyHPUQtUQk(4?r&(+?bFzLX)24Zr_9LR;=Ll9mS0ctJL0&YAICofB$Z*urr~ zSAxL`7Twrnwh~h5{TTBmh=mB(kx?!d*mzlXmy3nTTcEB-VjK^$I_eR)7Gbsv8>-bu zv3tY%^zBNE;+UIAnY=Lk~#dRrj6$u<#mq1YdrphOzjts z;K9}pspr#;_``@{3E3mLDS2<=!Eg}}bYZ|20YNo4w-MYAZj@7E0^&Uc85L_`0(l^b zhYe>f&JP%dE)sC92X_bqT&LQgHr1}+e5#Gp`L9!*sejV%!};$rOU#;))qB|z>pv_> z74WWHR~|uuLJ?TPrURzf!ws{yr-<3+3(SK((<|DChr2MwewP(wl0R(5FPAVt^Dl}U zP#MDv?PmzT0xAA;SPWQ(Mde%NLAFz;+XbZ1K@VA#2&0(e=&F`a{tg)j3-qy@}Xr%GPx_ zTrcnghYEvY)Xt%@=>nsnksF$ARACG)2<9po?@E@mcKhDUDO;tVOsII&c!q9Vesr(yaLy09gg8<=&}NnGk|%(m}^ z#`U_@=SqfN0cu@x#C)IhE~!E{j1zXz3XEX8l)ZV%DgQ5ISOM7`iZKpPM{8&1e!}N# zI)5u>0t;CH@0*CTm$ξ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Ð!1r@@!-vVAIZ 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%0A+4|`Ec{M*H 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 diff --git a/tools/server/webui/package-lock.json b/tools/server/webui/package-lock.json index 6fa9d39c71..6834416824 100644 --- a/tools/server/webui/package-lock.json +++ b/tools/server/webui/package-lock.json @@ -61,7 +61,7 @@ "remark-math": "^6.0.0", "sass": "^1.93.3", "storybook": "^10.0.7", - "svelte": "^5.0.0", + "svelte": "^5.38.2", "svelte-check": "^4.0.0", "tailwind-merge": "^3.3.1", "tailwind-variants": "^3.2.2", @@ -88,6 +88,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -867,6 +868,7 @@ "integrity": "sha512-oJrXtQiAXLvT9clCf1K4kxp3eKsQhIaZqxEyowkBcsvZDdZkbWrVmnGknxs5flTD0VGsxrxKgBCZty1EzoiMzA==", "dev": true, "license": "Apache-2.0", + "peer": true, "dependencies": { "@swc/helpers": "^0.5.0" } @@ -898,7 +900,6 @@ "version": "2.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -2031,6 +2032,7 @@ "integrity": "sha512-rO+YQhHucy47Vh67z318pALmd6x+K1Kj30Fb4a6oOEw4xn4zCo9KTmkMWs24c4oduEXD/eJu3badlRmsVXzyfA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ts-dedent": "^2.0.0", "type-fest": "~2.19" @@ -2114,6 +2116,7 @@ "integrity": "sha512-Vp3zX/qlwerQmHMP6x0Ry1oY7eKKRcOWGc2P59srOp4zcqyn+etJyQpELgOi4+ZSUgteX8Y387NuwruLgGXLUQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@standard-schema/spec": "^1.0.0", "@sveltejs/acorn-typescript": "^1.0.5", @@ -2153,6 +2156,7 @@ "integrity": "sha512-YZs/OSKOQAQCnJvM/P+F1URotNnYNeU3P2s4oIpzm1uFaqUEqRxUB0g5ejMjEb5Gjb9/PiBI5Ktrq4rUUF8UVQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@sveltejs/vite-plugin-svelte-inspector": "^5.0.0", "debug": "^4.4.1", @@ -2568,6 +2572,7 @@ "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -2735,6 +2740,7 @@ "integrity": "sha512-bJFoMATwIGaxxx8VJPeM8TonI8t579oRvgAuT8zFugJsJZgzqv0Fu8Mhp68iecjzG7cnN3mO2dJQ5uUM2EFrgQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -2802,6 +2808,7 @@ "integrity": "sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.37.0", "@typescript-eslint/types": "8.37.0", @@ -3026,6 +3033,7 @@ "integrity": "sha512-tJxiPrWmzH8a+w9nLKlQMzAKX/7VjFs50MWgcAj7p9XQ7AQ9/35fByFYptgPELyLw+0aixTnC4pUWV+APcZ/kw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@testing-library/dom": "^10.4.0", "@testing-library/user-event": "^14.6.1", @@ -3129,6 +3137,7 @@ "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vitest/utils": "3.2.4", "pathe": "^2.0.3", @@ -3186,6 +3195,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -3738,8 +3748,7 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", "dev": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/debug": { "version": "4.4.1", @@ -3840,10 +3849,9 @@ } }, "node_modules/devalue": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.3.2.tgz", - "integrity": "sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==", - "dev": true, + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.2.tgz", + "integrity": "sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==", "license": "MIT" }, "node_modules/devlop": { @@ -3973,6 +3981,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -4027,6 +4036,7 @@ "integrity": "sha512-QldCVh/ztyKJJZLr4jXNUByx3gR+TDYZCRXEktiZoUR3PGy4qCmSbkxcIle8GEwGpb5JBZazlaJ/CxLidXdEbQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", @@ -6939,6 +6949,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -7072,6 +7083,7 @@ "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, "license": "MIT", + "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -7088,6 +7100,7 @@ "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==", "dev": true, "license": "MIT", + "peer": true, "peerDependencies": { "prettier": "^3.0.0", "svelte": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" @@ -7312,6 +7325,7 @@ "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -7322,6 +7336,7 @@ "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.26.0" }, @@ -7598,6 +7613,7 @@ "integrity": "sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -7704,6 +7720,7 @@ "integrity": "sha512-elOcIZRTM76dvxNAjqYrucTSI0teAF/L2Lv0s6f6b7FOwcwIuA357bIE871580AjHJuSvLIRUosgV+lIWx6Rgg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", @@ -7938,6 +7955,7 @@ "integrity": "sha512-7smAu0o+kdm378Q2uIddk32pn0UdIbrtTVU+rXRVtTVTCrK/P2cCui2y4JH+Bl3NgEq1bbBQpCAF/HKrDjk2Qw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@storybook/global": "^5.0.0", "@storybook/icons": "^1.6.0", @@ -8079,12 +8097,13 @@ } }, "node_modules/svelte": { - "version": "5.36.12", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.36.12.tgz", - "integrity": "sha512-c3mWT+b0yBLl3gPGSHiy4pdSQCsPNTjLC0tVoOhrGJ6PPfCzD/RQpAmAfJtQZ304CAae2ph+L3C4aqds3R3seQ==", + "version": "5.48.3", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.48.3.tgz", + "integrity": "sha512-w7QZ398cdNherTdiQ/v3SYLLGOO4948Jgjh04PYqtTYVohmBvbmFwLmo7pp8gp4/1tceRWfSTjHgjtfpCVNJmQ==", "license": "MIT", + "peer": true, "dependencies": { - "@ampproject/remapping": "^2.3.0", + "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", @@ -8092,8 +8111,9 @@ "aria-query": "^5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", + "devalue": "^5.6.2", "esm-env": "^1.2.1", - "esrap": "^2.1.0", + "esrap": "^2.2.1", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", @@ -8281,9 +8301,9 @@ } }, "node_modules/svelte/node_modules/esrap": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.1.0.tgz", - "integrity": "sha512-yzmPNpl7TBbMRC5Lj2JlJZNPml0tzqoqP5B1JXycNUwtqma9AKCO0M2wHrdgsHcy1WRW7S9rJknAMtByg3usgA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-2.2.2.tgz", + "integrity": "sha512-zA6497ha+qKvoWIK+WM9NAh5ni17sKZKhbS5B3PoYbBvaYHZWoS33zmFybmyqpn07RLUxSmn+RCls2/XF+d0oQ==", "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" @@ -8326,6 +8346,7 @@ "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", "dev": true, "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/dcastil" @@ -8356,7 +8377,8 @@ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.11.tgz", "integrity": "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true }, "node_modules/tapable": { "version": "2.2.2", @@ -8569,6 +8591,7 @@ "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8934,6 +8957,7 @@ "integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -9094,6 +9118,7 @@ "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/chai": "^5.2.2", "@vitest/expect": "3.2.4", diff --git a/tools/server/webui/package.json b/tools/server/webui/package.json index 1a8c273749..a361ce76e3 100644 --- a/tools/server/webui/package.json +++ b/tools/server/webui/package.json @@ -62,7 +62,7 @@ "remark-math": "^6.0.0", "sass": "^1.93.3", "storybook": "^10.0.7", - "svelte": "^5.0.0", + "svelte": "^5.38.2", "svelte-check": "^4.0.0", "tailwind-merge": "^3.3.1", "tailwind-variants": "^3.2.2", From 7b7ae857f686a4191dbd48252ab4dda426846a29 Mon Sep 17 00:00:00 2001 From: Aldehir Rojas Date: Thu, 29 Jan 2026 09:06:15 -0600 Subject: [PATCH 058/206] chat : add parsing for solar-open-100b (#18540) * chat : add parsing for solar-open-100b * add comments to rules * cont : make assistant start optional * cont : remove assistant start prefix altogether --------- Co-authored-by: Piotr Wilkin (ilintar) --- common/chat.cpp | 162 +++++++++++++++++- .../templates/upstage-Solar-Open-100B.jinja | 156 +++++++++++++++++ tests/test-chat.cpp | 130 +++++++++++++- 3 files changed, 442 insertions(+), 6 deletions(-) create mode 100644 models/templates/upstage-Solar-Open-100B.jinja diff --git a/common/chat.cpp b/common/chat.cpp index 3f75b52349..2bf4632669 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -2571,20 +2571,165 @@ static common_chat_params common_chat_params_init_granite(const common_chat_temp static common_chat_params common_chat_params_init_solar_open(const common_chat_template & tmpl, const struct templates_params & inputs) { common_chat_params data; - // TODO: Reasoning effort - json additional_context = {}; + // Copy `reasoning_content` to `reasoning` + auto adjusted_messages = json::array(); + for (const auto & msg : inputs.messages) { + if (msg.contains("reasoning_content") && msg.at("reasoning_content").is_string()) { + auto adjusted_message = msg; + adjusted_message["reasoning"] = msg.at("reasoning_content"); + adjusted_message.erase("reasoning_content"); + adjusted_messages.push_back(adjusted_message); + } else { + adjusted_messages.push_back(msg); + } + } - data.prompt = apply(tmpl, inputs, std::nullopt, std::nullopt, additional_context); - data.format = COMMON_CHAT_FORMAT_SOLAR_OPEN; + auto has_tools = inputs.tools.is_array() && !inputs.tools.empty(); + auto include_grammar = true; + auto prompt = apply(tmpl, inputs, /* messages_override= */ adjusted_messages); + + // Check if we need to replace the flush token with end token during inference and without generation prompt. + if (inputs.is_inference && !inputs.add_generation_prompt) { + static constexpr std::string_view return_token = "<|flush|>"; + static constexpr std::string_view end_token = "<|end|>"; + if (size_t pos = prompt.rfind(return_token); pos != std::string::npos) { + prompt.replace(pos, return_token.length(), end_token); + } + } + + data.prompt = prompt; + data.format = COMMON_CHAT_FORMAT_PEG_NATIVE; data.preserved_tokens = { "<|think|>", "<|content|>", "<|begin|>", "<|end|>", + "<|tool_calls|>", + "<|tool_call:begin|>", + "<|tool_call:end|>", + "<|tool_call:name|>", + "<|tool_call:args|>", }; - // TODO: Tool calling + auto parser = build_chat_peg_native_parser([&](common_chat_peg_native_builder & p) { + auto lit_think = p.atomic(p.literal("<|think|>")); + auto lit_assistant_begin = p.atomic(p.literal("<|begin|>assistant")); + auto lit_content = p.atomic(p.literal("<|content|>")); + auto lit_end = p.atomic(p.literal("<|end|>")); + auto parser_until_end = p.until("<|end|>"); + + // reasoning <- "<|think|>" (!"<|end|>" .)* + auto parser_reasoning = p.rule("reasoning", lit_think + p.reasoning(parser_until_end)); + + // content <- "<|content|>" (!"<|end|>" .)* + auto parser_content = p.rule("content", lit_content + p.content(parser_until_end)); + + // wrap_choice(items) <- item-choice wrapped* + // item-choice <- items[0] / ... / items[n] + // wrapped <- "<|end|><|begin|>assistant" item-choice + auto wrap_choice = [&](const std::vector & items) { + auto choice = p.choice(items); + return choice + p.zero_or_more(lit_end + lit_assistant_begin + choice); + }; + + // wrap_seq(items) <- item[0] "<|end|><|begin|>assistant" item[1] ... + auto wrap_seq = [&](const std::vector & items) { + auto seq = p.sequence(); + for (auto i = 0u; i < items.size(); i++) { + if (i == 0) { + seq += items[i]; + continue; + } + seq += lit_end + lit_assistant_begin + items[i]; + } + return seq; + }; + + // Response format parser + if (inputs.json_schema.is_object() && !inputs.json_schema.empty()) { + auto parser_response_format = lit_content + p.content(p.schema(p.json(), "response-format", inputs.json_schema)); + return p.choice({ + wrap_seq({parser_reasoning, parser_response_format}), + wrap_seq({parser_response_format}) + }); + } + + auto lit_tool_call_begin = p.literal("<|tool_call:begin|>"); + auto lit_tool_call_name = p.literal("<|tool_call:name|>"); + auto lit_tool_call_args = p.literal("<|tool_call:args|>"); + auto lit_tool_call_end = p.literal("<|tool_call:end|>"); + + // Tool call parser + if (has_tools && inputs.tool_choice != COMMON_CHAT_TOOL_CHOICE_NONE) { + auto parser_tool_call = p.choice(); + foreach_function(inputs.tools, [&](const json & tool) { + const auto & function = tool.at("function"); + std::string name = function.at("name"); + const auto & schema = function.at("parameters"); + + // tool(name, schema) <- name "<|tool_call:args|>" schema + parser_tool_call |= p.rule("tool-" + name, + p.atomic(p.tool_name(p.literal(name)) + lit_tool_call_args) + + p.tool_args(p.schema(p.json(), "tool-" + name + "-schema", schema))); + }); + + auto min_calls = inputs.tool_choice == COMMON_CHAT_TOOL_CHOICE_REQUIRED ? 1 : 0; + auto max_calls = inputs.parallel_tool_calls ? -1 : 1; + + // tool-calls <- "<|tool_calls|>" tool-call+ + // tool-call <- "<|tool_call:begin|> call-id "<|tool_call:name|>" &([^<]+ "<|tool_call:args|>") tool-choice "<|tool_call:end|>" + // call-id <- [a-zA-Z0-9_-]+ + // tool-choice <- tool(t[0].name, t[0].schema) / ... / tool(t[n].name, t[n].schema) + auto parser_tool_calls = p.trigger_rule("tool-calls", + p.atomic(p.literal("<|tool_calls|>")) + + p.repeat( + p.tool_open( + lit_tool_call_begin + + p.tool_id(p.chars("[a-zA-Z0-9_-]", 1, -1)) + + lit_tool_call_name + + p.peek(p.chars("[^<]", 1, -1) + lit_tool_call_args)) + + parser_tool_call + + p.tool_close(lit_tool_call_end), + /* min = */ 1, + /* max = */ max_calls)); + + if (min_calls == 1) { + // If required, then try any combination of the reasoning, content, and tool call + return p.choice({ + wrap_seq({parser_reasoning, parser_content, parser_tool_calls}), + wrap_seq({parser_reasoning, parser_tool_calls}), + wrap_seq({parser_content, parser_tool_calls}), + wrap_seq({parser_tool_calls}) + }); + } + + return wrap_choice({parser_reasoning, parser_content, parser_tool_calls}); + } + + // Content only parser + include_grammar = false; + return wrap_choice({parser_reasoning, parser_content}); + }); + + data.parser = parser.save(); + + if (include_grammar) { + data.grammar_lazy = has_tools && inputs.tool_choice == COMMON_CHAT_TOOL_CHOICE_AUTO; + + data.grammar = build_grammar([&](const common_grammar_builder & builder) { + foreach_function(inputs.tools, [&](const json & tool) { + const auto & function = tool.at("function"); + auto schema = function.at("parameters"); + builder.resolve_refs(schema); + }); + parser.build_grammar(builder, data.grammar_lazy); + }); + + data.grammar_triggers = { + {COMMON_GRAMMAR_TRIGGER_TYPE_WORD, "<|tool_calls|>"} + }; + } return data; } @@ -3041,6 +3186,13 @@ static common_chat_params common_chat_templates_apply_jinja( return common_chat_params_init_apriel_1_5(tmpl, params); } + // Solar Open + if (src.find("<|tool_response:begin|>") != std::string::npos && + src.find("<|tool_response:name|>") != std::string::npos && + src.find("<|tool_response:result|>") != std::string::npos) { + return common_chat_params_init_solar_open(tmpl, params); + } + // Use generic handler when mixing tools + JSON schema. // TODO: support that mix in handlers below. if ((params.tools.is_array() && params.json_schema.is_object())) { diff --git a/models/templates/upstage-Solar-Open-100B.jinja b/models/templates/upstage-Solar-Open-100B.jinja new file mode 100644 index 0000000000..13268c1a84 --- /dev/null +++ b/models/templates/upstage-Solar-Open-100B.jinja @@ -0,0 +1,156 @@ +{#- ======== Template Parameters ======== #} +{%- set add_generation_prompt = add_generation_prompt if add_generation_prompt is defined else true %} +{%- set default_system_prompt = default_system_prompt if default_system_prompt is defined else true %} +{%- set reasoning_effort = reasoning_effort if reasoning_effort is defined else "high" %} +{%- set think_render_option = think_render_option if think_render_option is defined else "lastthink" %} + +{#- ======== System Block State ======== #} +{%- set sys_ns = namespace(is_first_block=true) -%} + +{#- ======== Find last user message index ======== #} +{%- set last_user_idx = namespace(value=-1) -%} +{%- for message in messages -%} + {%- if message.role == 'user' -%} + {%- set last_user_idx.value = loop.index0 -%} + {%- endif -%} +{%- endfor -%} + +{#- ======== System messages renderers ======== #} +{%- macro render_system_message(user_system_messages) %} + {%- if default_system_prompt %} + {%- if not sys_ns.is_first_block %}{{- "\n\n" }}{%- endif %} + {%- set sys_ns.is_first_block = false %} + {{- "## Provider System Prompt\n\nYou are Solar Open 100B, a large language model trained by Upstage AI, a Korean startup. Your knowledge cutoff is 2025-07. The current date is " + strftime_now("%Y-%m-%d") + "." }} + {%- endif -%} + {%- if user_system_messages %} + {%- if not sys_ns.is_first_block %}{{- "\n\n" }}{%- endif %} + {%- set sys_ns.is_first_block = false %} + {{- "## System Prompt" }} + {%- for system_message in user_system_messages %} + {{- "\n\n" }} + {{- system_message }} + {%- endfor %} + {%- endif -%} +{%- endmacro %} + +{%- macro render_tool_instruction(tools) %} + {%- if not sys_ns.is_first_block %}{{- "\n\n" }}{%- endif %} + {%- set sys_ns.is_first_block = false %} + {{- "## Tools\n\n### Tool Call Instruction" }} + {{- "\nYou may invoke one or more tools to assist with the user's query. Available tools are provided in JSON Schema format: <|tools:begin|><|tool:begin|><|tool:end|>...<|tools:end|>\n" }} + {{- "\n### Available Tools\n" }} + {{- "<|tools:begin|>" }} + {%- for tool in tools %} + {{- "<|tool:begin|>" }} + {{- tool.function | tojson }} + {{- "<|tool:end|>" }} + {%- endfor %} + {{- "<|tools:end|>\n" }} + {{- "\n### Tool Call Format\n" }} + {{- "For each tool call, return a JSON object with the following structure, enclosed within <|tool_call:begin|> and <|tool_call:end|> tags: \n<|tool_call:begin|><|tool_call:name|><|tool_call:args|><|tool_call:end|>\n" }} + {{- "- The must be a randomly generated string consisting of 10 lowercase letters (a-z) and/or digits (0-9) (e.g., a1b2c3d4e5)\n" }} + {{- "\n### Tool Response Format\n" }} + {{- "Each tool is responded by `tool` with the following structure:\n<|tool_response:id|><|tool_response:name|><|tool_response:result|><|tool_response:end|>\n" }} + {{- "- Ensure the matches the corresponding tool call" -}} +{%- endmacro %} + +{%- macro render_json_response_format_instruction(response_format) %} + {%- if not sys_ns.is_first_block %}{{- "\n\n" }}{%- endif %} + {%- set sys_ns.is_first_block = false %} + {{- "## Output Format Constraint" }} + {{- "\n\nYour final response should follow the JSON schema: \n[Start of schema]" }} + {{- response_format }} + {{- "\n[End of schema]\nPlease ensure your answers adhere to this format and do not contain any unnecessary text." }} +{%- endmacro %} + +{%- macro get_tool_name(messages, tool_call_id) %} + {%- for msg in messages -%} + {%- if msg.role == 'assistant' and msg.tool_calls -%} + {%- for tool_call in msg.tool_calls -%} + {%- if tool_call.id == tool_call_id -%} + {{- tool_call.function.name }} + {%- endif -%} + {%- endfor -%} + {%- endif -%} + {%- endfor -%} +{%- endmacro %} + +{%- macro render_tool_arguments(tool_arguments) %} + {%- if tool_arguments is mapping -%} + {{- tool_arguments | tojson }} + {%- else -%} + {{- tool_arguments }} + {%- endif -%} +{%- endmacro %} + +{#- ======== Render system message ======== #} +{%- set ns = namespace(system_messages=[]) -%} +{%- for message in messages -%} + {%- if message.role == 'system' -%} + {%- set ns.system_messages = ns.system_messages + [message.content] -%} + {%- endif -%} +{%- endfor -%} + +{%- if ns.system_messages or default_system_prompt or tools or response_format -%} + {{- "<|begin|>system<|content|>" }} + {{- render_system_message(ns.system_messages) }} + {%- if tools -%} + {{- render_tool_instruction(tools) }} + {%- endif %} + {%- if response_format -%} + {{- render_json_response_format_instruction(response_format) }} + {%- endif %} + {{- "<|end|>" }} +{%- endif -%} + +{#- ======== Render main messages ======== #} +{%- for message in messages -%} + {%- if message.role == 'user' -%} + {{- "<|begin|>user<|content|>" + message.content + "<|end|>" }} + {%- elif message.role == 'tool' -%} + {%- set prev_is_tool = loop.index0 > 0 and messages[loop.index0 - 1].role == 'tool' -%} + {%- set next_is_tool = loop.index0 < (messages | length - 1) and messages[loop.index0 + 1].role == 'tool' -%} + {%- if not prev_is_tool -%} + {{- "<|begin|>tool<|tool_response|>" }} + {%- endif -%} + {{- "<|tool_response:begin|>" + message.tool_call_id + "<|tool_response:name|>" }} + {{- get_tool_name(messages, message.tool_call_id) }} + {{- "<|tool_response:result|>" }} + {{- message.content }} + {{- "<|tool_response:end|>" }} + {%- if not next_is_tool -%} + {{- "<|end|>" }} + {%- endif -%} + {%- elif message.role == 'assistant' -%} + {#- ======== Assistant Thinking ======== #} + {%- if think_render_option == "all" -%} + {%- if message.reasoning -%} + {{- "<|begin|>assistant<|think|>" + message.reasoning + "<|end|>" }} + {%- endif -%} + {%- elif think_render_option == "lastthink" -%} + {%- if message.reasoning and loop.index0 > last_user_idx.value -%} + {{- "<|begin|>assistant<|think|>" + message.reasoning + "<|end|>" }} + {%- endif -%} + {%- endif -%} + + {#- ======== Assistant Messages ======== #} + {%- if message.tool_calls -%} + {{- "<|begin|>assistant<|tool_calls|>" }} + {%- for tool_call in message.tool_calls -%} + {{- "<|tool_call:begin|>" + tool_call.id +"<|tool_call:name|>" + tool_call.function.name + "<|tool_call:args|>" }} + {{- render_tool_arguments(tool_call.function.arguments) }} + {{- "<|tool_call:end|>" }} + {%- endfor -%} + {{- "<|calls|>" }} + {%- else -%} + {{- "<|begin|>assistant<|content|>" + message.content + "<|end|>" }} + {%- endif -%} + {%- endif -%} +{%- endfor -%} + +{%- if add_generation_prompt -%} + {%- if reasoning_effort in ["low", "minimal"] -%} + {{- "<|begin|>assistant<|think|><|end|>" }} + {%- endif -%} + {{- "<|begin|>assistant" }} +{%- endif -%} diff --git a/tests/test-chat.cpp b/tests/test-chat.cpp index de7075e6e5..4378a8db71 100644 --- a/tests/test-chat.cpp +++ b/tests/test-chat.cpp @@ -592,7 +592,7 @@ static void test_peg_parser(common_chat_templates * tmpls, const std::function123456789" + "<|tool_call:name|>special_function" + "<|tool_call:args|>{\"arg1\":1}" + "<|tool_call:end|>"; + + t.params.chat_template_kwargs["reasoning_effort"] = "\"low\""; + t.params.tools = {special_function_tool}; + t.expect = message_assist_call_id; + }); + + // Test tool call with reasoning + test_peg_parser(tmpls.get(), [&](auto & t) { + t.input = "<|think|>I'm\nthinking<|end|>" + "<|begin|>assistant<|tool_calls|>" + "<|tool_call:begin|>0" + "<|tool_call:name|>special_function" + "<|tool_call:args|>{\"arg1\":1}" + "<|tool_call:end|>"; + + t.params.tools = {special_function_tool}; + t.expect = message_assist_thoughts_call_idx; + }); + + // Test tool call with reasoning and tool_choice = required + test_peg_parser(tmpls.get(), [&](auto & t) { + t.input = "<|think|>I'm\nthinking<|end|>" + "<|begin|>assistant<|tool_calls|>" + "<|tool_call:begin|>0" + "<|tool_call:name|>special_function" + "<|tool_call:args|>{\"arg1\":1}" + "<|tool_call:end|>"; + + t.params.tools = {special_function_tool}; + t.params.tool_choice = COMMON_CHAT_TOOL_CHOICE_REQUIRED; + t.expect = message_assist_thoughts_call_idx; + }); + + // Test tool call without reasoning and tool_choice = required + test_peg_parser(tmpls.get(), [&](auto & t) { + t.input = "<|tool_calls|>" + "<|tool_call:begin|>0" + "<|tool_call:name|>special_function" + "<|tool_call:args|>{\"arg1\":1}" + "<|tool_call:end|>"; + + t.params.tools = {special_function_tool}; + t.params.tool_choice = COMMON_CHAT_TOOL_CHOICE_REQUIRED; + t.params.chat_template_kwargs["reasoning_effort"] = "\"low\""; + t.expect = message_assist_call_idx; + }); + + // Test parallel tool calls + test_peg_parser(tmpls.get(), [&](auto & t) { + t.input = "<|think|>I'm\nthinking<|end|>" + "<|begin|>assistant<|tool_calls|>" + "<|tool_call:begin|>0" + "<|tool_call:name|>special_function" + "<|tool_call:args|>{\"arg1\":1}" + "<|tool_call:end|>" + "<|tool_call:begin|>1" + "<|tool_call:name|>special_function_with_opt" + "<|tool_call:args|>{\"arg1\": 1, \"arg2\": 2}" + "<|tool_call:end|>"; + + t.params.parallel_tool_calls = true; + t.params.tools = {special_function_tool, special_function_tool_with_optional_param}; + + t.expect.reasoning_content = "I'm\nthinking"; + t.expect.tool_calls = {{ + /* .name = */ "special_function", + /* .arguments = */ R"({"arg1": 1})", + /* .id = */ "0", + }, { + /* .name = */ "special_function_with_opt", + /* .arguments = */ R"({"arg1": 1, "arg2": 2})", + /* .id = */ "1", + }}; + }); + + // Test response format + test_peg_parser(tmpls.get(), [&](auto & t) { + t.input = "<|think|>I need to output the invoice details in JSON<|end|>" + "<|begin|>assistant<|content|>" + R"({"amount": 123.45, "date": "2025-12-03"})"; + + t.params.json_schema = invoice_schema; + + t.expect.reasoning_content = "I need to output the invoice details in JSON"; + t.expect.content =R"({"amount": 123.45, "date": "2025-12-03"})"; + }); + + // Test response format no reasoning + test_peg_parser(tmpls.get(), [&](auto & t) { + t.input = "<|content|>" + R"({"amount": 123.45, "date": "2025-12-03"})"; + + t.params.chat_template_kwargs["reasoning_effort"] = "\"low\""; + t.params.json_schema = invoice_schema; + + t.expect.content =R"({"amount": 123.45, "date": "2025-12-03"})"; + }); + } } static void test_msg_diffs_compute() { From 4fdbc1e4dba428ce0cf9d2ac22232dc170bbca82 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 29 Jan 2026 18:45:30 +0200 Subject: [PATCH 059/206] cuda : fix nkvo, offload and cuda graph node properties matching (#19165) * cuda : fix nkvo * cont : more robust cuda graph node property matching * cont : restore pre-leafs implementation * cont : comments + static_assert --- ggml/src/ggml-cuda/common.cuh | 12 +++++- ggml/src/ggml-cuda/fattn.cu | 5 --- ggml/src/ggml-cuda/ggml-cuda.cu | 69 +++++++++++++++++++++++---------- src/llama-graph.cpp | 5 --- 4 files changed, 59 insertions(+), 32 deletions(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 3335f443ae..43280644e4 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -1122,15 +1122,17 @@ struct ggml_tensor_extra_gpu { #endif struct ggml_cuda_graph_node_properties { - void * node_address; + void * node_data; ggml_op node_op; int32_t flags; int64_t ne[GGML_MAX_DIMS]; size_t nb[GGML_MAX_DIMS]; - void * src_address[GGML_MAX_SRC]; + void * src_data[GGML_MAX_SRC]; int32_t op_params[GGML_MAX_OP_PARAMS / sizeof(int32_t)]; }; +static_assert(std::is_trivial::value, "ggml_cuda_graph_node_properties must be trivial"); + struct ggml_cuda_graph { #ifdef USE_CUDA_GRAPH ~ggml_cuda_graph() { @@ -1150,6 +1152,12 @@ struct ggml_cuda_graph { int number_consecutive_updates = 0; std::vector props; + // these are extra tensors (inputs) that participate in the ggml graph but are not nodes + // they properties also have to match in order to be able to safely reuse a CUDA graph + // ref: https://github.com/ggml-org/llama.cpp/pull/18583 + // ref: https://github.com/ggml-org/llama.cpp/pull/19165 + std::vector extra; + void record_update(bool use_graph, bool update_required) { if (use_graph && update_required) { number_consecutive_updates++; diff --git a/ggml/src/ggml-cuda/fattn.cu b/ggml/src/ggml-cuda/fattn.cu index 195904ee20..721edd9994 100644 --- a/ggml/src/ggml-cuda/fattn.cu +++ b/ggml/src/ggml-cuda/fattn.cu @@ -310,8 +310,6 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const } } - const bool V_is_K_view = V->view_src && (V->view_src == K || (V->view_src == K->view_src && V->view_offs == K->view_offs)); - const int cc = ggml_cuda_info().devices[device].cc; switch (K->ne[0]) { @@ -334,9 +332,6 @@ static best_fattn_kernel ggml_cuda_get_best_fattn_kernel(const int device, const if (!gqa_opt_applies) { return BEST_FATTN_KERNEL_NONE; } - if (!V_is_K_view) { - return BEST_FATTN_KERNEL_NONE; - } break; default: return BEST_FATTN_KERNEL_NONE; diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 76d0f12550..cfcffde8a2 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -70,17 +70,18 @@ #include #include #include -#include +#include #include #include #include #include #include -#include -#include -#include +#include +#include +#include #include #include +#include static_assert(sizeof(half) == sizeof(ggml_fp16_t), "wrong fp16 size"); @@ -2916,7 +2917,8 @@ static bool ggml_cuda_graph_check_compability(ggml_cgraph * cgraph) { } static void ggml_cuda_graph_node_set_properties(ggml_cuda_graph_node_properties * props, ggml_tensor * node) { - props->node_address = node->data; + memset(props, 0, sizeof(ggml_cuda_graph_node_properties)); + props->node_data = node->data; props->node_op = node->op; props->flags = node->flags; for (int i = 0; i < GGML_MAX_DIMS; i++) { @@ -2924,14 +2926,17 @@ static void ggml_cuda_graph_node_set_properties(ggml_cuda_graph_node_properties props->nb[i] = node->nb[i]; } for (int i = 0; i < GGML_MAX_SRC; i++) { - props->src_address[i] = node->src[i] ? node->src[i]->data : nullptr; + if (!node->src[i]) { + continue; + } + + props->src_data[i] = node->src[i]->data; } memcpy(props->op_params, node->op_params, GGML_MAX_OP_PARAMS); } static bool ggml_cuda_graph_node_properties_match(ggml_tensor * node, ggml_cuda_graph_node_properties * props) { - if (node->data != props->node_address && - node->op != GGML_OP_VIEW) { + if (node->data != props->node_data && node->op != GGML_OP_VIEW) { return false; } @@ -2948,12 +2953,18 @@ static bool ggml_cuda_graph_node_properties_match(ggml_tensor * node, ggml_cuda_ } } - for (int i = 0; i < GGML_MAX_SRC; i++) { - if (node->src[i] && - node->src[i]->data != props->src_address[i] && - node->op != GGML_OP_VIEW - ) { - return false; + if (node->op != GGML_OP_VIEW) { + for (int i = 0; i < GGML_MAX_SRC; i++) { + if (!node->src[i]) { + if (props->src_data[i] != nullptr) { + return false; + } + continue; + } + + if (node->src[i]->data != props->src_data[i]) { + return false; + } } } @@ -2974,7 +2985,6 @@ static const void * ggml_cuda_graph_get_key(ggml_cgraph * cgraph) { } static bool ggml_cuda_graph_update_required(ggml_backend_cuda_context * cuda_ctx, ggml_cgraph * cgraph) { - bool res = false; const void * graph_key = ggml_cuda_graph_get_key(cgraph); @@ -2985,15 +2995,20 @@ static bool ggml_cuda_graph_update_required(ggml_backend_cuda_context * cuda_ctx } // Check if the graph size has changed - if (graph->props.size() != (size_t)cgraph->n_nodes + cgraph->n_leafs) { + if (graph->props.size() != (size_t)cgraph->n_nodes) { res = true; - graph->props.resize(cgraph->n_nodes + cgraph->n_leafs); + graph->props.resize(cgraph->n_nodes); } // Loop over nodes in GGML graph to determine if CUDA graph update is required // and store properties to allow this comparison for the next token + std::unordered_set seen_node; + std::vector srcs_extra; for (int i = 0; i < cgraph->n_nodes; i++) { bool props_match = true; + + seen_node.insert(cgraph->nodes[i]); + if (!res) { props_match = ggml_cuda_graph_node_properties_match(cgraph->nodes[i], &graph->props[i]); } @@ -3001,17 +3016,31 @@ static bool ggml_cuda_graph_update_required(ggml_backend_cuda_context * cuda_ctx res = true; } ggml_cuda_graph_node_set_properties(&graph->props[i], cgraph->nodes[i]); + + for (int src_idx = 0; src_idx < GGML_MAX_SRC; ++src_idx) { + ggml_tensor * src = cgraph->nodes[i]->src[src_idx]; + if (src && seen_node.find(src) == seen_node.end()) { + srcs_extra.push_back(src); + } + } } - for (int i = 0; i < cgraph->n_leafs; i++) { + if (graph->extra.size() != (size_t) srcs_extra.size()) { + res = true; + graph->extra.resize(srcs_extra.size()); + } + + for (size_t i = 0; i < srcs_extra.size(); ++i) { bool props_match = true; + if (!res) { - props_match = ggml_cuda_graph_node_properties_match(cgraph->leafs[i], &graph->props[cgraph->n_nodes + i]); + props_match = ggml_cuda_graph_node_properties_match(srcs_extra[i], &graph->extra[i]); } + if (!props_match) { res = true; } - ggml_cuda_graph_node_set_properties(&graph->props[cgraph->n_nodes + i], cgraph->leafs[i]); + ggml_cuda_graph_node_set_properties(&graph->extra[i], srcs_extra[i]); } return res; diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp index b3198b7e3a..16d42c4ae3 100644 --- a/src/llama-graph.cpp +++ b/src/llama-graph.cpp @@ -1630,11 +1630,6 @@ ggml_tensor * llm_graph_context::build_attn_mha( hparams.attn_soft_cap ? hparams.f_attn_logit_softcapping : 0.0f); cb(cur, LLAMA_TENSOR_NAME_FATTN, il); - if (!cparams.offload_kqv) { - // all nodes between the KV store and the attention output are run on the CPU - ggml_backend_sched_set_tensor_backend(sched, cur, backend_cpu); - } - ggml_flash_attn_ext_add_sinks(cur, sinks); ggml_flash_attn_ext_set_prec (cur, GGML_PREC_F32); From ce38a4db478b90542874cd4af5cb48b3a0fcf311 Mon Sep 17 00:00:00 2001 From: Todor Boinovski Date: Thu, 29 Jan 2026 12:33:21 -0800 Subject: [PATCH 060/206] hexagon: enable offloading to Hexagon on Windows on Snapdragon (#19150) * hexagon: updates to enable offloading to HTP on WoS * Update windows.md * Update windows.md * hexagon: enable -O3 optimizations * hexagon: move all _WINDOWS conditional compilation to _WIN32 * hexagon: updates to enable offloading to HTP on WoS * hexagon: use run-time vs load-time dynamic linking for cdsp driver interface * refactor htp-drv * hexagon: add run-bench.ps1 script * hexagon: htdrv refactor * hexagon: unify Android and Windows build readmes * hexagon: update README.md * hexagon: refactor htpdrv * hexagon: drv refactor * hexagon: more drv refactor * hexagon: fixes for android builds * hexagon: factor out dl into ggml-backend-dl * hexagon: add run-tool.ps1 script * hexagon: merge htp-utils in htp-drv and remove unused code * wos: no need for getopt_custom.h * wos: add missing CR in htpdrv * hexagon: ndev enforecement applies only to the Android devices * hexagon: add support for generating and signing .cat file * hexagon: add .inf file * hexagon: working auto-signing and improved windows builds * hexagon: futher improve skel build * hexagon: add rough WoS guide * hexagon: updated windows guide * hexagon: improve cmake handling of certs and logging * hexagon: improve windows setup/build doc * hexagon: more windows readme updates * hexagon: windows readme updates * hexagon: windows readme updates * hexagon: windows readme updates * hexagon: windows readme updates * Update windows.md * Update windows.md * snapdragon: rename docs/backend/hexagon to docs/backends/snapdragon Also added a power shell script to simplify build env setup. * hexagon: remove trailing whitespace and move cmake requirement to user-presets * hexagon: fix CMakeUserPresets path in workflow yaml * hexagon: introduce local version of libdl.h * hexagon: fix src1 reuse logic gpt-oss needs a bigger lookahead window. The check for src[1] itself being quantized was wrong. --------- Co-authored-by: Max Krasnyansky --- .github/workflows/build.yml | 2 +- .../CMakeUserPresets.json | 21 +- .../backend/{hexagon => snapdragon}/README.md | 62 ++- .../{hexagon => snapdragon}/developer.md | 0 docs/backend/snapdragon/windows.md | 161 +++++++ ggml/src/CMakeLists.txt | 1 + ggml/src/ggml-backend-dl.cpp | 48 ++ ggml/src/ggml-backend-dl.h | 45 ++ ggml/src/ggml-backend-reg.cpp | 67 +-- ggml/src/ggml-hexagon/CMakeLists.txt | 113 +++-- ggml/src/ggml-hexagon/ggml-hexagon.cpp | 59 ++- ggml/src/ggml-hexagon/htp-drv.cpp | 418 ++++++++++++++++ ggml/src/ggml-hexagon/htp-drv.h | 121 +++++ ggml/src/ggml-hexagon/htp-utils.c | 454 ------------------ ggml/src/ggml-hexagon/htp-utils.h | 221 --------- ggml/src/ggml-hexagon/libdl.h | 79 +++ ggml/src/ggml-hexagon/libggml-htp.inf | 38 ++ scripts/snapdragon/windows/run-bench.ps1 | 40 ++ scripts/snapdragon/windows/run-cli.ps1 | 53 ++ scripts/snapdragon/windows/run-tool.ps1 | 56 +++ scripts/snapdragon/windows/setup-build.ps1 | 105 ++++ 21 files changed, 1325 insertions(+), 839 deletions(-) rename docs/backend/{hexagon => snapdragon}/CMakeUserPresets.json (70%) rename docs/backend/{hexagon => snapdragon}/README.md (84%) rename docs/backend/{hexagon => snapdragon}/developer.md (100%) create mode 100644 docs/backend/snapdragon/windows.md create mode 100644 ggml/src/ggml-backend-dl.cpp create mode 100644 ggml/src/ggml-backend-dl.h create mode 100644 ggml/src/ggml-hexagon/htp-drv.cpp create mode 100644 ggml/src/ggml-hexagon/htp-drv.h delete mode 100644 ggml/src/ggml-hexagon/htp-utils.c delete mode 100644 ggml/src/ggml-hexagon/htp-utils.h create mode 100644 ggml/src/ggml-hexagon/libdl.h create mode 100644 ggml/src/ggml-hexagon/libggml-htp.inf create mode 100644 scripts/snapdragon/windows/run-bench.ps1 create mode 100644 scripts/snapdragon/windows/run-cli.ps1 create mode 100644 scripts/snapdragon/windows/run-tool.ps1 create mode 100644 scripts/snapdragon/windows/setup-build.ps1 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 551bdd3df0..d3a1638f16 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1371,7 +1371,7 @@ jobs: id: update_presets if: ${{ matrix.build == 'arm64-snapdragon' }} run: | - cp docs/backend/hexagon/CMakeUserPresets.json . + cp docs/backend/snapdragon/CMakeUserPresets.json . - name: Build id: ndk_build diff --git a/docs/backend/hexagon/CMakeUserPresets.json b/docs/backend/snapdragon/CMakeUserPresets.json similarity index 70% rename from docs/backend/hexagon/CMakeUserPresets.json rename to docs/backend/snapdragon/CMakeUserPresets.json index 1f2676c0bc..4cf473d05f 100644 --- a/docs/backend/hexagon/CMakeUserPresets.json +++ b/docs/backend/snapdragon/CMakeUserPresets.json @@ -1,5 +1,10 @@ { - "version": 4, + "version": 5, + "cmakeMinimumRequired": { + "major": 3, + "minor": 28, + "patch": 0 + }, "configurePresets": [ { "name": "arm64-android-snapdragon", @@ -16,7 +21,9 @@ "CMAKE_CXX_FLAGS_RELEASE": "-O3 -DNDEBUG", "CMAKE_C_FLAGS_RELWITHDEBINFO": "-O3 -DNDEBUG -g", "CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O3 -DNDEBUG -g", - "HEXAGON_SDK_ROOT": "$env{HEXAGON_SDK_ROOT}", + "CMAKE_PREFIX_PATH": "$env{OPENCL_SDK_ROOT}", + "HEXAGON_SDK_ROOT": "$env{HEXAGON_SDK_ROOT}", + "HEXAGON_TOOLS_ROOT": "$env{HEXAGON_TOOLS_ROOT}", "PREBUILT_LIB_DIR": "android_aarch64", "GGML_OPENMP": "OFF", "GGML_LLAMAFILE": "OFF", @@ -31,7 +38,15 @@ "name": "arm64-windows-snapdragon", "inherits": [ "base", "arm64-windows-llvm" ], "cacheVariables": { - "HEXAGON_SDK_ROOT": "$env{HEXAGON_SDK_ROOT}", + "CMAKE_C_FLAGS": "-march=armv8.7a+fp16 -fvectorize -ffp-model=fast -flto -D_GNU_SOURCE", + "CMAKE_CXX_FLAGS": "-march=armv8.7a+fp16 -fvectorize -ffp-model=fast -flto -D_GNU_SOURCE", + "CMAKE_C_FLAGS_RELEASE": "-O3 -DNDEBUG", + "CMAKE_CXX_FLAGS_RELEASE": "-O3 -DNDEBUG", + "CMAKE_C_FLAGS_RELWITHDEBINFO": "-O3 -DNDEBUG -g", + "CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-O3 -DNDEBUG -g", + "CMAKE_PREFIX_PATH": "$env{OPENCL_SDK_ROOT}", + "HEXAGON_SDK_ROOT": "$env{HEXAGON_SDK_ROOT}", + "HEXAGON_TOOLS_ROOT": "$env{HEXAGON_TOOLS_ROOT}", "PREBUILT_LIB_DIR": "windows_aarch64", "GGML_OPENMP": "OFF", "GGML_LLAMAFILE": "OFF", diff --git a/docs/backend/hexagon/README.md b/docs/backend/snapdragon/README.md similarity index 84% rename from docs/backend/hexagon/README.md rename to docs/backend/snapdragon/README.md index 3befdf7225..8e1f37b206 100644 --- a/docs/backend/hexagon/README.md +++ b/docs/backend/snapdragon/README.md @@ -1,6 +1,8 @@ -# Snapdragon-based Android devices +# Snapdragon-based devices -## How to Build +## Setup + +### Android The easiest way to build llama.cpp for a Snapdragon-based Android device is using the toolchain Docker image (see github.com/snapdragon-toolchain). This image includes Android NDK, OpenCL SDK, Hexagon SDK, CMake, etc. @@ -12,7 +14,24 @@ This method works on Linux, macOS, and Windows. macOS and Windows users should i [d]/> cd /workspace ``` -The rest of the Android build process assumes that you're running inside the toolchain container. +Note: The rest of the **Android** build process assumes that you're running inside the toolchain container. + +### Windows On Snapdragon + +Native Windows 11 arm64 builds has the following tools dependencies: +- MS Visual Studio 2026 (Community Edition or Pro) + - MSVC arm64 standard and runtime libraries + - UCRT and Driver Kit +- LLVM core libraries and Clang compiler (winget) +- CMake, Git, Python (winget) +- Hexagon SDK Community Edition 6.4 or later (see windows.md) +- OpenCL SDK 2.3 or later (see windows.md) + +Note: The rest of the **Windows** build process assumes that you're running natively in Powershell. +Adapt below build commands accordingly. + +## How to Build + Let's build llama.cpp with CPU, OpenCL, and Hexagon backends via CMake presets: ``` @@ -49,24 +68,26 @@ Preset CMake variables: To generate an installable "package" simply use cmake --install: ``` -[d]/workspace> cmake --install build-snapdragon --prefix pkg-adb/llama.cpp +[d]/workspace> cmake --install build-snapdragon --prefix pkg-snapdragon/llama.cpp -- Install configuration: "Release" --- Installing: /workspace/pkg-adb/llama.cpp/lib/libggml-cpu.so --- Installing: /workspace/pkg-adb/llama.cpp/lib/libggml-opencl.so --- Installing: /workspace/pkg-adb/llama.cpp/lib/libggml-hexagon.so --- Installing: /workspace/pkg-adb/llama.cpp/lib/libggml-htp-v73.so --- Installing: /workspace/pkg-adb/llama.cpp/lib/libggml-htp-v75.so --- Installing: /workspace/pkg-adb/llama.cpp/lib/libggml-htp-v79.so --- Installing: /workspace/pkg-adb/llama.cpp/lib/libggml-htp-v81.so --- Installing: /workspace/pkg-adb/llama.cpp/lib/libggml.so +-- Installing: /workspace/pkg-snapdragon/llama.cpp/lib/libggml-cpu.so +-- Installing: /workspace/pkg-snapdragon/llama.cpp/lib/libggml-opencl.so +-- Installing: /workspace/pkg-snapdragon/llama.cpp/lib/libggml-hexagon.so +-- Installing: /workspace/pkg-snapdragon/llama.cpp/lib/libggml-htp-v73.so +-- Installing: /workspace/pkg-snapdragon/llama.cpp/lib/libggml-htp-v75.so +-- Installing: /workspace/pkg-snapdragon/llama.cpp/lib/libggml-htp-v79.so +-- Installing: /workspace/pkg-snapdragon/llama.cpp/lib/libggml-htp-v81.so +-- Installing: /workspace/pkg-snapdragon/llama.cpp/lib/libggml.so ... --- Installing: /workspace/pkg-adb/llama.cpp/bin/llama-bench --- Installing: /workspace/pkg-adb/llama.cpp/bin/llama-cli +-- Installing: /workspace/pkg-snapdragon/llama.cpp/bin/llama-bench +-- Installing: /workspace/pkg-snapdragon/llama.cpp/bin/llama-cli ... ``` ## How to Install +### Android + For this step, your device needs to be configured for on-device development. Please see https://developer.android.com/studio/debug/dev-options for details. @@ -74,10 +95,10 @@ Once ADB is enabled, use `adb push` to install `pkg-snapdragon` on the device. **Note that the toolchain Docker image doesn't have ADB and doesn't set up the ADB bridge. Please use native ADB on the host.** ``` -~/src/llama.cpp$ adb push pkg-adb/llama.cpp /data/local/tmp/ -pkg-adb/llama.cpp/bin/: 67 files pushed, 0 skipped. 190.2 MB/s (919095042 bytes in 4.607s) -pkg-adb/llama.cpp/include/: 19 files pushed, 0 skipped. 20.5 MB/s (255173 bytes in 0.012s) -pkg-adb/llama.cpp/lib/: 16 files pushed, 0 skipped. 144.4 MB/s (43801382 bytes in 0.289s) +~/src/llama.cpp$ adb push pkg-snapdragon/llama.cpp /data/local/tmp/ +pkg-snapdragon/llama.cpp/bin/: 67 files pushed, 0 skipped. 190.2 MB/s (919095042 bytes in 4.607s) +pkg-snapdragon/llama.cpp/include/: 19 files pushed, 0 skipped. 20.5 MB/s (255173 bytes in 0.012s) +pkg-snapdragon/llama.cpp/lib/: 16 files pushed, 0 skipped. 144.4 MB/s (43801382 bytes in 0.289s) 102 files pushed, 0 skipped. 186.9 MB/s (963151597 bytes in 4.914s) ``` @@ -92,6 +113,11 @@ At this point, you should also install some models: Llama-3.2-1B-Instruct-Q4_0.gguf: 1 file pushed, 0 skipped. 38.3 MB/s (773025920 bytes in 19.250s) ``` +### Windows + +All artifacts are already installed in the `pkg-snapdragon` folder. +To run, adapt below instructions to use Powershell scrits in `scripts/snapdragon/windows`. + ## How to Run The easiest way to run llama.cpp cli tools is using provided wrapper scripts that properly set up all required environment variables. diff --git a/docs/backend/hexagon/developer.md b/docs/backend/snapdragon/developer.md similarity index 100% rename from docs/backend/hexagon/developer.md rename to docs/backend/snapdragon/developer.md diff --git a/docs/backend/snapdragon/windows.md b/docs/backend/snapdragon/windows.md new file mode 100644 index 0000000000..710ad8fdf4 --- /dev/null +++ b/docs/backend/snapdragon/windows.md @@ -0,0 +1,161 @@ +## Overview + +The document covers procedures for installing the latest GPU and NPU drivers, and OpenCL and Hexagon SDKs. + + +In order to use Hexagon NPU on Snapdragon Windows devices the underlying HTP Ops libraries (e.g libggml-htp-v73.so) +must be included in the .cat file digitally signed with a trusted certificate. + +This document covers details on how to generate personal certificate files (.pfx) and how to configure the system +to allow for test signatures (aka test-signing). + +## Install the latest Adreno OpenCL SDK + +Either use the trimmed down version (optimized for CI) from + + https://github.com/snapdragon-toolchain/opencl-sdk/releases/download/v2.3.2/adreno-opencl-sdk-v2.3.2-arm64-wos.tar.xz + +Or download the complete official version from + + https://softwarecenter.qualcomm.com/catalog/item/Adreno_OpenCL_SDK?version=2.3.2 + +Unzip/untar the archive into +``` +c:\Qualcomm\OpenCL_SDK\2.3.2 +``` + +## Install the latest Hexagon SDK Community Edition + +Either use the trimmed down version (optimized for CI) from + + https://github.com/snapdragon-toolchain/hexagon-sdk/releases/download/v6.4.0.2/hexagon-sdk-v6.4.0.2-arm64-wos.tar.xz + +Or download the complete official version from + + https://softwarecenter.qualcomm.com/catalog/item/Hexagon_SDK?version=6.4.0.2 + +Unzip/untar the archive into +``` +c:\Qualcomm\Hexagon_SDK\6.4.0.2 +``` + +## Install the latest Adreno GPU driver + +Download the driver from + + https://softwarecenter.qualcomm.com/catalog/item/Windows_Graphics_Driver + +After the automated installation and reboot please make sure that the GPU device shows up in the `Device Manager` (under 'Display Adapters`) + +## Install the latest Qualcomm NPU driver + +Download the driver from + + https://softwarecenter.qualcomm.com/catalog/item/Qualcomm_HND + +After the automated installation and reboot please make sure that the Hexagon NPU device shows up in the `Device Manager` (under `Neural Processors`). + +If the device is not available you can try installing all components (`qcnspmcdm8380`, `qcnspmcdm8380_ext`) manually. +The components are extracted into +``` +c:\QCDrivers\qcnspmcdm... +``` + +## Enable NPU driver test signatures + +Please note that the following steps are required only for the Hexagon NPU. +Adreno GPU backend does not require test signatures. + +### Enable testsigning + +Use `bcdedit` to enable test-signing +``` +> bcdedit /set TESTSIGNING ON +``` +(Secure Boot may need to be disabled for this to work) + +Make sure test-signing is enabled after reboot +``` +> bcdedit /enum +... +testsigning Yes +... +``` +For additional details see Microsoft guide at + + https://learn.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option + +### Create personal certificate + +The tools required for this procedure are available as part of Windows SDK and Windows Driver Kit which should be +installed as part of the MS Visual Studio. +They are typically located at +``` +c:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0 +``` +(replace 10.0.26100.0 with correct version). + +To create personal self-signed certificate run the following commands (either from cmd or power-shell): +``` +> cd c:\Users\MyUser +> mkdir Certs +> cd Certs +> makecert -r -pe -ss PrivateCertStore -n CN=GGML.HTP.v1 -eku 1.3.6.1.5.5.7.3.3 -sv ggml-htp-v1.pvk ggml-htp-v1.cer +> pvk2pfx.exe -pvk ggml-htp-v1.pvk -spc ggml-htp-v1.cer -pfx ggml-htp-v1.pfx +``` +(replace `MyUser` with your username). + +Add this certificate to `Trusted Root Certification Authorities` and `Trusted Publishers` stores. +This can be done using `certlm` Certificate Manager tool. +Right click on the certificate store, select `All Tasks -> Import` and follow the prompts to import the certificate from the +PFX file you created above. + +For additional details see Microsoft guide at + + https://learn.microsoft.com/en-us/windows-hardware/drivers/install/introduction-to-test-signing + +Make sure to save the PFX file, you will need it for the build procedures. +Please note that the same certificate can be used for signing any number of builds. + +## Build Hexagon backend with signed HTP ops libraries + +The overall Hexagon backend build procedure for Windows on Snapdragon is the same as for other platforms. +However, additional settings are required for generating and signing HTP Ops libraries. +``` +> $env:OPENCL_SDK_ROOT="C:\Qualcomm\OpenCL_SDK\2.3.2" +> $env:HEXAGON_SDK_ROOT="C:\Qualcomm\Hexagon_SDK\6.4.0.2" +> $env:HEXAGON_TOOLS_ROOT="C:\Qualcomm\Hexagon_SDK\6.4.0.2\tools\HEXAGON_Tools\19.0.04" +> $env:HEXAGON_HTP_CERT="c:\Users\MyUsers\Certs\ggml-htp-v1.pfx" +> $env:WINDOWS_SDK_BIN="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\arm64" + +> cmake --preset arm64-windows-snapdragon -B build-wos +... +> cmake --install build-wos --prefix pkg-snapdragon +``` + +Once the build is complete HTP ops libraries will be installed like this +``` +> dir pkg-snapdragon/lib +... +-a---- 1/22/2026 6:01 PM 187656 libggml-htp-v73.so +-a---- 1/22/2026 6:01 PM 191752 libggml-htp-v75.so +-a---- 1/22/2026 6:01 PM 187656 libggml-htp-v79.so +-a---- 1/22/2026 6:01 PM 187656 libggml-htp-v81.so +-a---- 1/22/2026 6:01 PM 4139 libggml-htp.cat +``` + +The .cat file, the signature and proper certicate installation can be verified with + +``` +> signtool.exe verify /v /pa .\pkg-snapdragon\lib\libggml-htp.cat +Verifying: .\pkg-snapdragon\lib\libggml-htp.cat + +Signature Index: 0 (Primary Signature) +Hash of file (sha256): 9820C664DA59D5EAE31DBB664127FCDAEF59CDC31502496BC567544EC2F401CF + +Signing Certificate Chain: + Issued to: GGML.HTP.v1 +... +Successfully verified: .\pkg-snapdragon\lib\libggml-htp.cat +... +``` diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 260ad48f0e..265023733e 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -222,6 +222,7 @@ if (GGML_SCHED_NO_REALLOC) endif() add_library(ggml + ggml-backend-dl.cpp ggml-backend-reg.cpp) add_library(ggml::ggml ALIAS ggml) diff --git a/ggml/src/ggml-backend-dl.cpp b/ggml/src/ggml-backend-dl.cpp new file mode 100644 index 0000000000..a65cf00905 --- /dev/null +++ b/ggml/src/ggml-backend-dl.cpp @@ -0,0 +1,48 @@ +#include "ggml-backend-dl.h" + +#ifdef _WIN32 + +dl_handle * dl_load_library(const fs::path & path) { + // suppress error dialogs for missing DLLs + DWORD old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); + SetErrorMode(old_mode | SEM_FAILCRITICALERRORS); + + HMODULE handle = LoadLibraryW(path.wstring().c_str()); + + SetErrorMode(old_mode); + + return handle; +} + +void * dl_get_sym(dl_handle * handle, const char * name) { + DWORD old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); + SetErrorMode(old_mode | SEM_FAILCRITICALERRORS); + + void * p = (void *) GetProcAddress(handle, name); + + SetErrorMode(old_mode); + + return p; +} + +const char * dl_error() { + return ""; +} + +#else + +dl_handle * dl_load_library(const fs::path & path) { + dl_handle * handle = dlopen(path.string().c_str(), RTLD_NOW | RTLD_LOCAL); + return handle; +} + +void * dl_get_sym(dl_handle * handle, const char * name) { + return dlsym(handle, name); +} + +const char * dl_error() { + const char *rslt = dlerror(); + return rslt != nullptr ? rslt : ""; +} + +#endif diff --git a/ggml/src/ggml-backend-dl.h b/ggml/src/ggml-backend-dl.h new file mode 100644 index 0000000000..f74b7c9489 --- /dev/null +++ b/ggml/src/ggml-backend-dl.h @@ -0,0 +1,45 @@ +#pragma once + +#ifdef _WIN32 +# define WIN32_LEAN_AND_MEAN +# ifndef NOMINMAX +# define NOMINMAX +# endif +# include +# include +#else +# include +# include +#endif +#include + +namespace fs = std::filesystem; + +#ifdef _WIN32 + +using dl_handle = std::remove_pointer_t; + +struct dl_handle_deleter { + void operator()(HMODULE handle) { + FreeLibrary(handle); + } +}; + +#else + +using dl_handle = void; + +struct dl_handle_deleter { + void operator()(void * handle) { + dlclose(handle); + } +}; + +#endif + +using dl_handle_ptr = std::unique_ptr; + +dl_handle * dl_load_library(const fs::path & path); +void * dl_get_sym(dl_handle * handle, const char * name); +const char * dl_error(); + diff --git a/ggml/src/ggml-backend-reg.cpp b/ggml/src/ggml-backend-reg.cpp index dd991f262e..8a693f84af 100644 --- a/ggml/src/ggml-backend-reg.cpp +++ b/ggml/src/ggml-backend-reg.cpp @@ -1,5 +1,6 @@ #include "ggml-backend-impl.h" #include "ggml-backend.h" +#include "ggml-backend-dl.h" #include "ggml-impl.h" #include #include @@ -98,72 +99,6 @@ static std::string path_str(const fs::path & path) { } } -#ifdef _WIN32 - -using dl_handle = std::remove_pointer_t; - -struct dl_handle_deleter { - void operator()(HMODULE handle) { - FreeLibrary(handle); - } -}; - -static dl_handle * dl_load_library(const fs::path & path) { - // suppress error dialogs for missing DLLs - DWORD old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); - SetErrorMode(old_mode | SEM_FAILCRITICALERRORS); - - HMODULE handle = LoadLibraryW(path.wstring().c_str()); - - SetErrorMode(old_mode); - - return handle; -} - -static void * dl_get_sym(dl_handle * handle, const char * name) { - DWORD old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); - SetErrorMode(old_mode | SEM_FAILCRITICALERRORS); - - void * p = (void *) GetProcAddress(handle, name); - - SetErrorMode(old_mode); - - return p; -} - -static const char * dl_error() { - return ""; -} - -#else - -using dl_handle = void; - -struct dl_handle_deleter { - void operator()(void * handle) { - dlclose(handle); - } -}; - -static void * dl_load_library(const fs::path & path) { - dl_handle * handle = dlopen(path.string().c_str(), RTLD_NOW | RTLD_LOCAL); - - return handle; -} - -static void * dl_get_sym(dl_handle * handle, const char * name) { - return dlsym(handle, name); -} - -static const char * dl_error() { - const char *rslt = dlerror(); - return rslt != nullptr ? rslt : ""; -} - -#endif - -using dl_handle_ptr = std::unique_ptr; - struct ggml_backend_reg_entry { ggml_backend_reg_t reg; dl_handle_ptr handle; diff --git a/ggml/src/ggml-hexagon/CMakeLists.txt b/ggml/src/ggml-hexagon/CMakeLists.txt index d58e287823..2b69197017 100644 --- a/ggml/src/ggml-hexagon/CMakeLists.txt +++ b/ggml/src/ggml-hexagon/CMakeLists.txt @@ -1,7 +1,17 @@ +file(TO_CMAKE_PATH "${HEXAGON_SDK_ROOT}" HEXAGON_SDK_ROOT) +file(TO_CMAKE_PATH "${HEXAGON_TOOLS_ROOT}" HEXAGON_TOOLS_ROOT) + +if (NOT IS_DIRECTORY "${HEXAGON_SDK_ROOT}" OR NOT IS_DIRECTORY "${HEXAGON_TOOLS_ROOT}") + message(FATAL_ERROR "Make sure HEXAGON_SDK_ROOT and HEXAGON_TOOLS_ROOT point to the correct Hexagon SDK installation.") +endif() + +message(STATUS "hexagon: using ${HEXAGON_SDK_ROOT} and ${HEXAGON_TOOLS_ROOT} for building libggml-htp skels") + include(${HEXAGON_SDK_ROOT}/build/cmake/hexagon_fun.cmake) include(ExternalProject) option(GGML_HEXAGON_HTP_DEBUG "ggml-hexagon: enable HTP debug output" OFF) +set(GGML_HEXAGON_HTP_CERT "$ENV{HEXAGON_HTP_CERT}" CACHE PATH "ggml-hexagon: enable HTP library signing using certificate") set(GGML_HEXAGON_FP32_QUANTIZE_GROUP_SIZE 128 CACHE STRING "ggml-hexagon: quantize group size (32, 64, or 128)") add_library(htp_iface OBJECT @@ -25,56 +35,71 @@ else() target_link_options(htp_iface PUBLIC -ldl) endif() -link_custom_library(htp_iface cdsprpc) -link_custom_library(htp_iface rpcmem) - set(TARGET_NAME ggml-hexagon) ggml_add_backend_library(${TARGET_NAME} - ggml-hexagon.cpp htp-utils.c htp-utils.h ../../include/ggml-hexagon.h) + ggml-hexagon.cpp + htp-drv.cpp + htp-drv.h + libdl.h + ../../include/ggml-hexagon.h) target_link_libraries(${TARGET_NAME} PRIVATE htp_iface) target_include_directories(${TARGET_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/htp ${CMAKE_CURRENT_BINARY_DIR}) -# Build HTP bits -set(HTP_CMAKE_ARGS - -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/htp/cmake-toolchain.cmake - -DCMAKE_BUILD_TYPE=Release - -DCMAKE_INSTALL_LIBDIR=${CMAKE_CURRENT_BINARY_DIR} - -DHEXAGON_SDK_ROOT=$ENV{HEXAGON_SDK_ROOT} - -DHEXAGON_TOOLS_ROOT=$ENV{HEXAGON_TOOLS_ROOT} - -DHEXAGON_HTP_DEBUG=${GGML_HEXAGON_HTP_DEBUG} - -DGGML_HEXAGON_FP32_QUANTIZE_GROUP_SIZE=${GGML_HEXAGON_FP32_QUANTIZE_GROUP_SIZE}) +# Build HTP skels +set(HTP_SKELS) +function(build_htp_skel V) + ExternalProject_Add(htp-${V} + SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/htp BUILD_ALWAYS ON + BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/libggml-htp-${V}.so + CMAKE_ARGS + -DCMAKE_BUILD_TYPE=Release + -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/htp/cmake-toolchain.cmake + -DCMAKE_INSTALL_LIBDIR=${CMAKE_CURRENT_BINARY_DIR} + -DHEXAGON_SDK_ROOT=${HEXAGON_SDK_ROOT} + -DHEXAGON_TOOLS_ROOT=${HEXAGON_TOOLS_ROOT} + -DHEXAGON_HTP_DEBUG=${GGML_HEXAGON_HTP_DEBUG} + -DGGML_HEXAGON_FP32_QUANTIZE_GROUP_SIZE=${GGML_HEXAGON_FP32_QUANTIZE_GROUP_SIZE} + -DDSP_VERSION=${V} + -DPREBUILT_LIB_DIR="toolv19_${V}") + list(APPEND HTP_SKELS ${CMAKE_CURRENT_BINARY_DIR}/libggml-htp-${V}.so) + set(HTP_SKELS ${HTP_SKELS} PARENT_SCOPE) +endfunction() -ExternalProject_Add(htp-v68 - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/htp BUILD_ALWAYS ON - CMAKE_ARGS ${HTP_CMAKE_ARGS} -DDSP_VERSION=v68 -DPREBUILT_LIB_DIR="toolv19_v68") - -ExternalProject_Add(htp-v69 - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/htp BUILD_ALWAYS ON - CMAKE_ARGS ${HTP_CMAKE_ARGS} -DDSP_VERSION=v69 -DPREBUILT_LIB_DIR="toolv19_v69") - -ExternalProject_Add(htp-v73 - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/htp BUILD_ALWAYS ON - CMAKE_ARGS ${HTP_CMAKE_ARGS} -DDSP_VERSION=v73 -DPREBUILT_LIB_DIR="toolv19_v73") - -ExternalProject_Add(htp-v75 - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/htp BUILD_ALWAYS ON - CMAKE_ARGS ${HTP_CMAKE_ARGS} -DDSP_VERSION=v75 -DPREBUILT_LIB_DIR="toolv19_v75") - -ExternalProject_Add(htp-v79 - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/htp BUILD_ALWAYS ON - CMAKE_ARGS ${HTP_CMAKE_ARGS} -DDSP_VERSION=v79 -DPREBUILT_LIB_DIR="toolv19_v79") - -ExternalProject_Add(htp-v81 - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/htp BUILD_ALWAYS ON - CMAKE_ARGS ${HTP_CMAKE_ARGS} -DDSP_VERSION=v81 -DPREBUILT_LIB_DIR="toolv19_v81") +build_htp_skel(v68) +build_htp_skel(v69) +build_htp_skel(v73) +build_htp_skel(v75) +build_htp_skel(v79) +build_htp_skel(v81) # Install Hexagon skels required at runtime -install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/libggml-htp-v68.so - ${CMAKE_CURRENT_BINARY_DIR}/libggml-htp-v69.so - ${CMAKE_CURRENT_BINARY_DIR}/libggml-htp-v73.so - ${CMAKE_CURRENT_BINARY_DIR}/libggml-htp-v75.so - ${CMAKE_CURRENT_BINARY_DIR}/libggml-htp-v79.so - ${CMAKE_CURRENT_BINARY_DIR}/libggml-htp-v81.so - TYPE LIB) +install(FILES ${HTP_SKELS} TYPE LIB) + +if (CMAKE_SYSTEM_NAME MATCHES Windows AND GGML_HEXAGON_HTP_CERT) + file(TO_CMAKE_PATH "$ENV{WINDOWS_SDK_BIN}/arm64" WINSDK_BIN0_ARM64) + file(TO_CMAKE_PATH "$ENV{WINDOWS_SDK_BIN}/x86" WINSDK_BIN0_X86) + file(TO_CMAKE_PATH "$ENV{WindowsSdkVerBinPath}/arm64" WINSDK_BIN1_ARM64) + file(TO_CMAKE_PATH "$ENV{WindowsSdkVerBinPath}/x86" WINSDK_BIN1_X86) + + set(WINSDK_PATHS ${WINSDK_BIN0_ARM64} ${WINSDK_BIN0_X86} ${WINSDK_BIN1_ARM64} ${WINSDK_BIN1_X86}) + + find_program(INF2CAT NAMES inf2cat.exe PATHS ${WINSDK_PATHS} REQUIRED) + find_program(SIGNTOOL NAMES signtool.exe PATHS ${WINSDK_PATHS} REQUIRED) + + message(STATUS "hexagon: using ${GGML_HEXAGON_HTP_CERT} to sign libggml-htp skels") + + set(LIBGGML_HTP_CAT ${CMAKE_CURRENT_BINARY_DIR}/libggml-htp.cat) + add_custom_target(libggml-htp-cat + BYPRODUCTS ${LIBGGML_HTP_CAT} + DEPENDS libggml-htp.inf ${HTP_SKELS} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/libggml-htp.inf ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${INF2CAT} /driver:${CMAKE_CURRENT_BINARY_DIR} /os:10_25H2_ARM64 + COMMAND ${SIGNTOOL} sign /fd sha256 /f ${GGML_HEXAGON_HTP_CERT} ${LIBGGML_HTP_CAT} + COMMENT "generating and signing libggml-htp.cat file" + VERBATIM + ) + + add_dependencies(${TARGET_NAME} libggml-htp-cat) + install(FILES ${LIBGGML_HTP_CAT} TYPE LIB) +endif() diff --git a/ggml/src/ggml-hexagon/ggml-hexagon.cpp b/ggml/src/ggml-hexagon/ggml-hexagon.cpp index 5b835c11c7..4f0a1620fb 100644 --- a/ggml/src/ggml-hexagon/ggml-hexagon.cpp +++ b/ggml/src/ggml-hexagon/ggml-hexagon.cpp @@ -14,9 +14,6 @@ #ifdef _WIN32 # include -# ifndef _WINDOWS -# define _WINDOWS -# endif #else # include # include @@ -25,8 +22,6 @@ #pragma clang diagnostic ignored "-Wnested-anon-types" #pragma clang diagnostic ignored "-Wgnu-anonymous-struct" -#include "htp-utils.h" - #include #include #include @@ -40,6 +35,7 @@ #include "op-desc.h" #include "htp-msg.h" #include "htp_iface.h" +#include "htp-drv.h" static size_t opt_ndev = 1; static size_t opt_nhvx = 0; // use all @@ -150,9 +146,9 @@ void ggml_hexagon_session::enqueue(struct htp_general_req &req, struct dspqueue_ 0, // flags - the framework will autoset this n_bufs, // number of buffers bufs, // buffer references - sizeof(req), + sizeof(req), // Message length (const uint8_t *) &req, // Message - 1000000 // Timeout + DSPQUEUE_TIMEOUT // Timeout ); if (err != 0) { @@ -182,13 +178,13 @@ void ggml_hexagon_session::flush() { // Read response packet from queue int err = dspqueue_read(q, &flags, - HTP_MAX_PACKET_BUFFERS, // Maximum number of buffer references - &n_bufs, // Number of buffer references - bufs, // Buffer references - sizeof(rsp), // Max message length - &rsp_size, // Message length - (uint8_t *) &rsp, - 1000000); // Timeout + HTP_MAX_PACKET_BUFFERS, // Maximum number of buffer references + &n_bufs, // Number of buffer references + bufs, // Buffer references + sizeof(rsp), // Max message length + &rsp_size, // Message length + (uint8_t *) &rsp, // Message + DSPQUEUE_TIMEOUT); // Timeout if (err == AEE_EEXPIRED) { // TODO: might need to bail out if the HTP is stuck on something @@ -269,13 +265,7 @@ struct ggml_backend_hexagon_buffer_context { ggml_backend_hexagon_buffer_context(ggml_hexagon_session * sess, size_t size, bool repack) { size += 4 * 1024; // extra page for padding - if (rpcmem_alloc2) { - this->base = (uint8_t *) rpcmem_alloc2(RPCMEM_HEAP_ID_SYSTEM, RPCMEM_DEFAULT_FLAGS | RPCMEM_HEAP_NOREG, size); - } else { - GGML_LOG_INFO("ggml-hex: %s rpcmem_alloc2 not found, falling back to rpcmem_alloc\n", sess->name.c_str()); - this->base = (uint8_t *) rpcmem_alloc(RPCMEM_HEAP_ID_SYSTEM, RPCMEM_DEFAULT_FLAGS | RPCMEM_HEAP_NOREG, size); - } - + this->base = (uint8_t *) rpcmem_alloc2(RPCMEM_HEAP_ID_SYSTEM, RPCMEM_DEFAULT_FLAGS | RPCMEM_HEAP_NOREG, size); if (!this->base) { GGML_LOG_ERROR("ggml-hex: %s failed to allocate buffer : size %zu\n", sess->name.c_str(), size); throw std::runtime_error("ggml-hex: rpcmem_alloc failed (see log for details)"); @@ -2461,12 +2451,12 @@ static void ggml_backend_hexagon_free(ggml_backend_t backend) { } static inline bool op_reuse_src1(const ggml_tensor * op1, const ggml_tensor * op0) { - return (op0 && op0->src[1] == op1->src[1] && ggml_is_quantized(op0->src[0]->type) && ggml_is_quantized(op1->src[1]->type)); + return (op0 && op0->src[1] == op1->src[1] && ggml_is_quantized(op0->src[0]->type)); } static inline bool is_compute_op(ggml_tensor *node) { - return !(ggml_op_is_empty(node->op) || ggml_is_empty(node)); + return !ggml_op_is_empty(node->op) && !ggml_is_empty(node) && (node->flags & GGML_TENSOR_FLAG_COMPUTE); } // scan the graph and figure out last compute op index @@ -2488,7 +2478,7 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg const int last = last_compute_op(graph); - const struct ggml_tensor * prev_quant_op = nullptr; // prev executed op with quantizer + const struct ggml_tensor * prev_op = nullptr; // prev executed op for (int i = 0; i < graph->n_nodes; ++i) { ggml_tensor * node = graph->nodes[i]; @@ -2497,17 +2487,15 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg continue; } - if ((node->flags & GGML_TENSOR_FLAG_COMPUTE) == 0) { - continue; - } - uint32_t flags = 0; // skip quantizer if src1 is reused - if (op_reuse_src1(node, prev_quant_op)) { + if (op_reuse_src1(node, prev_op)) { flags |= HTP_OPFLAGS_SKIP_QUANTIZE; } + prev_op = node; + // ask for early notification for the last Op if (i == last) { flags |= HTP_OPFLAGS_EARLY_WAKEUP; @@ -2520,7 +2508,6 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg } else { ggml_hexagon_dispatch_op>(sess, node, flags); } - prev_quant_op = node; break; case GGML_OP_MUL_MAT_ID: if (ggml_is_quantized(node->src[0]->type)) { @@ -2528,7 +2515,6 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg } else { ggml_hexagon_dispatch_op>(sess, node, flags); } - prev_quant_op = node; break; case GGML_OP_MUL: case GGML_OP_ADD: @@ -2670,7 +2656,7 @@ static std::vector ggml_hexagon_graph_optimize_reorder(const std::vectorcontext = new ggml_hexagon_registry(reg); HEX_VERBOSE("ggml-hex: size-of-general-req %zu size-of-general-rsp %zu\n", sizeof(struct htp_general_req), @@ -3180,6 +3170,11 @@ ggml_backend_reg_t ggml_backend_hexagon_reg(void) { static std::mutex mutex; std::lock_guard lock(mutex); if (!initialized) { + auto nErr = htpdrv_init(); + if (nErr != AEE_SUCCESS) { + return NULL; + } + ggml_hexagon_init(®); } diff --git a/ggml/src/ggml-hexagon/htp-drv.cpp b/ggml/src/ggml-hexagon/htp-drv.cpp new file mode 100644 index 0000000000..2530bb06d6 --- /dev/null +++ b/ggml/src/ggml-hexagon/htp-drv.cpp @@ -0,0 +1,418 @@ +// sample drv interface + +#pragma clang diagnostic ignored "-Wgnu-anonymous-struct" +#pragma clang diagnostic ignored "-Wmissing-prototypes" +#pragma clang diagnostic ignored "-Wsign-compare" + +#include +#include +#include +#include +#ifdef _WIN32 +# define WIN32_LEAN_AND_MEAN +# ifndef NOMINMAX +# define NOMINMAX +# endif +# include +# include +#else +# include +# include +#endif +#include "ggml-impl.h" +#include "htp-drv.h" +#include "libdl.h" + +#include + +// +// Driver API types +// + +typedef void * (*rpcmem_alloc_pfn_t)(int heapid, uint32_t flags, int size); +typedef void * (*rpcmem_alloc2_pfn_t)(int heapid, uint32_t flags, size_t size); +typedef void (*rpcmem_free_pfn_t)(void * po); +typedef int (*rpcmem_to_fd_pfn_t)(void * po); + +typedef AEEResult (*dspqueue_create_pfn_t)(int domain, + uint32_t flags, + uint32_t req_queue_size, + uint32_t resp_queue_size, + dspqueue_callback_t packet_callback, + dspqueue_callback_t error_callback, + void * callback_context, + dspqueue_t * queue); +typedef AEEResult (*dspqueue_close_pfn_t)(dspqueue_t queue); +typedef AEEResult (*dspqueue_export_pfn_t)(dspqueue_t queue, uint64_t *queue_id); +typedef AEEResult (*dspqueue_write_pfn_t)(dspqueue_t queue, uint32_t flags, + uint32_t num_buffers, + struct dspqueue_buffer *buffers, + uint32_t message_length, + const uint8_t *message, + uint32_t timeout_us); +typedef AEEResult (*dspqueue_read_pfn_t)(dspqueue_t queue, uint32_t *flags, + uint32_t max_buffers, uint32_t *num_buffers, + struct dspqueue_buffer *buffers, + uint32_t max_message_length, + uint32_t *message_length, uint8_t *message, + uint32_t timeout_us); + +typedef int (*fastrpc_mmap_pfn_t)(int domain, int fd, void *addr, int offset, size_t length, enum fastrpc_map_flags flags); +typedef int (*fastrpc_munmap_pfn_t)(int domain, int fd, void *addr, size_t length); + +typedef int (*remote_handle64_open_pfn_t)(const char* name, remote_handle64 *ph); +typedef int (*remote_handle64_invoke_pfn_t)(remote_handle64 h, uint32_t dwScalars, remote_arg *pra); +typedef int (*remote_handle64_close_pfn_t)(remote_handle h); +typedef int (*remote_handle_control_pfn_t)(uint32_t req, void* data, uint32_t datalen); +typedef int (*remote_handle64_control_pfn_t)(remote_handle64 h, uint32_t req, void* data, uint32_t datalen); +typedef int (*remote_session_control_pfn_t)(uint32_t req, void *data, uint32_t datalen); + +// +// Driver API pfns +// + +rpcmem_alloc_pfn_t rpcmem_alloc_pfn = nullptr; +rpcmem_alloc2_pfn_t rpcmem_alloc2_pfn = nullptr; +rpcmem_free_pfn_t rpcmem_free_pfn = nullptr; +rpcmem_to_fd_pfn_t rpcmem_to_fd_pfn = nullptr; + +fastrpc_mmap_pfn_t fastrpc_mmap_pfn = nullptr; +fastrpc_munmap_pfn_t fastrpc_munmap_pfn = nullptr; + +dspqueue_create_pfn_t dspqueue_create_pfn = nullptr; +dspqueue_close_pfn_t dspqueue_close_pfn = nullptr; +dspqueue_export_pfn_t dspqueue_export_pfn = nullptr; +dspqueue_write_pfn_t dspqueue_write_pfn = nullptr; +dspqueue_read_pfn_t dspqueue_read_pfn = nullptr; + +remote_handle64_open_pfn_t remote_handle64_open_pfn = nullptr; +remote_handle64_invoke_pfn_t remote_handle64_invoke_pfn = nullptr; +remote_handle64_close_pfn_t remote_handle64_close_pfn = nullptr; +remote_handle_control_pfn_t remote_handle_control_pfn = nullptr; +remote_handle64_control_pfn_t remote_handle64_control_pfn = nullptr; +remote_session_control_pfn_t remote_session_control_pfn = nullptr; + +// +// Driver API +// + +void * rpcmem_alloc(int heapid, uint32_t flags, int size) { + return rpcmem_alloc_pfn(heapid, flags, size); +} + +void * rpcmem_alloc2(int heapid, uint32_t flags, size_t size) { + if (rpcmem_alloc2_pfn) { + return rpcmem_alloc2_pfn(heapid, flags, size); + } else { + GGML_LOG_INFO("ggml-hex: rpcmem_alloc2 not found, falling back to rpcmem_alloc\n"); + return rpcmem_alloc_pfn(heapid, flags, size); + } +} + +void rpcmem_free(void * po) { + return rpcmem_free_pfn(po); +} + +int rpcmem_to_fd(void * po) { + return rpcmem_to_fd_pfn(po); +} + +HTPDRV_API int fastrpc_mmap(int domain, int fd, void * addr, int offset, size_t length, enum fastrpc_map_flags flags) { + return fastrpc_mmap_pfn(domain, fd, addr, offset, length, flags); +} + +HTPDRV_API int fastrpc_munmap(int domain, int fd, void * addr, size_t length) { + return fastrpc_munmap_pfn(domain, fd, addr, length); +} + +AEEResult dspqueue_create(int domain, + uint32_t flags, + uint32_t req_queue_size, + uint32_t resp_queue_size, + dspqueue_callback_t packet_callback, + dspqueue_callback_t error_callback, + void * callback_context, + dspqueue_t * queue) { + return dspqueue_create_pfn(domain, flags, req_queue_size, resp_queue_size, packet_callback, error_callback, + callback_context, queue); +} + +AEEResult dspqueue_close(dspqueue_t queue) { + return dspqueue_close_pfn(queue); +} + +AEEResult dspqueue_export(dspqueue_t queue, uint64_t * queue_id) { + return dspqueue_export_pfn(queue, queue_id); +} + +AEEResult dspqueue_write(dspqueue_t queue, + uint32_t flags, + uint32_t num_buffers, + struct dspqueue_buffer * buffers, + uint32_t message_length, + const uint8_t * message, + uint32_t timeout_us) { + return dspqueue_write_pfn(queue, flags, num_buffers, buffers, message_length, message, timeout_us); +} + +AEEResult dspqueue_read(dspqueue_t queue, + uint32_t * flags, + uint32_t max_buffers, + uint32_t * num_buffers, + struct dspqueue_buffer * buffers, + uint32_t max_message_length, + uint32_t * message_length, + uint8_t * message, + uint32_t timeout_us) { + return dspqueue_read_pfn(queue, flags, max_buffers, num_buffers, buffers, max_message_length, message_length, + message, timeout_us); +} + +HTPDRV_API int remote_handle64_open(const char * name, remote_handle64 * ph) { + return remote_handle64_open_pfn(name, ph); +} + +HTPDRV_API int remote_handle64_invoke(remote_handle64 h, uint32_t dwScalars, remote_arg * pra) { + return remote_handle64_invoke_pfn(h, dwScalars, pra); +} + +HTPDRV_API int remote_handle64_close(remote_handle64 h) { + return remote_handle64_close_pfn(h); +} + +HTPDRV_API int remote_handle_control(uint32_t req, void * data, uint32_t datalen) { + return remote_handle_control_pfn(req, data, datalen); +} + +HTPDRV_API int remote_handle64_control(remote_handle64 h, uint32_t req, void * data, uint32_t datalen) { + return remote_handle64_control_pfn(h, req, data, datalen); +} + +HTPDRV_API int remote_session_control(uint32_t req, void * data, uint32_t datalen) { + return remote_session_control_pfn(req, data, datalen); +} + +#ifdef _WIN32 + +static std::string wstr_to_str(std::wstring_view wstr) { + std::string result; + if (wstr.empty()) { + return result; + } + auto bytes_needed = WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, + wstr.data(), (int) wstr.size(), + nullptr, 0, nullptr, nullptr); + if (bytes_needed == 0) { + GGML_LOG_ERROR("ggml-hex: WideCharToMultiByte failed. Error %lu\n", GetLastError()); + throw std::runtime_error("Invalid wstring input"); + } + + result.resize(bytes_needed, '\0'); + int bytes_written = WideCharToMultiByte(CP_UTF8, WC_ERR_INVALID_CHARS, + wstr.data(), (int) wstr.size(), + result.data(), bytes_needed, + nullptr, nullptr); + if (bytes_written == 0) { + GGML_LOG_ERROR("ggml-hex: WideCharToMultiByte failed. Error %lu\n", GetLastError()); + throw std::runtime_error("Wstring conversion failed"); + } + return result; +} + +static std::string get_driver_path() { + std::wstring serviceName = L"qcnspmcdm"; + std::string result; + + // Get a handle to the SCM database. + SC_HANDLE schSCManager = OpenSCManagerW(NULL, NULL, STANDARD_RIGHTS_READ); + if (nullptr == schSCManager) { + GGML_LOG_ERROR("ggml-hex: Failed to open SCManager. Error: %lu\n", GetLastError()); + return result; + } + + // Get a handle to the service. + SC_HANDLE schService = OpenServiceW(schSCManager, // SCM database + serviceName.c_str(), // name of service + SERVICE_QUERY_CONFIG); // need query config access + + if (nullptr == schService) { + GGML_LOG_ERROR("ggml-hex: Failed to open qcnspmcdm service. Error: %lu\n", GetLastError()); + CloseServiceHandle(schSCManager); + return result; + } + + // Store the size of buffer used as an output. + DWORD bufferSize; + if (!QueryServiceConfigW(schService, NULL, 0, &bufferSize) && + (GetLastError() != ERROR_INSUFFICIENT_BUFFER)) { + GGML_LOG_ERROR("ggml-hex: Failed to query service config. Error: %lu\n", GetLastError()); + CloseServiceHandle(schService); + CloseServiceHandle(schSCManager); + return result; + } + // Get the configuration of the service. + LPQUERY_SERVICE_CONFIGW serviceConfig = + static_cast(LocalAlloc(LMEM_FIXED, bufferSize)); + if (!QueryServiceConfigW(schService, serviceConfig, bufferSize, &bufferSize)) { + fprintf(stderr, "ggml-hex: Failed to query service config. Error: %lu\n", GetLastError()); + LocalFree(serviceConfig); + CloseServiceHandle(schService); + CloseServiceHandle(schSCManager); + return result; + } + + // Read the driver file path get its parent directory + std::wstring driverPath = std::wstring(serviceConfig->lpBinaryPathName); + driverPath = driverPath.substr(0, driverPath.find_last_of(L"\\")); + + // Clean up resources + LocalFree(serviceConfig); + CloseServiceHandle(schService); + CloseServiceHandle(schSCManager); + + // Driver path would contain invalid path string, like: + // \SystemRoot\System32\DriverStore\FileRepository\qcadsprpc8280.inf_arm64_c2b9460c9a072f37 + // "\SystemRoot" should be replace with a correct one (e.g. C:\Windows) + const std::wstring systemRootPlaceholder = L"\\SystemRoot"; + if (0 != driverPath.compare(0, systemRootPlaceholder.length(), systemRootPlaceholder)) { + GGML_LOG_ERROR("ggml-hex: String pattern not found in driver path.\n"); + return result; + } + + // Replace \SystemRoot with an absolute path from system ENV windir + const std::wstring systemRootEnv = L"windir"; + + // Query the number of wide charactors this variable requires + DWORD numWords = GetEnvironmentVariableW(systemRootEnv.c_str(), NULL, 0); + if (numWords == 0) { + GGML_LOG_ERROR("ggml-hex: Failed get systemRoot environment variable\n"); + return result; + } + + // Query the actual system root name from environment variable + std::vector systemRoot(numWords + 1); + numWords = GetEnvironmentVariableW(systemRootEnv.c_str(), systemRoot.data(), numWords + 1); + if (numWords == 0) { + GGML_LOG_ERROR("ggml-hex: Failed to read windir environment variable\n"); + return result; + } + driverPath.replace(0, systemRootPlaceholder.length(), std::wstring(systemRoot.data())); + + return wstr_to_str(driverPath); +} + +#endif + +using dl_handle_ptr = std::unique_ptr; + +int htpdrv_init() { + static dl_handle_ptr lib_cdsp_rpc_handle = nullptr; + static bool initialized = false; +#ifdef _WIN32 + std::string drv_path = get_driver_path() + "\\" + "libcdsprpc.dll"; +#else + std::string drv_path = "libcdsprpc.so"; +#endif + if (initialized) { + GGML_LOG_INFO("ggml-hex: Driver already loaded\n"); + return AEE_SUCCESS; + } + GGML_LOG_INFO("ggml-hex: Loading driver %s\n", drv_path.c_str()); + + fs::path path{ drv_path.c_str() }; + dl_handle_ptr handle { dl_load_library(path) }; + if (!handle) { + GGML_LOG_ERROR("ggml-hex: failed to load %s: %s\n", path.u8string().c_str(), dl_error()); + return AEE_EUNABLETOLOAD; + } + +#define dlsym(drv, type, pfn, symbol, ignore) \ + do { \ + pfn = (type) dl_get_sym(drv, #symbol); \ + if (!ignore && nullptr == pfn) { \ + GGML_LOG_ERROR("ggml-hex: failed to dlsym %s\n", #symbol); \ + return AEE_EUNABLETOLOAD; \ + } \ + } while (0) + + dlsym(handle.get(), rpcmem_alloc_pfn_t, rpcmem_alloc_pfn, rpcmem_alloc, false); + dlsym(handle.get(), rpcmem_alloc2_pfn_t, rpcmem_alloc2_pfn, rpcmem_alloc2, true); + dlsym(handle.get(), rpcmem_free_pfn_t, rpcmem_free_pfn, rpcmem_free, false); + dlsym(handle.get(), rpcmem_to_fd_pfn_t, rpcmem_to_fd_pfn, rpcmem_to_fd, false); + dlsym(handle.get(), fastrpc_mmap_pfn_t, fastrpc_mmap_pfn, fastrpc_mmap, false); + dlsym(handle.get(), fastrpc_munmap_pfn_t, fastrpc_munmap_pfn, fastrpc_munmap, false); + dlsym(handle.get(), dspqueue_create_pfn_t, dspqueue_create_pfn, dspqueue_create, false); + dlsym(handle.get(), dspqueue_close_pfn_t, dspqueue_close_pfn, dspqueue_close, false); + dlsym(handle.get(), dspqueue_export_pfn_t, dspqueue_export_pfn, dspqueue_export, false); + dlsym(handle.get(), dspqueue_write_pfn_t, dspqueue_write_pfn, dspqueue_write, false); + dlsym(handle.get(), dspqueue_read_pfn_t, dspqueue_read_pfn, dspqueue_read, false); + dlsym(handle.get(), remote_handle64_open_pfn_t, remote_handle64_open_pfn, remote_handle64_open, false); + dlsym(handle.get(), remote_handle64_invoke_pfn_t, remote_handle64_invoke_pfn, remote_handle64_invoke, false); + dlsym(handle.get(), remote_handle_control_pfn_t, remote_handle_control_pfn, remote_handle_control, false); + dlsym(handle.get(), remote_handle64_control_pfn_t, remote_handle64_control_pfn, remote_handle64_control, false); + dlsym(handle.get(), remote_session_control_pfn_t, remote_session_control_pfn, remote_session_control, false); + dlsym(handle.get(), remote_handle64_close_pfn_t, remote_handle64_close_pfn, remote_handle64_close, false); + + lib_cdsp_rpc_handle = std::move(handle); + initialized = true; + + return AEE_SUCCESS; +} + +domain * get_domain(int domain_id) { + int i = 0; + int size = sizeof(supported_domains) / sizeof(domain); + + for (i = 0; i < size; i++) { + if (supported_domains[i].id == domain_id) { + return &supported_domains[i]; + } + } + + return NULL; +} + +int get_hex_arch_ver(int domain, int * arch) { + if (!remote_handle_control_pfn) { + GGML_LOG_ERROR("ggml-hex: remote_handle_control is not supported on this device\n"); + return AEE_EUNSUPPORTEDAPI; + } + + struct remote_dsp_capability arch_ver; + arch_ver.domain = (uint32_t) domain; + arch_ver.attribute_ID = ARCH_VER; + arch_ver.capability = (uint32_t) 0; + + int err = remote_handle_control(DSPRPC_GET_DSP_INFO, &arch_ver, sizeof(arch_ver)); + if ((err & 0xff) == (AEE_EUNSUPPORTEDAPI & 0xff)) { + GGML_LOG_ERROR("ggml-hex: FastRPC capability API is not supported on this device\n"); + return AEE_EUNSUPPORTEDAPI; + } + + if (err != AEE_SUCCESS) { + GGML_LOG_ERROR("ggml-hex: FastRPC capability query failed (err %d)\n", err); + return err; + } + + switch (arch_ver.capability & 0xff) { + case 0x68: + *arch = 68; + return 0; + case 0x69: + *arch = 69; + return 0; + case 0x73: + *arch = 73; + return 0; + case 0x75: + *arch = 75; + return 0; + case 0x79: + *arch = 79; + return 0; + case 0x81: + *arch = 81; + return 0; + } + return -1; +} diff --git a/ggml/src/ggml-hexagon/htp-drv.h b/ggml/src/ggml-hexagon/htp-drv.h new file mode 100644 index 0000000000..6eba7ba17d --- /dev/null +++ b/ggml/src/ggml-hexagon/htp-drv.h @@ -0,0 +1,121 @@ +#pragma once + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef _WIN32 +# pragma clang diagnostic ignored "-Wignored-attributes" +#endif + +#include +#include +#include +#include + +#if defined(_WIN32) && !defined(__MINGW32__) +# ifdef GGML_BACKEND_BUILD +# define HTPDRV_API __declspec(dllexport) extern +# else +# define HTPDRV_API __declspec(dllimport) extern +# endif +#else +# define HTPDRV_API __attribute__ ((visibility ("default"))) extern +#endif + +/* Offset to differentiate HLOS and Hexagon error codes. + Stores the value of AEE_EOFFSET for Hexagon. */ +#ifndef DSP_OFFSET +# define DSP_OFFSET 0x80000400 +#endif + +/* Errno for connection reset by peer. */ +#ifndef ECONNRESET +# ifdef __hexagon__ +# define ECONNRESET 104 +# endif +#endif + +/* Abstraction of different OS specific sleep APIs. + SLEEP accepts input in seconds. */ +#ifndef SLEEP +# ifdef __hexagon__ +# define SLEEP(x) \ + { /* Do nothing for simulator. */ \ + } +# else +# ifdef _WIN32 +# define SLEEP(x) Sleep(1000 * x) /* Sleep accepts input in milliseconds. */ +# else +# define SLEEP(x) sleep(x) /* sleep accepts input in seconds. */ +# endif +# endif +#endif + +/* Include windows specific header files. */ +#ifdef _WIN32 +# include +# include +# define _CRT_SECURE_NO_WARNINGS 1 +# define _WINSOCK_DEPRECATED_NO_WARNINGS 1 +#endif + +/* Includes and defines for all HLOS except windows */ +#if !defined(__hexagon__) && !defined(_WIN32) +# include "unistd.h" + +# include +#endif + +/* Includes and defines for Hexagon and all HLOS except Windows. */ +#if !defined(_WIN32) +/* Weak reference to remote symbol for compilation. */ +# pragma weak remote_session_control +# pragma weak remote_handle_control +# pragma weak remote_handle64_control +# pragma weak fastrpc_mmap +# pragma weak fastrpc_munmap +# pragma weak rpcmem_alloc2 +#endif + +#if !defined(_WIN32) +# pragma weak remote_system_request +#endif + +#ifdef _WIN32 +# define DSPQUEUE_TIMEOUT DSPQUEUE_TIMEOUT_NONE +#else +# define DSPQUEUE_TIMEOUT 1000000 +#endif + +/** + * htpdrv_init API: driver interface entry point + * + * @return Return AEE error codes as defined in Hexagon SDK. + */ +HTPDRV_API int htpdrv_init(void); + +/** + * get_domain API: get domain struct from domain value. + * + * @param[in] domain value of a domain + * @return Returns domain struct of the domain if it is supported or else + * returns NULL. + * + */ +HTPDRV_API domain * get_domain(int domain_id); + +/** + * get_hex_arch_ver API: query the Hexagon processor architecture version information + * + * @param[in] domain_id value of a domain + * @param[out] Arch version (73, 75, ...) + * @return 0 if query is successful. + * non-zero if error, return value points to the error. + * + */ +HTPDRV_API int get_hex_arch_ver(int domain, int * arch); + +#ifdef __cplusplus +} +#endif diff --git a/ggml/src/ggml-hexagon/htp-utils.c b/ggml/src/ggml-hexagon/htp-utils.c deleted file mode 100644 index 3f335bf71c..0000000000 --- a/ggml/src/ggml-hexagon/htp-utils.c +++ /dev/null @@ -1,454 +0,0 @@ - -#pragma clang diagnostic ignored "-Wgnu-anonymous-struct" -#pragma clang diagnostic ignored "-Wmissing-prototypes" -#pragma clang diagnostic ignored "-Wsign-compare" - -#define GGML_COMMON_IMPL_C -#include "ggml-backend-impl.h" -#include "ggml-common.h" -#include "ggml-hexagon.h" -#include "ggml-impl.h" - -#include "htp-utils.h" - -#include -#include -#include -#include -#include -#include -#include - -domain * get_domain(int domain_id) { - int i = 0; - int size = sizeof(supported_domains) / sizeof(domain); - - for (i = 0; i < size; i++) { - if (supported_domains[i].id == domain_id) { - return &supported_domains[i]; - } - } - - return NULL; -} - -bool is_valid_domain_id(int domain_id, int compute_only) { - int i = 0; - int size = sizeof(supported_domains) / sizeof(domain); - - if (compute_only) { - return is_CDSP(domain_id); - } - - for (i = 0; i < size; i++) { - if (supported_domains[i].id == domain_id) { - return true; - } - } - - return false; -} - -int get_domains_info(char * domain_type, int * num_domains, fastrpc_domain ** domains_info) { - int nErr = AEE_SUCCESS; - int ss_info = 0; - if (domain_type != NULL) { - if (strcmp(domain_type, "LPASS") == 0) { - ss_info = FASTRPC_LPASS; - } else if (strcmp(domain_type, "HPASS") == 0) { - ss_info = FASTRPC_HPASS; - } else { - ss_info = FASTRPC_NSP; - } - } - system_req_payload req = { 0 }; - req.id = FASTRPC_GET_DOMAINS; - req.sys.domains = NULL; - fastrpc_domain * domain = NULL; - if (ss_info != 0) { - req.sys.flags = DOMAINS_LIST_FLAGS_SET_TYPE(req.sys.flags, ss_info); - } else { - req.sys.flags = 0; - } -#ifdef _WIN32 - nErr = AEE_EUNSUPPORTED; - goto bail; -#endif - if (remote_system_request) { - nErr = remote_system_request(&req); - if (nErr != AEE_SUCCESS) { - GGML_LOG_ERROR("Failure in remote_system_request call: %d.\n", nErr); - goto bail; - } - // Allocate memory for domain-info array - req.sys.max_domains = req.sys.num_domains; - if ((req.sys.domains = calloc(req.sys.num_domains, sizeof(fastrpc_domain))) == NULL) { - nErr = AEE_ENOMEMORY; - GGML_LOG_ERROR("Unable to allocate memory for req.sys.domains"); - goto bail; - } - - nErr = remote_system_request(&req); - if (nErr != AEE_SUCCESS) { - GGML_LOG_ERROR("Failure in remote_system_request call: %d.\n", nErr); - goto bail; - } - - for (int i = 0; i < req.sys.num_domains; i++) { - // Verify that only requested type domains were returned - domain = &req.sys.domains[i]; - if (domain->type != ss_info && domain_type != NULL) { - nErr = -1; - GGML_LOG_ERROR("Incorrect data received from remote_system_request.\n"); - goto bail; - } - } - *domains_info = req.sys.domains; - *num_domains = req.sys.num_domains; - } else { - nErr = AEE_EUNSUPPORTED; - goto bail; - } -bail: - if (nErr && !req.sys.domains) { - free(req.sys.domains); - } - return nErr; -} - -int get_effective_domain_id(char * domain_name, int session_id, int * effec_domain_id) { - int err = 0; - remote_rpc_effective_domain_id_t sess = { 0 }; - - sess.domain_name = domain_name; - sess.domain_name_len = strlen(domain_name); - sess.session_id = session_id; - - err = remote_session_control(FASTRPC_GET_EFFECTIVE_DOMAIN_ID, &sess, sizeof(sess)); - if (err) { - GGML_LOG_ERROR("Error 0x%x: failed to get effective domain id for %s, session id %d\n", err, sess.domain_name, - session_id); - return err; - } - - *effec_domain_id = sess.effective_domain_id; - return err; -} - -int get_dsp_support(int * domain) { - int nErr = AEE_SUCCESS; - *domain = CDSP_DOMAIN_ID; // DSP domain default value is CDSP_DOMAIN_ID - - if (remote_handle_control) { - struct remote_dsp_capability dsp_capability_domain = { CDSP_DOMAIN_ID, DOMAIN_SUPPORT, 0 }; - nErr = remote_handle_control(DSPRPC_GET_DSP_INFO, &dsp_capability_domain, sizeof(struct remote_dsp_capability)); - if ((nErr & 0xFF) == (AEE_EUNSUPPORTEDAPI & 0xFF)) { - GGML_LOG_ERROR("\nFastRPC Capability API is not supported on this device\n"); - goto bail; - } - - if (dsp_capability_domain.capability == 0) { - dsp_capability_domain.domain = ADSP_DOMAIN_ID; // Check for ADSP support. - dsp_capability_domain.attribute_ID = DOMAIN_SUPPORT; - dsp_capability_domain.capability = 0; - nErr = remote_handle_control(DSPRPC_GET_DSP_INFO, &dsp_capability_domain, - sizeof(struct remote_dsp_capability)); - if (dsp_capability_domain.capability) { - *domain = ADSP_DOMAIN_ID; // For targets like Agatti (not having cDSP), domain is ADSP_DOMAIN_ID - } - } - - if (nErr != AEE_SUCCESS) { - GGML_LOG_ERROR("\nget_dsp_support failed with Error 0x%x\n", nErr); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTEDAPI; - GGML_LOG_ERROR("remote_dsp_capability interface is not supported on this device\n"); - } - -bail: - return nErr; -} - -int get_vtcm_info(int domain, uint32_t * capability, uint32_t attr) { - int nErr = AEE_SUCCESS; - *capability = 0; - - if (attr == VTCM_PAGE || attr == VTCM_COUNT) { - } else { - nErr = AEE_EBADPARM; - GGML_LOG_ERROR("Unsupported attr. Only VTCM_PAGE and VTCM_COUNT supported\n"); - goto bail; - } - if (remote_handle_control) { - if (domain == ADSP_DOMAIN_ID || domain == CDSP_DOMAIN_ID) { - /* - * Query the DSP for VTCM information - * Since the ADSP does not have a dedicated VTCM, we expect the output to be 0 - */ - struct remote_dsp_capability dsp_capability_vtcm_dsp; - dsp_capability_vtcm_dsp.domain = (uint32_t) domain; - dsp_capability_vtcm_dsp.attribute_ID = attr; - dsp_capability_vtcm_dsp.capability = (uint32_t) 0; - nErr = remote_handle_control(DSPRPC_GET_DSP_INFO, &dsp_capability_vtcm_dsp, - sizeof(struct remote_dsp_capability)); - if ((nErr & 0xFF) == (AEE_EUNSUPPORTEDAPI & 0xFF)) { - GGML_LOG_ERROR("\nFastRPC Capability API is not supported on this device\n"); - GGML_LOG_ERROR("Running the usecase without checking the capability\n"); - nErr = AEE_SUCCESS; - goto bail; - } else if (nErr == AEE_SUCCESS) { - *capability = dsp_capability_vtcm_dsp.capability; - } else { - GGML_LOG_ERROR("\nget_vtcm_info failed with Error 0x%x\n", nErr); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTED; - GGML_LOG_ERROR("Unsupported domain %d\n", domain); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTEDAPI; - GGML_LOG_ERROR("remote_dsp_capability interface is not supported on this device\n"); - } - -bail: - return nErr; -} - -bool is_unsignedpd_supported(int domain_id) { - int nErr = AEE_SUCCESS; - if (remote_handle_control) { - struct remote_dsp_capability dsp_capability_domain = { domain_id, UNSIGNED_PD_SUPPORT, 0 }; - nErr = remote_handle_control(DSPRPC_GET_DSP_INFO, &dsp_capability_domain, sizeof(struct remote_dsp_capability)); - if ((nErr & 0xFF) == (AEE_EUNSUPPORTEDAPI & 0xFF)) { - GGML_LOG_ERROR("\nFastRPC Capability API is not supported on this device. Falling back to signed pd.\n"); - return false; - } - if (nErr) { - GGML_LOG_ERROR("\nERROR 0x%x: FastRPC Capability API failed. Falling back to signed pd.", nErr); - return false; - } - if (dsp_capability_domain.capability == 1) { - return true; - } - } else { - nErr = AEE_EUNSUPPORTEDAPI; - GGML_LOG_ERROR("remote_dsp_capability interface is not supported on this device. Falling back to signed pd.\n"); - return false; - } - return false; -} - -bool get_unsignedpd_support(void) { - return is_unsignedpd_supported(CDSP_DOMAIN_ID); -} - -bool is_async_fastrpc_supported(int domain) { - int nErr = AEE_SUCCESS; - if (remote_handle_control) { - if (domain == CDSP_DOMAIN_ID) { - /* - * Query the DSP for ASYNC_FASTRPC_SUPPORT information - * Async fastrpc is supported only on CDSP - */ - struct remote_dsp_capability dsp_capability_async_support; - dsp_capability_async_support.domain = (uint32_t) domain; - dsp_capability_async_support.attribute_ID = ASYNC_FASTRPC_SUPPORT; - dsp_capability_async_support.capability = (uint32_t) 0; - nErr = remote_handle_control(DSPRPC_GET_DSP_INFO, &dsp_capability_async_support, - sizeof(struct remote_dsp_capability)); - if ((nErr & 0xFF) == (AEE_EUNSUPPORTEDAPI & 0xFF)) { - GGML_LOG_ERROR("\nFastRPC Capability API is not supported on this device\n"); - GGML_LOG_ERROR("Running the usecase without checking the capability\n"); - nErr = AEE_SUCCESS; - goto bail; - } else if (dsp_capability_async_support.capability == 1) { - return true; - } - if (nErr != AEE_SUCCESS) { - GGML_LOG_ERROR("\nis_async_fastrpc_supported failed with Error 0x%x\n", nErr); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTED; - GGML_LOG_ERROR("Async fastrpc is not supported on domain %d\n", domain); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTEDAPI; - GGML_LOG_ERROR("remote_dsp_capability interface is not supported on this device\n"); - } - -bail: - return false; -} - -bool is_status_notification_supported(int domain) { - int nErr = AEE_SUCCESS; - - if (remote_handle_control) { - /* - * Query the DSP for STATUS_NOTIFICATION_SUPPORT information - * DSP User PD status notification Support - */ - struct remote_dsp_capability dsp_capability_status_notification_support; - dsp_capability_status_notification_support.domain = (uint32_t) domain; - dsp_capability_status_notification_support.attribute_ID = STATUS_NOTIFICATION_SUPPORT; - dsp_capability_status_notification_support.capability = (uint32_t) 0; - nErr = remote_handle_control(DSPRPC_GET_DSP_INFO, &dsp_capability_status_notification_support, - sizeof(struct remote_dsp_capability)); - if ((nErr & 0xFF) == (AEE_EUNSUPPORTEDAPI & 0xFF)) { - GGML_LOG_ERROR("\nFastRPC Capability API is not supported on this device\n"); - GGML_LOG_ERROR("Running the usecase without checking the capability\n"); - nErr = AEE_SUCCESS; - goto bail; - } else if (dsp_capability_status_notification_support.capability == 1) { - return true; - } - if (nErr != AEE_SUCCESS) { - GGML_LOG_ERROR("\nis_status_notification_supported failed with Error 0x%x\n", nErr); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTEDAPI; - GGML_LOG_ERROR("remote_dsp_capability interface is not supported on this device\n"); - } - -bail: - return false; -} - -int get_hmx_support_info(int domain, uint32_t * capability, uint32_t attr) { - int nErr = AEE_SUCCESS; - *capability = 0; - - if (attr != HMX_SUPPORT_SPATIAL && attr != HMX_SUPPORT_DEPTH) { - nErr = AEE_EBADPARM; - GGML_LOG_ERROR("Unsupported attr. Only HMX_SUPPORT_SPATIAL and HMX_SUPPORT_DEPTH supported\n"); - goto bail; - } - if (remote_handle_control) { - if (domain == CDSP_DOMAIN_ID) { - /* - * Query the DSP for HMX SUPPORT information - * HMX is supported on CDSP only - */ - struct remote_dsp_capability dsp_capability_hmx_dsp; - dsp_capability_hmx_dsp.domain = (uint32_t) domain; - dsp_capability_hmx_dsp.attribute_ID = attr; - dsp_capability_hmx_dsp.capability = (uint32_t) 0; - nErr = remote_handle_control(DSPRPC_GET_DSP_INFO, &dsp_capability_hmx_dsp, - sizeof(struct remote_dsp_capability)); - if ((nErr & 0xFF) == (AEE_EUNSUPPORTEDAPI & 0xFF)) { - GGML_LOG_ERROR("\nFastRPC Capability API is not supported on this device\n"); - GGML_LOG_ERROR("Running the usecase without checking the capability\n"); - nErr = AEE_SUCCESS; - goto bail; - } else if (nErr == AEE_SUCCESS) { - *capability = dsp_capability_hmx_dsp.capability; - } else { - GGML_LOG_ERROR("\nget_hmx_support_info failed with Error 0x%x\n", nErr); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTED; - GGML_LOG_ERROR("HMX support is not there for domain %d\n", domain); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTEDAPI; - GGML_LOG_ERROR("remote_dsp_capability interface is not supported on this device\n"); - } - -bail: - return nErr; -} - -int get_hex_arch_ver(int domain, int * arch) { - if (!remote_handle_control) { - GGML_LOG_ERROR("ggml-hex: remote_handle_control is not supported on this device\n"); - return AEE_EUNSUPPORTEDAPI; - } - - struct remote_dsp_capability arch_ver; - arch_ver.domain = (uint32_t) domain; - arch_ver.attribute_ID = ARCH_VER; - arch_ver.capability = (uint32_t) 0; - - int err = remote_handle_control(DSPRPC_GET_DSP_INFO, &arch_ver, sizeof(arch_ver)); - if ((err & 0xff) == (AEE_EUNSUPPORTEDAPI & 0xff)) { - GGML_LOG_ERROR("ggml-hex: FastRPC capability API is not supported on this device\n"); - return AEE_EUNSUPPORTEDAPI; - } - - if (err != AEE_SUCCESS) { - GGML_LOG_ERROR("ggml-hex: FastRPC capability query failed (err %d)\n", err); - return err; - } - - switch (arch_ver.capability & 0xff) { - case 0x68: - *arch = 68; - return 0; - case 0x69: - *arch = 69; - return 0; - case 0x73: - *arch = 73; - return 0; - case 0x75: - *arch = 75; - return 0; - case 0x79: - *arch = 79; - return 0; - case 0x81: - *arch = 81; - return 0; - } - return -1; -} - -int get_hvx_support_info(int domain, uint32_t * capability, uint32_t attr) { - int nErr = AEE_SUCCESS; - *capability = 0; - - if (remote_handle_control) { - if (domain == CDSP_DOMAIN_ID) { - /* - * Query the DSP for HVX SUPPORT information - * HVX is supported on CDSP only - */ - struct remote_dsp_capability dsp_capability_hvx_dsp; - dsp_capability_hvx_dsp.domain = (uint32_t) domain; - dsp_capability_hvx_dsp.attribute_ID = attr; - dsp_capability_hvx_dsp.capability = (uint32_t) 0; - nErr = remote_handle_control(DSPRPC_GET_DSP_INFO, &dsp_capability_hvx_dsp, - sizeof(struct remote_dsp_capability)); - if ((nErr & 0xFF) == (AEE_EUNSUPPORTEDAPI & 0xFF)) { - GGML_LOG_ERROR("\nFastRPC Capability API is not supported on this device\n"); - GGML_LOG_ERROR("Running the usecase without checking the capability\n"); - nErr = AEE_SUCCESS; - goto bail; - } else if (nErr == AEE_SUCCESS) { - *capability = dsp_capability_hvx_dsp.capability; - } else { - GGML_LOG_ERROR("\nget_hvx_support_info failed with Error 0x%x\n", nErr); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTED; - GGML_LOG_ERROR("HVX support is not available on domain %d\n", domain); - goto bail; - } - } else { - nErr = AEE_EUNSUPPORTEDAPI; - GGML_LOG_ERROR("remote_dsp_capability interface is not supported on this device\n"); - } - -bail: - return nErr; -} diff --git a/ggml/src/ggml-hexagon/htp-utils.h b/ggml/src/ggml-hexagon/htp-utils.h deleted file mode 100644 index 7bbae3a0b7..0000000000 --- a/ggml/src/ggml-hexagon/htp-utils.h +++ /dev/null @@ -1,221 +0,0 @@ -#ifndef HTP_UTILS_H -#define HTP_UTILS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include -#include - -/* Offset to differentiate HLOS and Hexagon error codes. - Stores the value of AEE_EOFFSET for Hexagon. */ -#ifndef DSP_OFFSET -# define DSP_OFFSET 0x80000400 -#endif - -/* Errno for connection reset by peer. */ -#ifndef ECONNRESET -# ifdef __hexagon__ -# define ECONNRESET 104 -# endif -#endif - -/* Abstraction of different OS specific sleep APIs. - SLEEP accepts input in seconds. */ -#ifndef SLEEP -# ifdef __hexagon__ -# define SLEEP(x) \ - { /* Do nothing for simulator. */ \ - } -# else -# ifdef _WINDOWS -# define SLEEP(x) Sleep(1000 * x) /* Sleep accepts input in milliseconds. */ -# else -# define SLEEP(x) sleep(x) /* sleep accepts input in seconds. */ -# endif -# endif -#endif - -/* Include windows specific header files. */ -#ifdef _WINDOWS -# include -# include -# define _CRT_SECURE_NO_WARNINGS 1 -# define _WINSOCK_DEPRECATED_NO_WARNINGS 1 -/* Including this file for custom implementation of getopt function. */ -# include "getopt_custom.h" -#endif - -/* Includes and defines for all HLOS except windows */ -#if !defined(__hexagon__) && !defined(_WINDOWS) -# include "unistd.h" - -# include -#endif - -/* Includes and defines for Hexagon and all HLOS except Windows. */ -#if !defined(_WINDOWS) -/* Weak reference to remote symbol for compilation. */ -# pragma weak remote_session_control -# pragma weak remote_handle_control -# pragma weak remote_handle64_control -# pragma weak fastrpc_mmap -# pragma weak fastrpc_munmap -# pragma weak rpcmem_alloc2 -#endif - -#if !defined(_WINDOWS) -# pragma weak remote_system_request -#endif -/** - * Wrapper for FastRPC Capability API: query DSP support. - * - * @param[out] domain pointer to supported domain. - * @return 0 if query is successful. - * non-zero if error, return value points to the error. - */ -int get_dsp_support(int * domain); - -/** - * Wrapper for FastRPC Capability API: query VTCM information. - * - * @param[in] domain value of domain in the queried. - * @param[out] capability capability value of the attribute queried. - * @param[in] attr value of the attribute to the queried. - * @return 0 if query is successful. - * non-zero if error, return value points to the error. - */ -int get_vtcm_info(int domain, uint32_t * capability, uint32_t attr); - -/** - * Wrapper for FastRPC Capability API: query unsigned pd support on CDSP domain. - * - * @return true if unsigned pd is supported. - * false if unsigned pd is not supported, capability query failed. - */ - -bool get_unsignedpd_support(void); - -/** - * Wrapper for FastRPC Capability API: query unsigned pd support. - * - * @param[in] domain value of domain in the queried. - * @return true if unsigned pd is supported. - * false if unsigned pd is not supported, capability query failed. - */ - -bool is_unsignedpd_supported(int domain_id); - -/** - * is_valid_domain_id API: query a domain id is valid. - * - * @param[in] domain value of domain in the queried. - * @param[in] compute_only value of domain is only compared with CDSP domains supported by the target when enabled. - * @return true if value of domain is valid. - * false if value of domain is not valid. - */ - -bool is_valid_domain_id(int domain_id, int compute_only); - -/** - * get_domain API: get domain struct from domain value. - * - * @param[in] domain value of a domain - * @return Returns domain struct of the domain if it is supported or else - * returns NULL. - * - */ - -domain * get_domain(int domain_id); - -/** - * get_domains_info API: get information for all the domains available on the device - * - * @param[in] domain_type pointer to domain type - * @param[in] num_domains pointer to number of domains - * @param[in] domains_info pointer to save discovered domains information. - * @return 0 if query is successful. - * non-zero if error, return value points to the error. - * - * It is user's responsibility to free the memory used to store the domains info whose address is present in domains_info before closing the application. - * - */ - -int get_domains_info(char * domain_type, int * num_domains, fastrpc_domain ** domains_info); - -/** - * get_effective_domain_id API: get effective domain id for given session id - * - * @param[in] domain_name pointer to domain name - * @param[in] session_id - * @param[in] effec_domain_id pointer to save obtained effective domain id. - * @return 0 if query is successful. - * non-zero if error, return value points to the error. - * - */ - -int get_effective_domain_id(char * domain_name, int session_id, int * effec_domain_id); - -/** - * is_async_fastrpc_supported API: query a domain id has async fastrpc supported or not - * - * @param[in] domain_id value of a domain - * @return Returns true or false stating support of Async FastRPC - * - */ - -bool is_async_fastrpc_supported(int domain_id); - -/** - * is_status_notification_supported API: query the DSP for STATUS_NOTIFICATION_SUPPORT information - * - * @param[in] domain_id value of a domain - * @return Returns true or false stating status notification support information - * - */ -bool is_status_notification_supported(int domain_id); - -/** - * get_hmx_support_info API: query the DSP for HMX SUPPORT information - * - * @param[in] domain_id value of a domain - * @param[out] capability capability value of the attribute queried. - * @param[in] attr value of the attribute to the queried. - * @return 0 if query is successful. - * non-zero if error, return value points to the error. - * - */ -int get_hmx_support_info(int domain, uint32_t * capability, uint32_t attr); - -/** - * get_hex_arch_ver API: query the Hexagon processor architecture version information - * - * @param[in] domain_id value of a domain - * @param[out] Arch version (73, 75, ...) - * @return 0 if query is successful. - * non-zero if error, return value points to the error. - * - */ -int get_hex_arch_ver(int domain, int * arch); - -/** - * get_hvx_support_info API: query the DSP for HVX SUPPORT information - * - * @param[in] domain_id value of a domain - * @param[out] capability capability value of the attribute queried. - * @param[in] attr value of the attribute to the queried. - * @return 0 if query is successful. - * non-zero if error, return value points to the error. - * - */ -int get_hvx_support_info(int domain, uint32_t * capability, uint32_t attr); - -#ifdef __cplusplus -} -#endif - -#endif //DSP_CAPABILITIES_UTILS_H diff --git a/ggml/src/ggml-hexagon/libdl.h b/ggml/src/ggml-hexagon/libdl.h new file mode 100644 index 0000000000..8ca5016f03 --- /dev/null +++ b/ggml/src/ggml-hexagon/libdl.h @@ -0,0 +1,79 @@ +#pragma once + +#ifdef _WIN32 +# define WIN32_LEAN_AND_MEAN +# ifndef NOMINMAX +# define NOMINMAX +# endif +# include +# include +#else +# include +# include +#endif +#include + +namespace fs = std::filesystem; + +#ifdef _WIN32 + +using dl_handle = std::remove_pointer_t; + +struct dl_handle_deleter { + void operator()(HMODULE handle) { + FreeLibrary(handle); + } +}; + +static inline dl_handle * dl_load_library(const fs::path & path) { + // suppress error dialogs for missing DLLs + DWORD old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); + SetErrorMode(old_mode | SEM_FAILCRITICALERRORS); + + HMODULE handle = LoadLibraryW(path.wstring().c_str()); + + SetErrorMode(old_mode); + + return handle; +} + +static inline void * dl_get_sym(dl_handle * handle, const char * name) { + DWORD old_mode = SetErrorMode(SEM_FAILCRITICALERRORS); + SetErrorMode(old_mode | SEM_FAILCRITICALERRORS); + + void * p = (void *) GetProcAddress(handle, name); + + SetErrorMode(old_mode); + + return p; +} + +static inline const char * dl_error() { + return ""; +} + +#else + +using dl_handle = void; + +struct dl_handle_deleter { + void operator()(void * handle) { + dlclose(handle); + } +}; + +static inline dl_handle * dl_load_library(const fs::path & path) { + dl_handle * handle = dlopen(path.string().c_str(), RTLD_NOW | RTLD_LOCAL); + return handle; +} + +static inline void * dl_get_sym(dl_handle * handle, const char * name) { + return dlsym(handle, name); +} + +static inline const char * dl_error() { + const char *rslt = dlerror(); + return rslt != nullptr ? rslt : ""; +} + +#endif diff --git a/ggml/src/ggml-hexagon/libggml-htp.inf b/ggml/src/ggml-hexagon/libggml-htp.inf new file mode 100644 index 0000000000..656d2d9ab2 --- /dev/null +++ b/ggml/src/ggml-hexagon/libggml-htp.inf @@ -0,0 +1,38 @@ +[Version] +Signature = "$WINDOWS NT$" +Class = ComputeAccelerator +ClassGuid = {F01A9D53-3FF6-48D2-9F97-C8A7004BE10C} +Provider = %GGML% +DriverVer = 01/01/2026,1.0.0.0 +CatalogFile = libggml-htp.cat +PnpLockDown = 1 + +[DestinationDirs] +Drivers_Dir = 6 + +[SourceDisksNames] +1 = %DiskId% + +[SourceDisksFiles] +libggml-htp-v68.so = 1 +libggml-htp-v69.so = 1 +libggml-htp-v73.so = 1 +libggml-htp-v75.so = 1 +libggml-htp-v81.so = 1 + +[ControlFlags] +ExcludeFromSelect = * + +[DefaultInstall.NTarm64] +CopyFiles=Drivers_Dir + +[Drivers_Dir] +libggml-htp-v68.so,,,0x10 ;COPYFLG_NO_OVERWRITE +libggml-htp-v69.so,,,0x10 ;COPYFLG_NO_OVERWRITE +libggml-htp-v73.so,,,0x10 ;COPYFLG_NO_OVERWRITE +libggml-htp-v75.so,,,0x10 ;COPYFLG_NO_OVERWRITE +libggml-htp-v81.so,,,0x10 ;COPYFLG_NO_OVERWRITE + +[Strings] +GGML = 'GGML' +DiskId = 'GGML HTP library' diff --git a/scripts/snapdragon/windows/run-bench.ps1 b/scripts/snapdragon/windows/run-bench.ps1 new file mode 100644 index 0000000000..21fd063ebe --- /dev/null +++ b/scripts/snapdragon/windows/run-bench.ps1 @@ -0,0 +1,40 @@ + +#!/usr/bin/env pwsh + +# Basedir on device +$basedir=".\pkg-snapdragon" + +$cli_opts=$args + +$model="Llama-3.2-3B-Instruct-Q4_0.gguf" +if ($null -ne $env:M) { + $model=$env:M +} + +$device="HTP0" +if ($null -ne $env:D) { + $device=$env:D +} + +if ($null -ne $env:V) { + $env:GGML_HEXAGON_VERBOSE=$env:V +} + +if ($null -ne $env:OPMASK) { + $env:GGML_HEXAGON_OPMASK=$env:OPMASK +} + +if ($null -ne $env:NHVX) { + $env:GGML_HEXAGON_NHVX=$env:NHVX +} + +if ($null -ne $env:NDEV) { + $env:GGML_HEXAGON_NDEV=$env:NDEV +} + +$env:ADSP_LIBRARY_PATH="$basedir\lib" + +& "$basedir\bin\llama-bench.exe" ` + --mmap 0 -m $basedir\..\..\gguf\$model ` + --poll 1000 -t 6 --cpu-mask 0xfc --cpu-strict 1 ` + --batch-size 128 -ngl 99 --device $device $cli_opts diff --git a/scripts/snapdragon/windows/run-cli.ps1 b/scripts/snapdragon/windows/run-cli.ps1 new file mode 100644 index 0000000000..b13161aa63 --- /dev/null +++ b/scripts/snapdragon/windows/run-cli.ps1 @@ -0,0 +1,53 @@ + +#!/usr/bin/env pwsh + +# Basedir on device +$basedir=".\pkg-snapdragon" + +$cli_opts=$args + +$model="Llama-3.2-3B-Instruct-Q4_0.gguf" +if ($null -ne $env:M) { + $model=$env:M +} + +$device="HTP0" +if ($null -ne $env:D) { + $device=$env:D +} + +if ($null -ne $env:V) { + $env:GGML_HEXAGON_VERBOSE=$env:V +} + +if ($null -ne $env:E) { + $env:GGML_HEXAGON_EXPERIMENTAL=$env:E +} + +if ($null -ne $env:SCHED) { + $env:GGML_SCHED_DEBUG=$env:SCHED; $cli_opts="$cli_opts -v" +} + +if ($null -ne $env:PROF) { + $env:GGML_HEXAGON_PROFILE=$env:PROF; $env:GGML_HEXAGON_OPSYNC=1 +} + +if ($null -ne $env:OPMASK) { + $env:GGML_HEXAGON_OPMASK=$env:OPMASK +} + +if ($null -ne $env:NHVX) { + $env:GGML_HEXAGON_NHVX=$env:NHVX +} + +if ($null -ne $env:NDEV) { + $env:GGML_HEXAGON_NDEV=$env:NDEV +} + +$env:ADSP_LIBRARY_PATH="$basedir\lib" + +& "$basedir\bin\llama-completion.exe" ` + --no-mmap -no-cnv -m $basedir\..\..\gguf\$model ` + --poll 1000 -t 6 --cpu-mask 0xfc --cpu-strict 1 ` + --ctx-size 8192 --batch-size 128 -ctk q8_0 -ctv q8_0 -fa on ` + -ngl 99 --device $device $cli_opts diff --git a/scripts/snapdragon/windows/run-tool.ps1 b/scripts/snapdragon/windows/run-tool.ps1 new file mode 100644 index 0000000000..70094af9bc --- /dev/null +++ b/scripts/snapdragon/windows/run-tool.ps1 @@ -0,0 +1,56 @@ + +#!/usr/bin/env pwsh + +# Basedir on device +$basedir=".\pkg-snapdragon" + +if ($args.Count -eq 0) { + Write-Host "No arguments provided.Expected the tool and argument to run." + exit -1 +} + +$tool=$args[0] +$cli_opts=@() + +if ($args.Count -gt 1) { + $cli_opts=$args[1..($args.Count - 1)] + $remainingArgs = $args[1..($args.Count - 1)] +} + +$device="HTP0" +if ($null -ne $env:D) { + $device=$env:D +} + +if ($null -ne $env:V) { + $env:GGML_HEXAGON_VERBOSE=$env:V +} + +if ($null -ne $env:E) { + $env:GGML_HEXAGON_EXPERIMENTAL=$env:E +} + +if ($null -ne $env:SCHED) { + $env:GGML_SCHED_DEBUG=$env:SCHED; $cli_opts="$cli_opts -v" +} + +if ($null -ne $env:PROF) { + $env:GGML_HEXAGON_PROFILE=$env:PROF; $env:GGML_HEXAGON_OPSYNC=1 +} + +if ($null -ne $env:OPMASK) { + $env:GGML_HEXAGON_OPMASK=$env:OPMASK +} + +if ($null -ne $env:NHVX) { + $env:GGML_HEXAGON_NHVX=$env:NHVX +} + +if ($null -ne $env:NDEV) { + $env:GGML_HEXAGON_NDEV=$env:NDEV +} + +$env:ADSP_LIBRARY_PATH="$basedir\lib" + +& "$basedir\bin\$tool" ` + $cli_opts diff --git a/scripts/snapdragon/windows/setup-build.ps1 b/scripts/snapdragon/windows/setup-build.ps1 new file mode 100644 index 0000000000..0f3244cc9d --- /dev/null +++ b/scripts/snapdragon/windows/setup-build.ps1 @@ -0,0 +1,105 @@ +# Requires Run as Administrator is NOT strictly necessary for User-scope env vars, +# but recommended for creating directories in C:\ root if permissions are restricted. + +$ErrorActionPreference = "Stop" + +# --- Configuration --- +$BaseDir = "C:\Qualcomm" + +# SDK 1: Hexagon +$HexagonUrl = "https://github.com/snapdragon-toolchain/hexagon-sdk/releases/download/v6.4.0.2/hexagon-sdk-v6.4.0.2-arm64-wos.tar.xz" +$HexagonParent = Join-Path $BaseDir "Hexagon_SDK" +$HexagonSdkVersion = "6.4.0.2" +$HexagonToolsVersion = "19.0.04" +$HexagonSdkTarget = Join-Path $HexagonParent $HexagonSdkVersion +$HexagonToolsTarget = Join-Path $HexagonSdkTarget "\tools\HEXAGON_Tools\$HexagonToolsVersion" + +# SDK 2: OpenCL +$OpenCLUrl = "https://github.com/snapdragon-toolchain/opencl-sdk/releases/download/v2.3.2/adreno-opencl-sdk-v2.3.2-arm64-wos.tar.xz" +$OpenCLParent = Join-Path $BaseDir "OpenCL_SDK" +$OpenCLVersion = "2.3.2" +$OpenCLTarget = Join-Path $OpenCLParent $OpenCLVersion + +# --- Helper Function --- +function Install-QualcommSDK { + param ( + [string]$Url, + [string]$ParentDir, + [string]$TargetDir, + [string]$Name + ) + + # 1. Create Parent Directory + if (-not (Test-Path -Path $ParentDir)) { + Write-Host "Creating directory: $ParentDir" -ForegroundColor Cyan + New-Item -Path $ParentDir -ItemType Directory -Force | Out-Null + } + + # 2. Check for Specific Version Directory + if (Test-Path -Path $TargetDir) { + Write-Host "$Name ($TargetDir) already exists. Skipping download." -ForegroundColor Green + } + else { + Write-Host "$Name not found. preparing to download..." -ForegroundColor Yellow + + # Create the target directory to extract into + New-Item -Path $TargetDir -ItemType Directory -Force | Out-Null + + # Define temporary archive path + $TempFile = Join-Path $ParentDir "temp_sdk.tar.xz" + + try { + # Download + Write-Host "Downloading from: $Url" + Invoke-WebRequest -Uri $Url -OutFile $TempFile + + # Untar + # Note: We assume Windows includes tar.exe (Win 10 build 17063+) + Write-Host "Extracting archive to $TargetDir..." + + # We use -C to extract contents INTO the target directory created above + tar -xJvf $TempFile -C $TargetDir\.. + + Write-Host "Extraction complete." -ForegroundColor Green + } + catch { + Write-Error "Failed to download or extract $Name. Error: $_" + # Cleanup target dir if failed so script tries again next time + Remove-Item -Path $TargetDir -Recurse -Force -ErrorAction SilentlyContinue + } + finally { + # Cleanup Archive + if (Test-Path $TempFile) { Remove-Item $TempFile -Force } + } + } +} + +# --- Execution --- + +# 1. Ensure Base C:\Qualcomm exists +if (-not (Test-Path $BaseDir)) { + New-Item -Path $BaseDir -ItemType Directory -Force | Out-Null +} + +# 2. Run Install Logic +Install-QualcommSDK -Url $HexagonUrl -ParentDir $HexagonParent -TargetDir $HexagonSdkTarget -Name "Hexagon SDK" +Install-QualcommSDK -Url $OpenCLUrl -ParentDir $OpenCLParent -TargetDir $OpenCLTarget -Name "OpenCL SDK" + +# --- Environment Variables --- + +Write-Host "`nSetting Environment Variables..." -ForegroundColor Cyan + +# Set OPENCL_SDK_ROOT +[System.Environment]::SetEnvironmentVariable('OPENCL_SDK_ROOT', $OpenCLTarget, [System.EnvironmentVariableTarget]::User) +$env:OPENCL_SDK_ROOT = $OpenCLTarget # Set for current session as well +Write-Host "OPENCL_SDK_ROOT set to: $OpenCLTarget" + +# Set HEXAGON_SDK_ROOT +[System.Environment]::SetEnvironmentVariable('HEXAGON_SDK_ROOT', $HexagonSdkTarget, [System.EnvironmentVariableTarget]::User) +$env:HEXAGON_SDK_ROOT = $HexagonSdkTarget # Set for current session as well +Write-Host "HEXAGON_SDK_ROOT set to: $HexagonSdkTarget" + +# Set HEXAGON_SDK_ROOT +[System.Environment]::SetEnvironmentVariable('HEXAGON_TOOLS_ROOT', $HexagonToolsTarget, [System.EnvironmentVariableTarget]::User) +$env:HEXAGON_TOOLS_ROOT = $HexagonToolsTarget # Set for current session as well +Write-Host "HEXAGON_TOOLS_ROOT set to: $HexagonToolsTarget" From bd90fc74c3fecd18f36e26a91b3c3282578bf680 Mon Sep 17 00:00:00 2001 From: Zheyuan Chen Date: Thu, 29 Jan 2026 14:05:30 -0800 Subject: [PATCH 061/206] ggml-webgpu: improve flastAttention performance by software pipelining (#19151) * webgpu : pipeline flash_attn Q/K loads in WGSL * ggml-webgpu: unroll Q*K accumlation inner loop * ggml-webgpu: vectorization * ggml-webgpu: unrolling * ggml-webgpu: remove redundant unrolling * ggml-webgpu: restore the config * ggml-webgpu: remove redundant comments * ggml-webgpu: formatting * ggml-webgpu: formatting and remove vectorization * ggml-webgpu: remove unnecessary constants * ggml-webgpu: change QKV buffer to read_write to pass validation * ggml-webgpu: add explanation for the additional bracket around Q K accumulate * Indentation and for -> if for tail * Kick off CI on wgsl only commits --------- Co-authored-by: Reese Levine --- .github/workflows/build.yml | 6 +- .../ggml-webgpu/wgsl-shaders/flash_attn.wgsl | 165 +++++++++++------- 2 files changed, 109 insertions(+), 62 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d3a1638f16..f738edefc4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -21,7 +21,8 @@ on: '**/*.m', '**/*.metal', '**/*.comp', - '**/*.glsl' + '**/*.glsl', + '**/*.wgsl' ] pull_request: @@ -42,7 +43,8 @@ on: '**/*.m', '**/*.metal', '**/*.comp', - '**/*.glsl' + '**/*.glsl', + '**/*.wgsl' ] concurrency: diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl index de7c132a62..b682216146 100644 --- a/ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl +++ b/ggml/src/ggml-webgpu/wgsl-shaders/flash_attn.wgsl @@ -114,7 +114,7 @@ struct Params { #define PARAMS_BINDING 4 #endif -@group(0) @binding(DST_BINDING) var dst: array; +@group(0) @binding(DST_BINDING) var dst: array>; @group(0) @binding(PARAMS_BINDING) var params: Params; // Just a very small float value. @@ -160,14 +160,21 @@ fn calc_softmax_term(kv_idx: u32, q_tile_row: u32, slope: f32) -> f32 { return v; } +fn load_f32x4(buf: ptr>, read_write>, scalar_index: u32) -> vec4 { + return (*buf)[scalar_index >> 2u]; +} + +fn load_kvx4(buf: ptr>, read_write>, scalar_index: u32) -> vec4 { + return (*buf)[scalar_index >> 2u]; +} @compute @workgroup_size(WG_SIZE) fn main(@builtin(workgroup_id) wg_id: vec3, - @builtin(local_invocation_id) local_id: vec3, - @builtin(subgroup_id) subgroup_id: u32, - @builtin(subgroup_size) subgroup_size: u32, - @builtin(num_subgroups) num_subgroups: u32, - @builtin(subgroup_invocation_id) sg_inv_id: u32) { + @builtin(local_invocation_id) local_id: vec3, + @builtin(subgroup_id) subgroup_id: u32, + @builtin(subgroup_size) subgroup_size: u32, + @builtin(num_subgroups) num_subgroups: u32, + @builtin(subgroup_invocation_id) sg_inv_id: u32) { // initialize row max for online softmax for (var i = local_id.x; i < Q_TILE; i += WG_SIZE) { @@ -231,9 +238,9 @@ fn main(@builtin(workgroup_id) wg_id: vec3, for (var kv_tile = 0u; kv_tile < params.seq_len_kv; kv_tile += KV_TILE) { // clear inter_shmem to ensure zero-initialized accumulators - for (var elem_idx = local_id.x; elem_idx < Q_TILE * KV_TILE; elem_idx += WG_SIZE) { - inter_shmem[elem_idx] = 0.0; - } + for (var elem_idx = local_id.x; elem_idx < Q_TILE * KV_TILE; elem_idx += WG_SIZE) { + inter_shmem[elem_idx] = 0.0; + } // load k tile into shared memory #if defined(KV_Q4_0) @@ -309,48 +316,77 @@ fn main(@builtin(workgroup_id) wg_id: vec3, // accumulate q block * k block into registers across the entire KV tile // TODO: this loop seems to be the current largest bottleneck - for (var kv_block = subgroup_id; kv_block < KV_BLOCKS; kv_block += num_subgroups) { - let inter_offset = kv_block * SG_MAT_N; - var acc: subgroup_matrix_result = subgroupMatrixLoad< - subgroup_matrix_result>(&inter_shmem, inter_offset, false, KV_TILE); + // this bracket exists to scope the lifetime of variables, reducing register pressure + { #ifdef KV_DIRECT - let k_block_row = kv_tile + kv_block * SG_MAT_N; - let k_global_offset = k_head_offset + k_block_row * params.stride_k1; + let k_block_row = kv_tile + subgroup_id * SG_MAT_N; + var k_global_offset = k_head_offset + k_block_row * params.stride_k1; #else - let k_block_offset = kv_block * SG_MAT_N * HEAD_DIM_QK; + var k_block_offset = subgroup_id * SG_MAT_N * HEAD_DIM_QK; #endif - for (var head_dim_block = 0u; head_dim_block < HEAD_DIM_QK; head_dim_block += SG_MAT_K) { - // load q submatrix from shared memory - var q_sg_mat: subgroup_matrix_left = subgroupMatrixLoad>( - &q_shmem, - head_dim_block, - false, - HEAD_DIM_QK - ); + for (var kv_block = subgroup_id; kv_block < KV_BLOCKS; kv_block += num_subgroups) { + let inter_offset = kv_block * SG_MAT_N; + var acc: subgroup_matrix_result = subgroupMatrixLoad>(&inter_shmem, inter_offset, false, KV_TILE); + + var q_cur = subgroupMatrixLoad>(&q_shmem, 0u, false, HEAD_DIM_QK); - // load k submatrix from device or shared memory #ifdef KV_DIRECT - var k_sg_mat: subgroup_matrix_right = subgroupMatrixLoad>( - &K, - k_global_offset + head_dim_block, - true, - params.stride_k1 - ); + var k_cur = subgroupMatrixLoad>(&K, k_global_offset + 0u, true, params.stride_k1); #else - var k_sg_mat: subgroup_matrix_right = subgroupMatrixLoad>( - &kv_shmem, - k_block_offset + head_dim_block, - true, - HEAD_DIM_QK - ); + var k_cur = subgroupMatrixLoad>(&kv_shmem, k_block_offset + 0u, true, HEAD_DIM_QK); #endif - acc = subgroupMatrixMultiplyAccumulate(q_sg_mat, k_sg_mat, acc); + + var t: u32 = 1u; + for (; t + 1u < HEAD_DIM_QK / SG_MAT_K; t += 2u) { + let h0 = t * SG_MAT_K; + var q0 = subgroupMatrixLoad>(&q_shmem, h0, false, HEAD_DIM_QK); +#ifdef KV_DIRECT + var k0 = subgroupMatrixLoad>(&K, k_global_offset + h0, true, params.stride_k1); +#else + var k0 = subgroupMatrixLoad>(&kv_shmem, k_block_offset + h0, true, HEAD_DIM_QK); +#endif + acc = subgroupMatrixMultiplyAccumulate(q_cur, k_cur, acc); + q_cur = q0; + k_cur = k0; + + let h1 = (t + 1u) * SG_MAT_K; + var q1g = subgroupMatrixLoad>(&q_shmem, h1, false, HEAD_DIM_QK); +#ifdef KV_DIRECT + var k1g = subgroupMatrixLoad>(&K, k_global_offset + h1, true, params.stride_k1); +#else + var k1g = subgroupMatrixLoad>(&kv_shmem, k_block_offset + h1, true, HEAD_DIM_QK); +#endif + acc = subgroupMatrixMultiplyAccumulate(q_cur, k_cur, acc); + q_cur = q1g; + k_cur = k1g; + } + + // handle odd tail + if (t < HEAD_DIM_QK / SG_MAT_K) { + let h = t * SG_MAT_K; + var qn = subgroupMatrixLoad>(&q_shmem, h, false, HEAD_DIM_QK); +#ifdef KV_DIRECT + var kn = subgroupMatrixLoad>(&K, k_global_offset + h, true, params.stride_k1); +#else + var kn = subgroupMatrixLoad>(&kv_shmem, k_block_offset + h, true, HEAD_DIM_QK); +#endif + acc = subgroupMatrixMultiplyAccumulate(q_cur, k_cur, acc); + q_cur = qn; + k_cur = kn; + } + + acc = subgroupMatrixMultiplyAccumulate(q_cur, k_cur, acc); + +#ifdef KV_DIRECT + k_global_offset += num_subgroups * SG_MAT_N * params.stride_k1; +#else + k_block_offset += num_subgroups * SG_MAT_N * HEAD_DIM_QK; +#endif + subgroupMatrixStore(&inter_shmem, inter_offset, acc, false, KV_TILE); } - - // store acc to shared memory for softmax (S matrix from paper) - subgroupMatrixStore(&inter_shmem, inter_offset, acc, false, KV_TILE); } + #ifdef MASK // load mask tile into shared memory for this KV block // TODO: optimize and skip if mask is -INF for the entire tile @@ -495,7 +531,6 @@ fn main(@builtin(workgroup_id) wg_id: vec3, false, HEAD_DIM_V ); - for (var kv_block = 0u; kv_block < KV_BLOCKS; kv_block++) { let p_offset = kv_block * SG_MAT_N; var p_sg_mat: subgroup_matrix_left = subgroupMatrixLoad>( @@ -527,11 +562,9 @@ fn main(@builtin(workgroup_id) wg_id: vec3, // O += P * V o_sg_mat = subgroupMatrixMultiplyAccumulate(p_sg_mat, v_sg_mat, o_sg_mat); } - // store O back to shared memory subgroupMatrixStore(&o_shmem, head_dim_block, o_sg_mat, false, HEAD_DIM_V); } - workgroupBarrier(); } @@ -566,26 +599,38 @@ fn main(@builtin(workgroup_id) wg_id: vec3, o_shmem[idx] = f16(val); } } - workgroupBarrier(); #endif - - // write output back to global memory for (var q_tile_row = subgroup_id; - q_tile_row < Q_TILE; - q_tile_row += num_subgroups) { - let global_q_row = q_row_start + q_tile_row; - if (global_q_row >= params.seq_len_q) { - break; - } + q_tile_row < Q_TILE; + q_tile_row += num_subgroups) { - let exp_sum = exp_sum_shmem[q_tile_row]; - let scale = select(0.0, 1.0 / exp_sum, exp_sum != 0); + let global_q_row = q_row_start + q_tile_row; + if (global_q_row >= params.seq_len_q) { break; } - for (var elem_idx = sg_inv_id; elem_idx < HEAD_DIM_V; elem_idx += subgroup_size) { - let o_val = o_shmem[q_tile_row * HEAD_DIM_V + elem_idx]; - let scaled = f32(o_val) * scale; - dst[dst_global_offset + q_tile_row * dst2_stride + elem_idx] = scaled; - } + let exp_sum = exp_sum_shmem[q_tile_row]; + let scale = select(0.0, 1.0 / exp_sum, exp_sum != 0.0); + + let row_base: u32 = dst_global_offset + q_tile_row * dst2_stride; + + for (var elem_base = sg_inv_id * 4u; + elem_base < HEAD_DIM_V; + elem_base += subgroup_size * 4u) { + + let i0 = q_tile_row * HEAD_DIM_V + (elem_base + 0u); + let i1 = q_tile_row * HEAD_DIM_V + (elem_base + 1u); + let i2 = q_tile_row * HEAD_DIM_V + (elem_base + 2u); + let i3 = q_tile_row * HEAD_DIM_V + (elem_base + 3u); + + let v = vec4( + f32(o_shmem[i0]) * scale, + f32(o_shmem[i1]) * scale, + f32(o_shmem[i2]) * scale, + f32(o_shmem[i3]) * scale + ); + + let dst_vec_index: u32 = (row_base + elem_base) >> 2u; + dst[dst_vec_index] = v; + } } } From d284baf1b5969b74177e705ee6bca63c1bbfb4b7 Mon Sep 17 00:00:00 2001 From: DDXDB <38449595+DDXDB@users.noreply.github.com> Date: Fri, 30 Jan 2026 09:46:57 +0800 Subject: [PATCH 062/206] Fix typos in SYCL documentation (#19162) * Fix typos in SYCL documentation * Update SYCL.md * Update SYCL.md * Update SYCL.md * Update docs/backend/SYCL.md Co-authored-by: Neo Zhang Jianyu * Update SYCL.md --------- Co-authored-by: Neo Zhang Jianyu --- docs/backend/SYCL.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/backend/SYCL.md b/docs/backend/SYCL.md index bcb3ce6743..c0a422b3dc 100644 --- a/docs/backend/SYCL.md +++ b/docs/backend/SYCL.md @@ -35,9 +35,9 @@ The following releases are verified and recommended: |Commit ID|Tag|Release|Verified Platform| Update date| |-|-|-|-|-| -|24e86cae7219b0f3ede1d5abdf5bf3ad515cccb8|b5377 |[llama-b5377-bin-win-sycl-x64.zip](https://github.com/ggml-org/llama.cpp/releases/download/b5377/llama-b5377-bin-win-sycl-x64.zip) |ArcB580/Linux/oneAPI 2025.1
LNL Arc GPU/Windows 11/oneAPI 2025.1.1|2025-05-15| -|3bcd40b3c593d14261fb2abfabad3c0fb5b9e318|b4040 |[llama-b4040-bin-win-sycl-x64.zip](https://github.com/ggml-org/llama.cpp/releases/download/b4040/llama-b4040-bin-win-sycl-x64.zip) |Arc770/Linux/oneAPI 2024.1
MTL Arc GPU/Windows 11/oneAPI 2024.1| 2024-11-19| -|fb76ec31a9914b7761c1727303ab30380fd4f05c|b3038 |[llama-b3038-bin-win-sycl-x64.zip](https://github.com/ggml-org/llama.cpp/releases/download/b3038/llama-b3038-bin-win-sycl-x64.zip) |Arc770/Linux/oneAPI 2024.1
MTL Arc GPU/Windows 11/oneAPI 2024.1|| +|24e86cae7219b0f3ede1d5abdf5bf3ad515cccb8|b5377 |[llama-b5377-bin-win-sycl-x64.zip](https://github.com/ggml-org/llama.cpp/releases/download/b5377/llama-b5377-bin-win-sycl-x64.zip) |Arc B580/Linux/oneAPI 2025.1
LNL Arc GPU/Windows 11/oneAPI 2025.1.1|2025-05-15| +|3bcd40b3c593d14261fb2abfabad3c0fb5b9e318|b4040 |[llama-b4040-bin-win-sycl-x64.zip](https://github.com/ggml-org/llama.cpp/releases/download/b4040/llama-b4040-bin-win-sycl-x64.zip) |Arc A770/Linux/oneAPI 2024.1
MTL Arc GPU/Windows 11/oneAPI 2024.1| 2024-11-19| +|fb76ec31a9914b7761c1727303ab30380fd4f05c|b3038 |[llama-b3038-bin-win-sycl-x64.zip](https://github.com/ggml-org/llama.cpp/releases/download/b3038/llama-b3038-bin-win-sycl-x64.zip) |Arc A770/Linux/oneAPI 2024.1
MTL Arc GPU/Windows 11/oneAPI 2024.1|| ## News @@ -51,7 +51,7 @@ The following releases are verified and recommended: |-|-|-|-| |PVC 1550|39|73|+87%| |Flex 170|39|50|+28%| - |Arc770|42|55|+30%| + |Arc A770|42|55|+30%| |MTL|13|16|+23%| |ARL-H|14|17|+21%| @@ -62,7 +62,7 @@ The following releases are verified and recommended: - Use oneDNN as the default GEMM library, improve the compatibility for new Intel GPUs. - 2024.5 - - Performance is increased: 34 -> 37 tokens/s of llama-2-7b.Q4_0 on Arc770. + - Performance is increased: 34 -> 37 tokens/s of llama-2-7b.Q4_0 on Arc A770. - Arch Linux is verified successfully. - 2024.4 @@ -111,7 +111,8 @@ On older Intel GPUs, you may try [OpenCL](/docs/backend/OPENCL.md) although the |-------------------------------|---------|---------------------------------------| | Intel Data Center Max Series | Support | Max 1550, 1100 | | Intel Data Center Flex Series | Support | Flex 170 | -| Intel Arc Series | Support | Arc 770, 730M, Arc A750, B580 | +| Intel Arc A-Series | Support | Arc A770, Arc A730M, Arc A750 | +| Intel Arc B-Series | Support | Arc B580 | | Intel built-in Arc GPU | Support | built-in Arc GPU in Meteor Lake, Arrow Lake, Lunar Lake | | Intel iGPU | Support | iGPU in 13700k, 13400, i5-1250P, i7-1260P, i7-1165G7 | From c7358ddf6458ffaf45dc1d9ca447b354c919fcff Mon Sep 17 00:00:00 2001 From: RachelMantel Date: Fri, 30 Jan 2026 06:00:49 +0200 Subject: [PATCH 063/206] sycl: implement GGML_OP_TRI (#19089) * sycl: implement GGML_OP_TRI * docs: update ops.md for SYCL TRI * docs: regenerate ops.md * docs: update SYCL support for GGML_OP_TRI --- docs/ops.md | 2 +- docs/ops/SYCL.csv | 8 ++-- ggml/src/ggml-sycl/ggml-sycl.cpp | 69 ++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 5 deletions(-) diff --git a/docs/ops.md b/docs/ops.md index c066ab5a85..b8e0347803 100644 --- a/docs/ops.md +++ b/docs/ops.md @@ -114,7 +114,7 @@ Legend: | TANH | ❌ | ✅ | ✅ | 🟡 | 🟡 | ✅ | ✅ | 🟡 | ✅ | ❌ | ❌ | | TIMESTEP_EMBEDDING | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | | TOP_K | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | 🟡 | ✅ | ❌ | ❌ | -| TRI | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | +| TRI | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | | TRUNC | ❌ | ❌ | ✅ | 🟡 | ❌ | ❌ | 🟡 | 🟡 | ✅ | ❌ | ❌ | | UPSCALE | ❌ | 🟡 | ✅ | ✅ | 🟡 | 🟡 | 🟡 | 🟡 | ❌ | ❌ | ❌ | | XIELU | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | diff --git a/docs/ops/SYCL.csv b/docs/ops/SYCL.csv index 091a5caed7..255b4ef473 100644 --- a/docs/ops/SYCL.csv +++ b/docs/ops/SYCL.csv @@ -10052,10 +10052,10 @@ "SYCL0","CUMSUM","type=f32,ne=[375960,1,1,1]","support","0","no","SYCL" "SYCL0","CUMSUM","type=f32,ne=[20481,4,1,1]","support","0","no","SYCL" "SYCL0","XIELU","type=f32,ne=[10,5,4,3]","support","0","no","SYCL" -"SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=3","support","0","no","SYCL" -"SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=2","support","0","no","SYCL" -"SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=1","support","0","no","SYCL" -"SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=0","support","0","no","SYCL" +"SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=3","support","1","yes","SYCL" +"SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=2","support","1","yes","SYCL" +"SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=1","support","1","yes","SYCL" +"SYCL0","TRI","type=f32,ne=[10,10,4,3],tri_type=0","support","1","yes","SYCL" "SYCL0","FILL","type=f32,ne=[10,10,4,3],c=0.000000","support","0","no","SYCL" "SYCL0","FILL","type=f32,ne=[303,207,11,3],c=2.000000","support","0","no","SYCL" "SYCL0","FILL","type=f32,ne=[800,600,4,4],c=-152.000000","support","0","no","SYCL" diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index 3a4c092af5..d20b7ec57d 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -2263,6 +2263,65 @@ inline void ggml_sycl_op_diag_mask_inf(ggml_backend_sycl_context & ctx, ggml_ten diag_mask_inf_f32_sycl(src0_dd, dst_dd, ne00, nrows0, ne01, n_past, main_stream); } +static void tri_f32_sycl( + const float * src, + float * dst, + const int64_t ne0, + const int64_t ne1, + const int64_t ne2, + const int64_t ne3, + const ggml_tri_type ttype, + dpct::queue_ptr main_stream +) { + const size_t total = (size_t) ne0 * (size_t) ne1 * (size_t) ne2 * (size_t) ne3; + + main_stream->parallel_for(sycl::range<1>(total), [=](sycl::id<1> tid) { + const int64_t idx = (int64_t) tid[0]; + + const int64_t i0 = idx % ne0; + const int64_t t1 = idx / ne0; + const int64_t i1 = t1 % ne1; + + bool keep = false; + switch (ttype) { + case GGML_TRI_TYPE_LOWER: keep = (i0 < i1); break; + case GGML_TRI_TYPE_LOWER_DIAG: keep = (i0 <= i1); break; + case GGML_TRI_TYPE_UPPER: keep = (i0 > i1); break; + case GGML_TRI_TYPE_UPPER_DIAG: keep = (i0 >= i1); break; + default: keep = false; break; + } + + dst[idx] = keep ? src[idx] : 0.0f; + }); +} + +static void ggml_sycl_op_tri(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { + const ggml_tensor * src0 = dst->src[0]; + GGML_ASSERT(src0); + + GGML_ASSERT(src0->type == GGML_TYPE_F32); + GGML_ASSERT(dst->type == GGML_TYPE_F32); + GGML_ASSERT(ggml_is_contiguous(src0)); + GGML_ASSERT(ggml_is_contiguous(dst)); + GGML_ASSERT(ggml_are_same_shape(src0, dst)); + + dpct::queue_ptr main_stream = ctx.stream(); + SYCL_CHECK(ggml_sycl_set_device(ctx.device)); + + const float * src0_dd = static_cast(src0->data); + float * dst_dd = static_cast(dst->data); + + const ggml_tri_type ttype = (ggml_tri_type) ggml_get_op_params_i32(dst, 0); + + const int64_t ne0 = src0->ne[0]; + const int64_t ne1 = src0->ne[1]; + const int64_t ne2 = src0->ne[2]; + const int64_t ne3 = src0->ne[3]; + + tri_f32_sycl(src0_dd, dst_dd, ne0, ne1, ne2, ne3, ttype, main_stream); +} + + inline void ggml_sycl_op_scale(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { GGML_ASSERT(dst->src[0]->type == GGML_TYPE_F32); GGML_ASSERT( dst->type == GGML_TYPE_F32); @@ -3912,6 +3971,9 @@ static bool ggml_sycl_compute_forward(ggml_backend_sycl_context & ctx, struct gg case GGML_OP_TRANSPOSE: GGML_SYCL_DEBUG("%s: Tensor NO-OP\n", __func__); break; + case GGML_OP_TRI: + ggml_sycl_op_tri(ctx, dst); + break; case GGML_OP_DIAG_MASK_INF: ggml_sycl_diag_mask_inf(ctx, dst); break; @@ -4616,6 +4678,13 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g return true; case GGML_OP_CONT: return op->src[0]->type != GGML_TYPE_BF16; + case GGML_OP_TRI: + { + const ggml_tensor * src0 = op->src[0]; + return src0 && + op->type == GGML_TYPE_F32 && + ggml_is_contiguous(src0); + } case GGML_OP_DIAG_MASK_INF: return true; case GGML_OP_SOFT_MAX: From 1025fd2c09b1d4f9aa3fb2f7349084eecd04f958 Mon Sep 17 00:00:00 2001 From: s8322 Date: Fri, 30 Jan 2026 06:01:38 +0200 Subject: [PATCH 064/206] sycl: implement GGML_UNARY_OP_SOFTPLUS (#19114) * sycl: add softplus unary op implementation * sycl: add softplus unary op implementation * docs(ops): mark SYCL SOFTPLUS as supported * docs: update SYCL status for SOFTPLUS --- docs/ops.md | 2 +- docs/ops/SYCL.csv | 16 ++++++++-------- ggml/src/ggml-sycl/element_wise.cpp | 20 ++++++++++++++++++++ ggml/src/ggml-sycl/element_wise.hpp | 2 ++ ggml/src/ggml-sycl/ggml-sycl.cpp | 4 ++++ 5 files changed, 35 insertions(+), 9 deletions(-) diff --git a/docs/ops.md b/docs/ops.md index b8e0347803..2c7c60dcca 100644 --- a/docs/ops.md +++ b/docs/ops.md @@ -97,7 +97,7 @@ Legend: | SILU | ❌ | ✅ | ✅ | 🟡 | 🟡 | 🟡 | ✅ | 🟡 | ✅ | ❌ | ❌ | | SILU_BACK | ❌ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ | | SIN | ❌ | ✅ | ✅ | ✅ | 🟡 | ❌ | ✅ | 🟡 | ❌ | ❌ | ❌ | -| SOFTPLUS | ❌ | ❌ | ✅ | 🟡 | 🟡 | ❌ | ❌ | 🟡 | ✅ | ❌ | ❌ | +| SOFTPLUS | ❌ | ❌ | ✅ | 🟡 | 🟡 | ❌ | ✅ | 🟡 | ✅ | ❌ | ❌ | | SOFT_MAX | ❌ | 🟡 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | | SOFT_MAX_BACK | ❌ | ❌ | 🟡 | 🟡 | ❌ | ❌ | 🟡 | ✅ | ❌ | ❌ | ❌ | | SOLVE_TRI | ❌ | ❌ | ✅ | 🟡 | ❌ | ❌ | ❌ | 🟡 | ❌ | ❌ | ❌ | diff --git a/docs/ops/SYCL.csv b/docs/ops/SYCL.csv index 255b4ef473..c1d22e65d4 100644 --- a/docs/ops/SYCL.csv +++ b/docs/ops/SYCL.csv @@ -29,8 +29,8 @@ "SYCL0","EXP","type=f16,ne_a=[5,7,11,13],v=0","support","1","yes","SYCL" "SYCL0","EXPM1","type=f16,ne_a=[128,2,2,2],v=0","support","0","no","SYCL" "SYCL0","EXPM1","type=f16,ne_a=[5,7,11,13],v=0","support","0","no","SYCL" -"SYCL0","SOFTPLUS","type=f16,ne_a=[128,2,2,2],v=0","support","0","no","SYCL" -"SYCL0","SOFTPLUS","type=f16,ne_a=[5,7,11,13],v=0","support","0","no","SYCL" +"SYCL0","SOFTPLUS","type=f16,ne_a=[128,2,2,2],v=0","support","1","yes","SYCL" +"SYCL0","SOFTPLUS","type=f16,ne_a=[5,7,11,13],v=0","support","1","yes","SYCL" "SYCL0","GELU_ERF","type=f16,ne_a=[128,2,2,2],v=0","support","1","yes","SYCL" "SYCL0","GELU_ERF","type=f16,ne_a=[5,7,11,13],v=0","support","1","yes","SYCL" "SYCL0","FLOOR","type=f16,ne_a=[128,2,2,2],v=0","support","1","yes","SYCL" @@ -71,8 +71,8 @@ "SYCL0","EXP","type=f16,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL" "SYCL0","EXPM1","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","SYCL" "SYCL0","EXPM1","type=f16,ne_a=[5,7,11,13],v=1","support","0","no","SYCL" -"SYCL0","SOFTPLUS","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","SYCL" -"SYCL0","SOFTPLUS","type=f16,ne_a=[5,7,11,13],v=1","support","0","no","SYCL" +"SYCL0","SOFTPLUS","type=f16,ne_a=[128,2,2,2],v=1","support","1","yes","SYCL" +"SYCL0","SOFTPLUS","type=f16,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL" "SYCL0","GELU_ERF","type=f16,ne_a=[128,2,2,2],v=1","support","1","yes","SYCL" "SYCL0","GELU_ERF","type=f16,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL" "SYCL0","FLOOR","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","SYCL" @@ -113,8 +113,8 @@ "SYCL0","EXP","type=f32,ne_a=[5,7,11,13],v=0","support","1","yes","SYCL" "SYCL0","EXPM1","type=f32,ne_a=[128,2,2,2],v=0","support","0","no","SYCL" "SYCL0","EXPM1","type=f32,ne_a=[5,7,11,13],v=0","support","0","no","SYCL" -"SYCL0","SOFTPLUS","type=f32,ne_a=[128,2,2,2],v=0","support","0","no","SYCL" -"SYCL0","SOFTPLUS","type=f32,ne_a=[5,7,11,13],v=0","support","0","no","SYCL" +"SYCL0","SOFTPLUS","type=f32,ne_a=[128,2,2,2],v=0","support","1","yes","SYCL" +"SYCL0","SOFTPLUS","type=f32,ne_a=[5,7,11,13],v=0","support","1","yes","SYCL" "SYCL0","GELU_ERF","type=f32,ne_a=[128,2,2,2],v=0","support","1","yes","SYCL" "SYCL0","GELU_ERF","type=f32,ne_a=[5,7,11,13],v=0","support","1","yes","SYCL" "SYCL0","FLOOR","type=f32,ne_a=[128,2,2,2],v=0","support","1","yes","SYCL" @@ -155,8 +155,8 @@ "SYCL0","EXP","type=f32,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL" "SYCL0","EXPM1","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","SYCL" "SYCL0","EXPM1","type=f32,ne_a=[5,7,11,13],v=1","support","0","no","SYCL" -"SYCL0","SOFTPLUS","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","SYCL" -"SYCL0","SOFTPLUS","type=f32,ne_a=[5,7,11,13],v=1","support","0","no","SYCL" +"SYCL0","SOFTPLUS","type=f32,ne_a=[128,2,2,2],v=1","support","1","yes","SYCL" +"SYCL0","SOFTPLUS","type=f32,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL" "SYCL0","GELU_ERF","type=f32,ne_a=[128,2,2,2],v=1","support","1","yes","SYCL" "SYCL0","GELU_ERF","type=f32,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL" "SYCL0","FLOOR","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","SYCL" diff --git a/ggml/src/ggml-sycl/element_wise.cpp b/ggml/src/ggml-sycl/element_wise.cpp index 8d83b2446b..651b875b63 100644 --- a/ggml/src/ggml-sycl/element_wise.cpp +++ b/ggml/src/ggml-sycl/element_wise.cpp @@ -123,6 +123,15 @@ static __dpct_inline__ T op_log(T x) { return sycl::log(x); } +template +static __dpct_inline__ T op_softplus(T x) { + const float xf = (float) x; + const float ax = sycl::fabs(xf); + const float m = sycl::fmax(xf, 0.0f); + const float y = m + sycl::log1p(sycl::exp(-ax)); + return (T) y; +} + template static __dpct_inline__ T op_neg(T x) { return -x; @@ -695,6 +704,12 @@ static inline void ggml_sycl_op_log(ggml_backend_sycl_context & ctx, ggml_tensor }); } +static inline void ggml_sycl_op_softplus(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { + ggml_sycl_detail::ggml_sycl_op_unary(ctx, dst, [](auto x) { + return op_softplus(x); + }); +} + static inline void ggml_sycl_op_neg(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { ggml_sycl_detail::ggml_sycl_op_unary(ctx, dst, [](auto x) { return op_neg(x); @@ -1101,6 +1116,11 @@ void ggml_sycl_log(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { ggml_sycl_op_log(ctx, dst); } +void ggml_sycl_softplus(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { + scope_op_debug_print scope_dbg_print(__func__, dst, /*num_src=*/1); + ggml_sycl_op_softplus(ctx, dst); +} + void ggml_sycl_neg(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { scope_op_debug_print scope_dbg_print(__func__, dst, /*num_src=*/1); ggml_sycl_op_neg(ctx, dst); diff --git a/ggml/src/ggml-sycl/element_wise.hpp b/ggml/src/ggml-sycl/element_wise.hpp index 0913a2e529..7c71974687 100644 --- a/ggml/src/ggml-sycl/element_wise.hpp +++ b/ggml/src/ggml-sycl/element_wise.hpp @@ -61,6 +61,8 @@ void ggml_sycl_exp(ggml_backend_sycl_context & ctx, ggml_tensor * dst); void ggml_sycl_log(ggml_backend_sycl_context & ctx, ggml_tensor * dst); +void ggml_sycl_softplus(ggml_backend_sycl_context & ctx, ggml_tensor * dst); + void ggml_sycl_neg(ggml_backend_sycl_context & ctx, ggml_tensor * dst); void ggml_sycl_step(ggml_backend_sycl_context & ctx, ggml_tensor * dst); diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index d20b7ec57d..74b4ed91cc 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -3845,6 +3845,9 @@ static bool ggml_sycl_compute_forward(ggml_backend_sycl_context & ctx, struct gg case GGML_UNARY_OP_EXP: ggml_sycl_exp(ctx, dst); break; + case GGML_UNARY_OP_SOFTPLUS: + ggml_sycl_softplus(ctx, dst); + break; case GGML_UNARY_OP_SGN: ggml_sycl_sgn(ctx, dst); break; @@ -4466,6 +4469,7 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g case GGML_UNARY_OP_GELU_QUICK: case GGML_UNARY_OP_GELU_ERF: case GGML_UNARY_OP_EXP: + case GGML_UNARY_OP_SOFTPLUS: case GGML_UNARY_OP_ELU: return true; case GGML_UNARY_OP_FLOOR: From ecbf01d44186fe78aa69d22fd6ee7790e2b87dc5 Mon Sep 17 00:00:00 2001 From: bssrdf Date: Thu, 29 Jan 2026 23:57:52 -0500 Subject: [PATCH 065/206] add tensor type checking as part of cuda graph properties (#19186) --- ggml/src/ggml-cuda/common.cuh | 1 + ggml/src/ggml-cuda/ggml-cuda.cu | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 43280644e4..a3256d59dd 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -1124,6 +1124,7 @@ struct ggml_tensor_extra_gpu { struct ggml_cuda_graph_node_properties { void * node_data; ggml_op node_op; + enum ggml_type node_type; int32_t flags; int64_t ne[GGML_MAX_DIMS]; size_t nb[GGML_MAX_DIMS]; diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index cfcffde8a2..e9e9592eba 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -2920,6 +2920,7 @@ static void ggml_cuda_graph_node_set_properties(ggml_cuda_graph_node_properties memset(props, 0, sizeof(ggml_cuda_graph_node_properties)); props->node_data = node->data; props->node_op = node->op; + props->node_type = node->type; props->flags = node->flags; for (int i = 0; i < GGML_MAX_DIMS; i++) { props->ne[i] = node->ne[i]; @@ -2944,6 +2945,10 @@ static bool ggml_cuda_graph_node_properties_match(ggml_tensor * node, ggml_cuda_ return false; } + if (node->type != props->node_type) { + return false; + } + for (int i = 0; i < GGML_MAX_DIMS; i++) { if (node->ne[i] != props->ne[i]) { return false; From b316895ff95b39cc5b7494427e9dfca9e231b23e Mon Sep 17 00:00:00 2001 From: Antonis Makropoulos Date: Fri, 30 Jan 2026 08:54:28 +0200 Subject: [PATCH 066/206] docs: Add LlamaLib to UI projects (#19181) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0783e43e5c..dac020ad37 100644 --- a/README.md +++ b/README.md @@ -213,6 +213,7 @@ Instructions for adding support for new models: [HOWTO-add-model.md](docs/develo - [llama.vim](https://github.com/ggml-org/llama.vim) (MIT) - [LARS](https://github.com/abgulati/LARS) (AGPL) - [Llama Assistant](https://github.com/vietanhdev/llama-assistant) (GPL) +- [LlamaLib](https://github.com/undreamai/LlamaLib) (Apache-2.0) - [LLMFarm](https://github.com/guinmoon/LLMFarm?tab=readme-ov-file) (MIT) - [LLMUnity](https://github.com/undreamai/LLMUnity) (MIT) - [LMStudio](https://lmstudio.ai/) (proprietary) From 83bcdf7217dc06ac67ff5f7322bdd89f46664c04 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Fri, 30 Jan 2026 10:37:06 +0100 Subject: [PATCH 067/206] memory : remove unused tmp_buf (#19199) This commit removes the unused tmp_buf variable from llama-kv-cache.cpp and llama-memory-recurrent.cpp. The tmp_buf variable was declared but never used but since it has a non-trivial constructor/desctuctor we don't get an unused variable warning about it. --- src/llama-kv-cache.cpp | 8 +++----- src/llama-memory-recurrent.cpp | 8 +++----- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/llama-kv-cache.cpp b/src/llama-kv-cache.cpp index f3c9b49f30..c35cd6761b 100644 --- a/src/llama-kv-cache.cpp +++ b/src/llama-kv-cache.cpp @@ -1772,8 +1772,6 @@ void llama_kv_cache::state_write_data(llama_io_write_i & io, const cell_ranges_t io.write(&v_trans, sizeof(v_trans)); io.write(&n_layer, sizeof(n_layer)); - std::vector tmp_buf; - // Iterate and write all the keys first, each row is a cell // Get whole range at a time for (const auto & layer : layers) { @@ -1791,7 +1789,7 @@ void llama_kv_cache::state_write_data(llama_io_write_i & io, const cell_ranges_t const uint64_t k_size_row = ggml_row_size(k->type, n_embd_k_gqa); io.write(&k_size_row, sizeof(k_size_row)); - // Read each range of cells of k_size length each into tmp_buf and write out + // Read each range of cells of k_size length and write out for (const auto & range : cr.data) { const size_t range_size = range.second - range.first; const size_t buf_size = range_size * k_size_row; @@ -1818,7 +1816,7 @@ void llama_kv_cache::state_write_data(llama_io_write_i & io, const cell_ranges_t const uint64_t v_size_row = ggml_row_size(v->type, n_embd_v_gqa); io.write(&v_size_row, sizeof(v_size_row)); - // Read each range of cells of v_size length each into tmp_buf and write out + // Read each range of cells of v_size length and write out for (const auto & range : cr.data) { const size_t range_size = range.second - range.first; const size_t buf_size = range_size * v_size_row; @@ -1852,7 +1850,7 @@ void llama_kv_cache::state_write_data(llama_io_write_i & io, const cell_ranges_t // For each row, we get the element values of each cell for (uint32_t j = 0; j < n_embd_v_gqa; ++j) { - // Read each range of cells of v_size_el length each into tmp_buf and write out + // Read each range of cells of v_size_el length and write out for (const auto & range : cr.data) { const size_t range_size = range.second - range.first; const size_t src_offset = (range.first + j * kv_size) * v_size_el; diff --git a/src/llama-memory-recurrent.cpp b/src/llama-memory-recurrent.cpp index 812bf25304..c8361b1812 100644 --- a/src/llama-memory-recurrent.cpp +++ b/src/llama-memory-recurrent.cpp @@ -785,8 +785,6 @@ void llama_memory_recurrent::state_write_data(llama_io_write_i & io, const std:: io.write(&s_trans, sizeof(s_trans)); io.write(&n_layer, sizeof(n_layer)); - std::vector tmp_buf; - // Iterate and write all the keys first, each row is a cell // Get whole range at a time for (uint32_t il = 0; il < n_layer; ++il) { @@ -801,7 +799,7 @@ void llama_memory_recurrent::state_write_data(llama_io_write_i & io, const std:: const uint64_t r_size_row = ggml_row_size(r_l[il]->type, hparams.n_embd_r()); io.write(&r_size_row, sizeof(r_size_row)); - // Read each range of cells of k_size length each into tmp_buf and write out + // Read each range of cells of k_size length and write out for (const auto & range : cell_ranges) { const size_t range_size = range.second - range.first; const size_t buf_size = range_size * r_size_row; @@ -822,7 +820,7 @@ void llama_memory_recurrent::state_write_data(llama_io_write_i & io, const std:: const uint64_t s_size_row = ggml_row_size(s_l[il]->type, hparams.n_embd_s()); io.write(&s_size_row, sizeof(s_size_row)); - // Read each range of cells of s_size length each into tmp_buf and write out + // Read each range of cells of s_size length and write out for (const auto & range : cell_ranges) { const size_t range_size = range.second - range.first; const size_t buf_size = range_size * s_size_row; @@ -851,7 +849,7 @@ void llama_memory_recurrent::state_write_data(llama_io_write_i & io, const std:: // For each row, we get the element values of each cell for (uint32_t j = 0; j < n_embd_s; ++j) { - // Read each range of cells of v_size_el length each into tmp_buf and write out + // Read each range of cells of v_size_el length and write out for (const auto & range : cell_ranges) { const size_t range_size = range.second - range.first; const size_t src_offset = (range.first + j * mem_size) * s_size_el; From 05625031547d95f7335abd012cad4cd07986819b Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Fri, 30 Jan 2026 11:12:53 +0100 Subject: [PATCH 068/206] convert : add missing return statement for GraniteMoeModel (#19202) This commit adds a missing return statement to the GraniteMoeModel class to fix an issue in the model conversion process. Resolves: https://github.com/ggml-org/llama.cpp/issues/19201 --- convert_hf_to_gguf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index a391717e32..eb43520f98 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -8806,6 +8806,7 @@ class GraniteMoeModel(GraniteModel): gate, up = data_torch.split(ffn_dim, dim=-2) yield from ModelBase.modify_tensors(self, gate, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_GATE_EXP, bid), bid) yield from ModelBase.modify_tensors(self, up, self.format_tensor_name(gguf.MODEL_TENSOR.FFN_UP_EXP, bid), bid) + return has_experts = bool(self.hparams.get('num_local_experts')) From c3b87cebff7dfdd73b850b8a194cd0a0c6bfcf49 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 30 Jan 2026 13:52:57 +0200 Subject: [PATCH 069/206] tests : add GQA=20 FA test (#19095) --- tests/test-backend-ops.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index d4c1f525c6..411467e968 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -8213,11 +8213,13 @@ static std::vector> make_test_cases_eval() { if (!mask && max_bias > 0.0f) continue; for (float logit_softcap : {0.0f, 10.0f}) { if (hsk != 128 && logit_softcap != 0.0f) continue; - for (int nh : { 4, }) { + for (int nh : { 1, 4 }) { + if (nh == 1 && hsk != 576) continue; // GLM 4.7 Flash for (int nr3 : { 1, 3, }) { if (hsk > 64 && nr3 > 1) continue; // skip broadcast for large head sizes - for (int nr2 : { 1, 4, 12 }) { + for (int nr2 : { 1, 4, 12, 20 }) { if (nr2 == 12 && hsk != 128) continue; + if (nr2 == 20 && (nh != 1 || hsk != 576)) continue; //for (int kv : { 1, 17, 31, 33, 61, 113, 65, 127, 129, 130, 255, 260, 371, 380, 407, 512, 1024, }) { for (int kv : { 113, 512, 1024, }) { if (nr2 != 1 && kv != 512) continue; From f3bc98890c2b07f66c0ee20cd539abbfe9ea7639 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Fri, 30 Jan 2026 15:18:41 +0100 Subject: [PATCH 070/206] memory : clarify comments for r_l and s_l tensors [no ci] (#19203) This commit updates the comments in state_write_data to clarify that it is handling the R and S tensors and not Key and Value tensors. --- src/llama-memory-recurrent.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/llama-memory-recurrent.cpp b/src/llama-memory-recurrent.cpp index c8361b1812..f0038036dc 100644 --- a/src/llama-memory-recurrent.cpp +++ b/src/llama-memory-recurrent.cpp @@ -785,21 +785,21 @@ void llama_memory_recurrent::state_write_data(llama_io_write_i & io, const std:: io.write(&s_trans, sizeof(s_trans)); io.write(&n_layer, sizeof(n_layer)); - // Iterate and write all the keys first, each row is a cell + // Iterate and write all the R tensors first, each row is a cell // Get whole range at a time for (uint32_t il = 0; il < n_layer; ++il) { // skip null layers (read_data will handle this by checking "r_l" and "s_l" for null) if (r_l[il] == nullptr) continue; - // Write key type + // Write R tensor type const int32_t r_type_i = (int32_t)r_l[il]->type; io.write(&r_type_i, sizeof(r_type_i)); - // Write row size of key + // Write row size of R tensor const uint64_t r_size_row = ggml_row_size(r_l[il]->type, hparams.n_embd_r()); io.write(&r_size_row, sizeof(r_size_row)); - // Read each range of cells of k_size length and write out + // Write each range of cells of r_size_row length for (const auto & range : cell_ranges) { const size_t range_size = range.second - range.first; const size_t buf_size = range_size * r_size_row; @@ -812,15 +812,15 @@ void llama_memory_recurrent::state_write_data(llama_io_write_i & io, const std:: // skip null layers (read_data will handle this by checking "r_l" and "s_l" for null) if (s_l[il] == nullptr) continue; - // Write value type + // Write S tensor type const int32_t s_type_i = (int32_t)s_l[il]->type; io.write(&s_type_i, sizeof(s_type_i)); - // Write row size of value + // Write row size of S tensor const uint64_t s_size_row = ggml_row_size(s_l[il]->type, hparams.n_embd_s()); io.write(&s_size_row, sizeof(s_size_row)); - // Read each range of cells of s_size length and write out + // Write each range of S tensor rows for (const auto & range : cell_ranges) { const size_t range_size = range.second - range.first; const size_t buf_size = range_size * s_size_row; @@ -828,7 +828,7 @@ void llama_memory_recurrent::state_write_data(llama_io_write_i & io, const std:: } } } else { - // When v is transposed, we also need the element size and get the element ranges from each row + // When S tensor is transposed, we also need the element size and get the element ranges from each row const uint32_t mem_size = size; for (uint32_t il = 0; il < n_layer; ++il) { // skip null layers (read_data will handle this by checking "r_l" and "s_l" for null) @@ -836,7 +836,7 @@ void llama_memory_recurrent::state_write_data(llama_io_write_i & io, const std:: const uint32_t n_embd_s = hparams.n_embd_s(); - // Write value type + // Write S tensor type const int32_t s_type_i = (int32_t)s_l[il]->type; io.write(&s_type_i, sizeof(s_type_i)); @@ -849,7 +849,7 @@ void llama_memory_recurrent::state_write_data(llama_io_write_i & io, const std:: // For each row, we get the element values of each cell for (uint32_t j = 0; j < n_embd_s; ++j) { - // Read each range of cells of v_size_el length and write out + // Write each range of cells of s_size_el length for (const auto & range : cell_ranges) { const size_t range_size = range.second - range.first; const size_t src_offset = (range.first + j * mem_size) * s_size_el; From 2e916f996a965a911eb79168b5fb959c1ea0c57b Mon Sep 17 00:00:00 2001 From: Marcello Seri Date: Fri, 30 Jan 2026 16:09:44 +0100 Subject: [PATCH 071/206] jinja : add unordered_map include to value.h [no ci] (#19205) On macos Sequoia 15.7.3, x86_64, the build has recently started failing with ``` In file included from .../code/cpp/llama.cpp/common/jinja/string.cpp:2: .../code/cpp/llama.cpp/common/./jinja/value.h:478:10: error: no template named 'unordered_map' in namespace 'std' 478 | std::unordered_map unordered; | ~~~~~^ In file included from .../code/cpp/llama.cpp/common/jinja/caps.cpp:1: .../code/cpp/llama.cpp/common/jinja/value.h:478:10: error: no template named 'unordered_map' in namespace 'std' 478 | std::unordered_map unordered; | ~~~~~^ In file included from .../code/cpp/llama.cpp/common/jinja/value.cpp:1: In file included from .../code/cpp/llama.cpp/common/jinja/runtime.h:4: .../code/cpp/llama.cpp/common/jinja/value.h:478:10: error: no template named 'unordered_map' in namespace 'std' 478 | std::unordered_map unordered; [...] ``` After a bit of digging to make sure all the appropriate flags were used, I notifced that the necessary header was not included. This fixes the build for me and should not affect negatively other builds that for some reasons were already succeeding --- common/jinja/value.h | 1 + 1 file changed, 1 insertion(+) diff --git a/common/jinja/value.h b/common/jinja/value.h index a2f92d2c69..1c04760a08 100644 --- a/common/jinja/value.h +++ b/common/jinja/value.h @@ -12,6 +12,7 @@ #include #include #include +#include #include namespace jinja { From dabaa2e77a9d94ee1466ce55f9ff47d5c1daae43 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 30 Jan 2026 18:21:48 +0200 Subject: [PATCH 072/206] spec : add ngram-mod (#19164) * spec : add ngram-mod * cont : simplify + keep track of occupancy * cont : cleanup * cont : move initialization to common/speculative * cont : cleanup * cont : cleanup * cont : fix --- common/CMakeLists.txt | 2 + common/arg.cpp | 4 +- common/common.h | 5 + common/ngram-map.cpp | 35 +++---- common/ngram-map.h | 1 + common/ngram-mod.cpp | 60 ++++++++++++ common/ngram-mod.h | 37 +++++++ common/speculative.cpp | 164 +++++++++++++++++++++++++++++++- common/speculative.h | 4 +- tools/server/server-context.cpp | 9 +- 10 files changed, 292 insertions(+), 29 deletions(-) create mode 100644 common/ngram-mod.cpp create mode 100644 common/ngram-mod.h diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 3bc7bc6210..295ae9ea25 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -75,6 +75,8 @@ add_library(${TARGET} STATIC ngram-cache.h ngram-map.cpp ngram-map.h + ngram-mod.cpp + ngram-mod.h peg-parser.cpp peg-parser.h preset.cpp diff --git a/common/arg.cpp b/common/arg.cpp index 218418f070..5fbc9022c0 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -3396,7 +3396,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } ).set_examples({LLAMA_EXAMPLE_SPECULATIVE, LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_CLI})); add_opt(common_arg( - {"--spec-type"}, "[none|ngram-cache|ngram-simple|ngram-map-k|ngram-map-k4v]", + {"--spec-type"}, "[none|ngram-cache|ngram-simple|ngram-map-k|ngram-map-k4v|ngram-mod]", string_format("type of speculative decoding to use when no draft model is provided (default: %s)\n", common_speculative_type_to_str(params.speculative.type).c_str()), [](common_params & params, const std::string & value) { @@ -3410,6 +3410,8 @@ common_params_context common_params_parser_init(common_params & params, llama_ex params.speculative.type = COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K; } else if (value == "ngram-map-k4v") { params.speculative.type = COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V; + } else if (value == "ngram-mod") { + params.speculative.type = COMMON_SPECULATIVE_TYPE_NGRAM_MOD; } else { throw std::invalid_argument("unknown speculative decoding type without draft model"); } diff --git a/common/common.h b/common/common.h index fd3ab8cd18..398ebb0960 100644 --- a/common/common.h +++ b/common/common.h @@ -171,6 +171,7 @@ enum common_speculative_type { COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE, // simple self-speculative decoding COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K, // self-speculative decoding with n-gram keys only COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V, // self-speculative decoding with n-gram keys and 4 m-gram values + COMMON_SPECULATIVE_TYPE_NGRAM_MOD, COMMON_SPECULATIVE_TYPE_NGRAM_CACHE, // self-speculative decoding with 3-level n-gram cache COMMON_SPECULATIVE_TYPE_COUNT // number of types, unknown type }; @@ -252,6 +253,8 @@ struct common_params_model { std::string name = ""; // in format /[:] (tag is optional) // NOLINT }; +struct common_ngram_mod; + struct common_params_speculative { common_speculative_type type = COMMON_SPECULATIVE_TYPE_NONE; // type of speculative decoding @@ -269,6 +272,8 @@ struct common_params_speculative { uint16_t ngram_check_rate = 1; // check rate for ngram lookup uint16_t ngram_min_hits = 1; // minimum hits at ngram/mgram lookup for mgram to be proposed + std::shared_ptr ngram_mod; + std::string lookup_cache_static; // path of static ngram cache file for lookup decoding // NOLINT std::string lookup_cache_dynamic; // path of dynamic ngram cache file for lookup decoding // NOLINT diff --git a/common/ngram-map.cpp b/common/ngram-map.cpp index 930e7a3c10..84fd761367 100644 --- a/common/ngram-map.cpp +++ b/common/ngram-map.cpp @@ -7,6 +7,21 @@ #include #include +// Print the values of a sublist of `llama_tokens & inp` to a string in the form [v0, v1, v2, ...]. +static std::string common_tokens_to_str(const llama_tokens & inp, size_t start, size_t length) { + std::ostringstream oss; + oss << '['; + for (size_t i = 0; i < length; ++i) { + if (i > 0) { + oss << ", "; + } + oss << inp[start + i]; + } + oss << ']'; + return oss.str(); +} + + // n-gram simple // @@ -100,8 +115,6 @@ llama_tokens common_ngram_simple_draft( // maximum number of counted values of a ngram map value. #define COMMON_NGRAM_MAX_VALUE_COUNT 16380 -static std::string common_tokens_to_str(const llama_tokens & inp, size_t start, size_t length); - void common_ngram_map_draft(common_ngram_map & map, const llama_tokens & inp, llama_token sampled, llama_tokens & draft) { @@ -347,21 +360,3 @@ void common_ngram_map_accept(common_ngram_map & map, uint16_t n_accepted) { n_accepted, curr_value.n_accepted); curr_value.n_accepted = n_accepted; } - -// Helper functions. -// - -// Print the values of a sublist of `llama_tokens & inp` to a string in the form [v0, v1, v2, ...]. -std::string common_tokens_to_str(const llama_tokens & inp, size_t start, size_t length) { - std::ostringstream oss; - oss << '['; - for (size_t i = 0; i < length; ++i) { - if (i > 0) { - oss << ", "; - } - oss << inp[start + i]; - } - oss << ']'; - return oss.str(); -} - diff --git a/common/ngram-map.h b/common/ngram-map.h index bf91883f0c..b365034ac5 100644 --- a/common/ngram-map.h +++ b/common/ngram-map.h @@ -11,6 +11,7 @@ // #include "llama.h" +#include "common.h" #include diff --git a/common/ngram-mod.cpp b/common/ngram-mod.cpp new file mode 100644 index 0000000000..76f7257f61 --- /dev/null +++ b/common/ngram-mod.cpp @@ -0,0 +1,60 @@ +#include "ngram-mod.h" + +// +// common_ngram_mod +// + +common_ngram_mod::common_ngram_mod(uint16_t n, size_t size) : n(n), used(0) { + entries.resize(size); + + reset(); +} + +size_t common_ngram_mod::idx(const entry_t * tokens) const { + size_t res = 0; + + for (size_t i = 0; i < n; ++i) { + res = res*6364136223846793005ULL + tokens[i]; + } + + res = res % entries.size(); + + return res; +} + +void common_ngram_mod::add(const entry_t * tokens) { + const size_t i = idx(tokens); + + if (entries[i] == EMPTY) { + used++; + } + + entries[i] = tokens[n]; +} + +common_ngram_mod::entry_t common_ngram_mod::get(const entry_t * tokens) const { + const size_t i = idx(tokens); + + return entries[i]; +} + +void common_ngram_mod::reset() { + std::fill(entries.begin(), entries.end(), EMPTY); + used = 0; +} + +size_t common_ngram_mod::get_n() const { + return n; +} + +size_t common_ngram_mod::get_used() const { + return used; +} + +size_t common_ngram_mod::size() const { + return entries.size(); +} + +size_t common_ngram_mod::size_bytes() const { + return entries.size() * sizeof(entries[0]); +} diff --git a/common/ngram-mod.h b/common/ngram-mod.h new file mode 100644 index 0000000000..cf3c89c915 --- /dev/null +++ b/common/ngram-mod.h @@ -0,0 +1,37 @@ +#pragma once + +#include +#include + +// +// common_ngram_mod +// ref: https://github.com/ggml-org/llama.cpp/pull/19164 +// + +// basic n-gram hasher +struct common_ngram_mod { + using entry_t = int32_t; + + static constexpr entry_t EMPTY = -1; + + common_ngram_mod(uint16_t n, size_t size); + + size_t idx(const entry_t * tokens) const; + void add(const entry_t * tokens); + entry_t get(const entry_t * tokens) const; // return -1 if not found + + void reset(); + + size_t get_n() const; + size_t get_used() const; + + size_t size() const; + size_t size_bytes() const; + +private: + size_t n; // ngram size to hash + + size_t used; + + std::vector entries; +}; diff --git a/common/speculative.cpp b/common/speculative.cpp index 3f314b5d57..a1a3b51c13 100644 --- a/common/speculative.cpp +++ b/common/speculative.cpp @@ -6,6 +6,7 @@ #include "log.h" #include "ngram-cache.h" #include "ngram-map.h" +#include "ngram-mod.h" #include "sampling.h" #include @@ -23,6 +24,7 @@ const std::vector common_speculative_types = { COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE, COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K, COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V, + COMMON_SPECULATIVE_TYPE_NGRAM_MOD, COMMON_SPECULATIVE_TYPE_NGRAM_CACHE }; @@ -33,6 +35,7 @@ const std::map common_speculative_typ {"ngram_simple", COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE}, {"ngram_map_k", COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K}, {"ngram_map_k4v", COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V}, + {"ngram_mod", COMMON_SPECULATIVE_TYPE_NGRAM_MOD}, {"ngram_cache", COMMON_SPECULATIVE_TYPE_NGRAM_CACHE} }; @@ -110,6 +113,8 @@ static bool common_speculative_are_compatible( struct common_speculative_state { const enum common_speculative_type type; + // TODO: rename to n_call_draft, n_gen_drafts, n_acc_drafts, n_gen_tokens, n_acc_tokens + // TODO: add n_call_begin, n_call_accept size_t drafts_call_count = 0; // number of times this implementation was called. size_t drafts_generated_count = 0; // number of times a draft or part was generated by this implementation. size_t drafts_accepted_count = 0; // number of times a draft or part was accepted by the target model. @@ -119,6 +124,8 @@ struct common_speculative_state { // TODO: track performance of most recent calls const bool gen_perf = true; // whether to generate performance stats. + // TODO: rename to t_draft_us + // TODO: add t_begin_us, t_accept_us int64_t gen_duration_us = 0; // total time spent in this implementation in microseconds. common_speculative_state(enum common_speculative_type type) : type(type) {} @@ -509,6 +516,132 @@ struct common_speculative_state_ngram_map_k : public common_speculative_state { } }; +struct common_speculative_state_ngram_mod : public common_speculative_state { + common_ngram_mod & mod; + + // the last position in the prompt that was added to the ngram container + size_t i_last = 0; + + // length of the last drafted n‑gram (number of tokens returned by draft) + size_t n_draft_last = 0; + + // consecutive accept rounds with low acceptance fraction (< 0.5) + int n_low = 0; + + // enable trace logging if LLAMA_TRACE is set + const bool verbose; + + common_speculative_state_ngram_mod(enum common_speculative_type type, common_ngram_mod & mod) + : common_speculative_state(type), mod(mod), verbose(std::getenv("LLAMA_TRACE") != nullptr) { + static_assert(sizeof(llama_token) == sizeof(common_ngram_mod::entry_t)); + } + + void begin(const llama_tokens & prompt) override { + i_last = 0; + + n_draft_last = 0; + + const size_t n = mod.get_n(); + + if (prompt.size() < n) { + return; + } + + for (size_t i = 0; i < prompt.size() - n; ++i) { + mod.add(prompt.data() + i); + } + + i_last = prompt.size() - n; + + const double f = (double)mod.get_used() / (double)mod.size(); + LOG_INF("%s: ngram_mod occupancy = %zu/%zu (%.2f)\n", __func__, mod.get_used(), mod.size(), f); + + constexpr double f_thold = 0.25; + if (f > f_thold) { + LOG_WRN("%s: ngram_mod occupancy %.2f exceeds threshold (%.2f) - resetting\n", __func__, f, f_thold); + + mod.reset(); + } + } + + void draft( + const common_params_speculative & params, + const llama_tokens & prompt_tgt, + llama_token id_last, + llama_tokens & result) override { + GGML_UNUSED(params); + + n_draft_last = 0; + + const size_t cur_len = prompt_tgt.size(); + if (cur_len < mod.get_n()) { + return; + } + + const size_t n = mod.get_n(); + + // add new ngrams in chunks + if (i_last + 32 < cur_len) { + for (size_t i = i_last; i < cur_len - n; ++i) { + mod.add(prompt_tgt.data() + i); + } + + i_last = cur_len - n; + } + + result.resize(n + params.n_max); + for (size_t i = 0; i < n - 1; ++i) { + result[i] = prompt_tgt[cur_len - n + 1 + i]; + } + result[n - 1] = id_last; + + for (int i = 0; i < params.n_max; ++i) { + const llama_token token = mod.get(result.data() + i); + if (token == common_ngram_mod::EMPTY) { + if (i < params.n_min) { + result.clear(); + return; + } + + result.resize(n + i); + break; + } + result[n + i] = token; + } + + // only return the m tokens that were drafted + for (size_t i = 0; n + i < result.size(); ++i) { + result[i] = result[n + i]; + } + result.resize(result.size() - n); + + // store length of drafted n‑gram for later acceptance analysis + n_draft_last = result.size(); + } + + void accept(uint16_t n_accepted) override { + if (verbose) { + LOG_INF("%s: accepted %d tokens from %zu drafted tokens\n", __func__, n_accepted, n_draft_last); + } + + // compute acceptance fraction if we have a recorded draft length + if (n_draft_last > 0) { + const double f_acc = (double)n_accepted / (double)n_draft_last; + if (f_acc < 0.5) { + n_low++; + if (n_low >= 3) { + LOG_WRN("%s: low acceptance streak (%d) – resetting ngram_mod\n", __func__, n_low); + + mod.reset(); + n_low = 0; + } + } else { + n_low = 0; + } + } + } +}; + struct common_speculative_state_ngram_cache : public common_speculative_state { uint16_t n_draft; bool save_dynamic; @@ -650,6 +783,7 @@ std::string common_speculative_type_to_str(enum common_speculative_type type) { case COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE: return "ngram_simple"; case COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K: return "ngram_map_k"; case COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V: return "ngram_map_k4v"; + case COMMON_SPECULATIVE_TYPE_NGRAM_MOD: return "ngram_mod"; case COMMON_SPECULATIVE_TYPE_NGRAM_CACHE: return "ngram_cache"; default: return "unknown"; } @@ -666,8 +800,8 @@ enum common_speculative_type common_speculative_type_from_name(const std::string // initialization of the speculative decoding system // common_speculative * common_speculative_init( - const common_params_speculative & params, - llama_context * ctx_tgt) { + common_params_speculative & params, + llama_context * ctx_tgt) { llama_context * ctx_dft = nullptr; if (params.model_dft) { ctx_dft = llama_init_from_model(params.model_dft, params.cparams_dft); @@ -687,6 +821,7 @@ common_speculative * common_speculative_init( bool has_ngram_simple = (params.type == COMMON_SPECULATIVE_TYPE_NGRAM_SIMPLE); bool has_ngram_map_k = (params.type == COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K); bool has_ngram_map_k4v = (params.type == COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V); + bool has_ngram_mod = (params.type == COMMON_SPECULATIVE_TYPE_NGRAM_MOD); // In a more complex implementation we could use the same implementation but with different parameters. // This was initially used in PR-18471 but removed to simplify the code. @@ -701,6 +836,22 @@ common_speculative * common_speculative_init( // This implementation can guess tokens with high acceptance rate but is more expensive. configs.push_back(common_speculative_config(COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K4V, params)); } + if (has_ngram_mod) { + // shared instance for all speculative decoding contexts + if (!params.ngram_mod) { + params.ngram_mod = std::make_shared(params.ngram_size_n, 4*1024*1024); + + LOG_INF("%s: initialized ngram_mod with n=%d, size=%zu (%.3f MB)\n", __func__, + params.ngram_size_n, params.ngram_mod->size(), + (float)(params.ngram_mod->size_bytes())/1024/1024); + + if (params.ngram_size_n < 16) { + LOG_WRN("%s: ngram_mod n=%d is too small - poor quality is possible, see: https://github.com/ggml-org/llama.cpp/pull/19164\n", __func__, params.ngram_size_n); + } + } + + configs.push_back(common_speculative_config(COMMON_SPECULATIVE_TYPE_NGRAM_MOD, params)); + } if (has_ngram_cache) { configs.push_back(common_speculative_config(COMMON_SPECULATIVE_TYPE_NGRAM_CACHE, params)); } @@ -758,6 +909,11 @@ common_speculative * common_speculative_init( )); break; } + case COMMON_SPECULATIVE_TYPE_NGRAM_MOD: { + GGML_ASSERT(config.params.ngram_mod); + impls.push_back(std::make_unique(config.type, *config.params.ngram_mod)); + break; + } case COMMON_SPECULATIVE_TYPE_NGRAM_CACHE: { auto state = create_state_ngram_cache( params.lookup_cache_static, params.lookup_cache_dynamic, config); @@ -822,8 +978,7 @@ llama_tokens common_speculative_draft( if (!result.empty()) { LOG_DBG("%s: called impl %s, hist size = %zu, call_count = %zu, gen = %zu\n", __func__, - common_speculative_type_to_str(impl.get()->type).c_str(), - prompt_tgt.size(), + common_speculative_type_to_str(impl.get()->type).c_str(), prompt_tgt.size(), impl.get()->drafts_call_count, result.size()); spec->curr_impl = impl.get(); // set current implementation for stats @@ -869,6 +1024,7 @@ void common_speculative_print_stats(const common_speculative * spec) { str_perf = ""; } + // TODO: report time for begin() and accept() LOG_INF("statistics %s: #calls = %zu, #gen drafts = %zu, #acc drafts = %zu, #gen tokens = %zu, #acc tokens = %zu%s\n", common_speculative_type_to_str(impl->type).c_str(), impl->drafts_call_count, diff --git a/common/speculative.h b/common/speculative.h index 9e1888e4be..76fe6bb7bc 100644 --- a/common/speculative.h +++ b/common/speculative.h @@ -15,8 +15,8 @@ enum common_speculative_type common_speculative_type_from_name(const std::string std::string common_speculative_type_to_str(enum common_speculative_type type); common_speculative * common_speculative_init( - const common_params_speculative & params, - llama_context * ctx_tgt); + common_params_speculative & params, + llama_context * ctx_tgt); void common_speculative_free(common_speculative * spec); diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 1ca4e3cc0e..6f26fc9a9b 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -705,6 +705,11 @@ private: params_base.n_cache_reuse = 0; SRV_WRN("%s\n", "cache_reuse is not supported by multimodal, it will be disabled"); } + + if (params_base.speculative.type != COMMON_SPECULATIVE_TYPE_NONE) { + params_base.speculative.type = COMMON_SPECULATIVE_TYPE_NONE; + SRV_WRN("%s\n", "speculative decoding is not supported by multimodal, it will be disabled"); + } } if (!llama_memory_can_shift(llama_get_memory(ctx))) { @@ -754,9 +759,9 @@ private: SRV_ERR("%s\n", "speculative decoding is not supported with multimodal"); return false; } - SRV_WRN("%s", "speculative decoding context initialized\n"); + SLT_INF(slot, "%s", "speculative decoding context initialized\n"); } else { - SRV_WRN("%s", "speculative decoding context not initialized\n"); + SLT_INF(slot, "%s", "speculative decoding context not initialized\n"); } } From 13f3ebfae118e54716658d44ca9884e726c749c2 Mon Sep 17 00:00:00 2001 From: Simon Redman Date: Fri, 30 Jan 2026 11:27:16 -0500 Subject: [PATCH 073/206] Correctly fetch q8_1 quantize pipeline in test as needed by 8a3519b (#19194) --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index 3852867c29..a99375c088 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -11956,7 +11956,8 @@ static void ggml_vk_test_dequant_matmul(ggml_backend_vk_context * ctx, size_t m, } } if (mmq) { - ggml_pipeline_request_descriptor_sets(ctx, ctx->device->pipeline_quantize_q8_1, num_it); + vk_pipeline pipeline_quantize_q8_1 = ggml_vk_get_quantize_pipeline(ctx, GGML_TYPE_Q8_1); + ggml_pipeline_request_descriptor_sets(ctx, pipeline_quantize_q8_1, num_it); } ggml_pipeline_allocate_descriptor_sets(ctx); From bbada8bfb9bce17eafb0af5ded22bf96ba57f778 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 30 Jan 2026 19:46:10 +0200 Subject: [PATCH 074/206] server : wrap around the "id_slot" parameter (#19207) * server : wrap around the "id_slot" parameter * cont : minor --- tools/server/server-context.cpp | 41 ++++++++++++++++++--------------- tools/server/server-task.h | 2 +- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 6f26fc9a9b..7f9c3c566b 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -155,7 +155,7 @@ struct server_slot { double t_prompt_processing; // ms double t_token_generation; // ms - std::function callback_on_release; + std::function callback_on_release; // Speculative decoding stats int32_t n_draft_total = 0; // Total draft tokens generated @@ -767,8 +767,8 @@ private: SLT_INF(slot, "new slot, n_ctx = %d\n", slot.n_ctx); - slot.callback_on_release = [this](int slot_id) { - queue_tasks.pop_deferred_task(slot_id); + slot.callback_on_release = [this](int id_slot) { + queue_tasks.pop_deferred_task(id_slot); }; slot.reset(); @@ -896,6 +896,9 @@ private: } server_slot * get_slot_by_id(int id_slot) { + // note: allow id_slot to be out of bounds (wrap around) + id_slot = id_slot % slots.size(); + for (server_slot & slot : slots) { if (slot.id == id_slot) { return &slot; @@ -1765,7 +1768,7 @@ private: break; } - int id_slot = task.slot_action.slot_id; + const int id_slot = task.slot_action.id_slot; server_slot * slot = get_slot_by_id(id_slot); if (slot == nullptr) { send_error(task, "Invalid slot ID", ERROR_TYPE_INVALID_REQUEST); @@ -1803,7 +1806,7 @@ private: case SERVER_TASK_TYPE_SLOT_RESTORE: { if (!check_no_mtmd(task.id)) break; - int id_slot = task.slot_action.slot_id; + const int id_slot = task.slot_action.id_slot; server_slot * slot = get_slot_by_id(id_slot); if (slot == nullptr) { send_error(task, "Invalid slot ID", ERROR_TYPE_INVALID_REQUEST); @@ -1852,7 +1855,7 @@ private: if (!check_no_mtmd(task.id)) { break; } - int id_slot = task.slot_action.slot_id; + const int id_slot = task.slot_action.id_slot; server_slot * slot = get_slot_by_id(id_slot); if (slot == nullptr) { send_error(task, "Invalid slot ID", ERROR_TYPE_INVALID_REQUEST); @@ -3317,7 +3320,7 @@ void server_routes::init_routes() { } // TODO: get rid of this dynamic_cast - auto res_task = dynamic_cast(result.get()); + auto * res_task = dynamic_cast(result.get()); GGML_ASSERT(res_task != nullptr); // optionally return "fail_on_no_slot" error @@ -3340,8 +3343,8 @@ void server_routes::init_routes() { } std::string id_slot_str = req.get_param("id_slot"); - int id_slot; + int id_slot; try { id_slot = std::stoi(id_slot_str); } catch (const std::exception &) { @@ -3353,14 +3356,16 @@ void server_routes::init_routes() { if (action == "save") { return handle_slots_save(req, id_slot); - } else if (action == "restore") { - return handle_slots_restore(req, id_slot); - } else if (action == "erase") { - return handle_slots_erase(req, id_slot); - } else { - res->error(format_error_response("Invalid action", ERROR_TYPE_INVALID_REQUEST)); - return res; } + if (action == "restore") { + return handle_slots_restore(req, id_slot); + } + if (action == "erase") { + return handle_slots_erase(req, id_slot); + } + + res->error(format_error_response("Invalid action", ERROR_TYPE_INVALID_REQUEST)); + return res; }; this->get_props = [this](const server_http_req &) { @@ -3903,7 +3908,7 @@ std::unique_ptr server_routes::handle_slots_save(const ser { server_task task(SERVER_TASK_TYPE_SLOT_SAVE); task.id = rd.get_new_id(); - task.slot_action.slot_id = id_slot; + task.slot_action.id_slot = id_slot; task.slot_action.filename = filename; task.slot_action.filepath = filepath; rd.post_task(std::move(task)); @@ -3939,7 +3944,7 @@ std::unique_ptr server_routes::handle_slots_restore(const { server_task task(SERVER_TASK_TYPE_SLOT_RESTORE); task.id = rd.get_new_id(); - task.slot_action.slot_id = id_slot; + task.slot_action.id_slot = id_slot; task.slot_action.filename = filename; task.slot_action.filepath = filepath; rd.post_task(std::move(task)); @@ -3968,7 +3973,7 @@ std::unique_ptr server_routes::handle_slots_erase(const se { server_task task(SERVER_TASK_TYPE_SLOT_ERASE); task.id = rd.get_new_id(); - task.slot_action.slot_id = id_slot; + task.slot_action.id_slot = id_slot; rd.post_task(std::move(task)); } diff --git a/tools/server/server-task.h b/tools/server/server-task.h index 244470596b..a69e8f1a3d 100644 --- a/tools/server/server-task.h +++ b/tools/server/server-task.h @@ -153,7 +153,7 @@ struct server_task { // used by SERVER_TASK_TYPE_SLOT_SAVE, SERVER_TASK_TYPE_SLOT_RESTORE, SERVER_TASK_TYPE_SLOT_ERASE struct slot_action { - int slot_id; + int id_slot; std::string filename; std::string filepath; }; From dfd6106c84045f819760c86cc21a27804d2faf32 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 30 Jan 2026 15:56:15 +0200 Subject: [PATCH 075/206] cuda : fix compile warnings (whisper/0) --- ggml/src/ggml-cuda/ggml-cuda.cu | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index e9e9592eba..08383edb40 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -3910,14 +3910,14 @@ static void ggml_cuda_graph_evaluate_and_capture(ggml_backend_cuda_context * cud // Launch graph CUDA_CHECK(cudaGraphLaunch(graph->instance, cuda_ctx->stream())); #else + GGML_UNUSED(graph_key); graph_evaluated_or_captured = true; #endif // USE_CUDA_GRAPH } } -static bool ggml_cuda_graph_set_enabled(ggml_backend_cuda_context * cuda_ctx, const void * graph_key) { - #ifdef USE_CUDA_GRAPH +static bool ggml_cuda_graph_set_enabled(ggml_backend_cuda_context * cuda_ctx, const void * graph_key) { ggml_cuda_graph * graph = cuda_ctx->cuda_graph(graph_key); if (graph->graph == nullptr) { @@ -3930,12 +3930,8 @@ static bool ggml_cuda_graph_set_enabled(ggml_backend_cuda_context * cuda_ctx, co } return graph->is_enabled(); -#else - GGML_UNUSED(cuda_ctx); - GGML_UNUSED(graph_key); - return false; -#endif // USE_CUDA_GRAPH } +#endif // USE_CUDA_GRAPH static enum ggml_status ggml_backend_cuda_graph_compute(ggml_backend_t backend, ggml_cgraph * cgraph) { ggml_backend_cuda_context * cuda_ctx = (ggml_backend_cuda_context *) backend->context; From d9a2a4bcaa071d730bb1ab4fb411a9c93b50dd13 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 30 Jan 2026 16:27:14 +0200 Subject: [PATCH 076/206] sync : ggml --- scripts/sync-ggml.last | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/sync-ggml.last b/scripts/sync-ggml.last index c838276158..81e79a9470 100644 --- a/scripts/sync-ggml.last +++ b/scripts/sync-ggml.last @@ -1 +1 @@ -ebc3a0f4a56be1c9424a89fbec09962ac34fde85 +a8db410a252c8c8f2d120c6f2e7133ebe032f35d From 971facc38e2544fcf2cc09368de5d1a68e33c10f Mon Sep 17 00:00:00 2001 From: shaofeiqi Date: Fri, 30 Jan 2026 10:19:27 -0800 Subject: [PATCH 077/206] opencl: add optimized q8_0 mm kernel for adreno (#18871) * Add Q8_0 OpenCL kernel Co-authored-by: yunjie * opencl: fix build for non-adreno * opencl: refactor q8_0 * opencl: enforce subgroup size of 64 for adreno for q8_0 * For A750 and older generations, subgroup size can be 64 or 128. This kernel assumes subgroup size 64. * opencl: suppress warning when adreno kernels are disabled --------- Co-authored-by: yunjie Co-authored-by: Li He --- ggml/src/ggml-opencl/CMakeLists.txt | 2 + ggml/src/ggml-opencl/ggml-opencl.cpp | 464 +++++++++++++++++- ggml/src/ggml-opencl/kernels/cvt.cl | 31 ++ .../gemv_noshuffle_general_q8_0_f32.cl | 195 ++++++++ .../kernels/mul_mm_q8_0_f32_8x4.cl | 129 +++++ 5 files changed, 819 insertions(+), 2 deletions(-) create mode 100644 ggml/src/ggml-opencl/kernels/gemv_noshuffle_general_q8_0_f32.cl create mode 100644 ggml/src/ggml-opencl/kernels/mul_mm_q8_0_f32_8x4.cl diff --git a/ggml/src/ggml-opencl/CMakeLists.txt b/ggml/src/ggml-opencl/CMakeLists.txt index 0259474b6e..fa5fadd112 100644 --- a/ggml/src/ggml-opencl/CMakeLists.txt +++ b/ggml/src/ggml-opencl/CMakeLists.txt @@ -101,6 +101,8 @@ set(GGML_OPENCL_KERNELS mul_mm_f32_f32_l4_lm mul_mm_f16_f32_l4_lm mul_mm_q8_0_f32_l4_lm + mul_mm_q8_0_f32_8x4 + gemv_noshuffle_general_q8_0_f32 mul norm relu diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 678e40965a..4850c11d14 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -226,7 +226,8 @@ static ADRENO_GPU_GEN get_adreno_gpu_gen(const char *device_name) { return ADRENO_GPU_GEN::A7X; } - if (strstr(device_name, "830")) { + if (strstr(device_name, "830") || + strstr(device_name, "840")) { return ADRENO_GPU_GEN::A8X; } @@ -529,7 +530,7 @@ struct ggml_backend_opencl_context { cl_kernel kernel_mul_mat_q4_0_f32, kernel_mul_mat_q4_0_f32_v; cl_kernel kernel_convert_block_q4_0, kernel_restore_block_q4_0; cl_kernel kernel_convert_block_mxfp4, kernel_convert_block_mxfp4_trans, kernel_restore_block_mxfp4, kernel_restore_block_mxfp4_trans; - cl_kernel kernel_convert_block_q8_0, kernel_restore_block_q8_0; + cl_kernel kernel_convert_block_q8_0, kernel_restore_block_q8_0, kernel_restore_block_q8_0_trans; cl_kernel kernel_mul_mat_q4_0_f32_8x_flat; cl_kernel kernel_convert_block_q4_0_noshuffle; cl_kernel kernel_restore_block_q4_0_noshuffle; @@ -696,6 +697,8 @@ struct ggml_backend_opencl_context { cl_kernel CL_mul_mat_vec_q4_0_f32_1d_4x_flat_4096_1_4096; cl_kernel CL_mul_mat_vec_q4_0_f32_1d_4x_flat_11008_1_4096; cl_kernel CL_mul_mat_vec_q4_0_f32_1d_4x_flat_32000_1_4096; + cl_kernel kernel_mul_mm_q8_0_f32_8x4; + cl_kernel CL_mul_mat_vec_q8_0_f32; #endif // GGML_OPENCL_USE_ADRENO_KERNELS void free() { @@ -894,6 +897,7 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve CL_CHECK((backend_ctx->kernel_restore_block_mxfp4 = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_mxfp4", &err), err)); CL_CHECK((backend_ctx->kernel_convert_block_q8_0 = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_q8_0", &err), err)); CL_CHECK((backend_ctx->kernel_restore_block_q8_0 = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_q8_0", &err), err)); + CL_CHECK((backend_ctx->kernel_restore_block_q8_0_trans = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_q8_0_trans", &err), err)); CL_CHECK((backend_ctx->kernel_convert_block_q6_K = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_q6_K", &err), err)); CL_CHECK((backend_ctx->kernel_restore_block_q6_K = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_q6_K", &err), err)); GGML_LOG_CONT("."); @@ -2290,6 +2294,46 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } + // mul_mm_q8_0_f32_8x4 + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src_q8_8x4_gemm { + #include "mul_mm_q8_0_f32_8x4.cl.h" + }; +#else + const std::string kernel_src_q8_8x4_gemm = read_file("mul_mm_q8_0_f32_8x4.cl"); +#endif + backend_ctx->program_CL_gemm = build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src_q8_8x4_gemm.c_str(), compile_opts); + CL_CHECK((backend_ctx->kernel_mul_mm_q8_0_f32_8x4 = clCreateKernel(backend_ctx->program_CL_gemm, "kernel_mul_mm_q8_0_f32_8x4", &err), err)); + GGML_LOG_CONT("."); + } + + // gemv_noshuffle_general_q8_0_f32 + { + std::string CL_gemv_compile_opts = std::string("-cl-std=") + opencl_c_std + + " -cl-mad-enable " + " -DSIMDGROUP_WIDTH=" + + std::to_string(backend_ctx->adreno_wave_size); + if (backend_ctx->has_vector_subgroup_broadcast) { + CL_gemv_compile_opts += " -DVECTOR_SUB_GROUP_BROADCAT "; + } + +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src_CL_gemv_general { + #include "gemv_noshuffle_general_q8_0_f32.cl.h" + }; +#else + const std::string kernel_src_CL_gemv_general = read_file("gemv_noshuffle_general_q8_0_f32.cl"); +#endif + + cl_program prog = build_program_from_source( + backend_ctx->context, backend_ctx->device, kernel_src_CL_gemv_general.c_str(), CL_gemv_compile_opts); + + CL_CHECK((backend_ctx->CL_mul_mat_vec_q8_0_f32 = clCreateKernel(prog, "kernel_gemv_noshuffle", &err), err)); + CL_CHECK(clReleaseProgram(prog)); + GGML_LOG_CONT("."); + } + std::string CL_moe_compile_opts = std::string("-cl-std=") + opencl_c_std + " -cl-mad-enable " " -cl-fast-relaxed-math"; @@ -3745,6 +3789,15 @@ inline bool use_adreno_moe_kernels(const ggml_backend_opencl_context *backend_ct return ((strstr(tensor->name, "ffn") != NULL) || (strstr(tensor->name, "as") != NULL)) && (ne01 % 64 == 0); } +inline bool enable_adreno_trans_weight(const ggml_backend_opencl_context *backend_ctx, const ggml_tensor *tensor) { + + bool adreno_kernel = use_adreno_kernels(backend_ctx, tensor); + + size_t elem_num = tensor->ne[0] * tensor->ne[1] * tensor->ne[2] * tensor->ne[3]; + + return ((elem_num < 128 * 1024 * 1024) && adreno_kernel); // max element num: 2**27 +} + static void ggml_backend_opencl_buffer_set_tensor(ggml_backend_buffer_t buffer, ggml_tensor * tensor, const void * data, size_t offset, size_t size) { ggml_backend_opencl_context *backend_ctx = ggml_cl2_init(buffer->buft->device); @@ -4159,6 +4212,130 @@ static void ggml_backend_opencl_buffer_set_tensor(ggml_backend_buffer_t buffer, tensor->extra = extra; + // Transpose the weights and scales +#ifdef GGML_OPENCL_USE_ADRENO_KERNELS + if (enable_adreno_trans_weight(backend_ctx, tensor)) { + + int M = tensor->ne[1]; // ne01 + int K = tensor->ne[0]; // ne00 + + GGML_ASSERT(K % 32 == 0); + GGML_ASSERT(M % 4 == 0); + GGML_ASSERT(tensor->ne[2] == 1); + GGML_ASSERT(tensor->ne[3] == 1); + + // Transpose weights + size_t q_size_bytes = K * M / 4 * sizeof(float); + cl_buffer_region region; + region.origin = 0; + region.size = q_size_bytes; + cl_mem qT_d = clCreateSubBuffer( + backend_ctx->prealloc_quant_trans.buffer, + 0, + CL_BUFFER_CREATE_TYPE_REGION, + ®ion, + &err); + CL_CHECK(err); + + cl_mem q_d_image1D; + cl_mem qT_d_image1D; + + cl_image_format img_fmt_1d; + cl_image_desc img_desc_1d; + + img_fmt_1d = { CL_RGBA, CL_FLOAT }; + memset(&img_desc_1d, 0, sizeof(img_desc_1d)); + img_desc_1d.image_type = CL_MEM_OBJECT_IMAGE1D_BUFFER; + img_desc_1d.image_width = M * K / 4 / 4; + img_desc_1d.buffer = extra->q; + q_d_image1D = clCreateImage(context, 0, &img_fmt_1d, &img_desc_1d, NULL, &err); + CL_CHECK(err); + + img_fmt_1d = { CL_RGBA, CL_FLOAT }; + memset(&img_desc_1d, 0, sizeof(img_desc_1d)); + img_desc_1d.image_type = CL_MEM_OBJECT_IMAGE1D_BUFFER; + img_desc_1d.image_width = M * K / 4 / 4; + img_desc_1d.buffer = qT_d; + qT_d_image1D = clCreateImage(context, 0, &img_fmt_1d, &img_desc_1d, NULL, &err); + CL_CHECK(err); + + int height_q = M / 4; + int width_q = K / 4 / 4; + kernel = backend_ctx->kernel_transpose_32; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &q_d_image1D)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &qT_d_image1D)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(int), &height_q)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(int), &width_q)); + + size_t local_size_q[3] = {4, 16, 1}; + size_t global_size_q[3] = {static_cast(width_q), static_cast(height_q), 1}; + CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, global_size_q, local_size_q, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + + // Transpose scales + size_t d_size_bytes = M * (K / 32) * 2; + region.origin = 0; + region.size = d_size_bytes; + cl_mem dT_d = clCreateSubBuffer( + backend_ctx->prealloc_scales_trans.buffer, + 0, + CL_BUFFER_CREATE_TYPE_REGION, + ®ion, + &err); + CL_CHECK(err); + + cl_mem d_d_image1D; + cl_mem dT_d_image1D; + + memset(&img_desc_1d, 0, sizeof(img_desc_1d)); + img_fmt_1d = { CL_R, CL_HALF_FLOAT }; + img_desc_1d.image_width = M * K / 32; + img_desc_1d.image_type = CL_MEM_OBJECT_IMAGE1D_BUFFER; + img_desc_1d.buffer = extra->d; + d_d_image1D = clCreateImage(context, 0, &img_fmt_1d, &img_desc_1d, NULL, &err); + CL_CHECK(err); + + img_fmt_1d = { CL_RGBA, CL_HALF_FLOAT }; + memset(&img_desc_1d, 0, sizeof(img_desc_1d)); + img_desc_1d.image_type = CL_MEM_OBJECT_IMAGE1D_BUFFER; + img_desc_1d.image_width = M * K / 32 / 4; + img_desc_1d.buffer = dT_d; + dT_d_image1D = clCreateImage(context, 0, &img_fmt_1d, &img_desc_1d, NULL, &err); + CL_CHECK(err); + + int height_s = M / 4; + int width_s = K / 32; + + kernel = backend_ctx->kernel_transpose_16_4x1; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &d_d_image1D)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &dT_d_image1D)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(int), &height_s)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(int), &width_s)); + + size_t local_size_s[3] = {4, 16, 1}; + size_t global_size_s[3] = {static_cast(width_s), static_cast(height_s), 1}; + CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, global_size_s, local_size_s, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + + // copy transposed buffer contents to original buffers + CL_CHECK(clEnqueueCopyBuffer(queue, qT_d, extra->q, 0, 0, q_size_bytes, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + + CL_CHECK(clEnqueueCopyBuffer(queue, dT_d, extra->d, 0, 0, d_size_bytes, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + + CL_CHECK(clReleaseMemObject(qT_d)); + CL_CHECK(clReleaseMemObject(dT_d)); + + CL_CHECK(clReleaseMemObject(q_d_image1D)); + CL_CHECK(clReleaseMemObject(d_d_image1D)); + CL_CHECK(clReleaseMemObject(qT_d_image1D)); + CL_CHECK(clReleaseMemObject(dT_d_image1D)); + } // end transpose +#endif // GGML_OPENCL_USE_ADRENO_KERNELS + return; } if (tensor->type == GGML_TYPE_Q6_K) { @@ -4448,6 +4625,36 @@ static void ggml_backend_opencl_buffer_get_tensor(ggml_backend_buffer_t buffer, ggml_nbytes(tensor), NULL, &err); CL_CHECK(err); +#ifdef GGML_OPENCL_USE_ADRENO_KERNELS + if (enable_adreno_trans_weight(backend_ctx, tensor)) { + cl_kernel kernel = backend_ctx->kernel_restore_block_q8_0_trans; + + int ne00 = tensor->ne[0]; + int ne01 = tensor->ne[1]; + GGML_ASSERT(tensor->ne[2] == 1); // ??? + GGML_ASSERT(tensor->ne[3] == 1); // ??? + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra->q)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra->d)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_int), &ne01)); + + size_t global_work_size[3] = {static_cast(((ne01 + 63) / 64) * 64), 1, 1}; + size_t local_work_size[3] = {64, 1, 1}; + + cl_event evt; + CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, + global_work_size, local_work_size, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + + CL_CHECK(clEnqueueReadBuffer( + queue, data_device, CL_TRUE, offset, + size, data, 0, NULL, NULL)); + CL_CHECK(clReleaseMemObject(data_device)); + return; + } +#endif cl_kernel kernel = backend_ctx->kernel_restore_block_q8_0; CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra->q)); CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra->d)); @@ -7947,6 +8154,252 @@ static void ggml_cl_mul_mat_kq_kqv_adreno(ggml_backend_t backend, const ggml_ten CL_CHECK(clReleaseMemObject(D_sub_buffer)); } +static void ggml_cl_mul_mat_q8_0_f32_adreno(ggml_backend_t backend, const ggml_tensor * src0, const ggml_tensor * src1, ggml_tensor * dst) { +#ifdef GGML_OPENCL_USE_ADRENO_KERNELS + GGML_ASSERT(src0); + GGML_ASSERT(src0->extra); + GGML_ASSERT(src1); + GGML_ASSERT(src1->extra); + GGML_ASSERT(dst); + GGML_ASSERT(dst->extra); + + const enum ggml_type src0t = src0->type; + const enum ggml_type src1t = src1->type; + + GGML_ASSERT(src0t == GGML_TYPE_Q8_0); + GGML_ASSERT(src1t == GGML_TYPE_F32); + + ggml_backend_opencl_context *backend_ctx = (ggml_backend_opencl_context *)backend->context; + + ggml_tensor_extra_cl * extra1 = (ggml_tensor_extra_cl *)src1->extra; + ggml_tensor_extra_cl * extrad = (ggml_tensor_extra_cl *)dst->extra; + + ggml_tensor_extra_cl_q8_0 * extra0_q8_0 = (ggml_tensor_extra_cl_q8_0 *)src0->extra; + + GGML_ASSERT(src1->view_offs == 0); + GGML_ASSERT(dst->view_offs == 0); + + const int ne00 = src0->ne[0]; + const int ne01 = src0->ne[1]; + const int ne02 = src0->ne[2]; + + const int ne10 = src1->ne[0]; + const int ne12 = src1->ne[2]; + + const int ne0 = dst->ne[0]; + const int ne1 = dst->ne[1]; + + GGML_ASSERT(ne00 == ne10); + GGML_ASSERT((ne00 % 32) == 0); + GGML_ASSERT(ne0 == ne01); + + cl_context context = backend_ctx->context; + cl_kernel kernel; + + // init CL objects + cl_int status; + cl_image_format img_fmt_1d; + cl_image_desc img_desc_1d; + cl_buffer_region region; + cl_mem A_image1d; + cl_mem B_image1d; + cl_mem B_sub_buffer; + cl_mem S_image1d; + + cl_mem D_image1d; + cl_mem D_sub_buffer; + + int M = ne01; + int N = ne1; + int K = ne00; + + // create an image for A + img_fmt_1d = { CL_R, CL_FLOAT}; + memset(&img_desc_1d, 0, sizeof(img_desc_1d)); + img_desc_1d.image_type = CL_MEM_OBJECT_IMAGE1D_BUFFER; + img_desc_1d.image_width = M * K / 4; // Divide by 4 for char -> float + img_desc_1d.buffer = extra0_q8_0->q; + A_image1d = clCreateImage(context, CL_MEM_READ_ONLY, &img_fmt_1d, &img_desc_1d, NULL, &status); + CL_CHECK(status); + + // create an image for Scale + img_fmt_1d = { CL_R, CL_HALF_FLOAT}; + memset(&img_desc_1d, 0, sizeof(img_desc_1d)); + img_desc_1d.image_type = CL_MEM_OBJECT_IMAGE1D_BUFFER; + img_desc_1d.image_width = M * K / 32; // Block size is 32 + img_desc_1d.buffer = extra0_q8_0->d; + S_image1d = clCreateImage(context, CL_MEM_READ_ONLY, &img_fmt_1d, &img_desc_1d, NULL, &status); + CL_CHECK(status); + + // create a sub_buffer for B + region.origin = (extra1->offset); // + src1->view_offs); + region.size = K * N * sizeof(float); + B_sub_buffer = clCreateSubBuffer((extra1->data_device), 0, CL_BUFFER_CREATE_TYPE_REGION, ®ion, &status); + CL_CHECK(status); + + // create an image for B from sub_buffer: RGBA (OCL) + img_fmt_1d = {CL_RGBA, CL_FLOAT}; + memset(&img_desc_1d, 0, sizeof(img_desc_1d)); + img_desc_1d.image_type = CL_MEM_OBJECT_IMAGE1D_BUFFER; + img_desc_1d.image_width = K * N / 4; + img_desc_1d.buffer = B_sub_buffer; + B_image1d = clCreateImage(context, CL_MEM_READ_ONLY, &img_fmt_1d, &img_desc_1d, NULL, &status); + CL_CHECK(status); + + // Create subbuffer and image1d_buffer for dst + region.origin = (extrad->offset); // + dst->view_offs; + region.size = M * N * sizeof(float); + D_sub_buffer = clCreateSubBuffer((extrad->data_device), 0, CL_BUFFER_CREATE_TYPE_REGION, ®ion, &status); + CL_CHECK(status); + + img_fmt_1d = {CL_R, CL_FLOAT}; + memset(&img_desc_1d, 0, sizeof(img_desc_1d)); + img_desc_1d.image_type = CL_MEM_OBJECT_IMAGE1D_BUFFER; + img_desc_1d.image_width = M * N; + img_desc_1d.buffer = D_sub_buffer; + D_image1d = clCreateImage(context, CL_MEM_WRITE_ONLY, &img_fmt_1d, &img_desc_1d, NULL, &status); + CL_CHECK(status); + + size_t local_work_size[3] = {1, 1, 1}; + size_t global_work_size[3] = {1, 1, 1}; + + if (N == 1) { + kernel = backend_ctx->CL_mul_mat_vec_q8_0_f32; + + int r2 = 1; + int r3 = 1; + cl_uint k_arg = 0; + + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(cl_mem), &A_image1d)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(cl_mem), &extra0_q8_0->d)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(cl_mem), &B_image1d)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(cl_ulong), &extra1->offset)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(cl_ulong), &extrad->offset)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(int), &ne02)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(int), &ne10)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(int), &ne0)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(int), &ne1)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, k_arg++, sizeof(int), &r3)); + + size_t wavesize = backend_ctx->adreno_wave_size; + local_work_size[0] = wavesize; + local_work_size[1] = 4; // reduce factor + local_work_size[2] = 1; + + global_work_size[0] = ((M + wavesize - 1) / wavesize) * wavesize; + global_work_size[1] = 4; // reduce factor + global_work_size[2] = 1; + } else { + cl_ulong offsetd = extrad->offset + dst->view_offs; + cl_mem B_image1d_trans = nullptr; + // for B transpose + cl_mem B_d = nullptr; + int padding; + + //how many extra elements beyond multiple of 8 + int extra_elements = N % 8; + + //how much padding to add + padding = 0; + if (extra_elements > 0){ + padding = 8 - extra_elements; + } + + // Specify the starting offset (in bytes) + region.origin = 0; + // Specify the size of the sub-buffer (divide by 2 for FP16) + region.size = K * (N + padding) * sizeof(float)/2; + backend_ctx->prealloc_act_trans.allocate(context, region.size); + B_d = clCreateSubBuffer( + backend_ctx->prealloc_act_trans.buffer, + 0, + CL_BUFFER_CREATE_TYPE_REGION, + ®ion, + &status); + CL_CHECK(status); + + cl_image_format image_format_B_d_output = { CL_RGBA, CL_HALF_FLOAT }; //(CL_HALF_FLOAT for FP16) + cl_image_desc image_desc_B_d_output = { + CL_MEM_OBJECT_IMAGE1D_BUFFER, + static_cast(K * (N + padding)/4), + 0, 0, 0, 0, 0, 0, 0, { B_d } + }; + B_image1d_trans = clCreateImage( + context, + 0, + &image_format_B_d_output, + &image_desc_B_d_output, + NULL, + &status); + CL_CHECK(status); + + int height_B = N/4; + if (height_B == 0) { + height_B = 1; + } + int width_B = K/4; + int padded_height_B = (N + padding)/4; + + kernel = backend_ctx->kernel_transpose_32_16; + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &B_image1d)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &B_image1d_trans)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(int), &height_B)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(int), &width_B)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(int), &padded_height_B)); + + size_t local_size_t[2] = { 1, 16 }; + size_t global_size_t[2] = { + static_cast(width_B), + static_cast(padded_height_B) + }; + + backend_ctx->enqueue_ndrange_kernel(kernel, 2, global_size_t, local_size_t, dst); + + kernel = backend_ctx->kernel_mul_mm_q8_0_f32_8x4; + + int N_with_padding = N + padding; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0_q8_0->q)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra0_q8_0->d)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &B_image1d_trans)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(int), &K)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(int), &M)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &N_with_padding)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &N)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(cl_ulong), &offsetd)); + + global_work_size[0] = (size_t)(N + 7) / 8; + global_work_size[1] = (size_t)(M + 3) / 4; + global_work_size[2] = 1; + + local_work_size[0] = 2; + local_work_size[1] = 128; + local_work_size[2] = 1; + } + + // enqueue kernel with profiling + backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); + + // deallocate sub buffers and images + CL_CHECK(clReleaseMemObject(A_image1d)); + CL_CHECK(clReleaseMemObject(B_sub_buffer)); + CL_CHECK(clReleaseMemObject(B_image1d)); + CL_CHECK(clReleaseMemObject(S_image1d)); + CL_CHECK(clReleaseMemObject(D_sub_buffer)); + CL_CHECK(clReleaseMemObject(D_image1d)); +#else + GGML_UNUSED(src0); + GGML_UNUSED(src1); + GGML_UNUSED(dst); +#endif +} + static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, const ggml_tensor * src1, ggml_tensor * dst) { GGML_ASSERT(src0); GGML_ASSERT(src0->extra); @@ -8064,6 +8517,13 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co int padding; // <--------------------------------------------> // + // q8_0 x fp32 + if (src0t == GGML_TYPE_Q8_0 && src1t == GGML_TYPE_F32 && + enable_adreno_trans_weight(backend_ctx, src0)) { + ggml_cl_mul_mat_q8_0_f32_adreno(backend, src0, src1, dst); + return; + } + // q4_0 x fp32 if(src0t == GGML_TYPE_Q4_0 && src1t == GGML_TYPE_F32) { // TODO: remove duplicate definitions of image description + format -- move to top diff --git a/ggml/src/ggml-opencl/kernels/cvt.cl b/ggml/src/ggml-opencl/kernels/cvt.cl index adf576a839..9fb434713d 100644 --- a/ggml/src/ggml-opencl/kernels/cvt.cl +++ b/ggml/src/ggml-opencl/kernels/cvt.cl @@ -274,6 +274,37 @@ kernel void kernel_restore_block_q8_0( } } +kernel void kernel_restore_block_q8_0_trans( + global uchar * src_q, + global half * src_d, + global block_q8_0 * dst, + uint ne00, + uint ne01 +){ + uint num_blk_per_row = ne00 / QK8_0; + + global block_q8_0 * b = (global block_q8_0 *) dst + get_global_id(0) * num_blk_per_row; + global uchar * q = (global uchar *) src_q + get_global_id(0) * 4; // 4 8-bit packed + global half * d = (global half *) src_d + get_global_id(0); + + for (uint blk = 0; blk < num_blk_per_row; blk++) { + b->d = *d; + + for (uint i = 0; i < QK8_0; i+=4) { + b->qs[i] = q[0]; + b->qs[i+1] = q[1]; + b->qs[i+2] = q[2]; + b->qs[i+3] = q[3]; + + q += 4 * ne01; // M stride + } + + d += ne01; + + b++; + } +} + //------------------------------------------------------------------------------ // kernel_convert_block_q6_K // Convert the block_q6_K format to 3 separate arrays (AOS -> SOA). diff --git a/ggml/src/ggml-opencl/kernels/gemv_noshuffle_general_q8_0_f32.cl b/ggml/src/ggml-opencl/kernels/gemv_noshuffle_general_q8_0_f32.cl new file mode 100644 index 0000000000..f944ef3a99 --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/gemv_noshuffle_general_q8_0_f32.cl @@ -0,0 +1,195 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable +#pragma OPENCL EXTENSION cl_khr_subgroups : enable + +#ifdef cl_qcom_reqd_sub_group_size +#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable +#define ADRENO_GPU 1 +#define REQD_SUBGROUP_SIZE_64 __attribute__((qcom_reqd_sub_group_size("half"))) +#endif + +#define QK8_0 32 +#define N_SIMDGROUP 4 + +#define dequantizeBlockAccum_ns_sgbroadcast_1(total_sums, bits8, scale, y) \ + float shared_y; \ + char elem; \ + \ + shared_y = sub_group_broadcast(y.s0, 0); \ + elem = (char)(bits8.s0 & 0x000000FF); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s1, 0); \ + elem = (char)((bits8.s0 & 0x0000FF00) >> 8); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s2, 0); \ + elem = (char)((bits8.s0 & 0x00FF0000) >> 16); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s3, 0); \ + elem = (char)((bits8.s0 & 0xFF000000) >> 24); \ + total_sums += convert_int(elem) * scale * shared_y; \ + \ + shared_y = sub_group_broadcast(y.s4, 0); \ + elem = (char)(bits8.s1 & 0x000000FF); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s5, 0); \ + elem = (char)((bits8.s1 & 0x0000FF00) >> 8); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s6, 0); \ + elem = (char)((bits8.s1 & 0x00FF0000) >> 16); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s7, 0); \ + elem = (char)((bits8.s1 & 0xFF000000) >> 24); \ + total_sums += convert_int(elem) * scale * shared_y; \ + \ + shared_y = sub_group_broadcast(y.s0, 1); \ + elem = (char)(bits8.s2 & 0x000000FF); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s1, 1); \ + elem = (char)((bits8.s2 & 0x0000FF00) >> 8); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s2, 1); \ + elem = (char)((bits8.s2 & 0x00FF0000) >> 16); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s3, 1); \ + elem = (char)((bits8.s2 & 0xFF000000) >> 24); \ + total_sums += convert_int(elem) * scale * shared_y; \ + \ + shared_y = sub_group_broadcast(y.s4, 1); \ + elem = (char)(bits8.s3 & 0x000000FF); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s5, 1); \ + elem = (char)((bits8.s3 & 0x0000FF00) >> 8); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s6, 1); \ + elem = (char)((bits8.s3 & 0x00FF0000) >> 16); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s7, 1); \ + elem = (char)((bits8.s3 & 0xFF000000) >> 24); \ + total_sums += convert_int(elem) * scale * shared_y; \ + \ + shared_y = sub_group_broadcast(y.s0, 2); \ + elem = (char)(bits8.s4 & 0x000000FF); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s1, 2); \ + elem = (char)((bits8.s4 & 0x0000FF00) >> 8); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s2, 2); \ + elem = (char)((bits8.s4 & 0x00FF0000) >> 16); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s3, 2); \ + elem = (char)((bits8.s4 & 0xFF000000) >> 24); \ + total_sums += convert_int(elem) * scale * shared_y; \ + \ + shared_y = sub_group_broadcast(y.s4, 2); \ + elem = (char)(bits8.s5 & 0x000000FF); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s5, 2); \ + elem = (char)((bits8.s5 & 0x0000FF00) >> 8); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s6, 2); \ + elem = (char)((bits8.s5 & 0x00FF0000) >> 16); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s7, 2); \ + elem = (char)((bits8.s5 & 0xFF000000) >> 24); \ + total_sums += convert_int(elem) * scale * shared_y; \ + \ + shared_y = sub_group_broadcast(y.s0, 3); \ + elem = (char)(bits8.s6 & 0x000000FF); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s1, 3); \ + elem = (char)((bits8.s6 & 0x0000FF00) >> 8); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s2, 3); \ + elem = (char)((bits8.s6 & 0x00FF0000) >> 16); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s3, 3); \ + elem = (char)((bits8.s6 & 0xFF000000) >> 24); \ + total_sums += convert_int(elem) * scale * shared_y; \ + \ + shared_y = sub_group_broadcast(y.s4, 3); \ + elem = (char)(bits8.s7 & 0x000000FF); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s5, 3); \ + elem = (char)((bits8.s7 & 0x0000FF00) >> 8); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s6, 3); \ + elem = (char)((bits8.s7 & 0x00FF0000) >> 16); \ + total_sums += convert_int(elem) * scale * shared_y; \ + shared_y = sub_group_broadcast(y.s7, 3); \ + elem = (char)((bits8.s7 & 0xFF000000) >> 24); \ + total_sums += convert_int(elem) * scale * shared_y; \ + +#ifdef ADRENO_GPU +REQD_SUBGROUP_SIZE_64 +#endif +__kernel void kernel_gemv_noshuffle( + __read_only image1d_buffer_t src0_q, // quantized A + global half * src0_d, // A scales + __read_only image1d_buffer_t src1, // B + ulong offset1, // offset to B (0) + global float * dst, // C + ulong offsetd, // offset to C + int ne00, // K + int ne01, // M + int ne02, // 1 + int ne10, // K + int ne12, // 1 + int ne0, // M + int ne1, // N + int r2, // 1 + int r3) +{ + uint groupId = get_local_id(1); + uint gid = get_global_id(0); + ushort slid = get_sub_group_local_id(); + + uint K = ne00; + uint M = ne01; + + uint LINE_STRIDE_A = M; + uint BLOCK_STRIDE_A = 8 * M; // 32 / 4 = 8 + + __private uint8 regA; + __private half regS; + __private float8 regB; + + __private float totalSum = (float)(0.0f); + + // loop along K in block granularity, skip 4 blocks every iter + #pragma unroll 1 /* tell compiler not to unroll */ + for (uint k = groupId; k < (K / QK8_0); k += N_SIMDGROUP) { + regS = src0_d[gid + k * LINE_STRIDE_A]; // each fiber loads scale of one rows + // first 4 fibers in each wave load 8 B values to its private scope + if (slid < 4) { + regB.s0123 = read_imagef(src1, (slid * 2 + k * 8)); + regB.s4567 = read_imagef(src1, (1 + slid * 2 + k * 8)); + } + + // load weights for one block in consecutive rows + regA.s0 = read_imageui(src0_q, (gid + k * BLOCK_STRIDE_A + LINE_STRIDE_A * 0)).x; + regA.s1 = read_imageui(src0_q, (gid + k * BLOCK_STRIDE_A + LINE_STRIDE_A * 1)).x; + regA.s2 = read_imageui(src0_q, (gid + k * BLOCK_STRIDE_A + LINE_STRIDE_A * 2)).x; + regA.s3 = read_imageui(src0_q, (gid + k * BLOCK_STRIDE_A + LINE_STRIDE_A * 3)).x; + regA.s4 = read_imageui(src0_q, (gid + k * BLOCK_STRIDE_A + LINE_STRIDE_A * 4)).x; + regA.s5 = read_imageui(src0_q, (gid + k * BLOCK_STRIDE_A + LINE_STRIDE_A * 5)).x; + regA.s6 = read_imageui(src0_q, (gid + k * BLOCK_STRIDE_A + LINE_STRIDE_A * 6)).x; + regA.s7 = read_imageui(src0_q, (gid + k * BLOCK_STRIDE_A + LINE_STRIDE_A * 7)).x; + + dequantizeBlockAccum_ns_sgbroadcast_1(totalSum, regA, regS, regB); + } + + // reduction in local memory, assumes #wave=4 + __local float reduceLM[SIMDGROUP_WIDTH * 3]; + if (groupId == 1) reduceLM[SIMDGROUP_WIDTH * 0 + slid] = totalSum; + if (groupId == 2) reduceLM[SIMDGROUP_WIDTH * 1 + slid] = totalSum; + if (groupId == 3) reduceLM[SIMDGROUP_WIDTH * 2 + slid] = totalSum; + barrier(CLK_LOCAL_MEM_FENCE); + if (groupId == 0) totalSum += reduceLM[SIMDGROUP_WIDTH * 0 + slid]; + if (groupId == 0) totalSum += reduceLM[SIMDGROUP_WIDTH * 1 + slid]; + if (groupId == 0) totalSum += reduceLM[SIMDGROUP_WIDTH * 2 + slid]; + + // 1 outputs per fiber in wave 0 + if (groupId == 0) { + dst = (global float*)((global char*)dst + offsetd); + dst[gid] = totalSum; + } +} diff --git a/ggml/src/ggml-opencl/kernels/mul_mm_q8_0_f32_8x4.cl b/ggml/src/ggml-opencl/kernels/mul_mm_q8_0_f32_8x4.cl new file mode 100644 index 0000000000..51ce2121ce --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mm_q8_0_f32_8x4.cl @@ -0,0 +1,129 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable +#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable + +#ifdef cl_qcom_reqd_sub_group_size +#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable +#define ADRENO_GPU 1 +#define REQD_SUBGROUP_SIZE_128 __attribute__((qcom_reqd_sub_group_size("full"))) +#endif + +#ifdef ADRENO_GPU +REQD_SUBGROUP_SIZE_128 +#endif + +kernel void kernel_mul_mm_q8_0_f32_8x4( + global const uint * src0_q, + global const half * src0_d, + __read_only image1d_buffer_t src1, + global float * dst, + int k, + int m, + int n, + int n_no_padding, + ulong offsetd +) { + + int m_4 = m >> 2; + int n_4 = n >> 2; + + int gy = get_global_id(0); + int gx = get_global_id(1); + int gx_2 = gx << 2; + dst = (global float *)((global char*)dst + offsetd); + + + half8 c0 = 0, c1 = 0, c2 = 0, c3 = 0; + half8 B; + half4 deq; + + __global const uint* wptr = src0_q + gx_2; + __global const half* sptr = src0_d + gx_2; + + for (int i = 0; i < k; i += 4) { + uint4 pack4 = vload4(0, wptr + (i / 4) * m); + half4 scale = vload4(0, sptr + (i / 32) * m); + + char4 p0 = as_char4(pack4.s0); + char4 p1 = as_char4(pack4.s1); + char4 p2 = as_char4(pack4.s2); + char4 p3 = as_char4(pack4.s3); + + // ------------------- j = 0 (k = i+0) ------------------- + B.s0123 = read_imageh(src1, gy * 2 + (i + 0) * n_4); + B.s4567 = read_imageh(src1, gy * 2 + (i + 0) * n_4 + 1); + + half4 wj0 = convert_half4((char4)(p0.s0, p1.s0, p2.s0, p3.s0)) * scale; + + c0 += B * wj0.s0; + c1 += B * wj0.s1; + c2 += B * wj0.s2; + c3 += B * wj0.s3; + + // ------------------- j = 1 (k = i+1) ------------------- + B.s0123 = read_imageh(src1, gy * 2 + (i + 1) * n_4); + B.s4567 = read_imageh(src1, gy * 2 + (i + 1) * n_4 + 1); + + half4 wj1 = convert_half4((char4)(p0.s1, p1.s1, p2.s1, p3.s1)) * scale; + + c0 += B * wj1.s0; + c1 += B * wj1.s1; + c2 += B * wj1.s2; + c3 += B * wj1.s3; + + // ------------------- j = 2 (k = i+2) ------------------- + B.s0123 = read_imageh(src1, gy * 2 + (i + 2) * n_4); + B.s4567 = read_imageh(src1, gy * 2 + (i + 2) * n_4 + 1); + + half4 wj2 = convert_half4((char4)(p0.s2, p1.s2, p2.s2, p3.s2)) * scale; + + c0 += B * wj2.s0; + c1 += B * wj2.s1; + c2 += B * wj2.s2; + c3 += B * wj2.s3; + + // ------------------- j = 3 (k = i+3) ------------------- + B.s0123 = read_imageh(src1, gy * 2 + (i + 3) * n_4); + B.s4567 = read_imageh(src1, gy * 2 + (i + 3) * n_4 + 1); + + half4 wj3 = convert_half4((char4)(p0.s3, p1.s3, p2.s3, p3.s3)) * scale; + + c0 += B * wj3.s0; + c1 += B * wj3.s1; + c2 += B * wj3.s2; + c3 += B * wj3.s3; + } + + int idx = (gy << 3) * m + (gx << 2); + + if(idx+3 < m*n_no_padding){ + vstore4((float4)(c0.s0, c1.s0, c2.s0, c3.s0), 0, dst + idx); + idx += m; + } + if(idx+3 < m*n_no_padding){ + vstore4((float4)(c0.s1, c1.s1, c2.s1, c3.s1), 0, dst + idx); + idx += m; + } + if(idx+3 < m*n_no_padding){ + vstore4((float4)(c0.s2, c1.s2, c2.s2, c3.s2), 0, dst + idx); + idx += m; + } + if(idx+3 < m*n_no_padding){ + vstore4((float4)(c0.s3, c1.s3, c2.s3, c3.s3), 0, dst + idx); + idx += m; + } + if(idx+3 < m*n_no_padding){ + vstore4((float4)(c0.s4, c1.s4, c2.s4, c3.s4), 0, dst + idx); + idx += m; + } + if(idx+3 < m*n_no_padding){ + vstore4((float4)(c0.s5, c1.s5, c2.s5, c3.s5), 0, dst + idx); + idx += m; + } + if(idx+3 < m*n_no_padding){ + vstore4((float4)(c0.s6, c1.s6, c2.s6, c3.s6), 0, dst + idx); + idx += m; + } + if(idx+3 < m*n_no_padding){ + vstore4((float4)(c0.s7, c1.s7, c2.s7, c3.s7), 0, dst + idx); + } +} From 49277958109f738eb5377242e46734788ba21be8 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Fri, 30 Jan 2026 21:27:27 +0200 Subject: [PATCH 078/206] ngram-mod : fix build [no ci] (#19216) --- common/ngram-mod.h | 1 + 1 file changed, 1 insertion(+) diff --git a/common/ngram-mod.h b/common/ngram-mod.h index cf3c89c915..7af92e9dde 100644 --- a/common/ngram-mod.h +++ b/common/ngram-mod.h @@ -2,6 +2,7 @@ #include #include +#include // // common_ngram_mod From 1488339138d609139c4400d1b80f8a5b1a9a203c Mon Sep 17 00:00:00 2001 From: Daniele Pinna <72076821+pestopoppa@users.noreply.github.com> Date: Fri, 30 Jan 2026 21:10:24 +0100 Subject: [PATCH 079/206] lookup, lookahead: fix crash when n_ctx not specified (#18729) * lookup, lookahead: fix crash when n_ctx not specified Since PR #16653 (Dec 15, 2025), the default n_ctx is 0 to enable automatic GPU memory fitting. This causes llama-lookup and llama-lookahead to crash when run without explicit -c flag: GGML_ASSERT(batch.seq_id[batch.n_tokens] && "llama_batch size exceeded") Root cause: Both examples use params.n_ctx directly for batch initialization, but params.n_ctx remains 0 even after the context is properly initialized to n_ctx_train internally. Bug history: - Nov 2023: lookahead.cpp created (PR #4207) with params.n_ctx pattern - Dec 2023: lookup.cpp created (PR #4484) with same pattern - Nov 2024: default n_ctx changed to 4096 (PR #10136) - bug dormant - Dec 2025: default n_ctx changed to 0 (PR #16653) - bug activated The bug was dormant for 2+ years because params.n_ctx defaulted to 512, then 4096. PR #16653 changed it to 0 for GPU auto-fitting, triggering the crash. Fix: Use llama_n_ctx(ctx) to get the actual runtime context size, matching the pattern already used elsewhere in lookup.cpp (line 72) and in speculative.cpp/speculative-simple.cpp. Tested: llama-lookup now works without -c flag (12.5% acceptance on Gemma-3-1B). Note: llama-lookahead has a separate pre-existing issue with sequence initialization (n_seq_max=1 vs W+G+1 needed) that is unrelated to this fix. * lookahead: fix n_seq_max and kv_unified configuration Lookahead decoding requires: - W + G + 1 = 31 sequences for parallel Jacobi decoding - Unified KV cache for coupled sequences in batch splitting These requirements were broken after PR #14482 changed validation logic. Consolidates fix from PR #18730 per maintainer request. Commit message drafted with Claude. --- examples/lookahead/lookahead.cpp | 8 +++++++- examples/lookup/lookup.cpp | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/examples/lookahead/lookahead.cpp b/examples/lookahead/lookahead.cpp index f54cfdd77f..aa6efa62b3 100644 --- a/examples/lookahead/lookahead.cpp +++ b/examples/lookahead/lookahead.cpp @@ -50,6 +50,12 @@ int main(int argc, char ** argv) { const int N = 5; // n-gram size const int G = 15; // max verification n-grams + // lookahead requires W + G + 1 sequences for parallel Jacobi decoding + params.n_parallel = W + G + 1; + + // unified KV cache is required for coupled sequences in batch splitting + params.kv_unified = true; + // init llama.cpp llama_backend_init(); llama_numa_init(params.numa); @@ -115,7 +121,7 @@ int main(int argc, char ** argv) { // seq_id == 0 : the current input token // seq_id [1, W] : tokens from the past N - 1 Jacobi iterations // seq_id [W + 1, W + G] : verification n-grams - llama_batch batch = llama_batch_init(params.n_ctx, 0, W + G + 1); + llama_batch batch = llama_batch_init(llama_n_ctx(ctx), 0, W + G + 1); // target model sampling context struct common_sampler * smpl = common_sampler_init(model, params.sampling); diff --git a/examples/lookup/lookup.cpp b/examples/lookup/lookup.cpp index 8e73138a5f..c7552ddde1 100644 --- a/examples/lookup/lookup.cpp +++ b/examples/lookup/lookup.cpp @@ -106,7 +106,7 @@ int main(int argc, char ** argv){ std::vector draft; - llama_batch batch_tgt = llama_batch_init(params.n_ctx, 0, 1); + llama_batch batch_tgt = llama_batch_init(llama_n_ctx(ctx), 0, 1); const auto t_dec_start = ggml_time_us(); From ec6c7421e4f3c0e1bdb9fdc6ee9670e14a490854 Mon Sep 17 00:00:00 2001 From: tc-mb <157115220+tc-mb@users.noreply.github.com> Date: Sat, 31 Jan 2026 06:19:30 +0800 Subject: [PATCH 080/206] mtmd: support MiniCPM-o 4.5(vision only) (#19211) Signed-off-by: tc-mb --- tools/mtmd/clip.cpp | 5 +++++ .../minicpmv-convert-image-encoder-to-gguf.py | 9 ++++++++- tools/mtmd/mtmd.cpp | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/tools/mtmd/clip.cpp b/tools/mtmd/clip.cpp index 9b076e0c56..9fa5afc390 100644 --- a/tools/mtmd/clip.cpp +++ b/tools/mtmd/clip.cpp @@ -1005,6 +1005,8 @@ struct clip_model_loader { hparams.minicpmv_query_num = 64; } else if (hparams.minicpmv_version == 6) { hparams.minicpmv_query_num = 64; + } else if (hparams.minicpmv_version == 100045) { + hparams.minicpmv_query_num = 64; } else { hparams.minicpmv_query_num = 96; } @@ -3209,6 +3211,9 @@ int clip_n_output_tokens(const struct clip_ctx * ctx, struct clip_image_f32 * im } else if (params.minicpmv_version == 6) { // MiniCPM-V 4.5 n_patches = 64; + } else if (params.minicpmv_version == 100045) { + // MiniCPM-o 4.5 + n_patches = 64; } else { GGML_ABORT("Unknown minicpmv version"); } diff --git a/tools/mtmd/legacy-models/minicpmv-convert-image-encoder-to-gguf.py b/tools/mtmd/legacy-models/minicpmv-convert-image-encoder-to-gguf.py index bb2cc4e4ea..944037e703 100644 --- a/tools/mtmd/legacy-models/minicpmv-convert-image-encoder-to-gguf.py +++ b/tools/mtmd/legacy-models/minicpmv-convert-image-encoder-to-gguf.py @@ -501,7 +501,7 @@ default_image_mean = [0.5, 0.5, 0.5] default_image_std = [0.5, 0.5, 0.5] ap.add_argument('--image-mean', type=float, nargs='+', help='Mean of the images for normalization (overrides processor) ', default=None) ap.add_argument('--image-std', type=float, nargs='+', help='Standard deviation of the images for normalization (overrides processor)', default=None) -ap.add_argument('--minicpmv_version', type=int, help='minicpmv_version: MiniCPM-V-2 use 1; MiniCPM-V-2.5 use 2; MiniCPM-V-2.6 use 3; MiniCPM-o-2.6 use 4; MiniCPM-V 4.0 use 5; MiniCPM-o-4.0 use 6', default=2) +ap.add_argument('--minicpmv_version', type=int, help='minicpmv_version: MiniCPM-V-2 use 1; MiniCPM-V-2.5 use 2; MiniCPM-V-2.6 use 3; MiniCPM-o-2.6 use 4; MiniCPM-V 4.0 use 5; MiniCPM-o-4.0 use 6; MiniCPM-o-4.5 use 100045', default=2) # with proper args = ap.parse_args() @@ -610,6 +610,9 @@ else: elif minicpmv_version == 6: emb_dim = 4096 block_count = 27 + elif minicpmv_version == 100045: + emb_dim = 4096 + block_count = 27 default_vision_config = { "hidden_size": 1152, @@ -637,6 +640,10 @@ elif minicpmv_version == 6: default_vision_config["model_type"] = "siglip_vision_model" vision_config = SiglipVisionConfig(**default_vision_config) model = SiglipVisionTransformer(vision_config) +elif minicpmv_version == 100045: + default_vision_config["model_type"] = "siglip_vision_model" + vision_config = SiglipVisionConfig(**default_vision_config) + model = SiglipVisionTransformer(vision_config) processor = None # if model.attn_pool is not None: diff --git a/tools/mtmd/mtmd.cpp b/tools/mtmd/mtmd.cpp index 32a24bfcea..d037e834f3 100644 --- a/tools/mtmd/mtmd.cpp +++ b/tools/mtmd/mtmd.cpp @@ -236,7 +236,7 @@ struct mtmd_context { tok_row_end_trail = false; // no trailing end-of-row token ov_img_first = true; - } else if (minicpmv_version == 3 || minicpmv_version == 4 || minicpmv_version == 5 || minicpmv_version == 6) { + } else if (minicpmv_version == 3 || minicpmv_version == 4 || minicpmv_version == 5 || minicpmv_version == 6 || minicpmv_version == 100045) { // minicpmv 2.6 format: // (overview) (slice) (slice) \n ... slice_tmpl = MTMD_SLICE_TMPL_MINICPMV_2_6; From 3dd95914d09b155eed84664b9abdbbffae238738 Mon Sep 17 00:00:00 2001 From: EugeoSynthesisThirtyTwo Date: Sat, 31 Jan 2026 04:39:21 +0100 Subject: [PATCH 081/206] quantize: add option --tensor-type-file to llama-quantize (#18572) * add option --tensor-type-file to llama-quantize, but it raises an error. * add error message when file not found * quantize: update help menu, fix CI Signed-off-by: Aaron Teo --------- Signed-off-by: Aaron Teo Co-authored-by: Your Name Co-authored-by: Aaron Teo --- tools/quantize/quantize.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/tools/quantize/quantize.cpp b/tools/quantize/quantize.cpp index 881f4b3dd9..0709e0bda0 100644 --- a/tools/quantize/quantize.cpp +++ b/tools/quantize/quantize.cpp @@ -119,7 +119,7 @@ static bool try_parse_ftype(const std::string & ftype_str_in, llama_ftype & ftyp [[noreturn]] static void usage(const char * executable) { printf("usage: %s [--help] [--allow-requantize] [--leave-output-tensor] [--pure] [--imatrix] [--include-weights]\n", executable); - printf(" [--exclude-weights] [--output-tensor-type] [--token-embedding-type] [--tensor-type] [--prune-layers] [--keep-split] [--override-kv]\n"); + printf(" [--exclude-weights] [--output-tensor-type] [--token-embedding-type] [--tensor-type] [--tensor-type-file] [--prune-layers] [--keep-split] [--override-kv]\n"); printf(" model-f32.gguf [model-quant.gguf] type [nthreads]\n\n"); printf(" --allow-requantize: Allows requantizing tensors that have already been quantized. Warning: This can severely reduce quality compared to quantizing from 16bit or 32bit\n"); printf(" --leave-output-tensor: Will leave output.weight un(re)quantized. Increases model size but may also increase quality, especially when requantizing\n"); @@ -131,6 +131,8 @@ static void usage(const char * executable) { printf(" --token-embedding-type ggml_type: use this ggml_type for the token embeddings tensor\n"); printf(" --tensor-type TENSOR=TYPE: quantize this tensor to this ggml_type. example: --tensor-type attn_q=q8_0\n"); printf(" Advanced option to selectively quantize tensors. May be specified multiple times.\n"); + printf(" --tensor-type-file tensor_type.txt: list of tensors to quantize to specific ggml_type. example: --tensor-type-file tensor_type_list.txt\n"); + printf(" Advanced option to selectively quantize a long list of tensors. Format to be tensor_name=ggml_type, separated by spaces/newline.\n"); printf(" --prune-layers L0,L1,L2...comma-separated list of layer numbers to prune from the model\n"); printf(" Advanced option to remove all tensors from the given layers\n"); printf(" --keep-split: will generate quantized model in the same shards as input\n"); @@ -415,6 +417,23 @@ static bool parse_tensor_type(const char * data, std::vector & tensor_type) { + std::ifstream file(filename); + if (!file) { + printf("\n%s: failed to open file '%s': %s\n\n", __func__, filename, std::strerror(errno)); + return false; + } + + std::string arg; + while (file >> arg) { + if (!parse_tensor_type(arg.c_str(), tensor_type)) { + return false; + } + } + + return true; +} + static bool parse_layer_prune(const char * data, std::vector & prune_layers) { if (!data) { printf("\n%s: no layer pruning ids provided\n\n", __func__); @@ -480,6 +499,10 @@ int main(int argc, char ** argv) { if (arg_idx == argc-1 || !parse_tensor_type(argv[++arg_idx], tensor_types)) { usage(argv[0]); } + } else if (strcmp(argv[arg_idx], "--tensor-type-file") == 0) { + if (arg_idx == argc-1 || !parse_tensor_type_file(argv[++arg_idx], tensor_types)) { + usage(argv[0]); + } } else if (strcmp(argv[arg_idx], "--prune-layers") == 0) { if (arg_idx == argc-1 || !parse_layer_prune(argv[++arg_idx], prune_layers)) { usage(argv[0]); @@ -686,3 +709,4 @@ int main(int argc, char ** argv) { return 0; } + From 89f10baad5a1809055d71110dff60e55561b9c62 Mon Sep 17 00:00:00 2001 From: nullname Date: Sat, 31 Jan 2026 13:14:20 +0800 Subject: [PATCH 082/206] ggml-hexagon: flash-attention and reduce-sum optimizations (#19141) * wip * ggml-hexagon: add vectorized dot product function for FP32 and FP16 accumulation * ggml-hexagon: optimize dot product functions for FP16 and FP32 with new vectorized implementations * wip * ggml-hexagon: optimize hvx_vec_dump_f32_n and hvx_vec_reduce_sum_qf32x2 functions for improved performance * ggml-hexagon: refactor dot product functions to use a common loading function for improved readability * optimize vector dot product functions to use unified reduction for improved performance * wip * ggml-hexagon: add vectorized dot product function for FP32 and FP16 accumulation * ggml-hexagon: optimize dot product functions for FP16 and FP32 with new vectorized implementations * wip * ggml-hexagon: optimize hvx_vec_dump_f32_n and hvx_vec_reduce_sum_qf32x2 functions for improved performance * ggml-hexagon: refactor dot product functions to use a common loading function for improved readability * optimize vector dot product functions to use unified reduction for improved performance * hexagon: optimize reduce-sum for v75+ * hexagon: always keep row_sums in sf/fp32 * ggml-hexagon: enhance directory checks for HEXAGON_SDK_ROOT and HEXAGON_TOOLS_ROOT * fix compiling error after rebase --------- Co-authored-by: Max Krasnyansky --- ggml/src/ggml-hexagon/CMakeLists.txt | 16 ++- ggml/src/ggml-hexagon/htp/flash-attn-ops.c | 159 ++++++++++++++++++--- ggml/src/ggml-hexagon/htp/hvx-dump.h | 9 +- ggml/src/ggml-hexagon/htp/hvx-reduce.h | 41 ++++++ ggml/src/ggml-hexagon/htp/matmul-ops.c | 107 +++++++------- ggml/src/ggml-hexagon/htp/softmax-ops.c | 4 +- ggml/src/ggml-hexagon/htp/unary-ops.c | 4 +- 7 files changed, 248 insertions(+), 92 deletions(-) diff --git a/ggml/src/ggml-hexagon/CMakeLists.txt b/ggml/src/ggml-hexagon/CMakeLists.txt index 2b69197017..f3a583543c 100644 --- a/ggml/src/ggml-hexagon/CMakeLists.txt +++ b/ggml/src/ggml-hexagon/CMakeLists.txt @@ -1,8 +1,20 @@ file(TO_CMAKE_PATH "${HEXAGON_SDK_ROOT}" HEXAGON_SDK_ROOT) file(TO_CMAKE_PATH "${HEXAGON_TOOLS_ROOT}" HEXAGON_TOOLS_ROOT) -if (NOT IS_DIRECTORY "${HEXAGON_SDK_ROOT}" OR NOT IS_DIRECTORY "${HEXAGON_TOOLS_ROOT}") - message(FATAL_ERROR "Make sure HEXAGON_SDK_ROOT and HEXAGON_TOOLS_ROOT point to the correct Hexagon SDK installation.") +if (NOT IS_DIRECTORY "${HEXAGON_SDK_ROOT}") + message(FATAL_ERROR "Make sure HEXAGON_SDK_ROOT point to the correct Hexagon SDK installation.") +endif() + +if (NOT IS_DIRECTORY "${HEXAGON_TOOLS_ROOT}") + message("Try to read HEXAGON_TOOLS_ROOT from hexagon_sdk.json") + file(READ "${HEXAGON_SDK_ROOT}/hexagon_sdk.json" HEXAGON_SDK_CONFIG_PATH) + string(JSON HEXAGON_TOOLS_PATH GET ${HEXAGON_SDK_CONFIG_PATH} "root" "tools" "info" 0 "path") + message("Found HEXAGON_TOOLS_PATH: ${HEXAGON_TOOLS_PATH}") + set(HEXAGON_TOOLS_ROOT "${HEXAGON_SDK_ROOT}/${HEXAGON_TOOLS_PATH}") + file(TO_CMAKE_PATH "${HEXAGON_TOOLS_ROOT}" HEXAGON_TOOLS_ROOT) + if (NOT IS_DIRECTORY "${HEXAGON_TOOLS_ROOT}") + message(FATAL_ERROR "Make sure HEXAGON_TOOLS_ROOT point to the correct Hexagon SDK installation.") + endif() endif() message(STATUS "hexagon: using ${HEXAGON_SDK_ROOT} and ${HEXAGON_TOOLS_ROOT} for building libggml-htp skels") diff --git a/ggml/src/ggml-hexagon/htp/flash-attn-ops.c b/ggml/src/ggml-hexagon/htp/flash-attn-ops.c index c7cb2a4e0b..c184637443 100644 --- a/ggml/src/ggml-hexagon/htp/flash-attn-ops.c +++ b/ggml/src/ggml-hexagon/htp/flash-attn-ops.c @@ -17,6 +17,12 @@ #include "htp-msg.h" #include "htp-ops.h" +static inline HVX_Vector hvx_load_f32_to_f16(const HVX_Vector * restrict src, const HVX_Vector zero) { + HVX_Vector y0_qf = Q6_Vqf32_vsub_VsfVsf(src[0], zero); // 32 elements + HVX_Vector y1_qf = Q6_Vqf32_vsub_VsfVsf(src[1], zero); // 32 elements + return Q6_Vh_vdeal_Vh(Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(y1_qf, y0_qf))); +} + // Dot product of FP32 and FP16 vectors, accumulating to float static inline void hvx_dot_f32_f16_aa(float * restrict r, const void * restrict y, const void * restrict x, unsigned int n, float s) { const HVX_Vector * restrict vy = (const HVX_Vector * restrict) y; // fp32 @@ -33,23 +39,19 @@ static inline void hvx_dot_f32_f16_aa(float * restrict r, const void * restrict #pragma unroll(4) for (i = 0; i < nvec; i++) { // Load y (fp32) and convert into fp16 - HVX_Vector y0_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+0], zero); // 32 elements - HVX_Vector y1_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+1], zero); // 32 elements - HVX_Vector y_hf = Q6_Vh_vdeal_Vh(Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(y1_qf, y0_qf))); + HVX_Vector y_hf = hvx_load_f32_to_f16(&vy[i*2], zero); // Load x (fp16) HVX_Vector x_hf = vx[i]; HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); - rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + rsum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf)), rsum)); } if (nloe) { // Load y (fp32) and convert into fp16 - HVX_Vector y0_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+0], zero); // 32 elements - HVX_Vector y1_qf = Q6_Vqf32_vsub_VsfVsf(vy[i*2+1], zero); // 32 elements - HVX_Vector y_hf = Q6_Vh_vdeal_Vh(Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(y1_qf, y0_qf))); + HVX_Vector y_hf = hvx_load_f32_to_f16(&vy[i*2], zero); // Load x (fp16) HVX_Vector x_hf = vx[i]; @@ -62,13 +64,72 @@ static inline void hvx_dot_f32_f16_aa(float * restrict r, const void * restrict HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); - rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + rsum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf)), rsum)); } - rsum = Q6_Vqf32_vmpy_VsfVsf(Q6_Vsf_equals_Vqf32(rsum), hvx_vec_splat_f32(s)); - rsum = Q6_Vsf_equals_Vqf32(hvx_vec_reduce_sum_qf32(rsum)); + rsum = Q6_Vqf32_vmpy_VsfVsf(hvx_vec_splat_f32(s), hvx_vec_reduce_sum_f32(rsum)); + hvx_vec_store_u(r, 4, Q6_Vsf_equals_Vqf32(rsum)); +} - hvx_vec_store_u(r, 4, rsum); +// Dot product of FP32 and FP16 vectors, accumulating to float +static inline void hvx_dot_f32_f16_aa_rx2(float * restrict r, + const void * restrict y, + const void * restrict x0, + const void * restrict x1, + unsigned int n, + float s) { + const HVX_Vector * restrict vy = (const HVX_Vector * restrict) y; // fp32 + const HVX_Vector * restrict vx0 = (const HVX_Vector * restrict) x0; // fp16 + const HVX_Vector * restrict vx1 = (const HVX_Vector * restrict) x1; // fp16 + + uint32_t nvec = n / VLEN_FP16; // num full fp16 hvx vectors + uint32_t nloe = n % VLEN_FP16; // leftover elements + + const HVX_Vector zero = Q6_V_vsplat_R(0); + HVX_Vector rsum0 = Q6_V_vsplat_R(0); + HVX_Vector rsum1 = Q6_V_vsplat_R(0); + + uint32_t i = 0; + + #pragma unroll(2) + for (i = 0; i < nvec; i++) { + // Load y (fp32) and convert into fp16 + HVX_Vector y_hf = hvx_load_f32_to_f16(&vy[i*2], zero); + // Load x (fp16) + HVX_Vector x0_hf = vx0[i]; + HVX_Vector x1_hf = vx1[i]; + + HVX_VectorPair xy0_qf = Q6_Wqf32_vmpy_VhfVhf(x0_hf, y_hf); + HVX_VectorPair xy1_qf = Q6_Wqf32_vmpy_VhfVhf(x1_hf, y_hf); + + rsum0 = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy0_qf), Q6_V_hi_W(xy0_qf)), rsum0)); + rsum1 = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy1_qf), Q6_V_hi_W(xy1_qf)), rsum1)); + } + + if (nloe) { + // Load y (fp32) and convert into fp16 + HVX_Vector y_hf = hvx_load_f32_to_f16(&vy[i*2], zero); + + // Load x (fp16) + HVX_Vector x0_hf = vx0[i]; + HVX_Vector x1_hf = vx1[i]; + + // Zero-out unused elements + // Note that we need to clear both x and y because they may contain NANs + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe * 2); + x0_hf = Q6_V_vand_QV(bmask, x0_hf); + x1_hf = Q6_V_vand_QV(bmask, x1_hf); + y_hf = Q6_V_vand_QV(bmask, y_hf); + + HVX_VectorPair xy0_qf = Q6_Wqf32_vmpy_VhfVhf(x0_hf, y_hf); + HVX_VectorPair xy1_qf = Q6_Wqf32_vmpy_VhfVhf(x1_hf, y_hf); + + rsum0 = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy0_qf), Q6_V_hi_W(xy0_qf)), rsum0)); + rsum1 = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy1_qf), Q6_V_hi_W(xy1_qf)), rsum1)); + } + + HVX_Vector rsum = Q6_Vqf32_vmpy_VsfVsf(hvx_vec_splat_f32(s), hvx_vec_reduce_sum_f32x2(rsum0, rsum1)); + hvx_vec_store_u(r, 8, Q6_Vsf_equals_Vqf32(rsum)); } // Dot product of two F16 vectors, accumulating to float @@ -91,7 +152,7 @@ static inline void hvx_dot_f16_f16_aa(float * restrict r, const void * restrict HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); - rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + rsum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf)), rsum)); } if (nloe) { @@ -103,12 +164,62 @@ static inline void hvx_dot_f16_f16_aa(float * restrict r, const void * restrict HVX_VectorPair xy_qf = Q6_Wqf32_vmpy_VhfVhf(x_hf, y_hf); - rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); + rsum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf)), rsum)); } - rsum = Q6_Vqf32_vmpy_VsfVsf(Q6_Vsf_equals_Vqf32(rsum), hvx_vec_splat_f32(s)); - rsum = Q6_Vsf_equals_Vqf32(hvx_vec_reduce_sum_qf32(rsum)); - hvx_vec_store_u(r, 4, rsum); + rsum = Q6_Vqf32_vmpy_VsfVsf(hvx_vec_splat_f32(s), hvx_vec_reduce_sum_f32(rsum)); + hvx_vec_store_u(r, 4, Q6_Vsf_equals_Vqf32(rsum)); +} + +static inline void hvx_dot_f16_f16_aa_rx2(float * restrict r, + const void * restrict y, + const void * restrict x0, + const void * restrict x1, + unsigned int n, + float s) { + const HVX_Vector * restrict vx0 = (const HVX_Vector * restrict) x0; // fp16 + const HVX_Vector * restrict vx1 = (const HVX_Vector * restrict) x1; // fp16 + const HVX_Vector * restrict vy = (const HVX_Vector * restrict) y; // fp16 + + uint32_t nvec = n / VLEN_FP16; // num full fp16 hvx vectors + uint32_t nloe = n % VLEN_FP16; // leftover elements + + const HVX_Vector zero = Q6_V_vsplat_R(0); + HVX_Vector rsum0 = Q6_V_vsplat_R(0); + HVX_Vector rsum1 = Q6_V_vsplat_R(0); + + uint32_t i = 0; + + #pragma unroll(4) + for (i = 0; i < nvec; i++) { + HVX_Vector y_hf = vy[i]; + HVX_Vector x0_hf = vx0[i]; + HVX_Vector x1_hf = vx1[i]; + + HVX_VectorPair xy0_qf = Q6_Wqf32_vmpy_VhfVhf(x0_hf, y_hf); + HVX_VectorPair xy1_qf = Q6_Wqf32_vmpy_VhfVhf(x1_hf, y_hf); + + rsum0 = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy0_qf), Q6_V_hi_W(xy0_qf)), rsum0)); + rsum1 = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy1_qf), Q6_V_hi_W(xy1_qf)), rsum1)); + } + + if (nloe) { + HVX_Vector y_hf = vy[i]; + + // Load x (fp16) and zero-out unused elements + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe * 2); + HVX_Vector x0_hf = Q6_V_vand_QV(bmask, vx0[i]); + HVX_Vector x1_hf = Q6_V_vand_QV(bmask, vx1[i]); + + HVX_VectorPair xy0_qf = Q6_Wqf32_vmpy_VhfVhf(x0_hf, y_hf); + HVX_VectorPair xy1_qf = Q6_Wqf32_vmpy_VhfVhf(x1_hf, y_hf); + + rsum0 = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy0_qf), Q6_V_hi_W(xy0_qf)), rsum0)); + rsum1 = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy1_qf), Q6_V_hi_W(xy1_qf)), rsum1)); + } + + HVX_Vector rsum = Q6_Vqf32_vmpy_VsfVsf(hvx_vec_splat_f32(s), hvx_vec_reduce_sum_f32x2(rsum0, rsum1)); + hvx_vec_store_u(r, 8, Q6_Vsf_equals_Vqf32(rsum)); } // MAD: y (F32) += x (F16) * s (float) @@ -317,20 +428,22 @@ static void flash_attn_ext_f16_thread(struct htp_ops_context * octx, int ith, in // Inner loop processing the block from VTCM uint32_t ic = 0; + const bool is_q_fp32 = (q->type == HTP_TYPE_F32); + // Process in blocks of 32 (VLEN_FP32) - static_assert(FLASH_ATTN_BLOCK_SIZE / VLEN_FP32 == 4, "FLASH_ATTN_BLOCK_SIZE changed, fix HVX_Vector_x4 usage"); + static_assert(FLASH_ATTN_BLOCK_SIZE / VLEN_FP32 <= 4, "FLASH_ATTN_BLOCK_SIZE changed, fix HVX_Vector_x4 usage"); HVX_Vector_x4 scores_x4; HVX_Vector v_max = hvx_vec_splat_f32(-INFINITY); for (uint32_t iv = 0; ic + VLEN_FP32 <= current_block_size; ic += VLEN_FP32, ++iv) { // 1. Compute scores - float __attribute__((aligned(VLEN))) scores_arr[FLASH_ATTN_BLOCK_SIZE]; - for (int j = 0; j < VLEN_FP32; ++j) { + float __attribute__((aligned(VLEN))) scores_arr[VLEN_FP32]; + for (int j = 0; j < VLEN_FP32; j += 2) { const uint32_t cur_ic = ic + j; const uint8_t * k_ptr = k_base + cur_ic * size_k_row_padded; - if (q->type == HTP_TYPE_F32) { - hvx_dot_f32_f16_aa(&scores_arr[j], q_ptr_vtcm, k_ptr, DK, scale); + if (is_q_fp32) { + hvx_dot_f32_f16_aa_rx2(&scores_arr[j], q_ptr_vtcm, k_ptr, k_ptr + size_k_row_padded, DK, scale); } else { - hvx_dot_f16_f16_aa(&scores_arr[j], q_ptr_vtcm, k_ptr, DK, scale); + hvx_dot_f16_f16_aa_rx2(&scores_arr[j], q_ptr_vtcm, k_ptr, k_ptr + size_k_row_padded, DK, scale); } } @@ -403,7 +516,7 @@ static void flash_attn_ext_f16_thread(struct htp_ops_context * octx, int ith, in float s_val; const uint8_t * k_ptr = k_base + ic * size_k_row_padded; - if (q->type == HTP_TYPE_F32) { + if (is_q_fp32) { hvx_dot_f32_f16_aa(&s_val, q_ptr_vtcm, k_ptr, DK, scale); } else { hvx_dot_f16_f16_aa(&s_val, q_ptr_vtcm, k_ptr, DK, scale); diff --git a/ggml/src/ggml-hexagon/htp/hvx-dump.h b/ggml/src/ggml-hexagon/htp/hvx-dump.h index e882227893..85201fc345 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-dump.h +++ b/ggml/src/ggml-hexagon/htp/hvx-dump.h @@ -28,19 +28,16 @@ static void hvx_vec_dump_f16(char * pref, HVX_Vector v) { } static void hvx_vec_dump_f32_n(char * pref, HVX_Vector v, uint32_t n) { - union { - HVX_Vector v; - float d[32]; - } u = { .v = v }; + HVX_VectorAlias u = { .v = v }; const uint32_t n0 = n / 16; const uint32_t n1 = n % 16; int i = 0; for (; i < n0; i++) { - hex_dump_f32_line(pref, u.d + (16 * i), 16); + hex_dump_f32_line(pref, u.fp32 + (16 * i), 16); } if (n1) { - hex_dump_f32_line(pref, u.d + (16 * i), n1); + hex_dump_f32_line(pref, u.fp32 + (16 * i), n1); } } diff --git a/ggml/src/ggml-hexagon/htp/hvx-reduce.h b/ggml/src/ggml-hexagon/htp/hvx-reduce.h index 8845fe73ea..1ca7c05d98 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-reduce.h +++ b/ggml/src/ggml-hexagon/htp/hvx-reduce.h @@ -44,6 +44,45 @@ static inline HVX_Vector hvx_vec_reduce_sum_qf32(HVX_Vector in) { return hvx_vec_reduce_sum_n_qf32(in, 32); } +#if __HVX_ARCH__ > 75 + +static inline HVX_Vector hvx_vec_reduce_sum_f32x2(HVX_Vector in0, HVX_Vector in1) { + HVX_VectorPair sump = Q6_W_vshuff_VVR(in1, in0, 4); + HVX_Vector sum_sf = Q6_Vsf_vadd_VsfVsf(Q6_V_lo_W(sump), Q6_V_hi_W(sump)); + + sum_sf = Q6_Vsf_vadd_VsfVsf(sum_sf, Q6_V_vror_VR(sum_sf, VLEN / 2)); + sum_sf = Q6_Vsf_vadd_VsfVsf(sum_sf, Q6_V_vror_VR(sum_sf, VLEN / 4)); + sum_sf = Q6_Vsf_vadd_VsfVsf(sum_sf, Q6_V_vror_VR(sum_sf, VLEN / 8)); + sum_sf = Q6_Vsf_vadd_VsfVsf(sum_sf, Q6_V_vror_VR(sum_sf, VLEN / 16)); + return sum_sf; +} + +static inline HVX_Vector hvx_vec_reduce_sum_n_f32(HVX_Vector in, unsigned int n) { + unsigned int total = n * 4; // total vec nbytes + unsigned int width = 4; // fp32 nbytes + + HVX_Vector sum = in, sum_t; + while (width < total) { + sum_t = Q6_V_vror_VR(sum, width); // rotate right + sum = Q6_Vsf_vadd_VsfVsf(sum, sum_t); // elementwise sum + width = width << 1; + } + return sum; +} + +#else + +static inline HVX_Vector hvx_vec_reduce_sum_f32x2(HVX_Vector in0, HVX_Vector in1) { + HVX_VectorPair sump = Q6_W_vshuff_VVR(in1, in0, 4); + HVX_Vector sum_qf = Q6_Vqf32_vadd_VsfVsf(Q6_V_lo_W(sump), Q6_V_hi_W(sump)); + + sum_qf = Q6_Vqf32_vadd_Vqf32Vsf(sum_qf, Q6_V_vror_VR(Q6_Vsf_equals_Vqf32(sum_qf), VLEN / 2)); + sum_qf = Q6_Vqf32_vadd_Vqf32Vsf(sum_qf, Q6_V_vror_VR(Q6_Vsf_equals_Vqf32(sum_qf), VLEN / 4)); + sum_qf = Q6_Vqf32_vadd_Vqf32Vsf(sum_qf, Q6_V_vror_VR(Q6_Vsf_equals_Vqf32(sum_qf), VLEN / 8)); + sum_qf = Q6_Vqf32_vadd_Vqf32Vsf(sum_qf, Q6_V_vror_VR(Q6_Vsf_equals_Vqf32(sum_qf), VLEN / 16)); + return Q6_Vsf_equals_Vqf32(sum_qf); +} + static inline HVX_Vector hvx_vec_reduce_sum_n_f32(HVX_Vector in, unsigned int n) { unsigned int total = n * 4; // total vec nbytes unsigned int width = 4; // fp32 nbytes @@ -57,6 +96,8 @@ static inline HVX_Vector hvx_vec_reduce_sum_n_f32(HVX_Vector in, unsigned int n) return sum; } +#endif + static inline HVX_Vector hvx_vec_reduce_sum_f32(HVX_Vector in) { return hvx_vec_reduce_sum_n_f32(in, 32); } diff --git a/ggml/src/ggml-hexagon/htp/matmul-ops.c b/ggml/src/ggml-hexagon/htp/matmul-ops.c index 1603ff2b3b..d251eeed33 100644 --- a/ggml/src/ggml-hexagon/htp/matmul-ops.c +++ b/ggml/src/ggml-hexagon/htp/matmul-ops.c @@ -11,6 +11,7 @@ #include "hex-dma.h" #include "hvx-utils.h" +#include "hvx-dump.h" #define GGML_COMMON_DECL_C #include "ggml-common.h" @@ -320,7 +321,7 @@ static void vec_dot_q4x4x2_q8x4x2(const int n, float * restrict s, const void * const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales - // Row sum (qf32) + // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); // Multiply and accumulate into int32. @@ -344,7 +345,7 @@ static void vec_dot_q4x4x2_q8x4x2(const int n, float * restrict s, const void * HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); } // Process leftovers, we still load full 4x4x2 block but zero out unused scales/blocks @@ -362,14 +363,14 @@ static void vec_dot_q4x4x2_q8x4x2(const int n, float * restrict s, const void * // Zero out unused scales HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe / 8); r0_dd = Q6_V_vand_QV(bmask, r0_dd); + r0_ia = Q6_V_vand_QV(bmask, r0_ia); HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); } - // Reduce and convert into fp32 - r0_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(r0_sum)); + r0_sum = hvx_vec_reduce_sum_f32(r0_sum); hvx_vec_store_u(&s[0], 4, r0_sum); } @@ -402,7 +403,7 @@ static void vec_dot_q4x4x2_q8x4x2_rx2(const int n, const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales - // Row sum (qf32) + // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); HVX_Vector r1_sum = Q6_V_vsplat_R(0); @@ -432,8 +433,8 @@ static void vec_dot_q4x4x2_q8x4x2_rx2(const int n, HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); HVX_Vector r1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_ia, r1_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); - r1_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r1_sum, r1_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); + r1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_fa, r1_sum)); } // Process leftovers, we still load full 4x4x2 block but zero out unused scales/blocks @@ -456,20 +457,18 @@ static void vec_dot_q4x4x2_q8x4x2_rx2(const int n, HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe / 8); r0_dd = Q6_V_vand_QV(bmask, r0_dd); r1_dd = Q6_V_vand_QV(bmask, r1_dd); + r0_ia = Q6_V_vand_QV(bmask, r0_ia); + r1_ia = Q6_V_vand_QV(bmask, r1_ia); HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); HVX_Vector r1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_ia, r1_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); - r1_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r1_sum, r1_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); + r1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_fa, r1_sum)); } - // Convert into fp32 and reduce - r0_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(r0_sum)); - r1_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(r1_sum)); - HVX_VectorPair p0 = Q6_W_vshuff_VVR(r1_sum, r0_sum, 4); - - hvx_vec_store_u(&s[0], 8, Q6_V_lo_W(p0)); + HVX_Vector rsum = hvx_vec_reduce_sum_f32x2(r0_sum, r1_sum); + hvx_vec_store_u(&s[0], 8, rsum); } static void vec_dot_q8x4x2_q8x4x2(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { @@ -493,7 +492,7 @@ static void vec_dot_q8x4x2_q8x4x2(const int n, float * restrict s, const void * const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales - // Row sum (qf32) + // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); // Multiply and accumulate into int32. @@ -517,7 +516,7 @@ static void vec_dot_q8x4x2_q8x4x2(const int n, float * restrict s, const void * HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); } // Process leftovers, we still load full 4x4x2 block but zero out unused scales/blocks @@ -535,14 +534,14 @@ static void vec_dot_q8x4x2_q8x4x2(const int n, float * restrict s, const void * // Zero out unused scales HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe / 8); r0_dd = Q6_V_vand_QV(bmask, r0_dd); + r0_ia = Q6_V_vand_QV(bmask, r0_ia); HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); } - // Reduce and convert into fp32 - r0_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(r0_sum)); + r0_sum = hvx_vec_reduce_sum_f32(r0_sum); hvx_vec_store_u(&s[0], 4, r0_sum); } @@ -605,8 +604,8 @@ static void vec_dot_q8x4x2_q8x4x2_rx2(const int n, HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); HVX_Vector r1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_ia, r1_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); - r1_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r1_sum, r1_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); + r1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_fa, r1_sum)); } // Process leftovers, we still load full 4x4x2 block but zero out unused scales/blocks @@ -629,20 +628,18 @@ static void vec_dot_q8x4x2_q8x4x2_rx2(const int n, HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe / 8); r0_dd = Q6_V_vand_QV(bmask, r0_dd); r1_dd = Q6_V_vand_QV(bmask, r1_dd); + r0_ia = Q6_V_vand_QV(bmask, r0_ia); + r1_ia = Q6_V_vand_QV(bmask, r1_ia); HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); HVX_Vector r1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_ia, r1_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); - r1_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r1_sum, r1_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); + r1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_fa, r1_sum)); } - // Convert into fp32 and reduce - r0_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(r0_sum)); - r1_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(r1_sum)); - HVX_VectorPair p0 = Q6_W_vshuff_VVR(r1_sum, r0_sum, 4); - - hvx_vec_store_u(&s[0], 8, Q6_V_lo_W(p0)); + HVX_Vector rsum = hvx_vec_reduce_sum_f32x2(r0_sum, r1_sum); + hvx_vec_store_u(&s[0], 8, rsum); } static void vec_dot_mxfp4x4x2_q8x4x2(const int n, @@ -669,7 +666,7 @@ static void vec_dot_mxfp4x4x2_q8x4x2(const int n, const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales - // Row sum (qf32) + // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); // Multiply and accumulate into int32. @@ -708,7 +705,7 @@ static void vec_dot_mxfp4x4x2_q8x4x2(const int n, HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); } // Process leftovers @@ -741,14 +738,14 @@ static void vec_dot_mxfp4x4x2_q8x4x2(const int n, // Zero-out unused scales HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe / 8); r0_dd = Q6_V_vand_QV(bmask, r0_dd); + r0_ia = Q6_V_vand_QV(bmask, r0_ia); HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); } - // Reduce and convert into fp32 - r0_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(r0_sum)); + r0_sum = hvx_vec_reduce_sum_f32(r0_sum); hvx_vec_store_u(&s[0], 4, r0_sum); } @@ -781,13 +778,13 @@ static void vec_dot_mxfp4x4x2_q8x4x2_rx2(const int n, const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales - // Row sum (qf32) + // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); HVX_Vector r1_sum = Q6_V_vsplat_R(0); // Multiply and accumulate into int32. // Compute combined scale (fp32). - // Apply scale to acc and accumulate into the row sum (qf32). + // Apply scale to acc and accumulate into the row sum (f32). const uint32_t nb = n / qk; // num full blocks int32_t nloe = n % qk; // num leftover elemements (must be signed) @@ -829,8 +826,8 @@ static void vec_dot_mxfp4x4x2_q8x4x2_rx2(const int n, HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); HVX_Vector r1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_ia, r1_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); - r1_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r1_sum, r1_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); + r1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_fa, r1_sum)); } // Process leftovers @@ -867,24 +864,22 @@ static void vec_dot_mxfp4x4x2_q8x4x2_rx2(const int n, HVX_Vector r0_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r0_d, vy_d)); HVX_Vector r1_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r1_d, vy_d)); - // Zero-out unused scales + // Zero-out unused values HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe / 8); r0_dd = Q6_V_vand_QV(bmask, r0_dd); r1_dd = Q6_V_vand_QV(bmask, r1_dd); + r0_ia = Q6_V_vand_QV(bmask, r0_ia); + r1_ia = Q6_V_vand_QV(bmask, r1_ia); HVX_Vector r0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_ia, r0_dd); HVX_Vector r1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_ia, r1_dd); - r0_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r0_sum, r0_fa); - r1_sum = Q6_Vqf32_vadd_Vqf32Vqf32(r1_sum, r1_fa); + r0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_fa, r0_sum)); + r1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_fa, r1_sum)); } - // Convert into fp32 and reduce - r0_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(r0_sum)); - r1_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(r1_sum)); - HVX_VectorPair p0 = Q6_W_vshuff_VVR(r1_sum, r0_sum, 4); - - hvx_vec_store_u(&s[0], 8, Q6_V_lo_W(p0)); + HVX_Vector rsum = hvx_vec_reduce_sum_f32x2(r0_sum, r1_sum); + hvx_vec_store_u(&s[0], 8, rsum); } static void vec_dot_f16_f16_aa(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { @@ -913,7 +908,7 @@ static void vec_dot_f16_f16_aa(const int n, float * restrict s, const void * res rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); } - rsum = Q6_Vsf_equals_Vqf32(hvx_vec_reduce_sum_qf32(rsum)); + rsum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(rsum)); hvx_vec_store_u(&s[0], 4, rsum); } @@ -957,11 +952,8 @@ static void vec_dot_f16_f16_aa_rx2(const int n, rsum1 = Q6_Vqf32_vadd_Vqf32Vqf32(rsum1, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy1_qf), Q6_V_hi_W(xy1_qf))); } - rsum0 = Q6_Vsf_equals_Vqf32(hvx_vec_reduce_sum_qf32(rsum0)); - rsum1 = Q6_Vsf_equals_Vqf32(hvx_vec_reduce_sum_qf32(rsum1)); - HVX_VectorPair p0 = Q6_W_vshuff_VVR(rsum1, rsum0, 4); - - hvx_vec_store_u(&s[0], 8, Q6_V_lo_W(p0)); + HVX_Vector rsum = hvx_vec_reduce_sum_f32x2(Q6_Vsf_equals_Vqf32(rsum0), Q6_Vsf_equals_Vqf32(rsum1)); + hvx_vec_store_u(&s[0], 8, rsum); } static void vec_dot_f16_f16_uu(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { @@ -990,7 +982,7 @@ static void vec_dot_f16_f16_uu(const int n, float * restrict s, const void * res rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); } - rsum = Q6_Vsf_equals_Vqf32(hvx_vec_reduce_sum_qf32(rsum)); + rsum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(rsum)); hvx_vec_store_u(&s[0], 4, rsum); } @@ -1042,7 +1034,8 @@ static void vec_dot_f16_f32_uu(const int n, float * restrict s, const void * res rsum = Q6_Vqf32_vadd_Vqf32Vqf32(rsum, Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(xy_qf), Q6_V_hi_W(xy_qf))); } - rsum = Q6_Vsf_equals_Vqf32(hvx_vec_reduce_sum_qf32(rsum)); + // Convert into fp32 and reduce + rsum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(rsum)); hvx_vec_store_u(&s[0], 4, rsum); } diff --git a/ggml/src/ggml-hexagon/htp/softmax-ops.c b/ggml/src/ggml-hexagon/htp/softmax-ops.c index 1b6b2eba4a..e91a16d947 100644 --- a/ggml/src/ggml-hexagon/htp/softmax-ops.c +++ b/ggml/src/ggml-hexagon/htp/softmax-ops.c @@ -154,8 +154,8 @@ static void hvx_fast_softmax_f32(const uint8_t * restrict src, v_pad[i] = v3; } - v = hvx_vec_reduce_sum_qf32(sum_vec); - sum_vec = hvx_vec_repl4(Q6_Vsf_equals_Vqf32(v)); + v = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(sum_vec)); + sum_vec = hvx_vec_repl4(v); HVX_VectorPred pos_sum = Q6_Q_vcmp_gt_VwVw(sum_vec, zero_v); HVX_Vector v4 = hvx_vec_inverse_f32(sum_vec); diff --git a/ggml/src/ggml-hexagon/htp/unary-ops.c b/ggml/src/ggml-hexagon/htp/unary-ops.c index be8be8c4e6..1a27cb6e63 100644 --- a/ggml/src/ggml-hexagon/htp/unary-ops.c +++ b/ggml/src/ggml-hexagon/htp/unary-ops.c @@ -57,8 +57,8 @@ static void hvx_fast_rms_norm_f32(const uint8_t * restrict src, sum_v = Q6_Vqf32_vadd_Vqf32Vqf32(sum_v, v2); } - HVX_Vector reduced_sum = hvx_vec_reduce_sum_qf32(sum_v); - sum_v = hvx_vec_repl4(Q6_Vsf_equals_Vqf32(reduced_sum)); + HVX_Vector reduced_sum = hvx_vec_reduce_sum_f32(Q6_Vsf_equals_Vqf32(sum_v)); + sum_v = hvx_vec_repl4(reduced_sum); HVX_Vector t_v = hvx_vec_splat_f32((float) num_elems); HVX_Vector denom_v = hvx_vec_inverse_f32(t_v); From 41ea26144e55d23f37bb765f88c07588d786567f Mon Sep 17 00:00:00 2001 From: Matthieu Coudron <886074+teto@users.noreply.github.com> Date: Sat, 31 Jan 2026 17:01:46 +0100 Subject: [PATCH 083/206] nix: fix nix develop .#python-scripts (#19218) Without this I get: > * Getting build dependencies for wheel... > * Building wheel... > Successfully built gguf-0.17.1-py3-none-any.whl > Finished creating a wheel... > Finished executing pypaBuildPhase > Running phase: pythonRuntimeDepsCheckHook > Executing pythonRuntimeDepsCheck > Checking runtime dependencies for gguf-0.17.1-py3-none-any.whl > - requests not installed For full logs, run: nix log /nix/store/x0c4a251l68bvdgang9d8v2fsmqay8a4-python3.12-gguf-0.0.0.drv I changed a bit the style to make it more terse ~> more elegant in my opinion. --- .devops/nix/package-gguf-py.nix | 2 ++ .devops/nix/scope.nix | 16 +++++----------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/.devops/nix/package-gguf-py.nix b/.devops/nix/package-gguf-py.nix index cca2f36a5b..de3ac841fb 100644 --- a/.devops/nix/package-gguf-py.nix +++ b/.devops/nix/package-gguf-py.nix @@ -3,6 +3,7 @@ llamaVersion, numpy, tqdm, + requests, sentencepiece, pyyaml, poetry-core, @@ -20,6 +21,7 @@ buildPythonPackage { tqdm sentencepiece pyyaml + requests ]; src = lib.cleanSource ../../gguf-py; pythonImportsCheck = [ diff --git a/.devops/nix/scope.nix b/.devops/nix/scope.nix index 478e8c4228..b4328a771e 100644 --- a/.devops/nix/scope.nix +++ b/.devops/nix/scope.nix @@ -7,13 +7,6 @@ let pythonPackages = python3.pkgs; - buildPythonPackage = pythonPackages.buildPythonPackage; - numpy = pythonPackages.numpy; - tqdm = pythonPackages.tqdm; - sentencepiece = pythonPackages.sentencepiece; - pyyaml = pythonPackages.pyyaml; - poetry-core = pythonPackages.poetry-core; - pytestCheckHook = pythonPackages.pytestCheckHook; in # We're using `makeScope` instead of just writing out an attrset @@ -23,17 +16,18 @@ in lib.makeScope newScope (self: { inherit llamaVersion; gguf-py = self.callPackage ./package-gguf-py.nix { - inherit - buildPythonPackage + inherit (pythonPackages) numpy tqdm sentencepiece - poetry-core pyyaml pytestCheckHook + requests + buildPythonPackage + poetry-core ; }; - python-scripts = self.callPackage ./python-scripts.nix { inherit buildPythonPackage poetry-core; }; + python-scripts = self.callPackage ./python-scripts.nix { inherit (pythonPackages) buildPythonPackage poetry-core; }; llama-cpp = self.callPackage ./package.nix { }; docker = self.callPackage ./docker.nix { }; docker-min = self.callPackage ./docker.nix { interactive = false; }; From 2634ed207a17db1a54bd8df0555bd8499a6ab691 Mon Sep 17 00:00:00 2001 From: Neo Zhang Date: Sun, 1 Feb 2026 18:24:00 +0800 Subject: [PATCH 084/206] create test.sh to enhance the parameters for testing, update the guide, rm useless script (#19243) --- docs/backend/SYCL.md | 34 ++--- examples/sycl/run-llama2.sh | 5 +- examples/sycl/run-llama3.sh | 31 ----- examples/sycl/test.sh | 130 ++++++++++++++++++ examples/sycl/win-run-llama2.bat | 4 +- .../sycl/{win-run-llama3.bat => win-test.bat} | 4 +- 6 files changed, 149 insertions(+), 59 deletions(-) delete mode 100755 examples/sycl/run-llama3.sh create mode 100755 examples/sycl/test.sh rename examples/sycl/{win-run-llama3.bat => win-test.bat} (69%) diff --git a/docs/backend/SYCL.md b/docs/backend/SYCL.md index c0a422b3dc..10cb02ff2c 100644 --- a/docs/backend/SYCL.md +++ b/docs/backend/SYCL.md @@ -119,7 +119,7 @@ On older Intel GPUs, you may try [OpenCL](/docs/backend/OPENCL.md) although the *Notes:* - **Memory** - - The device memory is a limitation when running a large model. The loaded model size, *`llm_load_tensors: buffer_size`*, is displayed in the log when running `./bin/llama-cli`. + - The device memory is a limitation when running a large model. The loaded model size, *`llm_load_tensors: buffer_size`*, is displayed in the log when running `./bin/llama-completion`. - Please make sure the GPU shared memory from the host is large enough to account for the model's size. For e.g. the *llama-2-7b.Q4_0* requires at least 8.0GB for integrated GPU and 4.0GB for discrete GPU. - **Execution Unit (EU)** @@ -423,16 +423,12 @@ Choose one of following methods to run. - Use device 0: ```sh -./examples/sycl/run-llama2.sh 0 -# OR -./examples/sycl/run-llama3.sh 0 +./examples/sycl/test.sh -mg 0 ``` - Use multiple devices: ```sh -./examples/sycl/run-llama2.sh -# OR -./examples/sycl/run-llama3.sh +./examples/sycl/test.sh ``` 2. Command line @@ -455,13 +451,13 @@ Examples: - Use device 0: ```sh -ZES_ENABLE_SYSMAN=1 ./build/bin/llama-cli -no-cnv -m models/llama-2-7b.Q4_0.gguf -p "Building a website can be done in 10 simple steps:" -n 400 -e -ngl 99 -sm none -mg 0 +ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -no-cnv -m models/llama-2-7b.Q4_0.gguf -p "Building a website can be done in 10 simple steps:" -n 400 -e -ngl 99 -sm none -mg 0 --mmap ``` - Use multiple devices: ```sh -ZES_ENABLE_SYSMAN=1 ./build/bin/llama-cli -no-cnv -m models/llama-2-7b.Q4_0.gguf -p "Building a website can be done in 10 simple steps:" -n 400 -e -ngl 99 -sm layer +ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -no-cnv -m models/llama-2-7b.Q4_0.gguf -p "Building a website can be done in 10 simple steps:" -n 400 -e -ngl 99 -sm layer --mmap ``` *Notes:* @@ -577,13 +573,13 @@ Or, use CMake presets to build: ```sh cmake --preset x64-windows-sycl-release -cmake --build build-x64-windows-sycl-release -j --target llama-cli +cmake --build build-x64-windows-sycl-release -j --target llama-completion cmake -DGGML_SYCL_F16=ON --preset x64-windows-sycl-release -cmake --build build-x64-windows-sycl-release -j --target llama-cli +cmake --build build-x64-windows-sycl-release -j --target llama-completion cmake --preset x64-windows-sycl-debug -cmake --build build-x64-windows-sycl-debug -j --target llama-cli +cmake --build build-x64-windows-sycl-debug -j --target llama-completion ``` #### 3. Visual Studio @@ -608,7 +604,7 @@ You can use Visual Studio to open the `llama.cpp` folder directly as a CMake pro - For a minimal experimental setup, you can build only the inference executable using: ```Powershell - cmake --build build --config Release -j --target llama-cli + cmake --build build --config Release -j --target llama-completion ``` ##### - Generating a Visual Studio Solution @@ -714,13 +710,7 @@ Choose one of following methods to run. 1. Script ``` -examples\sycl\win-run-llama-2.bat -``` - -or - -``` -examples\sycl\win-run-llama-3.bat +examples\sycl\win-test.bat ``` 2. Command line @@ -744,13 +734,13 @@ Examples: - Use device 0: ``` -build\bin\llama-cli.exe -no-cnv -m models\llama-2-7b.Q4_0.gguf -p "Building a website can be done in 10 simple steps:\nStep 1:" -n 400 -e -ngl 99 -sm none -mg 0 +build\bin\llama-completion.exe -no-cnv -m models\llama-2-7b.Q4_0.gguf -p "Building a website can be done in 10 simple steps:\nStep 1:" -n 400 -e -ngl 99 -sm none -mg 0 --mmap ``` - Use multiple devices: ``` -build\bin\llama-cli.exe -no-cnv -m models\llama-2-7b.Q4_0.gguf -p "Building a website can be done in 10 simple steps:\nStep 1:" -n 400 -e -ngl 99 -sm layer +build\bin\llama-completion.exe -no-cnv -m models\llama-2-7b.Q4_0.gguf -p "Building a website can be done in 10 simple steps:\nStep 1:" -n 400 -e -ngl 99 -sm layer --mmap ``` diff --git a/examples/sycl/run-llama2.sh b/examples/sycl/run-llama2.sh index cf23619ee0..d33f82f339 100755 --- a/examples/sycl/run-llama2.sh +++ b/examples/sycl/run-llama2.sh @@ -18,13 +18,14 @@ CONTEXT=4096 #support malloc device memory more than 4GB. export UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS=1 +LOAD_MODE='--mmap' if [ $# -gt 0 ]; then GGML_SYCL_DEVICE=$1 echo "use $GGML_SYCL_DEVICE as main GPU" #use signle GPU only - ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s 0 -c ${CONTEXT} -mg $GGML_SYCL_DEVICE -sm none + ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s 0 -c ${CONTEXT} -mg $GGML_SYCL_DEVICE -sm none ${LOAD_MODE} else #use multiple GPUs with same max compute units - ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s 0 -c ${CONTEXT} + ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s 0 -c ${CONTEXT} ${LOAD_MODE} fi diff --git a/examples/sycl/run-llama3.sh b/examples/sycl/run-llama3.sh deleted file mode 100755 index feee5165e9..0000000000 --- a/examples/sycl/run-llama3.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env bash - -# MIT license -# Copyright (C) 2025 Intel Corporation -# SPDX-License-Identifier: MIT - -# If you want more control, DPC++ Allows selecting a specific device through the -# following environment variable -export ONEAPI_DEVICE_SELECTOR="level_zero:0" -source /opt/intel/oneapi/setvars.sh - -#export GGML_SYCL_DEBUG=1 - -#ZES_ENABLE_SYSMAN=1, Support to get free memory of GPU by sycl::aspect::ext_intel_free_memory. Recommended to use when --split-mode = layer. - -INPUT_PROMPT="Building a website can be done in 10 simple steps:\nStep 1:" -MODEL_FILE=models/Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf -NGL=99 # Layers offloaded to the GPU. If the device runs out of memory, reduce this value according to the model you are using. -CONTEXT=4096 - -#support malloc device memory more than 4GB. -export UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS=1 - -if [ $# -gt 0 ]; then - GGML_SYCL_DEVICE=$1 - echo "Using $GGML_SYCL_DEVICE as the main GPU" - ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s 0 -c ${CONTEXT} -mg $GGML_SYCL_DEVICE -sm none -else - #use multiple GPUs with same max compute units - ZES_ENABLE_SYSMAN=1 ./build/bin/llama-completion -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s 0 -c ${CONTEXT} -fi diff --git a/examples/sycl/test.sh b/examples/sycl/test.sh new file mode 100755 index 0000000000..140c191466 --- /dev/null +++ b/examples/sycl/test.sh @@ -0,0 +1,130 @@ +#!/bin/bash + +# MIT license +# Copyright (C) 2024 Intel Corporation +# SPDX-License-Identifier: MIT + +Help() { + cat << EOF +Usage: $(basename "$0") [OPTIONS] + +This script processes files with specified options. + +Options: + -h, --help Display this help message and exit. + -c, --context Set context length. Bigger need more memory. + -p, --promote Prompt to start generation with. + -m, --model Full model file path. + -mg,--main-gpu Set main GPU ID (0 - n) for single GPU mode. + -sm,--split-mode How to split the model across multiple GPUs, one of: + - none: use one GPU only + - layer (default): split layers and KV across GPUs + - row: split rows across GPUs + -ngl,--n-gpu-layers Max. number of layers to store in VRAM (default: -1) + -lv,--log-verbosity Set the verbosity threshold. Messages with a higher verbosity will be + ignored. Values: + - 0: generic output + - 1: error + - 2: warning + - 3: info + - 4: debug + + +EOF +} + +BIN_FILE=./build/bin/llama-completion +SEED=0 +GPUS_SETTING="" + +INPUT_PROMPT="Building a website can be done in 10 simple steps:\nStep 1:" +MODEL_FILE=models/llama-2-7b.Q4_0.gguf +NGL=99 +CONTEXT=4096 +GGML_SYCL_DEVICE=-1 +SPLIT_MODE=layer +LOG_VERBOSE=3 +while [[ $# -gt 0 ]]; do + case "$1" in + -c|--context) + CONTEXT=$2 + # Shift twice to consume both the option flag and its value + shift + shift + ;; + -p|--promote) + # Option that is a simple flag (boolean) + INPUT_PROMPT="$2" + # Shift once to consume the option flag + shift + shift + ;; + -m|--model) + MODEL_FILE="$2" + # Shift twice to consume both the option flag and its value + shift + shift + ;; + -mg|--main-gpu) + GGML_SYCL_DEVICE=$2 + SPLIT_MODE=none + # Shift twice to consume both the option flag and its value + shift + shift + ;; + -sm|--split-mode) + SPLIT_MODE=$2 + # Shift twice to consume both the option flag and its value + shift + shift + ;; + -ngl|--n-gpu-layers) + NGL=$2 + # Shift twice to consume both the option flag and its value + shift + shift + ;; + -lv|--log-verbosity) + LOG_VERBOSE=$2 + # Shift twice to consume both the option flag and its value + shift + shift + ;; + -h|--help) + Help + exit 0 + ;; + *) + # Handle unknown options or stop processing options + echo "Invalid option: $1" + # Optional: exit script or shift to treat remaining as positional args + exit 1 + ;; + esac +done + + + +source /opt/intel/oneapi/setvars.sh + +#export GGML_SYCL_DEBUG=1 + +#ZES_ENABLE_SYSMAN=1, Support to get free memory of GPU by sycl::aspect::ext_intel_free_memory. Recommended to use when --split-mode = layer. + +#support malloc device memory more than 4GB. +export UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS=1 +echo "UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS=${UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS}" + +if [ $GGML_SYCL_DEVICE -ne -1 ]; then + echo "Use $GGML_SYCL_DEVICE as main GPU" + #use signle GPU only + GPUS_SETTING="-mg $GGML_SYCL_DEVICE -sm ${SPLIT_MODE}" + export ONEAPI_DEVICE_SELECTOR="level_zero:${$GGML_SYCL_DEVICE}" + echo "ONEAPI_DEVICE_SELECTOR=${ONEAPI_DEVICE_SELECTOR}" +else + echo "Use all Intel GPUs, including iGPU & dGPU" + fi + +echo "run cmd: ZES_ENABLE_SYSMAN=1 ${BIN_FILE} -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s ${SEED} -c ${CONTEXT} ${GPUS_SETTING} -lv ${LOG_VERBOSE} --mmap " +ZES_ENABLE_SYSMAN=1 ${BIN_FILE} -m ${MODEL_FILE} -no-cnv -p "${INPUT_PROMPT}" -n 400 -e -ngl ${NGL} -s ${SEED} -c ${CONTEXT} ${GPUS_SETTING} -lv ${LOG_VERBOSE} --mmap + diff --git a/examples/sycl/win-run-llama2.bat b/examples/sycl/win-run-llama2.bat index 32ff673ae2..1f2dab8d0a 100644 --- a/examples/sycl/win-run-llama2.bat +++ b/examples/sycl/win-run-llama2.bat @@ -7,5 +7,5 @@ set INPUT2="Building a website can be done in 10 simple steps:\nStep 1:" :: support malloc device memory more than 4GB. set UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS=1 - -.\build\bin\llama-completion.exe -m models\llama-2-7b.Q4_0.gguf -no-cnv -p %INPUT2% -n 400 -e -ngl 99 -s 0 +set LOAD_MODE="--mmap" +.\build\bin\llama-completion.exe -m models\llama-2-7b.Q4_0.gguf -no-cnv -p %INPUT2% -n 400 -e -ngl 99 -s 0 %LOAD_MODE% diff --git a/examples/sycl/win-run-llama3.bat b/examples/sycl/win-test.bat similarity index 69% rename from examples/sycl/win-run-llama3.bat rename to examples/sycl/win-test.bat index ea4ae69d6c..1f2dab8d0a 100644 --- a/examples/sycl/win-run-llama3.bat +++ b/examples/sycl/win-test.bat @@ -7,5 +7,5 @@ set INPUT2="Building a website can be done in 10 simple steps:\nStep 1:" :: support malloc device memory more than 4GB. set UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS=1 - -.\build\bin\llama-completion.exe -m models\Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf -no-cnv -p %INPUT2% -n 400 -s 0 -e -ngl 99 +set LOAD_MODE="--mmap" +.\build\bin\llama-completion.exe -m models\llama-2-7b.Q4_0.gguf -no-cnv -p %INPUT2% -n 400 -e -ngl 99 -s 0 %LOAD_MODE% From 8a98ba4582ea961f06d350e60cf3572015489745 Mon Sep 17 00:00:00 2001 From: Alexis Williams Date: Sun, 1 Feb 2026 12:10:48 -0800 Subject: [PATCH 085/206] nix: fix allowUnfreePredicate for packages with multiple licenses (#19237) The allowUnfreePredicate in pkgsCuda was wrapping p.meta.license in a list unconditionally. This fails when meta.license is already a list of licenses, as it creates a nested list and then tries to access .free and .shortName on the inner list. Use lib.toList instead, which correctly handles both cases: - Single license attrset -> wraps in list - List of licenses -> returns unchanged --- .devops/nix/nixpkgs-instances.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.devops/nix/nixpkgs-instances.nix b/.devops/nix/nixpkgs-instances.nix index 90d683a713..40cf58f196 100644 --- a/.devops/nix/nixpkgs-instances.nix +++ b/.devops/nix/nixpkgs-instances.nix @@ -4,7 +4,7 @@ # the module `{ pkgs ... }: { /* config */ }` implicitly uses # `_module.args.pkgs` (defined in this case by flake-parts). perSystem = - { system, ... }: + { lib, system, ... }: { _module.args = { # Note: bringing up https://zimbatm.com/notes/1000-instances-of-nixpkgs @@ -33,7 +33,7 @@ "CUDA EULA" "cuDNN EULA" ] - ) (p.meta.licenses or [ p.meta.license ]); + ) (p.meta.licenses or (lib.toList p.meta.license)); }; # Ensure dependencies use ROCm consistently pkgsRocm = import inputs.nixpkgs { From 3bc8d2cf23d86232bbdd9dcb60946f6a9199c15c Mon Sep 17 00:00:00 2001 From: Max Krasnyansky Date: Sun, 1 Feb 2026 14:13:38 -0800 Subject: [PATCH 086/206] Bump cmake max version (needed for Windows on Snapdragon builds) (#19188) * Bump max cmake version (needed for Windows on Snapdragon builds) * cmake: move max version setting into ggml/CMakeLists --- docs/backend/snapdragon/CMakeUserPresets.json | 5 ----- docs/backend/snapdragon/windows.md | 2 +- ggml/CMakeLists.txt | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/docs/backend/snapdragon/CMakeUserPresets.json b/docs/backend/snapdragon/CMakeUserPresets.json index 4cf473d05f..1faae2f3db 100644 --- a/docs/backend/snapdragon/CMakeUserPresets.json +++ b/docs/backend/snapdragon/CMakeUserPresets.json @@ -1,10 +1,5 @@ { "version": 5, - "cmakeMinimumRequired": { - "major": 3, - "minor": 28, - "patch": 0 - }, "configurePresets": [ { "name": "arm64-android-snapdragon", diff --git a/docs/backend/snapdragon/windows.md b/docs/backend/snapdragon/windows.md index 710ad8fdf4..e9346ccadf 100644 --- a/docs/backend/snapdragon/windows.md +++ b/docs/backend/snapdragon/windows.md @@ -128,7 +128,7 @@ However, additional settings are required for generating and signing HTP Ops lib > $env:HEXAGON_HTP_CERT="c:\Users\MyUsers\Certs\ggml-htp-v1.pfx" > $env:WINDOWS_SDK_BIN="C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\arm64" -> cmake --preset arm64-windows-snapdragon -B build-wos +> cmake --preset arm64-windows-snapdragon-release -B build-wos ... > cmake --install build-wos --prefix pkg-snapdragon ``` diff --git a/ggml/CMakeLists.txt b/ggml/CMakeLists.txt index b0b8e57898..71d1a7f0e3 100644 --- a/ggml/CMakeLists.txt +++ b/ggml/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.14) # for add_link_options and implicit target directories. +cmake_minimum_required(VERSION 3.14...3.28) # for add_link_options and implicit target directories. project("ggml" C CXX ASM) ### GGML Version From 2dc3ce2166a6c3b149402af60c15f4d80b472a6c Mon Sep 17 00:00:00 2001 From: Nikhil Jain Date: Sun, 1 Feb 2026 18:47:29 -0800 Subject: [PATCH 087/206] Remove pipeline cache mutexes (#19195) * Remove mutex for pipeline caches, since they are now per-thread. * Add comment * Run clang-format * Cleanup * Run CI again * Run CI once more * Run clang-format --- ggml/src/ggml-webgpu/ggml-webgpu.cpp | 213 ++++++++++++--------------- 1 file changed, 93 insertions(+), 120 deletions(-) diff --git a/ggml/src/ggml-webgpu/ggml-webgpu.cpp b/ggml/src/ggml-webgpu/ggml-webgpu.cpp index 22e2bfeb4c..4ef50e365e 100644 --- a/ggml/src/ggml-webgpu/ggml-webgpu.cpp +++ b/ggml/src/ggml-webgpu/ggml-webgpu.cpp @@ -146,8 +146,13 @@ struct webgpu_submission_futures { struct webgpu_buf_pool { std::vector free; - std::mutex mutex; - + // The pool must be synchronized because + // 1. The memset pool is shared globally by every ggml buffer, + // since allocating a pool per ggml buffer would consume too much memory. + // 2. For the per-thread buffer pools in webgpu_context, + // buffers are allocated and freed in Dawn callbacks, + // which can run on a different thread than the calling thread. + std::mutex mutex; std::condition_variable cv; void init(wgpu::Device device, @@ -266,7 +271,7 @@ struct webgpu_command { #endif }; -struct webgpu_capabilities_base { +struct webgpu_capabilities { wgpu::Limits limits; bool supports_subgroup_matrix = false; @@ -286,11 +291,11 @@ struct webgpu_global_context_struct { wgpu::Device device; wgpu::Queue queue; - webgpu_capabilities_base capabilities; + webgpu_capabilities capabilities; // Shared buffer to move data from device to host - wgpu::Buffer get_tensor_staging_buf; + wgpu::Buffer get_tensor_staging_buf; // Global mutex for pipeline and staging buffer, will be refactored to exclude pipeline caches. - std::recursive_mutex mutex; + std::recursive_mutex mutex; webgpu_buf_pool memset_buf_pool; std::map memset_pipelines; // variant or type index @@ -361,7 +366,6 @@ struct webgpu_context_struct { std::unordered_map pad_pipelines; size_t memset_bytes_per_thread; - }; typedef std::shared_ptr webgpu_context; @@ -383,9 +387,8 @@ struct ggml_backend_webgpu_device_context { // Per-thread data required to actually run WebGPU operations in a backend instance struct ggml_backend_webgpu_context { - webgpu_context webgpu_ctx; - std::once_flag init_once; - std::string name; + webgpu_context webgpu_ctx; + std::string name; }; // Per-thread data related to buffers @@ -861,20 +864,15 @@ static webgpu_command ggml_webgpu_pad(webgpu_context & ctx, ggml_tensor * src, g }; webgpu_pipeline pipeline; - { - // TODO: remove guard once pipeline caches are per-thread - std::lock_guard lock(ctx->global_ctx->mutex); - auto it = ctx->pad_pipelines.find(pipeline_key); - if (it != ctx->pad_pipelines.end()) { - pipeline = it->second; - } else { - ggml_webgpu_processed_shader processed = - ggml_webgpu_preprocess_pad_shader(ctx->p, wgsl_pad, shader_lib_ctx); - pipeline = - ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); - pipeline.context = processed.decisions; - ctx->pad_pipelines.emplace(pipeline_key, pipeline); - } + auto it = ctx->pad_pipelines.find(pipeline_key); + if (it != ctx->pad_pipelines.end()) { + pipeline = it->second; + } else { + ggml_webgpu_processed_shader processed = ggml_webgpu_preprocess_pad_shader(ctx->p, wgsl_pad, shader_lib_ctx); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline.context = processed.decisions; + ctx->pad_pipelines.emplace(pipeline_key, pipeline); } ggml_webgpu_generic_shader_decisions decisions = @@ -944,20 +942,16 @@ static std::optional ggml_webgpu_set_rows(webgpu_context & ctx, }; webgpu_pipeline pipeline; - // TODO: remove guard once pipeline caches are per-thread - { - std::lock_guard lock(ctx->global_ctx->mutex); - auto it = ctx->set_rows_pipelines.find(key); - if (it != ctx->set_rows_pipelines.end()) { - pipeline = it->second; - } else { - ggml_webgpu_processed_shader processed = - ggml_webgpu_preprocess_set_rows_shader(ctx->p, wgsl_set_rows, shader_lib_ctx); - pipeline = - ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); - pipeline.context = processed.decisions; - ctx->set_rows_pipelines.emplace(key, pipeline); - } + auto it = ctx->set_rows_pipelines.find(key); + if (it != ctx->set_rows_pipelines.end()) { + pipeline = it->second; + } else { + ggml_webgpu_processed_shader processed = + ggml_webgpu_preprocess_set_rows_shader(ctx->p, wgsl_set_rows, shader_lib_ctx); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline.context = processed.decisions; + ctx->set_rows_pipelines.emplace(key, pipeline); } ggml_webgpu_generic_shader_decisions decisions = @@ -1261,29 +1255,25 @@ static webgpu_command ggml_webgpu_flash_attn(webgpu_context & ctx, }; webgpu_pipeline pipeline; - // TODO: remove guard once pipeline caches are per-thread - { - std::lock_guard lock(ctx->global_ctx->mutex); - auto it = ctx->flash_attn_pipelines.find(key); - if (it != ctx->flash_attn_pipelines.end()) { - pipeline = it->second; - } else { - ggml_webgpu_flash_attn_shader_lib_context shader_lib_ctx = { - .key = key, - .sg_mat_m = ctx->global_ctx->capabilities.sg_mat_m, - .sg_mat_n = ctx->global_ctx->capabilities.sg_mat_n, - .sg_mat_k = ctx->global_ctx->capabilities.sg_mat_k, - .wg_mem_limit_bytes = ctx->global_ctx->capabilities.limits.maxComputeWorkgroupStorageSize, - .max_subgroup_size = ctx->global_ctx->capabilities.max_subgroup_size - }; + auto it = ctx->flash_attn_pipelines.find(key); + if (it != ctx->flash_attn_pipelines.end()) { + pipeline = it->second; + } else { + ggml_webgpu_flash_attn_shader_lib_context shader_lib_ctx = { + .key = key, + .sg_mat_m = ctx->global_ctx->capabilities.sg_mat_m, + .sg_mat_n = ctx->global_ctx->capabilities.sg_mat_n, + .sg_mat_k = ctx->global_ctx->capabilities.sg_mat_k, + .wg_mem_limit_bytes = ctx->global_ctx->capabilities.limits.maxComputeWorkgroupStorageSize, + .max_subgroup_size = ctx->global_ctx->capabilities.max_subgroup_size + }; - ggml_webgpu_processed_shader processed = - ggml_webgpu_preprocess_flash_attn_shader(ctx->p, wgsl_flash_attn, shader_lib_ctx); - pipeline = - ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); - pipeline.context = processed.decisions; - ctx->flash_attn_pipelines.emplace(key, pipeline); - } + ggml_webgpu_processed_shader processed = + ggml_webgpu_preprocess_flash_attn_shader(ctx->p, wgsl_flash_attn, shader_lib_ctx); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline.context = processed.decisions; + ctx->flash_attn_pipelines.emplace(key, pipeline); } ggml_webgpu_flash_attn_shader_decisions decisions = @@ -1308,20 +1298,16 @@ static webgpu_command ggml_webgpu_unary_op(webgpu_context & ctx, ggml_tensor * s }; webgpu_pipeline pipeline; - { - // TODO: remove guard once pipeline caches are per-thread - std::lock_guard lock(ctx->global_ctx->mutex); - auto it = ctx->unary_pipelines.find(pipeline_key); - if (it != ctx->unary_pipelines.end()) { - pipeline = it->second; - } else { - ggml_webgpu_processed_shader processed = - ggml_webgpu_preprocess_unary_shader(ctx->p, wgsl_unary, shader_lib_ctx); - pipeline = - ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); - pipeline.context = processed.decisions; - ctx->unary_pipelines.emplace(pipeline_key, pipeline); - } + auto it = ctx->unary_pipelines.find(pipeline_key); + if (it != ctx->unary_pipelines.end()) { + pipeline = it->second; + } else { + ggml_webgpu_processed_shader processed = + ggml_webgpu_preprocess_unary_shader(ctx->p, wgsl_unary, shader_lib_ctx); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + pipeline.context = processed.decisions; + ctx->unary_pipelines.emplace(pipeline_key, pipeline); } ggml_webgpu_generic_shader_decisions decisions = @@ -1743,19 +1729,15 @@ static webgpu_command ggml_webgpu_argmax(webgpu_context & ctx, ggml_tensor * src }; webgpu_pipeline pipeline; - { - // TODO: remove guard once pipeline caches are per-thread - std::lock_guard lock(ctx->global_ctx->mutex); - auto it = ctx->argmax_pipelines.find(shader_lib_ctx.vec4); - if (it != ctx->argmax_pipelines.end()) { - pipeline = it->second; - } else { - ggml_webgpu_processed_shader processed = - ggml_webgpu_preprocess_generic_shader(ctx->p, wgsl_argmax, shader_lib_ctx, "argmax"); - pipeline = - ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); - ctx->argmax_pipelines.emplace(shader_lib_ctx.vec4, pipeline); - } + auto it = ctx->argmax_pipelines.find(shader_lib_ctx.vec4); + if (it != ctx->argmax_pipelines.end()) { + pipeline = it->second; + } else { + ggml_webgpu_processed_shader processed = + ggml_webgpu_preprocess_generic_shader(ctx->p, wgsl_argmax, shader_lib_ctx, "argmax"); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + ctx->argmax_pipelines.emplace(shader_lib_ctx.vec4, pipeline); } uint32_t wg_x = ggml_nelements(dst); return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); @@ -1772,9 +1754,8 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr .order = order }; - std::lock_guard lock(ctx->global_ctx->mutex); - webgpu_pipeline argsort_pipeline; - auto it = ctx->argsort_pipelines.find(order); + webgpu_pipeline argsort_pipeline; + auto it = ctx->argsort_pipelines.find(order); if (it != ctx->argsort_pipelines.end()) { argsort_pipeline = it->second; } else { @@ -1963,19 +1944,15 @@ static webgpu_command ggml_webgpu_cumsum(webgpu_context & ctx, ggml_tensor * src .max_wg_size = ctx->global_ctx->capabilities.limits.maxComputeInvocationsPerWorkgroup, }; webgpu_pipeline pipeline; - // TODO: remove guard once pipeline caches are per-thread - { - std::lock_guard lock(ctx->global_ctx->mutex); - auto it = ctx->cumsum_pipelines.find(1); - if (it != ctx->cumsum_pipelines.end()) { - pipeline = it->second; - } else { - ggml_webgpu_processed_shader processed = - ggml_webgpu_preprocess_generic_shader(ctx->p, wgsl_cumsum, shader_lib_ctx, "cumsum"); - pipeline = - ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); - ctx->cumsum_pipelines.emplace(1, pipeline); - } + auto it = ctx->cumsum_pipelines.find(1); + if (it != ctx->cumsum_pipelines.end()) { + pipeline = it->second; + } else { + ggml_webgpu_processed_shader processed = + ggml_webgpu_preprocess_generic_shader(ctx->p, wgsl_cumsum, shader_lib_ctx, "cumsum"); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + ctx->cumsum_pipelines.emplace(1, pipeline); } uint32_t wg_x = ggml_nrows(dst); return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); @@ -2009,19 +1986,15 @@ static webgpu_command ggml_webgpu_sum_rows(webgpu_context & ctx, ggml_tensor * s }; webgpu_pipeline pipeline; - { - // TODO: remove guard once pipeline caches are per-thread - std::lock_guard lock(ctx->global_ctx->mutex); - auto it = ctx->sum_rows_pipelines.find(1); - if (it != ctx->sum_rows_pipelines.end()) { - pipeline = it->second; - } else { - ggml_webgpu_processed_shader processed = - ggml_webgpu_preprocess_generic_shader(ctx->p, wgsl_sum_rows, shader_lib_ctx, "sum_rows"); - pipeline = - ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); - ctx->sum_rows_pipelines.emplace(1, pipeline); - } + auto it = ctx->sum_rows_pipelines.find(1); + if (it != ctx->sum_rows_pipelines.end()) { + pipeline = it->second; + } else { + ggml_webgpu_processed_shader processed = + ggml_webgpu_preprocess_generic_shader(ctx->p, wgsl_sum_rows, shader_lib_ctx, "sum_rows"); + pipeline = + ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str()); + ctx->sum_rows_pipelines.emplace(1, pipeline); } uint32_t wg_x = total_sum ? 1 : ggml_nrows(dst); return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); @@ -3016,10 +2989,10 @@ static bool create_webgpu_device(ggml_backend_webgpu_reg_context * ctx) { #ifdef GGML_WEBGPU_GPU_PROFILE // Initialize buffer pool for timestamp queries, used for profiling - ctx->webgpu_global_ctx->timestamp_query_buf_pool.init(ctx->webgpu_global_ctx->device, WEBGPU_NUM_TIMESTAMP_QUERY_BUFS, - WEBGPU_TIMESTAMP_QUERY_BUF_SIZE_BYTES, - wgpu::BufferUsage::QueryResolve | wgpu::BufferUsage::CopySrc, - wgpu::BufferUsage::MapRead | wgpu::BufferUsage::CopyDst); + ctx->webgpu_global_ctx->timestamp_query_buf_pool.init( + ctx->webgpu_global_ctx->device, WEBGPU_NUM_TIMESTAMP_QUERY_BUFS, WEBGPU_TIMESTAMP_QUERY_BUF_SIZE_BYTES, + wgpu::BufferUsage::QueryResolve | wgpu::BufferUsage::CopySrc, + wgpu::BufferUsage::MapRead | wgpu::BufferUsage::CopyDst); #endif GGML_LOG_INFO( From b4d05a3d2fc7820444ca618570a3ac76cc12fe83 Mon Sep 17 00:00:00 2001 From: Sascha Rogmann <59577610+srogmann@users.noreply.github.com> Date: Mon, 2 Feb 2026 07:26:58 +0100 Subject: [PATCH 088/206] spec : various improvements ton ngram-map + docs (#19253) * spec: ngram-map and reasoning chats * spec: add t_begin and t_accept * ngram-map : add internal hash map * docs : update ngram-map, add ngram-mod * docs : fix ngram-map-k * docs : differences between implementations --- common/ngram-map.cpp | 204 ++++++++++++++++++++++++++++++++++++++--- common/ngram-map.h | 35 ++++++- common/speculative.cpp | 25 +++-- docs/speculative.md | 74 ++++++++++++++- 4 files changed, 307 insertions(+), 31 deletions(-) diff --git a/common/ngram-map.cpp b/common/ngram-map.cpp index 84fd761367..cab231bad7 100644 --- a/common/ngram-map.cpp +++ b/common/ngram-map.cpp @@ -7,6 +7,18 @@ #include #include +// prime number used for LCG hash function (32 bit), it is near (sqrt(5) - 1)/2 * 2^32. +#define LCG_FACTOR 2654435761UL + +// Compute the LCG hash of a n-gram of size len at offset start. +static uint32_t common_ngram_map_hash(const llama_tokens & tokens, size_t start, size_t len) { + uint32_t hash = 0; + for (size_t i = 0; i < len; ++i) { + hash = hash * LCG_FACTOR + tokens[start + i]; + } + return hash; +} + // Print the values of a sublist of `llama_tokens & inp` to a string in the form [v0, v1, v2, ...]. static std::string common_tokens_to_str(const llama_tokens & inp, size_t start, size_t length) { std::ostringstream oss; @@ -115,6 +127,100 @@ llama_tokens common_ngram_simple_draft( // maximum number of counted values of a ngram map value. #define COMMON_NGRAM_MAX_VALUE_COUNT 16380 +void common_ngram_map_begin( + common_ngram_map & map, const llama_tokens & tokens) { + size_t size_begin = tokens.size(); + + LOG_DBG("%s: begin, idx_last_draft=%zu, new begin=%zu, #keys=%zu\n", __func__, + map.idx_last_check, size_begin, map.keys.size()); + + size_t count_map_entries_upd = 0; + if (!map.key_map.empty() && size_begin < map.idx_last_check) { + if (map.show_key_map_stats) { + // Print statistics of hash map map_key. + size_t count_nonzero = 0; + uint32_t min_idx = UINT32_MAX; + uint32_t max_idx = 0; + for (size_t i = 0; i < map.key_map.size(); ++i) { + uint32_t key_idx = map.key_map[i]; + if (key_idx != 0) { + ++count_nonzero; + if (key_idx < min_idx) min_idx = key_idx; + if (key_idx > max_idx) max_idx = key_idx; + } + } + if (count_nonzero == 0) { + min_idx = 0; + } + LOG_INF("%s: key_map stats: entries=%zu, min_idx=%u, max_idx=%u, key_map_last_idx=%u\n", + __func__, count_nonzero, min_idx, max_idx, map.key_map_last_idx); + } + + // Update the map from hash to key index (clear outdated entries). + for (size_t i = 0; i < map.key_map.size(); ++i) { + uint32_t key_idx = map.key_map[i]; + if (key_idx >= map.size_last_begin) { + map.key_map[i] = 0; + count_map_entries_upd++; + } + } + map.key_map_last_idx = (map.size_last_begin > 0) ? map.size_last_begin - 1 : 0; + } + + if (size_begin < map.idx_last_check && !map.keys.empty()) { + // The next token generation will start at index size_begin. + // The tokens between map.size_last_begin and size_begin are no longer valid. + // + // Refresh map: Remove all entries with index >= map.size_last_begin. + size_t count_keys = map.keys.size(); + size_t count_keys_del = 0; + size_t count_values_del = 0; + for (int32_t i = map.keys.size() - 1; i >= 0; --i) { + common_ngram_map_key & key = map.keys[i]; + if (key.key_idx >= map.size_last_begin) { + // Delete the key. + LOG_DBG("%s: delete key %d at index %zu (>= size_last_begin=%zu)\n", __func__, i, key.key_idx, map.size_last_begin); + map.keys.erase(map.keys.begin() + i); + count_keys_del++; + continue; + } + if (map.key_only) { + continue; + } + + // Check the indices of the values. + for (int16_t j = COMMON_NGRAM_MAX_VALUES - 1; j >= 0; --j) { + common_ngram_map_value & value = key.values[j]; + if (value.value_idx >= map.size_last_begin) { + // Delete the value. + count_values_del++; + + // Move all values after this value to the left. + for (uint16_t k = j; k < COMMON_NGRAM_MAX_VALUES - 1; ++k) { + key.values[k] = key.values[k + 1]; + } + // Clear the last value. + key.values[COMMON_NGRAM_MAX_VALUES - 1].value_idx = 0; + key.values[COMMON_NGRAM_MAX_VALUES - 1].value_num = 0; + } + } + if (key.values[0].value_idx == 0) { + // No values left, delete the key. + LOG_DBG("%s: delete key %d at index %zu (no values left)\n", __func__, i, key.key_idx); + map.keys.erase(map.keys.begin() + i); + count_keys_del++; + } + } + + LOG_INF("%s: refresh map: idx_last_draft=%zu, new begin=%zu, #keys_checked=%zu, #keys_del=%zu, #values_del=%zu, #hashes_upd=%zu\n", __func__, + map.idx_last_check, size_begin, + count_keys, count_keys_del, count_values_del, count_map_entries_upd); + } + + map.idx_last_check = (map.size_last_begin > 0) ? map.size_last_begin - 1 : 0; + map.size_last_begin = size_begin; +} + void common_ngram_map_draft(common_ngram_map & map, const llama_tokens & inp, llama_token sampled, llama_tokens & draft) { @@ -129,6 +235,10 @@ void common_ngram_map_draft(common_ngram_map & map, if (cur_len < static_cast(2 * n + m)) { return; } + if (cur_len >= static_cast(UINT32_MAX)) { + // key_map uses uint32_t instead of size_t. + GGML_ABORT("%s: cur_len exceeds UINT32_MAX: %zu", __func__, cur_len); + } // Only check every check_rate tokens to save compute // i.e., perform check if (cur_len - idx_last_check) >= check_rate @@ -147,24 +257,92 @@ void common_ngram_map_draft(common_ngram_map & map, // search for the key in the map size_t match_pos = 0; - for (size_t j = cur_len - n - m - 1; j > 0; --j) { - bool match = true; - for (size_t k = 0; k < n; ++k) { - if (inp[j + k] != key_tokens[k]) { - match = false; - break; + if (map.size_last_begin > cur_len) { + GGML_ABORT("%s: map.size_last_begin > cur_len: %zu > %zu", __func__, map.size_last_begin, cur_len); + } + if (!map.key_map.empty()) { + // Search for the key in the map key_map from hash of ngrams to index of ngram. + uint32_t idx_hash = (common_ngram_map_hash(key_tokens, 0, n) % map.key_map.size()); + uint32_t idx_key = map.key_map[idx_hash]; + if (idx_key != 0 && idx_key < cur_len - n - m - 1) { + // Check if the key matches the key at idx_key (because of possible collisions). + bool match = true; + for (size_t k = 0; k < n; ++k) { + if (inp[idx_key + k] != key_tokens[k]) { + match = false; + break; + } + } + LOG_DBG("%s: key hash %x -> idx_key %d: match %d\n", __func__, idx_hash, idx_key, match ? 1 : 0); + if (match) { + match_pos = idx_key; } } - if (match) { - match_pos = j; - break; + } + if (match_pos == 0 && map.size_last_begin > (size_t) (n + m + 1)) { + // Search for the key in [1, map.size_last_begin - n - m -1], descending. + for (size_t j = map.size_last_begin - n - m - 1; j > map.key_map_last_idx; --j) { + // Check if the key matches the key. + bool match = true; + for (size_t k = 0; k < n; ++k) { + if (inp[j + k] != key_tokens[k]) { + match = false; + break; + } + } + if (match) { + match_pos = j; + break; + } + } + } + if (match_pos == 0) { + // In case of a reasoning chat, the part after size_last_begin may be deleted/reordered later. + // + // Search in [size_last_begin, cur_len - n - m - 1], descending. + for (size_t j = cur_len - n - m - 1; j > map.size_last_begin && j > map.key_map_last_idx; --j) { + bool match = true; + for (size_t k = 0; k < n; ++k) { + if (inp[j + k] != key_tokens[k]) { + match = false; + break; + } + } + if (match) { + match_pos = j; + break; + } } } if (match_pos > 0) { - LOG_INF("%s: cur_len = %zu, n = %d, m = %d, sz_tkns = %zu, sampled = %d, match_pos = %zu\n", __func__, + LOG_DBG("%s: cur_len = %zu, n = %d, m = %d, sz_tkns = %zu, sampled = %d, match_pos = %zu\n", __func__, cur_len, n, m, key_tokens.size(), sampled, match_pos); } + if (!map.key_map.empty()) { + // Add hashes of new ngrams in key_map. + // + // Use the same order as above. + if (map.size_last_begin > (size_t) (n + m + 1)) { + for (size_t j = map.size_last_begin - n - m - 1; j > map.key_map_last_idx; --j) { + // compute hash and store index of ngram at idx j in the map. + uint32_t idx_hash = (common_ngram_map_hash(inp, j, n) % map.key_map.size()); + if (map.key_map[idx_hash] == 0) { + map.key_map[idx_hash] = j; // collisions may occur + } + } + } + + for (size_t j = cur_len - n - m - 1; j > map.size_last_begin && j > map.key_map_last_idx; --j) { + // compute hash and store index of ngram at idx j in the map. + uint32_t idx_hash = (common_ngram_map_hash(inp, j, n) % map.key_map.size()); + if (map.key_map[idx_hash] == 0) { + map.key_map[idx_hash] = j; + } + } + map.key_map_last_idx = std::max(static_cast(cur_len - n - m - 1), map.key_map_last_idx); + } + if (match_pos == 0) { return; } @@ -215,8 +393,8 @@ void common_ngram_map_draft(common_ngram_map & map, draft.push_back(inp[match_pos + n + i]); } - LOG_INF("%s: key_offset = %zu, key_num = %d, draft.size = %zu\n", __func__, - key_offset, curr_key.key_num, draft.size()); + LOG_DBG("%s: key_idx = %zu, key_offset = %zu, key_num = %d, draft.size = %zu\n", __func__, + curr_key.key_idx, key_offset, curr_key.key_num, draft.size()); map.last_draft_created = false; map.last_draft_key_idx = key_offset; @@ -318,7 +496,7 @@ void common_ngram_map_draft(common_ngram_map & map, } } - if (sum_occur > 0 && max_occur < 3 * sum_occur) { + if (sum_occur > 0 && max_occur < 2 * sum_occur) { // The most frequent value is not much more frequent than the other values. // We do not use the draft. return; diff --git a/common/ngram-map.h b/common/ngram-map.h index b365034ac5..c094d513d5 100644 --- a/common/ngram-map.h +++ b/common/ngram-map.h @@ -9,6 +9,8 @@ // 2. ngram_map: lookup of n-grams followed by m-grams in token history using a map. // The map is a vector of key n-grams, and for each key n-gram there is a list of value m-grams. // +// ref: https://github.com/ggml-org/llama.cpp/pull/18471 +// #include "llama.h" #include "common.h" @@ -51,10 +53,13 @@ llama_tokens common_ngram_simple_draft( // maximum number of m-gram values stored for each key n-gram. #define COMMON_NGRAM_MAX_VALUES 4 +// number of entries in the (optional, size 0 to disable) map from ngram-hash to ngram-index. +#define COMMON_NGRAM_HASH_MAP_SIZE 262144 + // statistics of a m-gram after a known n-gram struct common_ngram_map_value { - size_t value_idx = 0; // index of value m-gram in token-history (0 if unused) - uint16_t value_num = 0; // number of occurences of this value m-gram after the key n-gram (0 in an unused values-slot) + size_t value_idx = 0; // index of value m-gram in token-history (0 if unused) + uint16_t value_num = 0; // number of occurences of this value m-gram after the key n-gram (0 in an unused values-slot) int16_t n_accepted = -1; // number of accepted tokens at last draft (-1 if unused) }; @@ -74,23 +79,43 @@ struct common_ngram_map { bool key_only; // true if only key n-grams are used, no values. - // first draft: vector only, no map. std::vector keys; // key n-grams which occur several times in token-history uint16_t check_rate; // check for speculative decoding without draft model for each check_rate token uint16_t min_hits; // minimum number of key hits to consider a draft + bool show_key_map_stats = false; // true, if statitics of the key_map should be printed. + common_ngram_map(uint16_t sz_key, uint16_t sz_value, bool only_keys, uint16_t check_rate, uint16_t min_hits) : size_key(sz_key), size_value(sz_value), key_only(only_keys), - check_rate(check_rate), min_hits(min_hits) {} + check_rate(check_rate), min_hits(min_hits) { + key_map.resize(COMMON_NGRAM_HASH_MAP_SIZE); // 2^18 hash entries, 0 entries if key_map shouldn't be used + } + + // In reasoning chats the previous reasoning block will be removed from context history. + // A rebuild of the ngram map is needed after that. + + size_t size_last_begin = 0; // number of tokens at previous start of generation bool last_draft_created = false; // true if a draft was created at last call. - size_t last_draft_key_idx = 0; // index of last key used for draft generation. + size_t last_draft_key_idx = 0; // index of last key used for draft generation (0 = no draft) uint16_t last_draft_value_idx = 0; // index of last value used for draft generation. size_t idx_last_check = 0; // index of last check in context history + + // optional map "hash to ngram-index" for faster lookup of n-grams. map is empty if unused. + // + // uint32_t instead of size_t (size of current histories is << UINT32_MAX) + std::vector key_map; // key_map[hash] = index of ngram in context window + uint32_t key_map_last_idx = 0; // index of the last ngram added to key_map }; +// Initialize the n-gram map with the given token history. +// map: the ngram map to initialize. +// tokens: the token history to base the map on. +void common_ngram_map_begin( + common_ngram_map & map, + const llama_tokens & tokens); // Searches for the n-gram in the history and checks whether a draft sequence should be generated. // map: the ngram map to search in. diff --git a/common/speculative.cpp b/common/speculative.cpp index a1a3b51c13..152aaa48d4 100644 --- a/common/speculative.cpp +++ b/common/speculative.cpp @@ -124,9 +124,9 @@ struct common_speculative_state { // TODO: track performance of most recent calls const bool gen_perf = true; // whether to generate performance stats. - // TODO: rename to t_draft_us - // TODO: add t_begin_us, t_accept_us - int64_t gen_duration_us = 0; // total time spent in this implementation in microseconds. + int64_t t_begin_us = 0; // total time spent in refresh of this implementation in microseconds. + int64_t t_draft_us = 0; // total time spent in generating drafts in this implementation in microseconds. + int64_t t_accept_us = 0; // total time spent in accumulation of this implementation in microseconds. common_speculative_state(enum common_speculative_type type) : type(type) {} @@ -499,7 +499,7 @@ struct common_speculative_state_ngram_map_k : public common_speculative_state { : common_speculative_state(type), map(std::move(map)) {} void begin(const llama_tokens & prompt) override { - GGML_UNUSED(prompt); + common_ngram_map_begin(map, prompt); } void draft( @@ -951,7 +951,12 @@ void common_speculative_begin(common_speculative * spec, const llama_tokens & pr } for (auto & impl : spec->impls) { + const int64_t t_start_us = impl->gen_perf ? ggml_time_us() : 0; + impl->begin(prompt); + + const int64_t t_now_us = impl->gen_perf ? ggml_time_us() : 0; + impl->t_begin_us += t_now_us - t_start_us; // accumulate duration for this refresh } } @@ -973,7 +978,7 @@ llama_tokens common_speculative_draft( const int64_t t_now_us = impl->gen_perf ? ggml_time_us() : 0; impl->drafts_call_count++; - impl->gen_duration_us += t_now_us - t_start_us; // accumulate duration for this implementation + impl->t_draft_us += t_now_us - t_start_us; // accumulate duration for this implementation } if (!result.empty()) { @@ -1001,12 +1006,15 @@ void common_speculative_accept(common_speculative * spec, uint16_t n_accepted) { GGML_ASSERT(impl); + const int64_t t_start_us = impl->gen_perf ? ggml_time_us() : 0; if (n_accepted > 0) { impl->drafts_accepted_count++; impl->drafts_accepted_tokens += n_accepted; } impl->accept(n_accepted); + const int64_t t_now_us = impl->gen_perf ? ggml_time_us() : 0; + impl->t_accept_us += t_now_us - t_start_us; // accumulate duration for this acculumulation } void common_speculative_print_stats(const common_speculative * spec) { @@ -1018,13 +1026,14 @@ void common_speculative_print_stats(const common_speculative * spec) { std::string str_perf; if (impl->gen_perf) { std::ostringstream oss; - oss << std::fixed << std::setprecision(3) << impl->gen_duration_us / 1000.0; - str_perf = ", dur = " + oss.str() + " ms"; + oss << std::fixed << std::setprecision(3) << impl->t_begin_us / 1000.0 << ", "; + oss << std::fixed << std::setprecision(3) << impl->t_draft_us / 1000.0 << ", "; + oss << std::fixed << std::setprecision(3) << impl->t_accept_us / 1000.0; + str_perf = ", dur(b,g,a) = " + oss.str() + " ms"; } else { str_perf = ""; } - // TODO: report time for begin() and accept() LOG_INF("statistics %s: #calls = %zu, #gen drafts = %zu, #acc drafts = %zu, #gen tokens = %zu, #acc tokens = %zu%s\n", common_speculative_type_to_str(impl->type).c_str(), impl->drafts_call_count, diff --git a/docs/speculative.md b/docs/speculative.md index 8281eaa2d3..03afab5b41 100644 --- a/docs/speculative.md +++ b/docs/speculative.md @@ -6,7 +6,7 @@ llama.cpp supports speculative decoding, a technique that can significantly acce ## Implementations -The `llama-server` application supports several implementations of speculative decoding: +The `llama-server` application supports several implementations of speculative decoding. An implementation with draft model can be mixed with an implementation without draft model. ### Draft Model (`draft`) @@ -32,12 +32,21 @@ An example to use this approach can be the rewriting of source code by a LLM. This implementation looks for the last n-gram in history that matches the current n-gram and creates a draft using the m tokens following the matched n-gram. It is the simplest self-speculative approach with minimal overhead. +``` +llama-server [...] --spec-type ngram-simple --draft-max 64 +``` + #### n-gram Map Key (`ngram-map-k`) -This implementation looks for the current n-gram of size n (called the _key_) in the token history. If the key n-gram is followed by the same m tokens (called the _mgram_) multiple times, it creates a draft using these m tokens. This approach requires a minimum number of occurrences (argument `--spec-ngram-min-hits`) before generating drafts. +This implementation looks for the current n-gram of size n (called the _key_) in the token history. If the key n-gram is followed by the same m tokens (called the _mgram_) multiple times, it creates a draft using these m tokens. This approach requires a minimum number of occurrences (argument `--spec-ngram-min-hits`, default is 1) before generating drafts. The number of accepted tokens is stored for each used n-gram. +**Example:** +``` +llama-server [...] --spec-type ngram-map-k --draft-max 64 +``` + #### n-gram Map Key-4-Values (`ngram-map-k4v`) This experimental implementation looks for the current n-gram of size n (called the _key_) in the token history. For each key, up to four _values_ (n-grams of size m, called _mgrams_) are tracked. An internal statistic counts the occurrences of each mgram after the key n-gram. If one mgram is significantly more frequent than the others, it is used as the draft. @@ -45,17 +54,65 @@ This experimental implementation looks for the current n-gram of size n (called The number of accepted tokens is stored for each used n-gram. **Example:** Server options to be used if there are a lot of longer repetitions. -```bash -llama-server [...] --spec-type ngram-map-k4v --spec-ngram-size-n 8 --spec-ngram-size-m 8 --spec-ngram-min-hits 2 +``` +llama-server [...] --spec-type ngram-map-k4v --spec-ngram-size-n 8 --spec-ngram-size-m 8 --spec-ngram-min-hits 2 --draft-max 64 ``` +### n-gram Mod (`ngram-mod`) + +Add basic ngram hasher for speculative decoding: + +- For each ngram, compute a hash using LCG +- For each computed hash, store the next token +- During speculation, iteratively compute the rolling hash of the last n tokens and pick the next token from the storage + +Some characteristics: + +- Lightweight (~16 MB) +- Constant memory and complexity +- Can generate variable draft lengths (i.e. m is not fixed) + +Currently, a single hash pool is shared across all server slots, so different requests can benefit from each other. + +**Sample usage:** + +``` +# notes: +# - small `n` are not recommended +# - MoEs require long drafts +# - dense models: can reduce `--draft-min` and `--draft-max` + +llama-server ... --spec-type ngram-mod --spec-ngram-size-n 24 --draft-min 48 --draft-max 64 +``` + +Applications: + +- Iterating over a block of text/code (e.g. in llama.vim) +- Reasoning models (when they have to repeat their thinking in the final answer) +- Summarization + +Example Video: + +- See #19164 + +### Differences between ngram-simple, ngram-map and ngram-mod + +- ngram-simple looks for a previous matching n-gram and inserts the following m-gram. +- ngram-map-k looks for a previous matching n-gram and inserts the following m-gram but uses an internal hash-map of n-grams in the current context window. +- ngram-mod uses a hash pool which is shared across all server slots. The hash pool is a map from n-gram hash to the next token (not the next m-gram as in ngram-map). ## Command-Line Options If a draft model is combined with a draftless decoding the draftless decoding has higher precedence. ``` ---spec-type [none|ngram-cache|ngram-simple|ngram-map-k|ngram-map-k4v] +--draft, --draft-n, --draft-max N number of tokens to draft for speculative decoding (default: 16) + (env: LLAMA_ARG_DRAFT_MAX) +--draft-min, --draft-n-min N minimum number of draft tokens to use for speculative decoding + (default: 0) + (env: LLAMA_ARG_DRAFT_MIN) +[...] +--spec-type [none|ngram-cache|ngram-simple|ngram-map-k|ngram-map-k4v|ngram-mod] type of speculative decoding to use when no draft model is provided (default: none) --spec-ngram-size-n N ngram size N for ngram-simple/ngram-map speculative decoding, length @@ -78,6 +135,7 @@ Specifies a type of speculative decoding without draft model. | `ngram-simple` | Use simple n-gram pattern matching | | `ngram-map-k` | Use n-gram pattern matching with n-gram-keys | | `ngram-map-k4v` | Use n-gram pattern matching with n-gram-keys and up to four m-gram values (experimental) | +| `ngram-mod` | Use basic ngram hasher for speculative decoding with shared pool | **Example:** Server-instance used to refactor source code. ```bash @@ -112,9 +170,15 @@ statistics ngram_simple: #calls = 15, #gen drafts = 5, #acc drafts = 5, #gen tok statistics draft: #calls = 10, #gen drafts = 10, #acc drafts = 10, #gen tokens = 110, #acc tokens = 98 ``` +``` +draft acceptance rate = 0.70312 ( 90 accepted / 128 generated) +statistics ngram_mod: #calls = 810, #gen drafts = 15, #acc drafts = 15, #gen tokens = 960, #acc tokens = 730, dur(b,g,a) = 0.149, 0.347, 0.005 ms +``` + - `#calls`: number of calls of this implementations - `#gen drafts`: number of drafts generated by this implementation - `#acc drafts`: number of drafts accepted (partially) by the main model - `#gen tokens`: number of tokens generated by this implementation (including rejected tokens) - `#acc tokens`: number of tokens accepted by the main model +- `dur(b,g,a): durations of begin (new prompt), generation and accumulation (process acceptance). From 7a4ca3cbd905907ac4d12bc14b878fdfbe4fd1d6 Mon Sep 17 00:00:00 2001 From: Christian Kastner Date: Mon, 2 Feb 2026 07:38:55 +0100 Subject: [PATCH 089/206] docs : Minor cleanups (#19252) * Update old URLs to github.com/ggml-org/ * Bump copyrights --- LICENSE | 2 +- docs/multimodal/minicpmo2.6.md | 2 +- docs/multimodal/minicpmo4.0.md | 4 ++-- docs/multimodal/minicpmv2.5.md | 2 +- docs/multimodal/minicpmv2.6.md | 2 +- docs/multimodal/minicpmv4.0.md | 4 ++-- docs/multimodal/minicpmv4.5.md | 4 ++-- examples/deprecation-warning/README.md | 2 +- examples/deprecation-warning/deprecation-warning.cpp | 2 +- examples/json_schema_to_grammar.py | 2 +- ggml/include/ggml-cann.h | 2 +- ggml/include/ggml.h | 2 +- ggml/src/ggml-cann/acl_tensor.cpp | 2 +- ggml/src/ggml-cann/acl_tensor.h | 2 +- ggml/src/ggml-cann/aclnn_ops.cpp | 2 +- ggml/src/ggml-cann/aclnn_ops.h | 2 +- ggml/src/ggml-cann/common.h | 2 +- ggml/src/ggml-cann/ggml-cann.cpp | 2 +- ggml/src/ggml-metal/CMakeLists.txt | 2 +- ggml/src/ggml-opencl/ggml-opencl.cpp | 2 +- ggml/src/ggml-sycl/ggml-sycl.cpp | 2 +- .../src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp | 2 +- ggml/src/ggml.c | 2 +- src/llama-chat.cpp | 2 +- src/llama-hparams.h | 2 +- src/llama-vocab.cpp | 8 ++++---- src/models/deepseek2.cpp | 2 +- tests/test-autorelease.cpp | 2 +- tools/cvector-generator/pca.hpp | 2 +- tools/export-lora/export-lora.cpp | 2 +- tools/perplexity/README.md | 2 +- tools/server/public_legacy/index-new.html | 2 +- tools/server/public_legacy/index.html | 2 +- tools/server/public_legacy/theme-mangotango.css | 2 +- tools/server/themes/buttons-top/index.html | 2 +- tools/server/themes/wild/index.html | 2 +- 36 files changed, 42 insertions(+), 42 deletions(-) diff --git a/LICENSE b/LICENSE index acb96ce78e..e7dca554bc 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023-2024 The ggml authors +Copyright (c) 2023-2026 The ggml authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/docs/multimodal/minicpmo2.6.md b/docs/multimodal/minicpmo2.6.md index 5e74058e5d..ce003b2ebc 100644 --- a/docs/multimodal/minicpmo2.6.md +++ b/docs/multimodal/minicpmo2.6.md @@ -9,7 +9,7 @@ Download [MiniCPM-o-2_6](https://huggingface.co/openbmb/MiniCPM-o-2_6) PyTorch m ### Build llama.cpp Readme modification time: 20250206 -If there are differences in usage, please refer to the official build [documentation](https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md) +If there are differences in usage, please refer to the official build [documentation](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md) Clone llama.cpp: ```bash diff --git a/docs/multimodal/minicpmo4.0.md b/docs/multimodal/minicpmo4.0.md index 49125ea05e..a5281779c2 100644 --- a/docs/multimodal/minicpmo4.0.md +++ b/docs/multimodal/minicpmo4.0.md @@ -8,11 +8,11 @@ Download [MiniCPM-o-4](https://huggingface.co/openbmb/MiniCPM-o-4) PyTorch model ### Build llama.cpp Readme modification time: 20250206 -If there are differences in usage, please refer to the official build [documentation](https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md) +If there are differences in usage, please refer to the official build [documentation](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md) Clone llama.cpp: ```bash -git clone https://github.com/ggerganov/llama.cpp +git clone https://github.com/ggml-org/llama.cpp cd llama.cpp ``` diff --git a/docs/multimodal/minicpmv2.5.md b/docs/multimodal/minicpmv2.5.md index 5eb87bc969..096f070a1c 100644 --- a/docs/multimodal/minicpmv2.5.md +++ b/docs/multimodal/minicpmv2.5.md @@ -8,7 +8,7 @@ Download [MiniCPM-Llama3-V-2_5](https://huggingface.co/openbmb/MiniCPM-Llama3-V- ### Build llama.cpp Readme modification time: 20250206 -If there are differences in usage, please refer to the official build [documentation](https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md) +If there are differences in usage, please refer to the official build [documentation](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md) Clone llama.cpp: ```bash diff --git a/docs/multimodal/minicpmv2.6.md b/docs/multimodal/minicpmv2.6.md index bc874bbd8c..a7db9c58db 100644 --- a/docs/multimodal/minicpmv2.6.md +++ b/docs/multimodal/minicpmv2.6.md @@ -8,7 +8,7 @@ Download [MiniCPM-V-2_6](https://huggingface.co/openbmb/MiniCPM-V-2_6) PyTorch m ### Build llama.cpp Readme modification time: 20250206 -If there are differences in usage, please refer to the official build [documentation](https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md) +If there are differences in usage, please refer to the official build [documentation](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md) Clone llama.cpp: ```bash diff --git a/docs/multimodal/minicpmv4.0.md b/docs/multimodal/minicpmv4.0.md index d04cb338ce..1d21b8cfdf 100644 --- a/docs/multimodal/minicpmv4.0.md +++ b/docs/multimodal/minicpmv4.0.md @@ -8,11 +8,11 @@ Download [MiniCPM-V-4](https://huggingface.co/openbmb/MiniCPM-V-4) PyTorch model ### Build llama.cpp Readme modification time: 20250731 -If there are differences in usage, please refer to the official build [documentation](https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md) +If there are differences in usage, please refer to the official build [documentation](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md) Clone llama.cpp: ```bash -git clone https://github.com/ggerganov/llama.cpp +git clone https://github.com/ggml-org/llama.cpp cd llama.cpp ``` diff --git a/docs/multimodal/minicpmv4.5.md b/docs/multimodal/minicpmv4.5.md index 8fea5e611d..a102c0fa51 100644 --- a/docs/multimodal/minicpmv4.5.md +++ b/docs/multimodal/minicpmv4.5.md @@ -8,11 +8,11 @@ Download [MiniCPM-V-4_5](https://huggingface.co/openbmb/MiniCPM-V-4_5) PyTorch m ### Build llama.cpp Readme modification time: 20250826 -If there are differences in usage, please refer to the official build [documentation](https://github.com/ggerganov/llama.cpp/blob/master/docs/build.md) +If there are differences in usage, please refer to the official build [documentation](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md) Clone llama.cpp: ```bash -git clone https://github.com/ggerganov/llama.cpp +git clone https://github.com/ggml-org/llama.cpp cd llama.cpp ``` diff --git a/examples/deprecation-warning/README.md b/examples/deprecation-warning/README.md index 59918ec2bb..9a1b263e8e 100644 --- a/examples/deprecation-warning/README.md +++ b/examples/deprecation-warning/README.md @@ -1,7 +1,7 @@ # Migration notice for binary filenames > [!IMPORTANT] -[2024 Jun 12] Binaries have been renamed w/ a `llama-` prefix. `main` is now `llama-cli`, `server` is `llama-server`, etc (https://github.com/ggerganov/llama.cpp/pull/7809) +[2024 Jun 12] Binaries have been renamed w/ a `llama-` prefix. `main` is now `llama-cli`, `server` is `llama-server`, etc (https://github.com/ggml-org/llama.cpp/pull/7809) This migration was important, but it is a breaking change that may not always be immediately obvious to users. diff --git a/examples/deprecation-warning/deprecation-warning.cpp b/examples/deprecation-warning/deprecation-warning.cpp index c2958ea12d..11f5147328 100644 --- a/examples/deprecation-warning/deprecation-warning.cpp +++ b/examples/deprecation-warning/deprecation-warning.cpp @@ -28,7 +28,7 @@ int main(int argc, char** argv) { fprintf(stdout, "\n"); fprintf(stdout, "WARNING: The binary '%s' is deprecated.\n", filename.c_str()); fprintf(stdout, " Please use '%s' instead.\n", replacement_filename.c_str()); - fprintf(stdout, " See https://github.com/ggerganov/llama.cpp/tree/master/examples/deprecation-warning/README.md for more information.\n"); + fprintf(stdout, " See https://github.com/ggml-org/llama.cpp/tree/master/examples/deprecation-warning/README.md for more information.\n"); fprintf(stdout, "\n"); return EXIT_FAILURE; diff --git a/examples/json_schema_to_grammar.py b/examples/json_schema_to_grammar.py index 886dd3d81e..9fc90a3c98 100755 --- a/examples/json_schema_to_grammar.py +++ b/examples/json_schema_to_grammar.py @@ -402,7 +402,7 @@ class SchemaConverter: Transforms a regular expression pattern into a GBNF rule. Input: https://json-schema.org/understanding-json-schema/reference/regular_expressions - Output: https://github.com/ggerganov/llama.cpp/blob/master/grammars/README.md + Output: https://github.com/ggml-org/llama.cpp/blob/master/grammars/README.md Unsupported features: negative/positive lookaheads, greedy/non-greedy modifiers. diff --git a/ggml/include/ggml-cann.h b/ggml/include/ggml-cann.h index b469e228d0..74af465337 100644 --- a/ggml/include/ggml-cann.h +++ b/ggml/include/ggml-cann.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2024 The ggml authors + * Copyright (c) 2023-2026 The ggml authors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to diff --git a/ggml/include/ggml.h b/ggml/include/ggml.h index 1988d16dc4..f759e2d588 100644 --- a/ggml/include/ggml.h +++ b/ggml/include/ggml.h @@ -6,7 +6,7 @@ // This documentation is still a work in progress. // If you wish some specific topics to be covered, feel free to drop a comment: // -// https://github.com/ggerganov/whisper.cpp/issues/40 +// https://github.com/ggml-org/whisper.cpp/issues/40 // // ## Overview // diff --git a/ggml/src/ggml-cann/acl_tensor.cpp b/ggml/src/ggml-cann/acl_tensor.cpp index 7b7042a1f5..e95d3c4d88 100644 --- a/ggml/src/ggml-cann/acl_tensor.cpp +++ b/ggml/src/ggml-cann/acl_tensor.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2024 The ggml authors + * Copyright (c) 2023-2026 The ggml authors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to diff --git a/ggml/src/ggml-cann/acl_tensor.h b/ggml/src/ggml-cann/acl_tensor.h index 7deac38342..4737773a4d 100644 --- a/ggml/src/ggml-cann/acl_tensor.h +++ b/ggml/src/ggml-cann/acl_tensor.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2024 The ggml authors + * Copyright (c) 2023-2026 The ggml authors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to diff --git a/ggml/src/ggml-cann/aclnn_ops.cpp b/ggml/src/ggml-cann/aclnn_ops.cpp index 02867e4fdb..87ac05748e 100644 --- a/ggml/src/ggml-cann/aclnn_ops.cpp +++ b/ggml/src/ggml-cann/aclnn_ops.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2024 The ggml authors + * Copyright (c) 2023-2026 The ggml authors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to diff --git a/ggml/src/ggml-cann/aclnn_ops.h b/ggml/src/ggml-cann/aclnn_ops.h index b76e4707ac..3effa1c289 100644 --- a/ggml/src/ggml-cann/aclnn_ops.h +++ b/ggml/src/ggml-cann/aclnn_ops.h @@ -1,5 +1,5 @@ /** - * Copyright (c) 2023-2024 The ggml authors + * Copyright (c) 2023-2026 The ggml authors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to diff --git a/ggml/src/ggml-cann/common.h b/ggml/src/ggml-cann/common.h index fb3e7572e2..0120f0dfd1 100644 --- a/ggml/src/ggml-cann/common.h +++ b/ggml/src/ggml-cann/common.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2024 The ggml authors + * Copyright (c) 2023-2026 The ggml authors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index 42c6c67a40..6b2dbdd359 100644 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2024 The ggml authors + * Copyright (c) 2023-2026 The ggml authors * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to diff --git a/ggml/src/ggml-metal/CMakeLists.txt b/ggml/src/ggml-metal/CMakeLists.txt index 9c0b3db859..42054d841a 100644 --- a/ggml/src/ggml-metal/CMakeLists.txt +++ b/ggml/src/ggml-metal/CMakeLists.txt @@ -71,7 +71,7 @@ else() # disabling fast math is needed in order to pass tests/test-backend-ops # note: adding -fno-inline fixes the tests when using MTL_SHADER_VALIDATION=1 # note: unfortunately, we have to call it default.metallib instead of ggml.metallib - # ref: https://github.com/ggerganov/whisper.cpp/issues/1720 + # ref: https://github.com/ggml-org/whisper.cpp/issues/1720 # note: adding -g causes segmentation fault during compile #set(XC_FLAGS -fno-fast-math -fno-inline -g) set(XC_FLAGS -fno-fast-math -fno-inline) diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 4850c11d14..0f0eb3a9d8 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -3740,7 +3740,7 @@ static enum ggml_status ggml_backend_opencl_buffer_init_tensor(ggml_backend_buff // Reuse extra of the parent tensor. The offset of this view tensor // becomes `extra->offset + view_offs` and needs to be calculated when // it is used. This changes is needed because of the change to - // ggml_alloc.c in https://github.com/ggerganov/llama.cpp/pull/7640. + // ggml_alloc.c in https://github.com/ggml-org/llama.cpp/pull/7640. // `buffer` passed in here will always be `tensor->buffer`. It is OK // to allocate extras from the same buffer context for ordinary // intermediate tensors. But for views into kv cache tensors, doing so diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index 74b4ed91cc..12f1e7717b 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -3390,7 +3390,7 @@ static void ggml_sycl_mul_mat(ggml_backend_sycl_context & ctx, const ggml_tensor // mmvq and mmq need the __dp4a instruction which is available for gen12+ - // Workaround in https://github.com/ggerganov/llama.cpp/commit/95f84d5ce8b449a9b16009434aca800df504a02e + // Workaround in https://github.com/ggml-org/llama.cpp/commit/95f84d5ce8b449a9b16009434aca800df504a02e use_mul_mat_q = use_mul_mat_q && (src0->type != GGML_TYPE_IQ2_XXS); #ifdef SYCL_USE_XMX use_mul_mat_q = use_mul_mat_q && (src1->ne[1] <= MMQ_MAX_BATCH_SIZE); diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp b/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp index bbdbf9dcaa..ca486a288a 100644 --- a/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp +++ b/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp @@ -330,7 +330,7 @@ void string_to_spv_func(std::string name, std::string in_path, std::string out_p std::vector cmd = {GLSLC, "-fshader-stage=compute", target_env, in_path, "-o", out_path}; #endif - // disable spirv-opt for coopmat shaders for https://github.com/ggerganov/llama.cpp/issues/10734 + // disable spirv-opt for coopmat shaders for https://github.com/ggml-org/llama.cpp/issues/10734 // disable spirv-opt for bf16 shaders for https://github.com/ggml-org/llama.cpp/issues/15344 // disable spirv-opt for rope shaders for https://github.com/ggml-org/llama.cpp/issues/16860 if (!coopmat && name.find("bf16") == std::string::npos && name.find("rope") == std::string::npos) { diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index 1725ad1654..e1471b540e 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -6562,7 +6562,7 @@ static void ggml_compute_backward( case GGML_OP_DIAG_MASK_INF: { if (src0_needs_grads) { /* ggml_diag_mask_inf_impl() shouldn't be here */ - /* ref: https://github.com/ggerganov/llama.cpp/pull/4203#discussion_r1412377992 */ + /* ref: https://github.com/ggml-org/llama.cpp/pull/4203#discussion_r1412377992 */ const int n_past = ((const int32_t *) tensor->op_params)[0]; ggml_add_or_set(ctx, cgraph, isrc0, ggml_diag_mask_zero_impl(ctx, grad, n_past, false)); } diff --git a/src/llama-chat.cpp b/src/llama-chat.cpp index 3c7e0afdae..c415a998f3 100644 --- a/src/llama-chat.cpp +++ b/src/llama-chat.cpp @@ -233,7 +233,7 @@ int32_t llm_chat_apply_template( llm_chat_template tmpl, const std::vector & chat, std::string & dest, bool add_ass) { - // Taken from the research: https://github.com/ggerganov/llama.cpp/issues/5527 + // Taken from the research: https://github.com/ggml-org/llama.cpp/issues/5527 std::stringstream ss; if (tmpl == LLM_CHAT_TEMPLATE_CHATML) { // chatml template diff --git a/src/llama-hparams.h b/src/llama-hparams.h index caed0ec1b7..dfbc7d95e9 100644 --- a/src/llama-hparams.h +++ b/src/llama-hparams.h @@ -195,7 +195,7 @@ struct llama_hparams { uint32_t n_deepstack_layers = 0; // needed by encoder-decoder models (e.g. T5, FLAN-T5) - // ref: https://github.com/ggerganov/llama.cpp/pull/8141 + // ref: https://github.com/ggml-org/llama.cpp/pull/8141 llama_token dec_start_token_id = LLAMA_TOKEN_NULL; uint32_t dec_n_layer = 0; diff --git a/src/llama-vocab.cpp b/src/llama-vocab.cpp index a23950d007..74a8496f9e 100644 --- a/src/llama-vocab.cpp +++ b/src/llama-vocab.cpp @@ -90,7 +90,7 @@ static_assert(std::is_trivially_copyable::value, "llm_symbol is not // // SPM tokenizer // original implementation: -// https://github.com/ggerganov/llama.cpp/commit/074bea2eb1f1349a0118239c4152914aecaa1be4 +// https://github.com/ggml-org/llama.cpp/commit/074bea2eb1f1349a0118239c4152914aecaa1be4 // struct llm_bigram_spm { @@ -285,7 +285,7 @@ struct llm_tokenizer_bpe : llm_tokenizer { // original regex from tokenizer.json //"(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}{1,3}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+", - // adapted: https://github.com/ggerganov/llama.cpp/pull/6920#issuecomment-2080233989 + // adapted: https://github.com/ggml-org/llama.cpp/pull/6920#issuecomment-2080233989 "(?:'[sS]|'[tT]|'[rR][eE]|'[vV][eE]|'[mM]|'[lL][lL]|'[dD])|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}{1,3}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+", }; break; @@ -2390,7 +2390,7 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) { // maintain a list of tokens that cause end-of-generation // this is currently determined based on the token text, which is obviously not ideal - // ref: https://github.com/ggerganov/llama.cpp/issues/9606 + // ref: https://github.com/ggml-org/llama.cpp/issues/9606 special_eog_ids.clear(); if (special_fim_pad_id != LLAMA_TOKEN_NULL && special_eog_ids.count(special_fim_pad_id) == 0) { @@ -3079,7 +3079,7 @@ std::vector llama_vocab::impl::tokenize( } int32_t llama_vocab::impl::token_to_piece(llama_token token, char * buf, int32_t length, int32_t lstrip, bool special) const { - // ref: https://github.com/ggerganov/llama.cpp/pull/7587#discussion_r1620983843 + // ref: https://github.com/ggml-org/llama.cpp/pull/7587#discussion_r1620983843 static const int attr_special = LLAMA_TOKEN_ATTR_UNKNOWN | LLAMA_TOKEN_ATTR_CONTROL; const llama_token_attr attr = token_get_attr(token); if (!special && (attr & attr_special)) { diff --git a/src/models/deepseek2.cpp b/src/models/deepseek2.cpp index 297dca5136..987f449934 100644 --- a/src/models/deepseek2.cpp +++ b/src/models/deepseek2.cpp @@ -14,7 +14,7 @@ llm_build_deepseek2::llm_build_deepseek2(const llama_model & model, const llm_gr const uint32_t kv_lora_rank = hparams.n_lora_kv; // We have to pre-scale kq_scale and attn_factor to make the YaRN RoPE work correctly. - // See https://github.com/ggerganov/llama.cpp/discussions/7416 for detailed explanation. + // See https://github.com/ggml-org/llama.cpp/discussions/7416 for detailed explanation. // And also: https://github.com/ggml-org/llama.cpp/pull/17945 [TAG_DEEPSEEK2_YARN_LOG_MUL_FIX] // first cancel the adjustment from llama_hparams::yarn_attn_factor_adjust to get the original attn_factor diff --git a/tests/test-autorelease.cpp b/tests/test-autorelease.cpp index 35b09aaeac..ca87c56a8f 100644 --- a/tests/test-autorelease.cpp +++ b/tests/test-autorelease.cpp @@ -1,4 +1,4 @@ -// ref: https://github.com/ggerganov/llama.cpp/issues/4952#issuecomment-1892864763 +// ref: https://github.com/ggml-org/llama.cpp/issues/4952#issuecomment-1892864763 #include #include diff --git a/tools/cvector-generator/pca.hpp b/tools/cvector-generator/pca.hpp index e88bbdde93..afd3bf6380 100644 --- a/tools/cvector-generator/pca.hpp +++ b/tools/cvector-generator/pca.hpp @@ -290,7 +290,7 @@ static void power_iteration( ggml_gallocr_free(allocr); // TODO @ngxson : The output vector is randomly inverted - // Solution: https://github.com/ggerganov/llama.cpp/pull/8069#issuecomment-2185328171 + // Solution: https://github.com/ggml-org/llama.cpp/pull/8069#issuecomment-2185328171 } static void run_pca( diff --git a/tools/export-lora/export-lora.cpp b/tools/export-lora/export-lora.cpp index f038019b00..41f426208f 100644 --- a/tools/export-lora/export-lora.cpp +++ b/tools/export-lora/export-lora.cpp @@ -190,7 +190,7 @@ struct lora_merge_ctx { gguf_set_val_u32(ctx_out, "general.file_type", LLAMA_FTYPE_MOSTLY_F16); // check if all lora adapters have the same tensors - // TODO: remove this when we can support merging subset of adapters. Ref: https://github.com/ggerganov/llama.cpp/pull/8607#discussion_r1686027777 + // TODO: remove this when we can support merging subset of adapters. Ref: https://github.com/ggml-org/llama.cpp/pull/8607#discussion_r1686027777 static const char * err_no_subset_adapter = "Input adapters do not have the same list of tensors. This is not yet supported. Please merge the adapter one-by-one instead of merging all at once."; if (adapters.size() > 1) { for (size_t i = 1; i < adapters.size(); ++i) { diff --git a/tools/perplexity/README.md b/tools/perplexity/README.md index 33a46d1a2e..eb3846072e 100644 --- a/tools/perplexity/README.md +++ b/tools/perplexity/README.md @@ -29,7 +29,7 @@ In addition to the KL divergence the following statistics are calculated with `- * Mean change in "correct" token probability. Positive values mean the model gets better at prediction, negative values mean it gets worse. * Pearson correlation coefficient of the "correct" token probabilites between models. * Percentiles of change in "correct" token probability. Positive values mean the model gets better at prediction, negative values mean it gets worse. Can be used to judge noise vs. quality loss from quantization. If the percentiles are symmetric then the quantization is essentially just adding noise. If the negative values are significantly larger than the positive values then this indicates that the model is actually becoming worse from the quantization. -* The root mean square of the change in token probabilities. If you were to assume that the quantization simply causes Gaussian noise on the token probabilities then this would be the standard deviation of said noise. The uncertainty on the value is calculated that the change in token probabilities follows a Gaussian distribution. Related discussion: https://github.com/ggerganov/llama.cpp/discussions/2875 . +* The root mean square of the change in token probabilities. If you were to assume that the quantization simply causes Gaussian noise on the token probabilities then this would be the standard deviation of said noise. The uncertainty on the value is calculated that the change in token probabilities follows a Gaussian distribution. Related discussion: https://github.com/ggml-org/llama.cpp/discussions/2875 . * Same top p: Percentage of how often the token was assigned the highest probabilites by both models. The uncertainty is calculated from the Gaussian approximation of the binomial distribution. ## LLaMA 3 8b Scoreboard diff --git a/tools/server/public_legacy/index-new.html b/tools/server/public_legacy/index-new.html index cbfbbdf280..e2f39d6687 100644 --- a/tools/server/public_legacy/index-new.html +++ b/tools/server/public_legacy/index-new.html @@ -1096,7 +1096,7 @@ return html`

`; diff --git a/tools/server/public_legacy/index.html b/tools/server/public_legacy/index.html index 75f39330a7..98d56ea8b1 100644 --- a/tools/server/public_legacy/index.html +++ b/tools/server/public_legacy/index.html @@ -1281,7 +1281,7 @@ `; diff --git a/tools/server/public_legacy/theme-mangotango.css b/tools/server/public_legacy/theme-mangotango.css index e433802453..315daf734a 100755 --- a/tools/server/public_legacy/theme-mangotango.css +++ b/tools/server/public_legacy/theme-mangotango.css @@ -1,5 +1,5 @@ /* Author: Yazan Agha-Schrader */ -/* Inspiration from llama.cpp logo/banner https://github.com/ggerganov/llama.cpp#readme */ +/* Inspiration from llama.cpp logo/banner https://github.com/ggml-org/llama.cpp#readme */ .theme-mangotango { diff --git a/tools/server/themes/buttons-top/index.html b/tools/server/themes/buttons-top/index.html index 3fb88fcc88..cb5af587aa 100644 --- a/tools/server/themes/buttons-top/index.html +++ b/tools/server/themes/buttons-top/index.html @@ -1032,7 +1032,7 @@ `; diff --git a/tools/server/themes/wild/index.html b/tools/server/themes/wild/index.html index 73f36d4b29..601f7762cd 100644 --- a/tools/server/themes/wild/index.html +++ b/tools/server/themes/wild/index.html @@ -1036,7 +1036,7 @@ `; From 1239267cc4e5a1c9fc6546825eefe13c856e7458 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 2 Feb 2026 08:51:25 +0200 Subject: [PATCH 090/206] authors : update (#19263) [no ci] --- AUTHORS | 1085 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 749 insertions(+), 336 deletions(-) diff --git a/AUTHORS b/AUTHORS index 0af9f44ad4..c297f3c217 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,127 +1,228 @@ -# date: Sat Mar 8 18:23:52 EET 2025 +# date: Mon Feb 2 08:45:04 EET 2026 # this file is auto-generated by scripts/gen-authors.sh +Нияз Гарифзянов <112617865+garrnizon@users.noreply.github.com> +杨朱 · Kiki +エシュナヴァリシア <148695646+eternaphia@users.noreply.github.com> +吴小白 <296015668@qq.com> +源文雨 <41315874+fumiama@users.noreply.github.com> +蕭澧邦 <45505768+shou692199@users.noreply.github.com> +도로로도로또 <60079918+dororodoroddo@users.noreply.github.com> +손희준 +谢乃闻 0cc4m +0Marble <85058989+0Marble@users.noreply.github.com> 0xspringtime <110655352+0xspringtime@users.noreply.github.com> 20kdc +2114L3 <2114L3@users.noreply.github.com> 2f38b454 3ooabkhxtn <31479382+3ooabkhxtn@users.noreply.github.com> 44670 <44670@users.noreply.github.com> +4onen <11580688+4onen@users.noreply.github.com> 65a <10104049+65a@users.noreply.github.com> 708-145 <40387547+708-145@users.noreply.github.com> -AN Long -AT +a-n-n-a-l-e-e <150648636+a-n-n-a-l-e-e@users.noreply.github.com> +a3sh <38979186+A3shTnT@users.noreply.github.com> +aa956 +Aadeshveer Singh <24b0926@iitb.ac.in> +Aadeshveer Singh Aarni Koskela Aaron Miller Aaron Teo <57927438+taronaeo@users.noreply.github.com> +Aaron Teo Aaryaman Vasishta Abheek Gulati Abhilash Majumder <30946547+abhilash1910@users.noreply.github.com> Abhishek Gopinath K <31348521+overtunned@users.noreply.github.com> +Acly +Adam +adel boussaken Adithya Balaji AdithyanI Adrian Adrian Hesketh Adrian Kretz +Adrian Lundberg <47256989+alundb@users.noreply.github.com> Adrien Gallouët Adrien Gallouët +afrideva <95653597+afrideva@users.noreply.github.com> +ag2s20150909 <19373730+ag2s20150909@users.noreply.github.com> +agray3 Ahmad Tameem <113388789+Tameem-10xE@users.noreply.github.com> Ahmet Zeer +ai-fonsi +Aidan <99101158+gSUz92nc@users.noreply.github.com> AidanBeltonS <87009434+AidanBeltonS@users.noreply.github.com> AidanBeltonS Aisuko Akarshan Biswas Akarshan Biswas Akarshan Biswas +akawrykow <142945436+akawrykow@users.noreply.github.com> Al Mochkin <14274697+amochkin@users.noreply.github.com> +Alan Gray +Alawode Oluwandabira Albert Jin Alberto <57916483+albbus-stack@users.noreply.github.com> +Alberto Cabrera Pérez <1478977+Alcpz@users.noreply.github.com> Alberto Cabrera Pérez Alberto Cabrera Pérez +Alberto Cabrera Pérez +Aldehir Rojas +alek3y <44779186+alek3y@users.noreply.github.com> +Aleksander Grygier Aleksei Nikiforov <103434461+AlekseiNikiforovIBM@users.noreply.github.com> +Alessandro98-git <61804547+Alessandro98-git@users.noreply.github.com> Alex Alex Azarov Alex Azarov Alex Brooks +Alex Fanthome Alex Klinkhamer Alex Klinkhamer Alex Nguyen Alex O'Connell <35843486+acon96@users.noreply.github.com> Alex Petenchea Alex Renda +Alex Trotta <44127594+Ahajha@users.noreply.github.com> Alex Tuddenham <61622354+AlexsCode@users.noreply.github.com> Alex von Gluck IV +Alex Wu +alex-spacemit Alexey Parfenov +Alexis Williams +alexpinel <93524949+alexpinel@users.noreply.github.com> +Alfred Ali Chraghi <63465728+alichraghi@users.noreply.github.com> Ali Nehzat Ali Tariq +Ali Tariq Alon +alonfaraj AlpinDale <52078762+AlpinDale@users.noreply.github.com> +alwqx +Aman +Aman Gupta +amd-dwang +amd-lalithnc Amir +amirai21 <89905406+amirai21@users.noreply.github.com> AmirAli Mirian <37371367+amiralimi@users.noreply.github.com> +amritahs-ibm +AN Long Ananta Bastola Anas Ahouzi <112881240+aahouzi@users.noreply.github.com> +Anav Prasad +anavp-nvidia +Andika Wasisto András Salamon Andreas (Andi) Kunar Andreas Kieslinger <47689530+aendk@users.noreply.github.com> Andrei +Andrew Aladjev Andrew Canis Andrew Downing Andrew Duffy Andrew Godfrey +Andrew Marshall Andrew Minh Nguyen <40281306+amqdn@users.noreply.github.com> +andrijdavid Andy Salerno Andy Tai +Ankur Verma <31362771+ankurvdev@users.noreply.github.com> +anon998 <131767832+anon998@users.noreply.github.com> +Anri Lombard +Anthony Umfer Anthony Van de Gejuchte +antichristHater <142441588+antichristHater@users.noreply.github.com> Antoine Viallon +Anton Mitkov +Anton Mitkov Antonis Makropoulos +Anudit Nagar +anzz1 +apaz +apcameron <37645737+apcameron@users.noreply.github.com> +arch-btw <57669023+arch-btw@users.noreply.github.com> +arcrank +ardfork <134447697+ardfork@users.noreply.github.com> Arik Poznanski +arlo-phoenix <140345165+arlo-phoenix@users.noreply.github.com> Armen Kaleshian Artem Artem Zinnatullin Artyom Lebedev +aryantandon01 <80969509+aryantandon01@users.noreply.github.com> Asbjørn Olling Ásgeir Bjarni Ingvarsson Asghar Ghorbani Ashish <1856117+ashishdatta@users.noreply.github.com> Ashok Gelal <401055+ashokgelal@users.noreply.github.com> Ashraful Islam +AT +at8u <129688334+at8u@users.noreply.github.com> +Atharva Dubey Atsushi Tatsuma +aubreyli Austin <77757836+teleprint-me@users.noreply.github.com> AustinMroz -BADR -BB-fat <45072480+BB-fat@users.noreply.github.com> +automaticcat +awatuna <23447591+awatuna@users.noreply.github.com> +b4b4o Bach Le +BADR +bagheera <59658056+bghira@users.noreply.github.com> Bailey Chittle <39804642+bachittle@users.noreply.github.com> +bandoti <141645996+bandoti@users.noreply.github.com> BarfingLemurs <128182951+BarfingLemurs@users.noreply.github.com> +Bart Louwers +Bartowski <3266127+bartowski1182@users.noreply.github.com> Bartowski +Bas Nijholt +bashayer hijji +BB-fat <45072480+BB-fat@users.noreply.github.com> Behnam M <58621210+ibehnam@users.noreply.github.com> +beiller +Beinsezii <39478211+Beinsezii@users.noreply.github.com> Ben Ashbaugh +Ben Chen Ben Garney Ben Siraphob Ben Williams Benjamin Findley <39356821+Kartoffelsaft@users.noreply.github.com> Benjamin Lecaillon <84293038+blecaillon@users.noreply.github.com> +Benni <73313922+BenjaminBruenau@users.noreply.github.com> Benson Wong Bernat Vadell Bernhard M. Wiedemann Bert Wagner +bhubbb <79117352+bhubbb@users.noreply.github.com> Billel Mokeddem Bingan <70050083+binganao@users.noreply.github.com> +Bizhao Shi <37729561+shibizhao@users.noreply.github.com> Bjarke Viksøe <164612031+bviksoe@users.noreply.github.com> +Björn Ganster +bmwl +Bo Zheng <368586905@qq.com> +bobqianic <129547291+bobqianic@users.noreply.github.com> Bodhi <3882561+BodhiHu@users.noreply.github.com> Bodo Graumann +Boian Berberov <7432115+bberberov@users.noreply.github.com> Bono Lv Borislav Stanimirov Borislav Stanimirov +Bowen Han Branden Butler Brandon Squizzato <35474886+bsquizz@users.noreply.github.com> Brian Brian Cunnie Bruce MacDonald +brucepro Bryan Honof -CJ Pais -CRD716 +bryanSwk <93190252+bryanSwk@users.noreply.github.com> +bsilvereagle +bssrdf +byte-6174 <88070277+byte-6174@users.noreply.github.com> Calvin Laurenson Cameron Cameron Kaiser @@ -132,20 +233,33 @@ CarterLi999 <664681047@qq.com> Casey Primozic Casey Primozic CausalLM <148736309+CausalLM@users.noreply.github.com> +ccbinn +cduk <19917266+cduk@users.noreply.github.com> +cebtenzzre Cebtenzzre CentricStorm Chad Brewbaker +Chad Voegele +chaihahaha Changyeon Kim +chansikpark Chao Jiang +characharm <123120856+characharm@users.noreply.github.com> Charles Duffy Charles Xu <63788048+chaxu01@users.noreply.github.com> Charles Xu +chen fan <350211548@qq.com> Chen Xi Chen Xi Cheng Shao +Chenguang Li <757486878@qq.com> Chenguang Li <87689256+noemotiovon@users.noreply.github.com> +chiranko <96988916+chiranko@users.noreply.github.com> Chris Elrod Chris Kuehl +Chris Peterson +Chris Rohlf +Chris Thompson Christian Demsar Christian Demsar Christian Falch <875252+chrfalch@users.noreply.github.com> @@ -155,260 +269,466 @@ Christian Kögler Christian Köhnenkamp Christian Zhou-Zheng <59622928+christianazinn@users.noreply.github.com> Christopher Nielsen <62156882+mascguy@users.noreply.github.com> +City <125218114+city96@users.noreply.github.com> +CJ Pais Clark Saben <76020733+csaben@users.noreply.github.com> Clauszy +clibdev <52199778+clibdev@users.noreply.github.com> Clint Herron +clyang +cmdr2 +cmdr2 +cocktailpeanut <121128867+cocktailpeanut@users.noreply.github.com> +codezjx +coezbek +comex +compilade <113953597+compilade@users.noreply.github.com> +compilade +Congcong Cai Conrad Kramer +Copilot <198982749+Copilot@users.noreply.github.com> Corentin REGAL +cpumaxx <163466046+cpumaxx@users.noreply.github.com> +crasm +crasm +crat0z <11581854+crat0z@users.noreply.github.com> +CRD716 CrispStrobe <154636388+CrispStrobe@users.noreply.github.com> Csaba Kecskemeti Cuong Trinh Manh -DAN™ +daboe01 +daghanerdonmez <44506702+daghanerdonmez@users.noreply.github.com> Damian Stewart +daminho <37615795+daminho@users.noreply.github.com> +DAN™ Dan Johansson <164997844+eddnjjn@users.noreply.github.com> Dan Johansson Dane Madsen DaniAndTheWeb <57776841+DaniAndTheWeb@users.noreply.github.com> +Daniel Benjaminsson Daniel Bevenius Daniel Drake +Daniel Han Daniel Hiltgen Daniel Illescas Romero Daniel Kleine <53251018+d-kleine@users.noreply.github.com> +Daniel Tang Daniele <57776841+daniandtheweb@users.noreply.github.com> +Daniele +Daniele Pinna <72076821+pestopoppa@users.noreply.github.com> Danny Milosavljevic DannyDaemonic +Darius Lukas Dat Quoc Nguyen <2412555+datquocnguyen@users.noreply.github.com> Dave Dave Airlie Dave Airlie Dave Della Costa +David Chiu David Friehs David Huang <1969802+hjc4869@users.noreply.github.com> David Kennedy +David Lima David Pflug +david raistrick David Renshaw +David Ribeiro Alves David Sommers <12738+databyte@users.noreply.github.com> David Yang +David Zhao <90013954+Your-Cheese@users.noreply.github.com> +davidef DavidKorczynski Dawid Potocki Dawid Wysocki <62249621+TortillaZHawaii@users.noreply.github.com> +ddh0 +ddh0 +ddpasa <112642920+ddpasa@users.noreply.github.com> +DDXDB <38449595+DDXDB@users.noreply.github.com> Dean +deepdiffuser <112834445+deepdiffuser@users.noreply.github.com> +deepsek <166548550+deepsek@users.noreply.github.com> Deins Denis Spasyuk <34203011+dspasyuk@users.noreply.github.com> Derrick T. Woolworth Deven Mistry <31466137+deven367@users.noreply.github.com> +devojony <61173062+devojony@users.noreply.github.com> +diannao <55k@outlook.com> Dibakar Gope Didzis Gosko Diego Devesa +Diner Burger +Đinh Trọng Huy <77562200+huydt84@users.noreply.github.com> Diogo Teles Sant'Anna +ditsuke +divinity76 Djip007 <3705339+Djip007@users.noreply.github.com> Djip007 +dm4 +dm4 +Dmytro Minochkin +Dobri Danchev <12420863+danchev@users.noreply.github.com> +DocShotgun <126566557+DocShotgun@users.noreply.github.com> +Doctor Shotgun <126566557+DocShotgun@users.noreply.github.com> Don Mahurin -DooWoong Lee (David) +Dong Won Kim <63934649+ddwkim@users.noreply.github.com> +Donghyeon Jeong <54725479+djeong20@users.noreply.github.com> +Dongliang Wei <121270393+wdl339@users.noreply.github.com> Doomsdayrs <38189170+Doomsdayrs@users.noreply.github.com> +DooWoong Lee (David) +Dorin-Andrei Geman +dotpy314 <33351922+dotpy314@users.noreply.github.com> Dou Xinpeng <15529241576@163.com> Dou Xinpeng <81913537+Dou-Git@users.noreply.github.com> Douglas Hanley +Dowon Dr. Tom Murphy VII Ph.D <499244+tom7@users.noreply.github.com> +drbh +ds5t5 <145942675+ds5t5@users.noreply.github.com> +duduta +dylan +eastriver Ebey Abraham +ebraminio +ebraminio Echo Nolan +Ed Addario <29247825+EAddario@users.noreply.github.com> Ed Lee Ed Lepedus Eddie-Wang Edward Taylor +eiery <19350831+eiery@users.noreply.github.com> Elaine Elbios <141279586+Elbios@users.noreply.github.com> Elton Kola +Emmanuel Ferdman Emreerdog <34742675+Emreerdog@users.noreply.github.com> Engininja2 <139037756+Engininja2@users.noreply.github.com> Equim Eric Curtin +Eric Curtin Eric Curtin Eric Sommerlade Eric Zhang <34133756+EZForever@users.noreply.github.com> +eric8607242 Erik Garrison Erik Scholz +Ervin Áron Tasnádi Esko Toivonen Ettore Di Giacinto +EugeoSynthesisThirtyTwo Evan Jones Evan Miller Eve <139727413+netrunnereve@users.noreply.github.com> Evgeny Kurnevsky +Ewan Crawford +Ewan Crawford Ewout ter Hoeven ExtReMLapin <3909752+ExtReMLapin@users.noreply.github.com> -FK Fabian Fabio R. Sluzala Faez Shakil +fairydreaming <166155368+fairydreaming@users.noreply.github.com> Faisal Zaghloul Faisal Zaghloul Fan Shupei FantasyGmm <16450052+FantasyGmm@users.noreply.github.com> +fanyang Farbod Bijary <110523279+farbodbj@users.noreply.github.com> Fattire <528174+fat-tire@users.noreply.github.com> Felix +fengerhu1 <2748250768@qq.com> +fidoriel <49869342+fidoriel@users.noreply.github.com> Finn Voorhees Firat FirstTimeEZ <179362031+FirstTimeEZ@users.noreply.github.com> +fj-y-saito <85871716+fj-y-saito@users.noreply.github.com> +FK Florent BENOIT +Florian Badie Folko-Ven <71110216+Folko-Ven@users.noreply.github.com> Foul-Tarnished <107711110+Foul-Tarnished@users.noreply.github.com> +Francisco Herrera Francisco Melo <43780565+francis2tm@users.noreply.github.com> Frank Mai FrankHB Frankie Robertson +fraxy-v <65565042+fraxy-v@users.noreply.github.com> Fred Douglas <43351173+fredlas@users.noreply.github.com> Frederik Vogel +Fredrik Hultin +frob +fxzjshm <11426482+fxzjshm@users.noreply.github.com> +g2mt <166577174+g2mt@users.noreply.github.com> Gabe Goodhart Gabe Goodhart +Gabriel Larson <55459720+gabriellarson@users.noreply.github.com> +Gadflyii <34758915+Gadflyii@users.noreply.github.com> Gaetan Bisson GainLee Galunid Gary Linscott Gary Mulder +gatbontonpc +Gaurav Garg <52341457+gaugarg-nv@users.noreply.github.com> +Gaurav Garg Gavin Zhao Genkagaku.GPT Georgi Gerganov Gian-Carlo Pascutto +GideonSerf Gilad S Gilad S. <7817232+giladgd@users.noreply.github.com> +github-actions[bot] +GittyBurstein Giuseppe Scrivano +Giuseppe Scrivano GiviMAD +gliptic +gn64 +goerch Govlzkoy +grahameth <96447521+grahameth@users.noreply.github.com> +Gregor Jasny +Grzegorz Grasza +gtygo Guillaume "Vermeille" Sanchez Guillaume Wenzek Guoliang Hua <32868157+nbcsm@users.noreply.github.com> Guoteng <32697156+SolenoidWGT@users.noreply.github.com> Guspan Tanadi <36249910+guspan-tanadi@users.noreply.github.com> Gustavo Rocha Dias <91472747+gustrd@users.noreply.github.com> +Guus Waals <_@guusw.nl> +Guy Goldenberg +gwjr <502526+gwjr@users.noreply.github.com> +h-h-h-h <13482553+h-h-h-h@users.noreply.github.com> Haggai Nuchi +Haiyue Wang Halalaluyafail3 <55773281+Halalaluyafail3@users.noreply.github.com> Hale Chan Hamdoud Hakem <90524568+hamdoudhakem@users.noreply.github.com> +Han Qingzhe <95479277+hNSBQZ@users.noreply.github.com> Han Yin HanishKVC +hankcs Haohui Mai +haopeng <657407891@qq.com> +Haowei Wu Haoxiang Fei Harald Fernengel Hatsune Miku <129688334+at8u@users.noreply.github.com> HatsuneMikuUwU33 <173229399+HatsuneMikuUwU33@users.noreply.github.com> Haus1 +Héctor Estrada Moreno +HelloKS +Helton Reis <47722840+HRKings@users.noreply.github.com> +Hendrik Erz Henk Poley Henri Vasserman Henrik Forstén Henry Linjamäki +Henry Linjamäki +Henry147147 <44851451+Henry147147@users.noreply.github.com> +Herman Semenoff Herman Semenov Hesen Peng +HighDoping HimariO +hipudding +hksdpc255 <43977088+hksdpc255@users.noreply.github.com> Hoang Nguyen +hoangmit +HonestQiao Hong Bo PENG +hongbo.mo <352280764@qq.com> Hongyu Ouyang <96765450+casavaca@users.noreply.github.com> +hopkins385 <98618192+hopkins385@users.noreply.github.com> Howard Su +howlger +howlger Hua Jiang Huang Qi Huawei Lin Hugo Roussel Huifeng Ou <79071290+ho2103@users.noreply.github.com> +hutli <6594598+hutli@users.noreply.github.com> +hutli +hutli +hxer7963 +hydai +iacore <74560659+iacore@users.noreply.github.com> Ian Bull Ian Bull Ian Scrivener +ibrahim khadraoui <132432132+ibrahimkhadraoui@users.noreply.github.com> Icecream95 +Icenowy Zheng +icppWorld <124377669+icppWorld@users.noreply.github.com> Ido S +igardev <49397134+igardev@users.noreply.github.com> +igarnier IgnacioFDM Igor Okulist +Igor Smirnov +Ihar Hrachyshka Ihar Hrachyshka Ikko Eltociear Ashimine +Ilia Ilmer Ilya Kurdyukov <59548320+ilyakurdyukov@users.noreply.github.com> +Imad Saddik <79410781+ImadSaddik@users.noreply.github.com> +intelmatt <61025942+intelmatt@users.noreply.github.com> +iohub Ionoclast Laboratories +iron Isaac McFadyen IsaacDynamo <61521674+IsaacDynamo@users.noreply.github.com> +Ishaan Gandhi +iSma +issixx <46835150+issixx@users.noreply.github.com> Ivan Ivan Filipov <159561759+vanaka11@users.noreply.github.com> Ivan Komarov Ivan Stepanov -JC <43374599+MrSMlT@users.noreply.github.com> -JFLFY2255 -JH23X <165871467+JH23X@users.noreply.github.com> +Ivy233 <952254420@qq.com> +ixgbe <1113177880@qq.com> +j-k +jacekpoplawski <67507230+jacekpoplawski@users.noreply.github.com> Jack Mousseau Jack Mousseau JackJollimore <130917767+JackJollimore@users.noreply.github.com> +jacobi petrucciani <8117202+jpetrucciani@users.noreply.github.com> Jaeden Amero Jaemin Son Jafar Uruç Jag Chadha +jaime-m-p <167997752+jaime-m-p@users.noreply.github.com> +Jake Karnes +Jakkala Mahesh <155058658+MaheshJakkala@users.noreply.github.com> Jakub N James A Capozzoli <157492257+jac-jim@users.noreply.github.com> James Reynolds +jameswu2014 <545426914@qq.com> Jan Boon Jan Boon Jan Ploski Jannis Schönleber +Jared Tweed Jared Van Bortel Jared Van Bortel +Jaromír Hradílek Jason C.H Jason McCartney +Jason Ni Jason Stillerman +jason_w +Jay +Jay Zenith <162098309+JayZenith@users.noreply.github.com> +JC <43374599+MrSMlT@users.noreply.github.com> +jdomke <28772296+jdomke@users.noreply.github.com> Jean-Christophe Hoelt Jean-Michaël Celerier Jed Fox Jeff Bolz Jeffrey Morgan Jeffrey Quesnelle +Jeremy Demeule +Jeremy Rand <244188+JeremyRand@users.noreply.github.com> Jeroen Mostert +Jesse +Jesse Gross +Jesse Ikonen Jesse Jojo Johnson Jett Janiak Jeximo +JFLFY2255 +JH23X <165871467+JH23X@users.noreply.github.com> Jhen-Jie Hong +Jiacheng (Jason) Chen <76919340+jiachengjason@users.noreply.github.com> Jiahao Li +jiahao su Jian Liao JidongZhang-THU <1119708529@qq.com> +Jie Fu (傅杰) +Jie Fu (傅杰) +jiez <373447296@qq.com> Jinwoo Jeong <33892306+williamjeong2@users.noreply.github.com> Jinyang He Jiří Podivín <66251151+jpodivin@users.noreply.github.com> Jiří Sejkora +JJJYmmm <92386084+JJJYmmm@users.noreply.github.com> +jklincn <985765408@qq.com> +jklincn +jneem Joan Fontanals Joan Fontanals João Dinis Ferreira Joe Eli McIlvain Joe Todd +joecryptotoo <80373433+joecryptotoo@users.noreply.github.com> Johan Johannes Gäßler Johannes Rudolph John <78893154+cmp-nct@users.noreply.github.com> John Balis +John Bean <113509988+johnbean393@users.noreply.github.com> John Smith <67539080+kingsidelee@users.noreply.github.com> JohnnyB +johnson442 <56517414+johnson442@users.noreply.github.com> +jojorne +jon-chuang <9093549+jon-chuang@users.noreply.github.com> Jonas Wunderlich <32615971+jonas-w@users.noreply.github.com> +Jonathan Graehl <99024+graehl@users.noreply.github.com> Jorge A <161275481+jorgealias@users.noreply.github.com> Jose Maldonado <63384398+yukiteruamano@users.noreply.github.com> Joseph Stahl <1269177+josephst@users.noreply.github.com> Josh Ramer +Joshua Cogliati Joyce +jp-x-g Juan Calderon-Perez <835733+gaby@users.noreply.github.com> +Judd <4046440+foldl@users.noreply.github.com> Judd Juk Armstrong <69222624+jukofyork@users.noreply.github.com> +jukofyork <69222624+jukofyork@users.noreply.github.com> +Julien Denize <40604584+juliendenize@users.noreply.github.com> Julius Arkenberg +Julius Tischbein +Julius Tischbein Jun Hee Yoo Jun Jie <71215065+junnjiee16@users.noreply.github.com> +junchao-loongson <68935141+junchao-loongson@users.noreply.github.com> +junchao-zhao <68935141+junchao-loongson@users.noreply.github.com> Junil Kim +Junwon Hwang Junyang Lin Juraj Bednar Justin Parker +Justin Santa Barbara Justin Suess Justina Cho Justine Tunney Justine Tunney Juuso Alasuutari -KASR +Juyoung Suk +jwj7140 <32943891+jwj7140@users.noreply.github.com> +k.h.lai +Kai Pastor +kaizau +kallewoof +kallewoof +kalomaze <66376113+kalomaze@users.noreply.github.com> Kamil Tomšík +kang Kante Yin Karol Kontny <82021046+kkontny@users.noreply.github.com> Karsten Weiss Karthick Karthik Kumar Viswanathan <195178+guilt@users.noreply.github.com> Karthik Sethuraman +KASR Kasumi <90275229+kasumi-1@users.noreply.github.com> +katsu560 <118887472+katsu560@users.noreply.github.com> Kawrakow <48489457+ikawrakow@users.noreply.github.com> +kchro3 <62481661+kchro3@users.noreply.github.com> Keiichi Tabata Keke Han Kenvix ⭐ @@ -417,48 +737,109 @@ Kevin Gibbons Kevin Ji <1146876+kevinji@users.noreply.github.com> Kevin Kwok Kevin Lo +Kevin Pouget Kevin Wang +khimaros +kiltyj +Kim S. +kimminsu <80271594+kimminsu38oo@users.noreply.github.com> +kiwi <122582483+kiwi142857@users.noreply.github.com> +klosax <131523366+klosax@users.noreply.github.com> Kolen Cheung Konstantin Herud Konstantin Zhuravlyov +krystiancha +kunal-vaishnavi <115581922+kunal-vaishnavi@users.noreply.github.com> +kunnis Kunshang Ji +kuronekosaiko +kustaaya <58045274+kustaaya@users.noreply.github.com> +kuvaus <22169537+kuvaus@users.noreply.github.com> +kwin1412 <42286931+kwin1412@users.noreply.github.com> Kyle Bruene Kyle Liang Kyle Mistele Kylin <56434533+KyL0N@users.noreply.github.com> +l-austenfeld <53152202+l-austenfeld@users.noreply.github.com> +l3utterfly +LaffeyNyaa <112215776+LaffeyNyaa@users.noreply.github.com> +laik Lars Grammel +Lars Sonchocky-Helldorf Laura +Law Po Ying <30721578+yingying0906@users.noreply.github.com> +lcy +ldwang +le.chang Lee <44310445+lx200916@users.noreply.github.com> Lee Drake +leejet Leng Yue +Lennart Austenfeld <53152202+l-austenfeld@users.noreply.github.com> +leo-pony Leon Knauer -LeonEricsson <70749762+LeonEricsson@users.noreply.github.com> +Leonard Mosescu Leonardo Neumann +LeonEricsson <70749762+LeonEricsson@users.noreply.github.com> +levkropp +lexasub +lgai-exaone +lhez +lhez +Li Pengzhan <151381994+Lpzhan931@users.noreply.github.com> Li Tan +limitedAtonement Linwei Wang Liu Jia <109258120+Septa2112@users.noreply.github.com> Liu Jia +liuwei-git <14815172+liuwei-git@users.noreply.github.com> +lixing-star <104126818+lixing-star@users.noreply.github.com> +lksj92hs <134250687+lksj92hs@users.noreply.github.com> LoganDark Loïc Carrère +lon <114724657+longregen@users.noreply.github.com> +loonerin <132926317+loonerin@users.noreply.github.com> LostRuins <39025047+LostRuins@users.noreply.github.com> LostRuins Concedo <39025047+LostRuins@users.noreply.github.com> +lovedheart <6277001+lovedheart@users.noreply.github.com> +ltoniazzi <61414566+ltoniazzi@users.noreply.github.com> +Luca Stefani Lucas Moura Belo Luciano +Lukas Straub +Łukasz Ślusarczyk <112692748+lslusarczyk@users.noreply.github.com> Luo Tian +luoyu-intel +luyhcsu <110711054+luyhcsu@users.noreply.github.com> Lyle Dean M-A +M. Mediouni M. Yusuf Sarıgöz +m3ndax Ma Mingfei Maarten ter Huurne Mack Straight +maddes8cht <55592906+maddes8cht@users.noreply.github.com> Maël Kerbiriou MaggotHATE +magicse +Mahekk Shaikh <118063190+Mahekk357@users.noreply.github.com> Mahesh Madhav <67384846+heshpdx@users.noreply.github.com> +mahorozte <41834471+mahorozte@users.noreply.github.com> +makomk +manikbhandari Manuel <44313466+makuche@users.noreply.github.com> +maor-ps <154728172+maor-ps@users.noreply.github.com> Marc Köhlbrugge +Marcello Seri Marco Matthies <71844+marcom@users.noreply.github.com> +Marcos Del Sol Vives +marcoStocchi Marcus Dunn <51931484+MarcusDunn@users.noreply.github.com> +Marek Hradil jr. Marian Cepok +Marius Gerdes <141485318+mglambda@users.noreply.github.com> +Mariusz Woloszyn Mark Fairbairn Mark Zhuang Marko Tasic @@ -467,7 +848,11 @@ Martin Delille Martin Krasser Martin Schwaighofer Marvin Gießing +Masashi Yoshimura +Masato Nakasaka +Masato Nakasaka Masaya, Kato <62578291+msy-kato@users.noreply.github.com> +mashdragon <122402293+mashdragon@users.noreply.github.com> MasterYi1024 <39848311+MasterYi1024@users.noreply.github.com> Mateusz Charytoniuk Matheus C. França @@ -475,57 +860,89 @@ Matheus Gabriel Alves Silva Mathieu Baudier Mathieu Geli Mathieu Nayrolles -Mathijs Henquet Mathijs de Bruin +Mathijs Henquet +matiaslin <45382001+matiaslin@users.noreply.github.com> Matt Clayton <156335168+mattjcly@users.noreply.github.com> Matt Pulver Matt Stephenson +matt23654 <193348153+matt23654@users.noreply.github.com> +matt23654 +matteo +matteo Matteo Boschini <12133566+mbosc@users.noreply.github.com> Matteo Mortari Mattheus Chediak +Matthew Michel Matthew Tejo +Matthieu Coudron <886074+teto@users.noreply.github.com> +Mattt Matvey Soloviev Max Krasnyansky +Max Krasnyansky Max Krasnyansky Maxim Evtush <154841002+maximevtush@users.noreply.github.com> Maxime <672982+maximegmd@users.noreply.github.com> Maximilian Winter +mdrokz +MeeMin <74113151+Meet91721@users.noreply.github.com> Meng Zhang Meng, Hengyu Mengqing Cao Merrick Christensen +mgroeber9110 <45620825+mgroeber9110@users.noreply.github.com> +Miaoqian Lin Michael Coppola +Michael de Gans +Michaël de Vries Michael Engel Michael Francis +Michael Giba Michael Hueschen Michael Kesper Michael Klimenko Michael Podvitskiy Michael Potter -Michael de Gans -Michaël de Vries +Michael Wand Michał Moskal Michał Tuszyński Michelle Tan <41475767+MichelleTanPY@users.noreply.github.com> +midnight Mihai Mike +Mike Abbott +Mike Abbott Mikko Juola +Min-Hua <136287195+Min-Hua@users.noreply.github.com> +minarchist Minsoo Cheong <54794500+mscheong01@users.noreply.github.com> Minsoo Cheong Mirko185 Mirror Azure <54669636+MirrorAzure@users.noreply.github.com> MistApproach <98988043+MistApproach@users.noreply.github.com> Miwa / Ensan <63481257+ensan-hcl@users.noreply.github.com> +mj-shifu <77107165+mj-shifu@users.noreply.github.com> +mmyjona +mnehete32 <33429707+mnehete32@users.noreply.github.com> Mohammadreza Hendiani Mohammadreza Hendiani Molly Sophia +momonga <115213907+mmnga@users.noreply.github.com> +momonga <146910567+mmngays@users.noreply.github.com> MoonRide303 <130458190+MoonRide303@users.noreply.github.com> MorganRO8 <47795945+MorganRO8@users.noreply.github.com> +moritzbrantner <31051084+moritzbrantner@users.noreply.github.com> +muggle-stack Murilo Santana Musab Gultekin +musoles <135031143+musoles@users.noreply.github.com> +mzcu +Naco Siren Nam D. Tran <42194884+namtranase@users.noreply.github.com> +nanahi <130121847+na-na-hi@users.noreply.github.com> Nathan Epstein Natsu +Nauful Shaikh NawafAlansari <72708095+NawafAlansari@users.noreply.github.com> Nebula Neo Zhang <14088817+arthw@users.noreply.github.com> @@ -533,73 +950,157 @@ Neo Zhang Neo Zhang Jianyu Neuman Vong NeverLucky <92274250+nvrxq@users.noreply.github.com> +Nexes the Elder <124105151+Nexesenex@users.noreply.github.com> Nexes the Old <124105151+Nexesenex@users.noreply.github.com> Nexesenex <124105151+Nexesenex@users.noreply.github.com> +ngc92 <7938269+ngc92@users.noreply.github.com> +nhamanasu <45545786+nhamanasu@users.noreply.github.com> Niall Coates <1349685+Niall-@users.noreply.github.com> +niansa/tuxifan +niansa/tuxifan Nicholai Tukanov +Nick <0x0b4ac@gmail.com> +nick huang +nickp27 Nico Bosshard Nicolai Weitkemper +Nicolas B. Pierron Nicolás Pérez Nicolò Scipione Nigel Bosch +Nikhil Jain Nikita Sarychev <42014488+sARY77@users.noreply.github.com> Niklas Korz NikolaiLyssogor <59844691+NikolaiLyssogor@users.noreply.github.com> Nikolaos Pothitos Nikolas <127742645+nneubacher@users.noreply.github.com> +Nikolay Popov <131475237+npopov-vst@users.noreply.github.com> Nindaleth +ningshanwutuobang +Noah <99681487+NoahOksuz@users.noreply.github.com> +nold +nopperl <54780682+nopperl@users.noreply.github.com> +nullname Nuno -OSecret <135510162+OLSecret@users.noreply.github.com> +nusu-github <29514220+nusu-github@users.noreply.github.com> +nwyin +o7si <32285332+o7si@users.noreply.github.com> Oleksandr Kuvshynov <661042+okuvshynov@users.noreply.github.com> Oleksandr Nikitin Oleksii Maryshchenko +Olexandr88 +olexiyb +Oliver Simons +Oliver Simons +Oliver Walsh Olivier Chafik +Olivier Chafik +omahs <73983677+omahs@users.noreply.github.com> Ondřej Čertík +oobabooga <112222186+oobabooga@users.noreply.github.com> +oobabooga +opparco +Oscar Barenys +OSecret <135510162+OLSecret@users.noreply.github.com> +ostix360 <55257054+ostix360@users.noreply.github.com> Ouadie EL FAROUKI PAB Pablo Duboue +Pádraic Slattery +Pascal Pascal Patry +pascal-lc <49066376+pascal-lc@users.noreply.github.com> Patrice Ferlet Patrick Peng +Patryk Kaminski Paul Tsochantaris Pavel Zloi +Pavels Zaicenkovs Pavol Rusnak Paweł Wodnicki <151604+32bitmicro@users.noreply.github.com> +pculliton Pedro Cuenca +peidaqi +Penglin Cai <1402538448@qq.com> +pengxin99 +Pepijn de Vos +Percy Piper +Perry Naseck <4472083+DaAwesomeP@users.noreply.github.com> +perserk Peter Peter Sugihara +Peter0x44 +petterreinholdtsen Phil H <5756783+phiharri@users.noreply.github.com> Philip Taron +philip-essential <169196560+philip-essential@users.noreply.github.com> Phillip Kravtsov +Phylliida Dev +piDack <104877312+piDack@users.noreply.github.com> Pierre Alexandre SCHEMBRI Pierrick Hymbert Pieter Ouwerkerk +Piotr +Piotr Jasiukajtis +Piotr Kubaj +Piotr Wilkin (ilintar) +pl752 Plamen Minev +pmysl +pockers21 <134406831+pockers21@users.noreply.github.com> +postmasters +Pouya +pqnet <119850+pqnet@users.noreply.github.com> +Prabod +Prajwal B Mehendarkar Prashant Vithule <119530321+Vithulep@users.noreply.github.com> Przemysław Pawełczyk +psocolovsky <50770545+psocolovsky@users.noreply.github.com> +pudepiedj PureJourney +QDelta <60222316+QDelta@users.noreply.github.com> +Qeeweew <68716978+Qeeweew@users.noreply.github.com> Qin Yue Chen <71813199+chenqiny@users.noreply.github.com> +qingfengfenga <41416092+qingfengfenga@users.noreply.github.com> +qingy1337 Qingyou Meng +qouoq Qu Zongfu <43257352+yancaoweidaode@users.noreply.github.com> +Quentin Bramas +qunash +R +R R0CKSTAR R0CKSTAR -RJ Adriaansen +rabidcopy +RachelMantel Radoslav Gerganov Radosław Gryta +Rafal Lewczuk +Rahul Sathe <150351592+rrsathe@users.noreply.github.com> Rahul Vivek Nair <68507071+RahulVivekNair@users.noreply.github.com> +rainred <107027757+gryffindor-rr@users.noreply.github.com> Raj Hammeer Singh Hada Ralph Soika Rand Xie Randall Fitzgerald Random Fly +rankaiyx +Raul Torres <138264735+rauletorresc@users.noreply.github.com> +redbeard +Reese Levine Reinforce-II Rémy O Rémy Oudompheng Ren Xuancheng +Renat Rene Leonhardt <65483435+reneleonhardt@users.noreply.github.com> Reza Kakhki Reza Rahemtola <49811529+RezaRahemtola@users.noreply.github.com> RhinoDevel +rhjdvsgsgks <26178113+rhjdvsgsgks@users.noreply.github.com> +rhuddleston +Rhys-T <108157737+Rhys-T@users.noreply.github.com> Riccardo Orlando Riceball LEE Rich Dougherty @@ -611,14 +1112,22 @@ Rickard Edén Rickard Hallerbäck Rickey Bowers Jr Riley Stewart +rimoliga <53384203+rimoliga@users.noreply.github.com> Rinne Rinne +RJ Adriaansen +rmatif <66360289+rmatif@users.noreply.github.com> +rmatif +rmatif Robert Brisita <986796+rbrisita@users.noreply.github.com> Robert Collins Robert Ormandi <52251610+ormandi@users.noreply.github.com> Robert Sung-wook Shin Robey Holderith +Robin Davidsson <40024429+R-Dson@users.noreply.github.com> Robyn +Rőczey Barnabás <31726601+An0nie@users.noreply.github.com> +RodriMora Roger Meier Rohanjames1997 Roland <14355895+rbur0425@users.noreply.github.com> @@ -629,68 +1138,133 @@ Roman Parykin Ron Evans Ron Jailall Roni +Ronny Brendel Ronny Brendel Ronsor +Rotem Dan Rowan Hart +rspOverflow <217881046+rspOverflow@users.noreply.github.com> +rtaluyev Ruan <47767371+ruanych@users.noreply.github.com> +Ruben Ortlam +Ruben Ortlam Ruchira Hasaranga Rudi Servo +Ruikai Peng Ruixin Huang <18860020911@163.com> Rune <43761327+Rune-AI@users.noreply.github.com> +runfuture RunningLeon RunningLeon +Russyyds <161207317+Russyyds@users.noreply.github.com> Ryan Landay +Ryan Mangeno <160974989+ryan-mangeno@users.noreply.github.com> Ryder Wishart Ryuei -Rőczey Barnabás <31726601+An0nie@users.noreply.github.com> -SAMI -SRHMorris <69468379+SRHMorris@users.noreply.github.com> -SXX +s-goto-11 <206795233+s-goto-11@users.noreply.github.com> +s8322 +Saba Fallah <10401143+sfallah@users.noreply.github.com> +Sachin Desai +safranowith SakuraUmi Salvador E. Tropea Salvatore Mesoraca +Sam +Sam Malayek <12037535+SamMalayek@users.noreply.github.com> Sam Spilsbury +Sam/Samuel <57896620+cern1710@users.noreply.github.com> +SAMI Sami Farin <3876865+Safari77@users.noreply.github.com> Samuel Maynard +Sandro Hanea <40202887+sandrohanea@users.noreply.github.com> +sandyiscool Sang-Kil Park +Sascha Rogmann <59577610+srogmann@users.noreply.github.com> +sasha0552 +SavicStefan <50296686+SavicStefan@users.noreply.github.com> +Scott Fudally Seb C <47074056+Sebby37@users.noreply.github.com> Sebastián A SebastianApel <13675545+SebastianApel@users.noreply.github.com> +semidark Senemu <10880819+Senemu@users.noreply.github.com> +senhtry +Sergei Vorobyov +Sergey Alirzaev Sergey Alirzaev +Sergey Fedorov Sergio López Sergio López +serhii-nakon <57632032+serhii-nakon@users.noreply.github.com> Sertaç Özercan <852750+sozercan@users.noreply.github.com> SeungWon Jeong <65549245+redlion0929@users.noreply.github.com> ShadovvBeast +Shagun Bera <141054835+notV3NOM@users.noreply.github.com> Shakhar Dasgupta +Shakil Ahmed <44522075+ahmedshakill@users.noreply.github.com> +shalinib-ibm Shane A Shangning Xu <32517059+xushangning@users.noreply.github.com> +shani-f Shankar Shanshan Shen <467638484@qq.com> +shaofeiqi <109865877+shaofeiqi@users.noreply.github.com> +shaofeiqi +sharpHL <132747147+sharpHL@users.noreply.github.com> +Shawn Gu +Shawn yang <137684499+Yangxiaoz@users.noreply.github.com> Shelby Jenkins <47464908+ShelbyJenkins@users.noreply.github.com> Sheldon Robinson +shibe2 Shijie <821898965@qq.com> +Shin-myoung-serp Shintarou Okada +Shouyu <65317431+joeldushouyu@users.noreply.github.com> Shouzheng Liu <61452103+lshzh-ww@users.noreply.github.com> Shouzheng Liu +SHUAI YANG Shuichi Tsutsumi +shun095 <8069181+shun095@users.noreply.github.com> +Shunta Saito Shupei Fan +Si1w <139008732+Si1w@users.noreply.github.com> Sigbjørn Skjæret +simevo +Simon Redman Simon Willison +simon886212 <37953122+simon886212@users.noreply.github.com> +Simranjeet Singh <105192966+simrnsingh@users.noreply.github.com> +singularity <12184989+singularity-s0@users.noreply.github.com> +sirus20x6 Siwen Yu +sjinzh +sjxx <63994076+ylsdamxssjxxdd@users.noreply.github.com> +Sky Sky Yan +slaren <2141330+slaren@users.noreply.github.com> Slaren <2141330+slaren@users.noreply.github.com> +slaren Slava Primenko +Slobodan Josic <127323561+slojosic-amd@users.noreply.github.com> Small Grass Forest +SmartestWashingMachine +SnA1lGo <44647694+skrandy@users.noreply.github.com> +snadampal <87143774+snadampal@users.noreply.github.com> SoftwareRenderer <138734813+SoftwareRenderer@users.noreply.github.com> Someone Someone Serge +someone13574 <81528246+someone13574@users.noreply.github.com> Sourab Mangrulkar <13534540+pacman100@users.noreply.github.com> Spencer Sutton +SRHMorris <69468379+SRHMorris@users.noreply.github.com> Srihari-mcw <96763064+Srihari-mcw@users.noreply.github.com> Srinivas Billa +ssweens <1149151+ssweens@users.noreply.github.com> +standby24x7 +staviq +stduhpf Stefan Sydow +Ștefan-Gabriel Muscalu Steffen Röcker Stephan Walter Stephen Nichols @@ -698,46 +1272,100 @@ Steve Bonds Steve Grubb Steven Prichard Steven Roussey +stevenkuang Steward Garcia <57494570+FSSRepo@users.noreply.github.com> StrangeBytesDev <141275258+StrangeBytesDev@users.noreply.github.com> +strawberrymelonpanda <152940198+strawberrymelonpanda@users.noreply.github.com> Suaj Carrot <72162667+SuajCarrot@users.noreply.github.com> +sudhiarm Sukriti Sharma SuperUserNameMan Sutou Kouhei +Svetlozar Georgiev <55534064+sgeor255@users.noreply.github.com> +swittk +SXX Tai Duc Nguyen Taikono-Himazin +Taimur Ahmad +Tak-RS +takasurazeem +takov751 <40316768+takov751@users.noreply.github.com> +takuya kodama +takuya kodama +tamarPal Tameem <113388789+AhmadTameem@users.noreply.github.com> Tamotsu Takahashi +tarcey +Tarek Dakhran +Tarek Dakhran +tastelikefeet <58414341+tastelikefeet@users.noreply.github.com> +Tatsuya Tanaka +Taylor +tc-mb <157115220+tc-mb@users.noreply.github.com> +TecJesh Tei Home +tempstudio <49735574+tempstudio@users.noreply.github.com> +teo +texmex76 <40733439+texmex76@users.noreply.github.com> Thái Hoàng Tâm <75922889+RoyalHeart@users.noreply.github.com> +Thammachart Chinvarapon <1731496+Thammachart@users.noreply.github.com> Thatcher Chamberlin Theia Vogel +thement <40525767+thement@users.noreply.github.com> +theo77186 +theraininsky <76763719+theraininsky@users.noreply.github.com> Thérence <13496987+Royalphax@users.noreply.github.com> +thewh1teagle <61390950+thewh1teagle@users.noreply.github.com> Thibault Terrasson +thom-dev-fr <161708450+thom-dev-fr@users.noreply.github.com> +Thomas Germer <99991@users.noreply.github.com> +Thomas Jarosch Thomas Klausner +Thore Koritzius Thorsten Sommer +TianHao324 <854531745@qq.com> +TianHao324 +Tianyue-Zhao Tim Miller +Tim Neumann Tim Wang Timmy Knight Timothy Cronin <40186632+4imothy@users.noreply.github.com> Ting Lou Ting Lou Ting Sun +tjohnman Tobias Lütke +Todor Boinovski Tom C Tom Jobbins <784313+TheBloke@users.noreply.github.com> Tomas Tomáš Pazdiora Tony Wasserka <4840017+neobrain@users.noreply.github.com> +toyer <2042519524@qq.com> +TrevorS +triplenom <79777178+triplenom@users.noreply.github.com> Tristan Druyen Tristan Ross Trivikram Kamat <16024985+trivikr@users.noreply.github.com> +tslmy +tt <291400568@qq.com> Tungsten842 <886724vf@anonaddy.me> Tungsten842 Tushar +tv1wnd <55383215+tv1wnd@users.noreply.github.com> +ubergarm +ubik2 UEXTM.com <84163508+uextm@users.noreply.github.com> +Uilian Ries +uint256_t +uint256_t Ujjawal Panchal <31011628+Ujjawal-K-Panchal@users.noreply.github.com> Ulrich Drepper +unbounded +uvos +uvos +uvos Uzo Nweke Vaibhav Srivastav Val Kharitonov @@ -745,10 +1373,22 @@ Valentin Konovalov Valentin Mamedov <45292985+Inf1delis@users.noreply.github.com> Valentyn Bezshapkin <61702053+valentynbez@users.noreply.github.com> Vali Malinoiu <0x4139@gmail.com> +valiray <133289098+valiray@users.noreply.github.com> +vb +Vedran Miletić +Victor <194116445+dodekapod@users.noreply.github.com> Victor Nogueira Victor Z. Peng Viet-Anh NGUYEN (Andrew) +vik +Ville Vesilehto +Vineel Abhinav <131174187+vineelabhinav@users.noreply.github.com> Vinesh Janarthanan <36610342+VJHack@users.noreply.github.com> +Vinkal +virajwad <84867530+virajwad@users.noreply.github.com> +viric +Vishal Agarwal +Vishal Singh Vitali Lovich Vivian Vlad @@ -756,351 +1396,124 @@ Vladimir Vladimir Malyutin Vladimir Vuksanovic <109677816+vvuksanovic@users.noreply.github.com> Vladimir Zorin +Vladislav Sayapin <70110788+v-sayapin@users.noreply.github.com> +vmobilis <75476228+vmobilis@users.noreply.github.com> +vodkaslime <646329483@qq.com> VoidIsVoid <343750470@qq.com> Volodymyr Vitvitskyi <72226+signalpillar@users.noreply.github.com> +vvhg1 <94630311+vvhg1@users.noreply.github.com> +vxiiduu <73044267+vxiiduu@users.noreply.github.com> Wagner Bruna Wang Qin <37098874+wangqin0@users.noreply.github.com> Wang Ran (汪然) +Wang Weixuan WangHaoranRobin <56047610+WangHaoranRobin@users.noreply.github.com> +wangshuai09 <391746016@qq.com> +wbpxre150 <100937007+wbpxre150@users.noreply.github.com> +wbtek <171302111+wbtek@users.noreply.github.com> Weird Constructor Weizhao Ouyang +Weizhao Ouyang Welby Seely +welix Wentai Zhang +whoreson <139810751+whoreson@users.noreply.github.com> Wilken Gottwalt <12194808+wgottwalt@users.noreply.github.com> WillCorticesAI <150854901+WillCorticesAI@users.noreply.github.com> +william pan <61359596+wp4032@users.noreply.github.com> William Tambellini William Tambellini Willy Tarreau -Woof Dog <197125663+woof-dog@users.noreply.github.com> -Wouter <9594229+DifferentialityDevelopment@users.noreply.github.com> -Wu Jian Ping -Wu Jian Ping -Xiake Sun -Xiang (Kevin) Li -Xiao-Yong Jin -XiaotaoChen -Xiaoyi Chen -Xie Yanbo -Xingchen Song(宋星辰) -Xinpeng Dou <81913537+Dou-Git@users.noreply.github.com> -Xuan Son Nguyen -Xuan-Son Nguyen -Yaiko -Yann Follet <131855179+YannFollet@users.noreply.github.com> -Yaroslav -Yazan Agha-Schrader -Yiming Cui -Yishuo Wang -Yoshi Suhara -Yoshi Suhara -Younes Belkada <49240599+younesbelkada@users.noreply.github.com> -Yueh-Po Peng <94939112+y10ab1@users.noreply.github.com> -Yüg -Yui -Yun Dou -Yuri Khrustalev -Yusuf Kağan Hanoğlu -Yuval Peled <31162840+Yuval-Peled@users.noreply.github.com> -ZHAOKAI WANG -Zane Shannon -Zay <95888118+isaiahbjork@users.noreply.github.com> -Zenix -Zhang Peiyuan -Zheng.Deng <32841220+dengzheng-cloud@users.noreply.github.com> -Zhenwei Jin <109658203+kylo5aby@users.noreply.github.com> -Zhiyuan Li -Zhiyuan Li -ZhouYuChen -Ziad Ben Hadj-Alouane -Ziang Wu <97337387+ZiangWu-77@users.noreply.github.com> -Zsapi -a-n-n-a-l-e-e <150648636+a-n-n-a-l-e-e@users.noreply.github.com> -a3sh <38979186+A3shTnT@users.noreply.github.com> -adel boussaken -afrideva <95653597+afrideva@users.noreply.github.com> -ag2s20150909 <19373730+ag2s20150909@users.noreply.github.com> -agray3 -akawrykow <142945436+akawrykow@users.noreply.github.com> -alek3y <44779186+alek3y@users.noreply.github.com> -alexpinel <93524949+alexpinel@users.noreply.github.com> -alonfaraj -alwqx -amd-dwang -amd-lalithnc -amritahs-ibm -andrijdavid -anon998 <131767832+anon998@users.noreply.github.com> -anzz1 -apaz -apcameron <37645737+apcameron@users.noreply.github.com> -arch-btw <57669023+arch-btw@users.noreply.github.com> -arcrank -ardfork <134447697+ardfork@users.noreply.github.com> -arlo-phoenix <140345165+arlo-phoenix@users.noreply.github.com> -aryantandon01 <80969509+aryantandon01@users.noreply.github.com> -at8u <129688334+at8u@users.noreply.github.com> -automaticcat -awatuna <23447591+awatuna@users.noreply.github.com> -b4b4o -bandoti <141645996+bandoti@users.noreply.github.com> -beiller -bhubbb <79117352+bhubbb@users.noreply.github.com> -bmwl -bobqianic <129547291+bobqianic@users.noreply.github.com> -brucepro -bryanSwk <93190252+bryanSwk@users.noreply.github.com> -bsilvereagle -bssrdf -byte-6174 <88070277+byte-6174@users.noreply.github.com> -cduk <19917266+cduk@users.noreply.github.com> -cebtenzzre -chaihahaha -chiranko <96988916+chiranko@users.noreply.github.com> -clibdev <52199778+clibdev@users.noreply.github.com> -clyang -cmdr2 -cmdr2 -cocktailpeanut <121128867+cocktailpeanut@users.noreply.github.com> -codezjx -coezbek -comex -compilade <113953597+compilade@users.noreply.github.com> -compilade -cpumaxx <163466046+cpumaxx@users.noreply.github.com> -crasm -crasm -daboe01 -daghanerdonmez <44506702+daghanerdonmez@users.noreply.github.com> -daminho <37615795+daminho@users.noreply.github.com> -david raistrick -ddh0 -ddpasa <112642920+ddpasa@users.noreply.github.com> -deepdiffuser <112834445+deepdiffuser@users.noreply.github.com> -devojony <61173062+devojony@users.noreply.github.com> -ditsuke -divinity76 -dm4 -dm4 -dotpy314 <33351922+dotpy314@users.noreply.github.com> -drbh -ds5t5 <145942675+ds5t5@users.noreply.github.com> -dylan -eastriver -ebraminio -ebraminio -eiery <19350831+eiery@users.noreply.github.com> -eric8607242 -fairydreaming <166155368+fairydreaming@users.noreply.github.com> -fengerhu1 <2748250768@qq.com> -fj-y-saito <85871716+fj-y-saito@users.noreply.github.com> -fraxy-v <65565042+fraxy-v@users.noreply.github.com> -fxzjshm <11426482+fxzjshm@users.noreply.github.com> -github-actions[bot] -gliptic -gn64 -goerch -grahameth <96447521+grahameth@users.noreply.github.com> -gtygo -gwjr <502526+gwjr@users.noreply.github.com> -h-h-h-h <13482553+h-h-h-h@users.noreply.github.com> -hankcs -haopeng <657407891@qq.com> -hipudding -hoangmit -hongbo.mo <352280764@qq.com> -hopkins385 <98618192+hopkins385@users.noreply.github.com> -howlger -howlger -hutli <6594598+hutli@users.noreply.github.com> -hutli -hutli -hxer7963 -hydai -iSma -iacore <74560659+iacore@users.noreply.github.com> -icppWorld <124377669+icppWorld@users.noreply.github.com> -igardev <49397134+igardev@users.noreply.github.com> -igarnier -intelmatt <61025942+intelmatt@users.noreply.github.com> -iohub -issixx <46835150+issixx@users.noreply.github.com> -jacobi petrucciani <8117202+jpetrucciani@users.noreply.github.com> -jaime-m-p <167997752+jaime-m-p@users.noreply.github.com> -jameswu2014 <545426914@qq.com> -jason_w -jdomke <28772296+jdomke@users.noreply.github.com> -jiahao su -jiez <373447296@qq.com> -jneem -joecryptotoo <80373433+joecryptotoo@users.noreply.github.com> -johnson442 <56517414+johnson442@users.noreply.github.com> -jojorne -jon-chuang <9093549+jon-chuang@users.noreply.github.com> -jp-x-g -jukofyork <69222624+jukofyork@users.noreply.github.com> -junchao-loongson <68935141+junchao-loongson@users.noreply.github.com> -junchao-zhao <68935141+junchao-loongson@users.noreply.github.com> -jwj7140 <32943891+jwj7140@users.noreply.github.com> -k.h.lai -kaizau -kallewoof -kalomaze <66376113+kalomaze@users.noreply.github.com> -kang -katsu560 <118887472+katsu560@users.noreply.github.com> -kchro3 <62481661+kchro3@users.noreply.github.com> -khimaros -kiltyj -klosax <131523366+klosax@users.noreply.github.com> -krystiancha -kunal-vaishnavi <115581922+kunal-vaishnavi@users.noreply.github.com> -kunnis -kuronekosaiko -kustaaya <58045274+kustaaya@users.noreply.github.com> -kuvaus <22169537+kuvaus@users.noreply.github.com> -kwin1412 <42286931+kwin1412@users.noreply.github.com> -l3utterfly -laik -ldwang -le.chang -leejet -leo-pony -lexasub -lhez -limitedAtonement -liuwei-git <14815172+liuwei-git@users.noreply.github.com> -lon <114724657+longregen@users.noreply.github.com> -loonerin <132926317+loonerin@users.noreply.github.com> -ltoniazzi <61414566+ltoniazzi@users.noreply.github.com> -luoyu-intel -m3ndax -maddes8cht <55592906+maddes8cht@users.noreply.github.com> -magicse -mahorozte <41834471+mahorozte@users.noreply.github.com> -makomk -manikbhandari -maor-ps <154728172+maor-ps@users.noreply.github.com> -mashdragon <122402293+mashdragon@users.noreply.github.com> -matiaslin <45382001+matiaslin@users.noreply.github.com> -matt23654 -matteo -mdrokz -mgroeber9110 <45620825+mgroeber9110@users.noreply.github.com> -midnight -minarchist -mj-shifu <77107165+mj-shifu@users.noreply.github.com> -mmyjona -momonga <115213907+mmnga@users.noreply.github.com> -momonga <146910567+mmngays@users.noreply.github.com> -moritzbrantner <31051084+moritzbrantner@users.noreply.github.com> -musoles <135031143+musoles@users.noreply.github.com> -mzcu -nanahi <130121847+na-na-hi@users.noreply.github.com> -ngc92 <7938269+ngc92@users.noreply.github.com> -nhamanasu <45545786+nhamanasu@users.noreply.github.com> -niansa/tuxifan -niansa/tuxifan -nickp27 -ningshanwutuobang -nold -nopperl <54780682+nopperl@users.noreply.github.com> -nusu-github <29514220+nusu-github@users.noreply.github.com> -olexiyb -omahs <73983677+omahs@users.noreply.github.com> -oobabooga <112222186+oobabooga@users.noreply.github.com> -opparco -ostix360 <55257054+ostix360@users.noreply.github.com> -pascal-lc <49066376+pascal-lc@users.noreply.github.com> -pculliton -peidaqi -pengxin99 -perserk -petterreinholdtsen -piDack <104877312+piDack@users.noreply.github.com> -pmysl -postmasters -pudepiedj -qingfengfenga <41416092+qingfengfenga@users.noreply.github.com> -qingy1337 -qouoq -qunash -rabidcopy -rankaiyx -redbeard -rhjdvsgsgks <26178113+rhjdvsgsgks@users.noreply.github.com> -rhuddleston -rimoliga <53384203+rimoliga@users.noreply.github.com> -runfuture -sandyiscool -sasha0552 -semidark -serhii-nakon <57632032+serhii-nakon@users.noreply.github.com> -sharpHL <132747147+sharpHL@users.noreply.github.com> -shibe2 -simon886212 <37953122+simon886212@users.noreply.github.com> -singularity <12184989+singularity-s0@users.noreply.github.com> -sjinzh -sjxx <63994076+ylsdamxssjxxdd@users.noreply.github.com> -slaren <2141330+slaren@users.noreply.github.com> -slaren -snadampal <87143774+snadampal@users.noreply.github.com> -someone13574 <81528246+someone13574@users.noreply.github.com> -standby24x7 -staviq -stduhpf -strawberrymelonpanda <152940198+strawberrymelonpanda@users.noreply.github.com> -swittk -takov751 <40316768+takov751@users.noreply.github.com> -tarcey -tc-mb <157115220+tc-mb@users.noreply.github.com> -texmex76 <40733439+texmex76@users.noreply.github.com> -thement <40525767+thement@users.noreply.github.com> -theraininsky <76763719+theraininsky@users.noreply.github.com> -thewh1teagle <61390950+thewh1teagle@users.noreply.github.com> -tjohnman -toyer <2042519524@qq.com> -tslmy -tv1wnd <55383215+tv1wnd@users.noreply.github.com> -ubik2 -uint256_t -uint256_t -unbounded -uvos -uvos -valiray <133289098+valiray@users.noreply.github.com> -vb -vik -viric -vmobilis <75476228+vmobilis@users.noreply.github.com> -vodkaslime <646329483@qq.com> -vvhg1 <94630311+vvhg1@users.noreply.github.com> -vxiiduu <73044267+vxiiduu@users.noreply.github.com> -wangshuai09 <391746016@qq.com> -wbpxre150 <100937007+wbpxre150@users.noreply.github.com> -whoreson <139810751+whoreson@users.noreply.github.com> woachk <24752637+woachk@users.noreply.github.com> wonjun Jang woodx <124784234+woodx9@users.noreply.github.com> +Woof Dog <197125663+woof-dog@users.noreply.github.com> +wooksong +Wouter <9594229+DifferentialityDevelopment@users.noreply.github.com> +Wroclaw +wsbagnsv1 +Wu Jian Ping +Wu Jian Ping wwoodsTM <104587230+wwoodsTM@users.noreply.github.com> wzy <32936898+Freed-Wu@users.noreply.github.com> xaedes xaedes xctan +xctan +Xiake Sun +Xiang (Kevin) Li +Xiangyan Sun +Xiao-Yong Jin xiaobing318 <71554036+xiaobing318@users.noreply.github.com> xiaofei +XiaotaoChen +Xiaoyi Chen +Xie Yanbo +Xingchen Song(宋星辰) +Xinpeng Dou <15529241576@163.com> +Xinpeng Dou <81913537+Dou-Git@users.noreply.github.com> xloem <0xloem@gmail.com> +Xuan Son Nguyen +Xuan-Son Nguyen +Xuan-Son Nguyen +yael-works <106673277+yael-works@users.noreply.github.com> +YaelGitAccount <38328157276@mby.co.il> +YaelLogic +Yaiko +YangLe yangli2 +Yann Follet <131855179+YannFollet@users.noreply.github.com> +Yaroslav +Yavor Ivanov +Yazan Agha-Schrader +Ycros <18012+ycros@users.noreply.github.com> +YehuditE +Yibo Cai +Yibo Cai +yifant-code +Yiming Cui +Yishuo Wang ymcki <84055651+ymcki@users.noreply.github.com> +Yoshi Suhara +Yoshi Suhara +Yoshi_likes_e4 <104140648+pt13762104@users.noreply.github.com> +Younes Belkada <49240599+younesbelkada@users.noreply.github.com> +Yuanhao Ji +Yuannan +Yueh-Po Peng <94939112+y10ab1@users.noreply.github.com> +Yüg +Yui +Yuichiro Utsumi <81412151+utsumi-fj@users.noreply.github.com> yuiseki +yulo <77381088+zhang-hui-yulo@users.noreply.github.com> +yumeyao +yummy <57988893+jk3456a@users.noreply.github.com> +Yun Dou +Yuri Khrustalev yuri@FreeBSD +Yusuf Kağan Hanoğlu +Yuval Peled <31162840+Yuval-Peled@users.noreply.github.com> +Yuxuan Zhang <2448370773@qq.com> +Z +Zagaj zakkor +Zane Shannon +Zay <95888118+isaiahbjork@users.noreply.github.com> +Zenix +Zhang Peiyuan zhangkaihuo +ZHAOKAI WANG +Zheng.Deng <32841220+dengzheng-cloud@users.noreply.github.com> zhentaoyu +Zhenwei Jin <109658203+kylo5aby@users.noreply.github.com> +Zheyuan Chen +Zhiyong Wang <85110830+ravenouse@users.noreply.github.com> +Zhiyuan Li +Zhiyuan Li zhouwg <6889919+zhouwg@users.noreply.github.com> zhouwg +ZhouYuChen +Ziad Ben Hadj-Alouane +Ziang Wu <97337387+ZiangWu-77@users.noreply.github.com> zrm -Ștefan-Gabriel Muscalu -杨朱 · Kiki -源文雨 <41315874+fumiama@users.noreply.github.com> -蕭澧邦 <45505768+shou692199@users.noreply.github.com> -谢乃闻 -Нияз Гарифзянов <112617865+garrnizon@users.noreply.github.com> +Zsapi From 59377a6c870be95e4c71715933e4e9ada71b8356 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Mon, 2 Feb 2026 10:00:05 +0100 Subject: [PATCH 091/206] ggml-backend: fix async set/get fallback sync (#19179) --- ggml/src/ggml-backend.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ggml/src/ggml-backend.cpp b/ggml/src/ggml-backend.cpp index 354876574a..22c656996c 100644 --- a/ggml/src/ggml-backend.cpp +++ b/ggml/src/ggml-backend.cpp @@ -258,6 +258,7 @@ void ggml_backend_tensor_set_async(ggml_backend_t backend, struct ggml_tensor * GGML_ASSERT(offset + size <= ggml_nbytes(tensor) && "tensor write out of bounds"); if (backend->iface.set_tensor_async == NULL) { + ggml_backend_synchronize(backend); ggml_backend_tensor_set(tensor, data, offset, size); } else { backend->iface.set_tensor_async(backend, tensor, data, offset, size); @@ -271,6 +272,7 @@ void ggml_backend_tensor_get_async(ggml_backend_t backend, const struct ggml_ten GGML_ASSERT(offset + size <= ggml_nbytes(tensor) && "tensor read out of bounds"); if (backend->iface.get_tensor_async == NULL) { + ggml_backend_synchronize(backend); ggml_backend_tensor_get(tensor, data, offset, size); } else { backend->iface.get_tensor_async(backend, tensor, data, offset, size); From 6156ae51114337ffb6bb46cb65f99227b255089f Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Mon, 2 Feb 2026 11:29:57 +0100 Subject: [PATCH 092/206] model-conversion : add debug option to conversion script (#19265) This commit adds a debug option to the model conversion script to enable using the Python debugger (pdb) during model conversion. The motivation for this is that I've found myself adding this a few times now and it would be quicker to have this flag as an option and a makefile target/recipe for it. --- examples/model-conversion/Makefile | 5 ++++- .../model-conversion/scripts/causal/convert-model.sh | 12 +++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/examples/model-conversion/Makefile b/examples/model-conversion/Makefile index 3b0505911d..342de63bd0 100644 --- a/examples/model-conversion/Makefile +++ b/examples/model-conversion/Makefile @@ -33,11 +33,14 @@ DEVICE ?= auto causal-convert-model-bf16: OUTTYPE=bf16 causal-convert-model-bf16: causal-convert-model +causal-convert-model-debug: DEBUG=--debug +causal-convert-model-debug: causal-convert-model + causal-convert-model: $(call validate_model_path,causal-convert-model) @MODEL_NAME="$(MODEL_NAME)" OUTTYPE="$(OUTTYPE)" MODEL_PATH="$(MODEL_PATH)" \ METADATA_OVERRIDE="$(METADATA_OVERRIDE)" \ - ./scripts/causal/convert-model.sh + ./scripts/causal/convert-model.sh $(DEBUG) causal-convert-mm-model-bf16: OUTTYPE=bf16 causal-convert-mm-model-bf16: MM_OUTTYPE=f16 diff --git a/examples/model-conversion/scripts/causal/convert-model.sh b/examples/model-conversion/scripts/causal/convert-model.sh index 32ffe132e7..a5865f6acd 100755 --- a/examples/model-conversion/scripts/causal/convert-model.sh +++ b/examples/model-conversion/scripts/causal/convert-model.sh @@ -4,12 +4,17 @@ set -e # Parse command line arguments MMPROJ="" +DEBUG="" while [[ $# -gt 0 ]]; do case $1 in --mmproj) MMPROJ="--mmproj" shift ;; + --debug) + DEBUG="1" + shift + ;; *) shift ;; @@ -28,7 +33,12 @@ echo "Data type: ${TYPE}" echo "Converted model path:: ${CONVERTED_MODEL}" echo "Metadata override: ${METADATA_OVERRIDE}" -CMD_ARGS=("python" "../../convert_hf_to_gguf.py" "--verbose") +if [[ -n "$DEBUG" ]]; then + CMD_ARGS=("python" "-m" "pdb") +else + CMD_ARGS=("python") +fi +CMD_ARGS+=("../../convert_hf_to_gguf.py" "--verbose") CMD_ARGS+=("${MODEL_PATH}") CMD_ARGS+=("--outfile" "${CONVERTED_MODEL}") CMD_ARGS+=("--outtype" "${TYPE}") From 6fdddb498780dbda2a14f8b49b92d25601e14764 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 2 Feb 2026 14:29:44 +0200 Subject: [PATCH 093/206] metal : support virtual devices (#18919) * metal : support virtual devices * cont : manage buffer type context memory * metal : add events * cont : implement cpy_tensor_async --- ggml/src/ggml-metal/ggml-metal-context.h | 8 + ggml/src/ggml-metal/ggml-metal-context.m | 105 +++++- ggml/src/ggml-metal/ggml-metal-device.cpp | 8 +- ggml/src/ggml-metal/ggml-metal-device.h | 16 +- ggml/src/ggml-metal/ggml-metal-device.m | 71 +++- ggml/src/ggml-metal/ggml-metal.cpp | 426 ++++++++++++++++------ src/llama-context.cpp | 1 + 7 files changed, 508 insertions(+), 127 deletions(-) diff --git a/ggml/src/ggml-metal/ggml-metal-context.h b/ggml/src/ggml-metal/ggml-metal-context.h index ec2b686b73..abf4b06ed2 100644 --- a/ggml/src/ggml-metal/ggml-metal-context.h +++ b/ggml/src/ggml-metal/ggml-metal-context.h @@ -15,14 +15,22 @@ typedef struct ggml_metal * ggml_metal_t; ggml_metal_t ggml_metal_init(ggml_metal_device_t dev); void ggml_metal_free(ggml_metal_t ctx); +const char * ggml_metal_get_name(ggml_metal_t ctx); + void ggml_metal_synchronize(ggml_metal_t ctx); void ggml_metal_set_tensor_async(ggml_metal_t ctx, struct ggml_tensor * tensor, const void * data, size_t offset, size_t size); void ggml_metal_get_tensor_async(ggml_metal_t ctx, const struct ggml_tensor * tensor, void * data, size_t offset, size_t size); +bool ggml_metal_cpy_tensor_async(ggml_metal_t ctx_src, ggml_metal_t ctx_dst, const struct ggml_tensor * src, struct ggml_tensor * dst); enum ggml_status ggml_metal_graph_compute (ggml_metal_t ctx, struct ggml_cgraph * gf); void ggml_metal_graph_optimize(ggml_metal_t ctx, struct ggml_cgraph * gf); +void ggml_metal_event_record(ggml_metal_t ctx, ggml_metal_event_t ev); +void ggml_metal_event_wait (ggml_metal_t ctx, ggml_metal_event_t ev); + +ggml_metal_event_t ggml_metal_get_ev_cpy(ggml_metal_t ctx); + void ggml_metal_set_n_cb (ggml_metal_t ctx, int n_cb); void ggml_metal_set_abort_callback (ggml_metal_t ctx, ggml_abort_callback abort_callback, void * user_data); bool ggml_metal_supports_family (ggml_metal_t ctx, int family); diff --git a/ggml/src/ggml-metal/ggml-metal-context.m b/ggml/src/ggml-metal/ggml-metal-context.m index 42a35736ee..a412d70aed 100644 --- a/ggml/src/ggml-metal/ggml-metal-context.m +++ b/ggml/src/ggml-metal/ggml-metal-context.m @@ -24,9 +24,13 @@ struct ggml_metal_command_buffer { }; struct ggml_metal { + char name[128]; + ggml_metal_device_t dev; ggml_metal_library_t lib; + ggml_metal_event_t ev_cpy; // for async copies + dispatch_queue_t d_queue; // additional, inference-time compiled pipelines @@ -117,7 +121,11 @@ ggml_metal_t ggml_metal_init(ggml_metal_device_t dev) { } } - //const struct ggml_metal_device_props * props_dev = ggml_metal_device_get_props(dev); + res->ev_cpy = ggml_metal_device_event_init(dev); + + const struct ggml_metal_device_props * props_dev = ggml_metal_device_get_props(dev); + + snprintf(res->name, sizeof(res->name), "%s", props_dev->name); res->d_queue = dispatch_queue_create("ggml-metal", DISPATCH_QUEUE_CONCURRENT); @@ -206,9 +214,15 @@ void ggml_metal_free(ggml_metal_t ctx) { dispatch_release(ctx->d_queue); + ggml_metal_device_event_free(ctx->dev, ctx->ev_cpy); + free(ctx); } +const char * ggml_metal_get_name(ggml_metal_t ctx) { + return ctx->name; +} + void ggml_metal_synchronize(ggml_metal_t ctx) { // wait for any backend operations to finish if (ctx->cmd_buf_last) { @@ -273,8 +287,8 @@ void ggml_metal_set_tensor_async(ggml_metal_t ctx, struct ggml_tensor * tensor, // wrap the source data into a Metal buffer id device = ggml_metal_device_get_obj(ctx->dev); id buf_src = [device newBufferWithBytes:data - length:size - options:MTLResourceStorageModeShared]; + length:size + options:MTLResourceStorageModeShared]; GGML_ASSERT(buf_src); @@ -316,9 +330,9 @@ void ggml_metal_get_tensor_async(ggml_metal_t ctx, const struct ggml_tensor * te @autoreleasepool { id device = ggml_metal_device_get_obj(ctx->dev); id buf_dst = [device newBufferWithBytesNoCopy:data - length:size - options:MTLResourceStorageModeShared - deallocator:nil]; + length:size + options:MTLResourceStorageModeShared + deallocator:nil]; GGML_ASSERT(buf_dst); @@ -356,6 +370,49 @@ void ggml_metal_get_tensor_async(ggml_metal_t ctx, const struct ggml_tensor * te } } +bool ggml_metal_cpy_tensor_async(ggml_metal_t ctx_src, ggml_metal_t ctx_dst, const struct ggml_tensor * src, struct ggml_tensor * dst) { + @autoreleasepool { + struct ggml_metal_buffer_id bid_src = ggml_metal_get_buffer_id(src); + struct ggml_metal_buffer_id bid_dst = ggml_metal_get_buffer_id(dst); + + if (bid_src.metal == nil || bid_dst.metal == nil) { + return false; + } + + // queue the copy operation into the Metal context + // this will be queued at the end, after any currently ongoing GPU operations + id queue = ggml_metal_device_get_queue(ctx_src->dev); + id cmd_buf = [queue commandBuffer]; + id encoder = [cmd_buf blitCommandEncoder]; + + [encoder copyFromBuffer:bid_src.metal + sourceOffset:bid_src.offs + toBuffer:bid_dst.metal + destinationOffset:bid_dst.offs + size:ggml_nbytes(src)]; + + [encoder endEncoding]; + + ggml_metal_event_t ev_cpy = ggml_metal_get_ev_cpy(ctx_src); + ggml_metal_event_record(ctx_src, ev_cpy); + + [cmd_buf commit]; + + // do not wait here for completion + //[cmd_buf waitUntilCompleted]; + + // instead, remember a reference to the command buffer and wait for it later if needed + [ctx_src->cmd_bufs_ext addObject:cmd_buf]; + ctx_src->cmd_buf_last = cmd_buf; + + [cmd_buf retain]; + + ggml_metal_event_wait(ctx_dst, ev_cpy); + + return true; + } +} + enum ggml_status ggml_metal_graph_compute(ggml_metal_t ctx, struct ggml_cgraph * gf) { // number of nodes encoded by the main thread (empirically determined) const int n_main = 64; @@ -530,6 +587,42 @@ void ggml_metal_graph_optimize(ggml_metal_t ctx, struct ggml_cgraph * gf) { //printf("%s: graph optimize took %.3f ms\n", __func__, (ggml_time_us() - t_start) / 1000.0); } +void ggml_metal_event_record(ggml_metal_t ctx, ggml_metal_event_t ev) { + @autoreleasepool { + id queue = ggml_metal_device_get_queue(ctx->dev); + id cmd_buf = [queue commandBuffer]; + + ggml_metal_event_encode_signal(ev, cmd_buf); + + [cmd_buf commit]; + + [ctx->cmd_bufs_ext addObject:cmd_buf]; + ctx->cmd_buf_last = cmd_buf; + + [cmd_buf retain]; + } +} + +void ggml_metal_event_wait(ggml_metal_t ctx, ggml_metal_event_t ev) { + @autoreleasepool { + id queue = ggml_metal_device_get_queue(ctx->dev); + id cmd_buf = [queue commandBuffer]; + + ggml_metal_event_encode_wait(ev, cmd_buf); + + [cmd_buf commit]; + + [ctx->cmd_bufs_ext addObject:cmd_buf]; + ctx->cmd_buf_last = cmd_buf; + + [cmd_buf retain]; + } +} + +ggml_metal_event_t ggml_metal_get_ev_cpy(ggml_metal_t ctx) { + return ctx->ev_cpy; +} + void ggml_metal_set_n_cb(ggml_metal_t ctx, int n_cb) { if (ctx->n_cb != n_cb) { ctx->n_cb = MIN(n_cb, GGML_METAL_MAX_COMMAND_BUFFERS); diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp index 04c6137c5a..377b0d3eb8 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.cpp +++ b/ggml/src/ggml-metal/ggml-metal-device.cpp @@ -17,10 +17,12 @@ struct ggml_metal_device_deleter { typedef std::unique_ptr ggml_metal_device_ptr; -ggml_metal_device_t ggml_metal_device_get(void) { - static ggml_metal_device_ptr ctx { ggml_metal_device_init() }; +ggml_metal_device_t ggml_metal_device_get(int device) { + static std::vector devs; - return ctx.get(); + devs.emplace_back(ggml_metal_device_init(device)); + + return devs.back().get(); } struct ggml_metal_pipelines { diff --git a/ggml/src/ggml-metal/ggml-metal-device.h b/ggml/src/ggml-metal/ggml-metal-device.h index 3d01c56fb8..afb091e725 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.h +++ b/ggml/src/ggml-metal/ggml-metal-device.h @@ -205,7 +205,9 @@ void ggml_metal_rsets_free(ggml_metal_rsets_t rsets); // struct ggml_metal_device_props { + int device; char name[128]; + char desc[128]; size_t max_buffer_size; size_t max_working_set_size; @@ -224,11 +226,15 @@ struct ggml_metal_device_props { int op_offload_min_batch_size; }; -ggml_metal_device_t ggml_metal_device_init(void); +typedef struct ggml_metal_event * ggml_metal_event_t; + +void ggml_metal_event_encode_signal(ggml_metal_event_t ev, ggml_metal_cmd_buf_t cmd_buf); +void ggml_metal_event_encode_wait (ggml_metal_event_t ev, ggml_metal_cmd_buf_t cmd_buf); + +ggml_metal_device_t ggml_metal_device_init(int device); void ggml_metal_device_free(ggml_metal_device_t dev); -// return a singleton that is automatically destroyed when the program exits -ggml_metal_device_t ggml_metal_device_get(void); +ggml_metal_device_t ggml_metal_device_get(int device); void * ggml_metal_device_get_obj (ggml_metal_device_t dev); // id void * ggml_metal_device_get_queue(ggml_metal_device_t dev); // id @@ -240,6 +246,10 @@ void ggml_metal_device_rsets_rm (ggml_metal_device_t dev, ggml_metal_rset_t rset void ggml_metal_device_rsets_keep_alive(ggml_metal_device_t dev); +ggml_metal_event_t ggml_metal_device_event_init(ggml_metal_device_t dev); +void ggml_metal_device_event_free(ggml_metal_device_t dev, ggml_metal_event_t ev); +void ggml_metal_device_event_synchronize(ggml_metal_device_t dev, ggml_metal_event_t ev); + void ggml_metal_device_get_memory(ggml_metal_device_t dev, size_t * free, size_t * total); bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_tensor * op); diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index 7f9c384c34..285dd1630e 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -24,9 +24,6 @@ static const NSInteger MTLGPUFamilyMetal3_GGML = 5001; static const NSInteger MTLGPUFamilyMetal4_GGML = 5002; -// virtual address for GPU memory allocations -static atomic_uintptr_t g_addr_device = 0x000000400ULL; - #if !GGML_METAL_EMBED_LIBRARY // Here to assist with NSBundle Path Hack @interface GGMLMetalClass : NSObject @@ -523,6 +520,9 @@ struct ggml_metal_device { ggml_metal_library_t library; struct ggml_metal_device_props props; + + // virtual address for GPU memory allocations + atomic_uintptr_t addr_virt; }; // @@ -618,7 +618,7 @@ void ggml_metal_rsets_free(ggml_metal_rsets_t rsets) { free(rsets); } -ggml_metal_device_t ggml_metal_device_init(void) { +ggml_metal_device_t ggml_metal_device_init(int device) { ggml_metal_device_t dev = calloc(1, sizeof(struct ggml_metal_device)); assert(dev != NULL); @@ -632,6 +632,9 @@ ggml_metal_device_t ggml_metal_device_init(void) { GGML_LOG_ERROR("%s: error: failed to create command queue\n", __func__); } + dev->addr_virt = 0x000000400ULL; + + dev->props.device = device; dev->props.has_simdgroup_reduction = [dev->mtl_device supportsFamily:MTLGPUFamilyApple7]; dev->props.has_simdgroup_reduction |= [dev->mtl_device supportsFamily:MTLGPUFamilyMetal3_GGML]; @@ -792,7 +795,8 @@ ggml_metal_device_t ggml_metal_device_init(void) { dev->props.max_working_set_size = dev->mtl_device.maxBufferLength; } - strncpy(dev->props.name, [[dev->mtl_device name] UTF8String], sizeof(dev->props.name) - 1); + snprintf(dev->props.name, sizeof(dev->props.name), "%s%d", "MTL", device); + snprintf(dev->props.desc, sizeof(dev->props.desc), "%s", [[dev->mtl_device name] UTF8String]); dev->library = ggml_metal_library_init(dev); if (!dev->library) { @@ -922,6 +926,59 @@ void ggml_metal_device_rsets_keep_alive(ggml_metal_device_t dev) { atomic_store_explicit(&dev->rsets->d_loop, 2*dev->rsets->keep_alive_s, memory_order_relaxed); } +struct ggml_metal_event { + void * obj; // id + + atomic_int value; +}; + +void ggml_metal_event_encode_signal(ggml_metal_event_t ev, ggml_metal_cmd_buf_t cmd_buf_raw) { + id event = (id)ev->obj; + + id cmd_buf = (id) cmd_buf_raw; + + [cmd_buf encodeSignalEvent:event value:atomic_fetch_add_explicit(&ev->value, 1, memory_order_relaxed) + 1]; +} + +void ggml_metal_event_encode_wait(ggml_metal_event_t ev, ggml_metal_cmd_buf_t cmd_buf_raw) { + id event = (id)ev->obj; + + id cmd_buf = (id) cmd_buf_raw; + + [cmd_buf encodeWaitForEvent:event value:atomic_load_explicit(&ev->value, memory_order_relaxed)]; +} + +ggml_metal_event_t ggml_metal_device_event_init(ggml_metal_device_t dev) { + id event = [dev->mtl_device newEvent]; + + ggml_metal_event_t ev = calloc(1, sizeof(struct ggml_metal_event)); + + ev->obj = (__bridge void *)event; + ev->value = 0; + + return ev; +} + +void ggml_metal_device_event_free(ggml_metal_device_t dev, ggml_metal_event_t ev) { + id event = ev->obj; + [event release]; + + free(ev); + + GGML_UNUSED(dev); +} + +void ggml_metal_device_event_synchronize(ggml_metal_device_t dev, ggml_metal_event_t ev) { + @autoreleasepool { + id event = ev->obj; + + id cmd_buf = [dev->mtl_queue commandBuffer]; + [cmd_buf encodeWaitForEvent:event value:atomic_load_explicit(&ev->value, memory_order_relaxed)]; + [cmd_buf commit]; + [cmd_buf waitUntilCompleted]; + } +} + void ggml_metal_device_get_memory(ggml_metal_device_t dev, size_t * free, size_t * total) { if (@available(macOS 10.12, iOS 16.0, *)) { *total = dev->mtl_device.recommendedMaxWorkingSetSize; @@ -1344,8 +1401,8 @@ ggml_metal_buffer_t ggml_metal_buffer_init(ggml_metal_device_t dev, size_t size, res->all_data = ggml_metal_host_malloc(size_aligned); res->is_shared = true; } else { - // use virtual address from g_addr_device counter - res->all_data = (void *) atomic_fetch_add_explicit(&g_addr_device, size_aligned, memory_order_relaxed); + // use virtual address + res->all_data = (void *) atomic_fetch_add_explicit(&dev->addr_virt, size_aligned, memory_order_relaxed); res->is_shared = false; } res->all_size = size_aligned; diff --git a/ggml/src/ggml-metal/ggml-metal.cpp b/ggml/src/ggml-metal/ggml-metal.cpp index 56b59f0afd..a616dcdb46 100644 --- a/ggml/src/ggml-metal/ggml-metal.cpp +++ b/ggml/src/ggml-metal/ggml-metal.cpp @@ -7,11 +7,12 @@ #include "ggml-metal-context.h" #include "ggml-metal-ops.h" -// globals +#define GGML_METAL_NAME "MTL" +#define GGML_METAL_MAX_DEVICES 16 -// initialized in ggml_backend_metal_reg -static ggml_backend_reg g_ggml_metal_reg; -static ggml_backend_device g_ggml_metal_device; +// number of Metal devices +// note: can be overriden with GGML_METAL_DEVICES env to simulate virtual devices +static int g_devices = 1; //////////////////////////////////////////////////////////////////////////////// // backend interface @@ -165,10 +166,28 @@ static ggml_backend_buffer_i ggml_backend_metal_buffer_private_i = { /* .reset = */ NULL, }; +static bool ggml_backend_buffer_is_metal(ggml_backend_buffer_t buffer) { + return buffer->iface.free_buffer == ggml_backend_metal_buffer_shared_free_buffer || + buffer->iface.free_buffer == ggml_backend_metal_buffer_private_free_buffer; +} + // // buffer types // +struct ggml_backend_metal_buffer_type { + int device; + std::string name; +}; + +struct ggml_backend_metal_buffer_type_deleter { + void operator()(ggml_backend_metal_buffer_type * ctx) const { + delete ctx; + } +}; + +typedef std::unique_ptr ggml_backend_metal_buffer_type_ptr; + // common method for allocating shread or private Metal buffers static ggml_backend_buffer_t ggml_backend_metal_buffer_type_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size, bool shared) { ggml_metal_device_t ctx_dev = (ggml_metal_device_t)buft->device->context; @@ -218,9 +237,9 @@ static size_t ggml_backend_metal_buffer_type_get_alloc_size(ggml_backend_buffer_ // default (shared) buffer type static const char * ggml_backend_metal_buffer_type_shared_get_name(ggml_backend_buffer_type_t buft) { - return "Metal"; + ggml_backend_metal_buffer_type * ctx = (ggml_backend_metal_buffer_type *)buft->context; - GGML_UNUSED(buft); + return ctx->name.c_str(); } static ggml_backend_buffer_t ggml_backend_metal_buffer_type_shared_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { @@ -249,29 +268,54 @@ static bool ggml_backend_metal_buffer_type_shared_is_host(ggml_backend_buffer_ty GGML_UNUSED(buft); } -static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_shared(void) { - static ggml_backend_buffer_type ggml_backend_buffer_type_metal = { - /* .iface = */ { - /* .get_name = */ ggml_backend_metal_buffer_type_shared_get_name, - /* .alloc_buffer = */ ggml_backend_metal_buffer_type_shared_alloc_buffer, - /* .get_alignment = */ ggml_backend_metal_buffer_type_shared_get_alignment, - /* .get_max_size = */ ggml_backend_metal_buffer_type_shared_get_max_size, - /* .get_alloc_size = */ ggml_backend_metal_buffer_type_shared_get_alloc_size, - /* .is_host = */ ggml_backend_metal_buffer_type_shared_is_host, - }, - /* .device = */ &g_ggml_metal_device, - /* .context = */ NULL, - }; +static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_shared(int device) { + static std::mutex mutex; + std::lock_guard lock(mutex); - return &ggml_backend_buffer_type_metal; + static std::vector bufts; + static std::vector ctxs; + + static bool initialized = false; + if (!initialized) { + bufts.reserve(g_devices); + ctxs.reserve(g_devices); + + for (int i = 0; i < g_devices; ++i) { + ggml_backend_metal_buffer_type * raw_ctx = + new ggml_backend_metal_buffer_type { + /* .device = */ i, + /* .name = */ GGML_METAL_NAME + std::to_string(i), + }; + ctxs.emplace_back(raw_ctx); + + ggml_backend_buffer_type buft = { + /* .iface = */ { + /* .get_name = */ ggml_backend_metal_buffer_type_shared_get_name, + /* .alloc_buffer = */ ggml_backend_metal_buffer_type_shared_alloc_buffer, + /* .get_alignment = */ ggml_backend_metal_buffer_type_shared_get_alignment, + /* .get_max_size = */ ggml_backend_metal_buffer_type_shared_get_max_size, + /* .get_alloc_size = */ ggml_backend_metal_buffer_type_shared_get_alloc_size, + /* .is_host = */ ggml_backend_metal_buffer_type_shared_is_host, + }, + /* .device = */ ggml_backend_reg_dev_get(ggml_backend_metal_reg(), i), + /* .context = */ raw_ctx, + }; + + bufts.emplace_back(buft); + } + + initialized = true; + } + + return &bufts[device]; } // default (private) buffer type static const char * ggml_backend_metal_buffer_type_private_get_name(ggml_backend_buffer_type_t buft) { - return "Metal_Private"; + ggml_backend_metal_buffer_type * ctx = (ggml_backend_metal_buffer_type *)buft->context; - GGML_UNUSED(buft); + return ctx->name.c_str(); } static ggml_backend_buffer_t ggml_backend_metal_buffer_type_private_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { @@ -300,29 +344,53 @@ static bool ggml_backend_metal_buffer_type_private_is_host(ggml_backend_buffer_t GGML_UNUSED(buft); } -static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_private(void) { - static ggml_backend_buffer_type ggml_backend_buffer_type_metal = { - /* .iface = */ { - /* .get_name = */ ggml_backend_metal_buffer_type_private_get_name, - /* .alloc_buffer = */ ggml_backend_metal_buffer_type_private_alloc_buffer, - /* .get_alignment = */ ggml_backend_metal_buffer_type_private_get_alignment, - /* .get_max_size = */ ggml_backend_metal_buffer_type_private_get_max_size, - /* .get_alloc_size = */ ggml_backend_metal_buffer_type_private_get_alloc_size, - /* .is_host = */ ggml_backend_metal_buffer_type_private_is_host, - }, - /* .device = */ &g_ggml_metal_device, - /* .context = */ NULL, - }; +static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_private(int device) { + static std::mutex mutex; + std::lock_guard lock(mutex); - return &ggml_backend_buffer_type_metal; + static std::vector bufts; + static std::vector ctxs; + + static bool initialized = false; + if (!initialized) { + bufts.reserve(g_devices); + ctxs.reserve(g_devices); + + for (int i = 0; i < g_devices; ++i) { + ggml_backend_metal_buffer_type * raw_ctx = new ggml_backend_metal_buffer_type{ + /* .device = */ i, + /* .name = */ GGML_METAL_NAME + std::to_string(i) + "_Private" + }; + ctxs.emplace_back(raw_ctx); + + ggml_backend_buffer_type buft = { + /* .iface = */ { + /* .get_name = */ ggml_backend_metal_buffer_type_private_get_name, + /* .alloc_buffer = */ ggml_backend_metal_buffer_type_private_alloc_buffer, + /* .get_alignment = */ ggml_backend_metal_buffer_type_private_get_alignment, + /* .get_max_size = */ ggml_backend_metal_buffer_type_private_get_max_size, + /* .get_alloc_size = */ ggml_backend_metal_buffer_type_private_get_alloc_size, + /* .is_host = */ ggml_backend_metal_buffer_type_private_is_host, + }, + /* .device = */ ggml_backend_reg_dev_get(ggml_backend_metal_reg(), i), + /* .context = */ raw_ctx, + }; + + bufts.emplace_back(buft); + } + + initialized = true; + } + + return &bufts[device]; } // mapped buffer type static const char * ggml_backend_metal_buffer_type_mapped_get_name(ggml_backend_buffer_type_t buft) { - return "Metal_Mapped"; + ggml_backend_metal_buffer_type * ctx = (ggml_backend_metal_buffer_type *)buft->context; - GGML_UNUSED(buft); + return ctx->name.c_str(); } static ggml_backend_buffer_t ggml_backend_metal_buffer_type_mapped_alloc_buffer(ggml_backend_buffer_type_t buft, size_t size) { @@ -352,31 +420,55 @@ static bool ggml_backend_metal_buffer_type_mapped_is_host(ggml_backend_buffer_ty GGML_UNUSED(buft); } -static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_mapped(void) { - // note: not obvious, but this buffer type still needs to implement .alloc_buffer: - // https://github.com/ggml-org/llama.cpp/pull/15832#discussion_r2333177099 - static ggml_backend_buffer_type ggml_backend_buffer_type_mapped_metal = { - /* .iface = */ { - /* .get_name = */ ggml_backend_metal_buffer_type_mapped_get_name, - /* .alloc_buffer = */ ggml_backend_metal_buffer_type_mapped_alloc_buffer, - /* .get_alignment = */ ggml_backend_metal_buffer_type_mapped_get_alignment, - /* .get_max_size = */ ggml_backend_metal_buffer_type_mapped_get_max_size, - /* .get_alloc_size = */ ggml_backend_metal_buffer_type_mapped_get_alloc_size, - /* .is_host = */ ggml_backend_metal_buffer_type_mapped_is_host, - }, - /* .device = */ &g_ggml_metal_device, - /* .context = */ NULL, - }; +static ggml_backend_buffer_type_t ggml_backend_metal_buffer_type_mapped(int device) { + static std::mutex mutex; + std::lock_guard lock(mutex); - return &ggml_backend_buffer_type_mapped_metal; + static std::vector bufts; + static std::vector ctxs; + + static bool initialized = false; + if (!initialized) { + bufts.reserve(g_devices); + ctxs.reserve(g_devices); + + for (int i = 0; i < g_devices; ++i) { + ggml_backend_metal_buffer_type * raw_ctx = new ggml_backend_metal_buffer_type{ + /* .device = */ i, + /* .name = */ GGML_METAL_NAME + std::to_string(i) + "_Mapped" + }; + ctxs.emplace_back(raw_ctx); + + // note: not obvious, but this buffer type still needs to implement .alloc_buffer: + // https://github.com/ggml-org/llama.cpp/pull/15832#discussion_r2333177099 + ggml_backend_buffer_type buft = { + /* .iface = */ { + /* .get_name = */ ggml_backend_metal_buffer_type_mapped_get_name, + /* .alloc_buffer = */ ggml_backend_metal_buffer_type_mapped_alloc_buffer, + /* .get_alignment = */ ggml_backend_metal_buffer_type_mapped_get_alignment, + /* .get_max_size = */ ggml_backend_metal_buffer_type_mapped_get_max_size, + /* .get_alloc_size = */ ggml_backend_metal_buffer_type_mapped_get_alloc_size, + /* .is_host = */ ggml_backend_metal_buffer_type_mapped_is_host, + }, + /* .device = */ ggml_backend_reg_dev_get(ggml_backend_metal_reg(), i), + /* .context = */ raw_ctx, + }; + + bufts.emplace_back(buft); + } + + initialized = true; + } + + return &bufts[device]; } // backend static const char * ggml_backend_metal_name(ggml_backend_t backend) { - return "Metal"; + ggml_metal_t ctx = (ggml_metal_t)backend->context; - GGML_UNUSED(backend); + return ggml_metal_get_name(ctx); } static void ggml_backend_metal_free(ggml_backend_t backend) { @@ -409,12 +501,24 @@ static void ggml_backend_metal_get_tensor_async(ggml_backend_t backend, const gg } static bool ggml_backend_metal_cpy_tensor_async(ggml_backend_t backend_src, ggml_backend_t backend_dst, const ggml_tensor * src, ggml_tensor * dst) { - return false; + if (!ggml_backend_is_metal(backend_src) || !ggml_backend_is_metal(backend_dst)) { + return false; + } - GGML_UNUSED(backend_src); - GGML_UNUSED(backend_dst); - GGML_UNUSED(src); - GGML_UNUSED(dst); + if (!ggml_backend_buffer_is_metal(src->buffer) || !ggml_backend_buffer_is_metal(dst->buffer)) { + return false; + } + + ggml_metal_t ctx_src = (ggml_metal_t)backend_src->context; + ggml_metal_t ctx_dst = (ggml_metal_t)backend_dst->context; + + //ggml_backend_buffer_t buf_src = src->view_src ? src->view_src->buffer : src->buffer; + //ggml_backend_buffer_t buf_dst = dst->view_src ? dst->view_src->buffer : dst->buffer; + + //ggml_metal_buffer_t buf_ctx_src = (ggml_metal_buffer_t)buf_src->context; + //ggml_metal_buffer_t buf_ctx_dst = (ggml_metal_buffer_t)buf_dst->context; + + return ggml_metal_cpy_tensor_async(ctx_src, ctx_dst, src, dst); } static enum ggml_status ggml_backend_metal_graph_compute(ggml_backend_t backend, ggml_cgraph * cgraph) { @@ -423,6 +527,20 @@ static enum ggml_status ggml_backend_metal_graph_compute(ggml_backend_t backend, return ggml_metal_graph_compute(ctx, cgraph); } +static void ggml_backend_metal_event_record(ggml_backend_t backend, ggml_backend_event_t event) { + ggml_metal_t ctx = (ggml_metal_t)backend->context; + ggml_metal_event_t ev = (ggml_metal_event_t)event->context; + + ggml_metal_event_record(ctx, ev); +} + +static void ggml_backend_metal_event_wait(ggml_backend_t backend, ggml_backend_event_t event) { + ggml_metal_t ctx = (ggml_metal_t)backend->context; + ggml_metal_event_t ev = (ggml_metal_event_t)event->context; + + ggml_metal_event_wait(ctx, ev); +} + static void ggml_backend_metal_graph_optimize(ggml_backend_t backend, ggml_cgraph * cgraph) { ggml_metal_t ctx = (ggml_metal_t)backend->context; @@ -435,7 +553,6 @@ static void ggml_backend_metal_set_n_cb(ggml_backend_t backend, int n_cb) { ggml_metal_t ctx = (ggml_metal_t)backend->context; ggml_metal_set_n_cb(ctx, n_cb); - } static ggml_backend_i ggml_backend_metal_i = { @@ -450,12 +567,8 @@ static ggml_backend_i ggml_backend_metal_i = { /* .graph_plan_update = */ NULL, /* .graph_plan_compute = */ NULL, /* .graph_compute = */ ggml_backend_metal_graph_compute, - - // the events API is needed only for multi-GPU setups, so likely no need to implement it for Metal - // in any case, these docs seem relevant if we ever decide to implement it: - // https://developer.apple.com/documentation/metal/mtlcommandbuffer#Synchronizing-Passes-with-Events - /* .event_record = */ NULL, - /* .event_wait = */ NULL, + /* .event_record = */ ggml_backend_metal_event_record, + /* .event_wait = */ ggml_backend_metal_event_wait, /* .graph_optimize = */ ggml_backend_metal_graph_optimize, }; @@ -519,15 +632,17 @@ void ggml_backend_metal_capture_next_compute(ggml_backend_t backend) { // backend device static const char * ggml_backend_metal_device_get_name(ggml_backend_dev_t dev) { - return "Metal"; + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; - GGML_UNUSED(dev); + const ggml_metal_device_props * props_dev = ggml_metal_device_get_props(ctx_dev); + + return props_dev->name; } static const char * ggml_backend_metal_device_get_description(ggml_backend_dev_t dev) { ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; - return ggml_metal_device_get_props(ctx_dev)->name; + return ggml_metal_device_get_props(ctx_dev)->desc; } static void ggml_backend_metal_device_get_memory(ggml_backend_dev_t dev, size_t * free, size_t * total) { @@ -550,14 +665,14 @@ static void ggml_backend_metal_device_get_props(ggml_backend_dev_t dev, ggml_bac ggml_backend_metal_device_get_memory(dev, &props->memory_free, &props->memory_total); props->caps = { - /* .async = */ true, - /* .host_buffer = */ false, - /* .buffer_from_host_ptr = */ true, - /* .events = */ false, + /* .async = */ true, + /* .host_buffer = */ false, + /* .buffer_from_host_ptr = */ true, + /* .events = */ true, }; } -static ggml_backend_t ggml_backend_metal_device_init(ggml_backend_dev_t dev, const char * params) { +static ggml_backend_t ggml_backend_metal_device_init_backend(ggml_backend_dev_t dev, const char * params) { ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; ggml_metal_t ctx = ggml_metal_init(ctx_dev); @@ -587,7 +702,7 @@ static ggml_backend_buffer_type_t ggml_backend_metal_device_get_buffer_type(ggml const ggml_metal_device_props * props_dev = ggml_metal_device_get_props(ctx_dev); - return props_dev->use_shared_buffers ? ggml_backend_metal_buffer_type_shared() : ggml_backend_metal_buffer_type_private(); + return props_dev->use_shared_buffers ? ggml_backend_metal_buffer_type_shared(props_dev->device) : ggml_backend_metal_buffer_type_private(props_dev->device); } static ggml_backend_buffer_t ggml_backend_metal_device_buffer_mapped(ggml_backend_dev_t dev, void * ptr, size_t size, size_t max_tensor_size) { @@ -595,7 +710,9 @@ static ggml_backend_buffer_t ggml_backend_metal_device_buffer_mapped(ggml_backen ggml_metal_buffer_t res = ggml_metal_buffer_map(ctx_dev, ptr, size, max_tensor_size); - return ggml_backend_buffer_init(ggml_backend_metal_buffer_type_mapped(), ggml_backend_metal_buffer_shared_i, res, size); + const ggml_metal_device_props * props_dev = ggml_metal_device_get_props(ctx_dev); + + return ggml_backend_buffer_init(ggml_backend_metal_buffer_type_mapped(props_dev->device), ggml_backend_metal_buffer_shared_i, res, size); } static bool ggml_backend_metal_device_supports_op(ggml_backend_dev_t dev, const ggml_tensor * op) { @@ -606,9 +723,10 @@ static bool ggml_backend_metal_device_supports_op(ggml_backend_dev_t dev, const static bool ggml_backend_metal_device_supports_buft(ggml_backend_dev_t dev, ggml_backend_buffer_type_t buft) { return + buft->device == dev && ( buft->iface.get_name == ggml_backend_metal_buffer_type_shared_get_name || buft->iface.get_name == ggml_backend_metal_buffer_type_private_get_name || - buft->iface.get_name == ggml_backend_metal_buffer_type_mapped_get_name; + buft->iface.get_name == ggml_backend_metal_buffer_type_mapped_get_name); GGML_UNUSED(dev); } @@ -632,45 +750,97 @@ static bool ggml_backend_metal_device_offload_op(ggml_backend_dev_t dev, const g get_op_batch_size(op) >= ggml_metal_device_get_props(ctx_dev)->op_offload_min_batch_size; } +static ggml_backend_event_t ggml_backend_metal_device_event_new(ggml_backend_dev_t dev) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + ggml_metal_event_t event = ggml_metal_device_event_init(ctx_dev); + GGML_ASSERT(event); + + ggml_backend_event_t ev = new ggml_backend_event { + /* .device = */ dev, + /* .context = */ event, + }; + + return ev; +} + +static void ggml_backend_metal_device_event_free(ggml_backend_dev_t dev, ggml_backend_event_t event) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + ggml_metal_event_t ev = (ggml_metal_event_t)event->context; + + ggml_metal_device_event_free(ctx_dev, ev); + + delete event; +} + +static void ggml_backend_metal_device_event_synchronize(ggml_backend_dev_t dev, ggml_backend_event_t event) { + ggml_metal_device_t ctx_dev = (ggml_metal_device_t)dev->context; + + ggml_metal_event_t evt = (ggml_metal_event_t)event->context; + + ggml_metal_device_event_synchronize(ctx_dev, evt); +} + static ggml_backend_device_i ggml_backend_metal_device_i = { /* .get_name = */ ggml_backend_metal_device_get_name, /* .get_description = */ ggml_backend_metal_device_get_description, /* .get_memory = */ ggml_backend_metal_device_get_memory, /* .get_type = */ ggml_backend_metal_device_get_type, /* .get_props = */ ggml_backend_metal_device_get_props, - /* .init_backend = */ ggml_backend_metal_device_init, + /* .init_backend = */ ggml_backend_metal_device_init_backend, /* .get_buffer_type = */ ggml_backend_metal_device_get_buffer_type, /* .get_host_buffer_type = */ NULL, /* .buffer_from_host_ptr = */ ggml_backend_metal_device_buffer_mapped, /* .supports_op = */ ggml_backend_metal_device_supports_op, /* .supports_buft = */ ggml_backend_metal_device_supports_buft, /* .offload_op = */ ggml_backend_metal_device_offload_op, - /* .event_new = */ NULL, - /* .event_free = */ NULL, - /* .event_synchronize = */ NULL, + /* .event_new = */ ggml_backend_metal_device_event_new, + /* .event_free = */ ggml_backend_metal_device_event_free, + /* .event_synchronize = */ ggml_backend_metal_device_event_synchronize, }; // backend registry +struct ggml_backend_metal_reg { + std::vector devices; +}; + +typedef struct ggml_backend_metal_reg * ggml_backend_metal_reg_t; + +static ggml_backend_metal_reg_t ggml_backend_metal_reg_init(void) { + ggml_backend_metal_reg_t ctx = new struct ggml_backend_metal_reg; + + return ctx; +} + +static void ggml_backend_metal_reg_free(ggml_backend_metal_reg_t ctx) { + delete ctx; +} + +struct ggml_backend_metal_reg_deleter { + void operator()(ggml_backend_metal_reg_t ctx) { + ggml_backend_metal_reg_free(ctx); + } +}; + +typedef std::unique_ptr ggml_backend_metal_reg_ptr; + static const char * ggml_backend_metal_reg_get_name(ggml_backend_reg_t reg) { - return "Metal"; + return GGML_METAL_NAME; GGML_UNUSED(reg); } static size_t ggml_backend_metal_reg_device_count(ggml_backend_reg_t reg) { - return 1; - - GGML_UNUSED(reg); + ggml_backend_metal_reg_t ctx = (ggml_backend_metal_reg_t)reg->context; + return ctx->devices.size(); } static ggml_backend_dev_t ggml_backend_metal_reg_device_get(ggml_backend_reg_t reg, size_t index) { - GGML_ASSERT(index == 0); - - return &g_ggml_metal_device; - - GGML_UNUSED(reg); - GGML_UNUSED(index); + ggml_backend_metal_reg_t ctx = (ggml_backend_metal_reg_t)reg->context; + GGML_ASSERT(index < ctx->devices.size()); + return ctx->devices[index]; } static ggml_backend_feature g_ggml_backend_metal_features[] = { @@ -698,27 +868,67 @@ static void * ggml_backend_metal_get_proc_address(ggml_backend_reg_t reg, const static ggml_backend_reg_i ggml_backend_metal_reg_i = { /* .get_name = */ ggml_backend_metal_reg_get_name, - /* .device_count = */ ggml_backend_metal_reg_device_count, - /* .device_get = */ ggml_backend_metal_reg_device_get, + /* .get_device_count = */ ggml_backend_metal_reg_device_count, + /* .get_device = */ ggml_backend_metal_reg_device_get, /* .get_proc_address = */ ggml_backend_metal_get_proc_address, }; -ggml_backend_reg_t ggml_backend_metal_reg(void) { - { - g_ggml_metal_reg = { - /* .api_version = */ GGML_BACKEND_API_VERSION, - /* .iface = */ ggml_backend_metal_reg_i, - /* .context = */ NULL, - }; +static ggml_backend_dev_t ggml_backend_metal_device_init(ggml_backend_reg_t reg, int device) { + return new ggml_backend_device { + /* .iface = */ ggml_backend_metal_device_i, + /* .reg = */ reg, + /* .context = */ ggml_metal_device_get(device), + }; +} - g_ggml_metal_device = { - /* .iface = */ ggml_backend_metal_device_i, - /* .reg = */ &g_ggml_metal_reg, - /* .context = */ ggml_metal_device_get(), - }; +static void ggml_backend_metal_device_free(ggml_backend_dev_t dev) { + delete dev; +} + +struct ggml_backend_device_deleter { + void operator()(ggml_backend_dev_t ctx) { + ggml_backend_metal_device_free(ctx); + } +}; + +typedef std::unique_ptr ggml_backend_device_ptr; + +ggml_backend_reg_t ggml_backend_metal_reg(void) { + static ggml_backend_reg reg; + static bool initialized = false; + + { + static std::mutex mutex; + std::lock_guard lock(mutex); + + const char * env = getenv("GGML_METAL_DEVICES"); + if (env) { + g_devices = atoi(env); + } + + static std::vector devs; + + if (!initialized) { + static ggml_backend_metal_reg_ptr reg_ctx(ggml_backend_metal_reg_init()); + + for (int i = 0; i < g_devices; ++i) { + auto * dev = ggml_backend_metal_device_init(®, i); + devs.emplace_back(dev); + + reg_ctx->devices.push_back(dev); + } + + reg = { + /* .api_version = */ GGML_BACKEND_API_VERSION, + /* .iface = */ ggml_backend_metal_reg_i, + /* .context = */ reg_ctx.get(), + }; + } + + initialized = true; } - return &g_ggml_metal_reg; + return ® } GGML_BACKEND_DL_IMPL(ggml_backend_metal_reg) diff --git a/src/llama-context.cpp b/src/llama-context.cpp index 10b306a853..203852d0f1 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -317,6 +317,7 @@ llama_context::llama_context( auto dev_type = ggml_backend_dev_type(ggml_backend_get_device(backend.get())); if (dev_type == GGML_BACKEND_DEVICE_TYPE_CPU) { // ignore CPU backend + // TODO: should we ignore ACCEL types too? continue; } auto * dev = ggml_backend_get_device(backend.get()); From 4d5e97267386ba5a9fe4c26f26df10fe1c218534 Mon Sep 17 00:00:00 2001 From: Tamar Date: Mon, 2 Feb 2026 15:05:51 +0200 Subject: [PATCH 094/206] sycl: implement GGML_OP_TOP_K (#19242) --- docs/ops.md | 2 +- docs/ops/SYCL.csv | 450 +++++++++++++++---------------- ggml/src/ggml-sycl/ggml-sycl.cpp | 140 ++++++++++ 3 files changed, 366 insertions(+), 226 deletions(-) diff --git a/docs/ops.md b/docs/ops.md index 2c7c60dcca..ef1ebff8b0 100644 --- a/docs/ops.md +++ b/docs/ops.md @@ -113,7 +113,7 @@ Legend: | SWIGLU_OAI | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 | ✅ | ❌ | ❌ | | TANH | ❌ | ✅ | ✅ | 🟡 | 🟡 | ✅ | ✅ | 🟡 | ✅ | ❌ | ❌ | | TIMESTEP_EMBEDDING | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | -| TOP_K | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ | 🟡 | ✅ | ❌ | ❌ | +| TOP_K | ❌ | ❌ | ✅ | ❌ | ✅ | ❌ | 🟡 | 🟡 | ✅ | ❌ | ❌ | | TRI | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | | TRUNC | ❌ | ❌ | ✅ | 🟡 | ❌ | ❌ | 🟡 | 🟡 | ✅ | ❌ | ❌ | | UPSCALE | ❌ | 🟡 | ✅ | ✅ | 🟡 | 🟡 | 🟡 | 🟡 | ❌ | ❌ | ❌ | diff --git a/docs/ops/SYCL.csv b/docs/ops/SYCL.csv index c1d22e65d4..2aa51304b3 100644 --- a/docs/ops/SYCL.csv +++ b/docs/ops/SYCL.csv @@ -9677,168 +9677,168 @@ "SYCL0","ARGSORT","type=f32,ne=[2048,2,1,3],order=1","support","1","yes","SYCL" "SYCL0","ARGSORT","type=f32,ne=[2049,2,1,3],order=1","support","1","yes","SYCL" "SYCL0","ARGSORT","type=f32,ne=[2,8,8192,1],order=1","support","1","yes","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[12,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[13,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[13,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[15,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[15,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[15,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[19,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[19,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[19,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[19,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[12,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[13,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[13,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[15,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[15,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[15,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[19,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[19,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[19,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[19,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[27,1,2,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[43,1,2,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[64,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[75,1,2,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[128,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[139,1,2,1],k=100,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[256,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[267,1,2,1],k=100,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[512,1,1,1],k=500,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[523,1,2,1],k=500,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=500,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=500,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[1024,1,1,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[1035,1,2,1],k=1023,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=500,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=500,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[2048,1,1,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[2059,1,2,1],k=1023,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=500,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=500,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[4096,1,1,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[4107,1,2,1],k=1023,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=500,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=500,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[8192,1,1,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[8203,1,2,1],k=1023,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=500,ties=0","support","0","no","SYCL" @@ -9847,16 +9847,16 @@ "SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=9999,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[16395,1,2,1],k=9999,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=500,ties=0","support","0","no","SYCL" @@ -9865,16 +9865,16 @@ "SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[32768,1,1,1],k=9999,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[32779,1,2,1],k=9999,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=500,ties=0","support","0","no","SYCL" @@ -9883,16 +9883,16 @@ "SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[65536,1,1,1],k=9999,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[65547,1,2,1],k=9999,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=500,ties=0","support","0","no","SYCL" @@ -9901,16 +9901,16 @@ "SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[131072,1,1,1],k=9999,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[131083,1,2,1],k=9999,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=500,ties=0","support","0","no","SYCL" @@ -9919,16 +9919,16 @@ "SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[262144,1,1,1],k=9999,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[262155,1,2,1],k=9999,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=15,ties=0","support","1","yes","SYCL" "SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=100,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=500,ties=0","support","0","no","SYCL" @@ -9937,51 +9937,51 @@ "SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=1023,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[524288,1,1,1],k=9999,ties=0","support","0","no","SYCL" "SYCL0","TOP_K","type=f32,ne=[524299,1,2,1],k=9999,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=1,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=2,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=3,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=7,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=15,ties=0","support","0","no","SYCL" -"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=15,ties=0","support","0","no","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=1,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=2,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=3,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=7,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16,10,10,10],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[60,10,10,10],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1023,2,1,3],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1024,2,1,3],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[1025,2,1,3],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[16384,1,1,1],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2047,2,1,3],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2048,2,1,3],k=15,ties=0","support","1","yes","SYCL" +"SYCL0","TOP_K","type=f32,ne=[2049,2,1,3],k=15,ties=0","support","1","yes","SYCL" "SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=nearest,transpose=0","support","1","yes","SYCL" "SYCL0","UPSCALE","type=f32,ne=[512,512,3,2],scale_factor=2,mode=nearest,transpose=1","support","1","yes","SYCL" "SYCL0","UPSCALE","type=f32,ne=[2,5,7,11],ne_tgt=[5,7,11,13],mode=nearest","support","1","yes","SYCL" diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index 12f1e7717b..c5139fd3dd 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -1840,6 +1840,110 @@ static void argsort_f32_i32_sycl(const float *x, int *dst, const int ncols, } } +static void top_k_f32_sycl( + const float * src, + int32_t * dst_indices, + const int64_t ncols, + const int64_t nrows, + const int k, + dpct::queue_ptr main_stream +) { + const int block_size = 128; + + const sycl::range<1> block_dims(block_size); + const sycl::range<1> grid_dims(nrows); + + main_stream->submit([&](sycl::handler &cgh) { + sycl::local_accessor shared_vals(sycl::range<1>(block_size * k), cgh); + sycl::local_accessor shared_idx(sycl::range<1>(block_size * k), cgh); + + cgh.parallel_for( + sycl::nd_range<1>(grid_dims * block_dims, block_dims), + [=](sycl::nd_item<1> item_ct1) { + const int row = item_ct1.get_group(0); + const int tid = item_ct1.get_local_id(0); + + if (row >= nrows) return; + + const float * src_row = src + row * ncols; + int32_t * dst_idx_row = dst_indices + row * k; + + float local_vals[32]; + int local_idx[32]; + + for (int i = 0; i < k; i++) { + local_vals[i] = -FLT_MAX; + local_idx[i] = -1; + } + + for (int col = tid; col < ncols; col += block_size) { + float val = src_row[col]; + + if (val > local_vals[k-1]) { + int pos = k - 1; + while (pos > 0 && val > local_vals[pos - 1]) { + pos--; + } + + for (int i = k - 1; i > pos; i--) { + local_vals[i] = local_vals[i - 1]; + local_idx[i] = local_idx[i - 1]; + } + local_vals[pos] = val; + local_idx[pos] = col; + } + } + + for (int i = 0; i < k; i++) { + shared_vals[tid * k + i] = local_vals[i]; + shared_idx[tid * k + i] = local_idx[i]; + } + item_ct1.barrier(sycl::access::fence_space::local_space); + + if (tid == 0) { + float final_vals[32]; + int final_idx[32]; + + for (int i = 0; i < k; i++) { + final_vals[i] = -FLT_MAX; + final_idx[i] = -1; + } + + for (int t = 0; t < block_size; t++) { + for (int i = 0; i < k; i++) { + float val = shared_vals[t * k + i]; + int idx = shared_idx[t * k + i]; + + if (val > final_vals[k-1]) { + int pos = k - 1; + while (pos > 0 && val > final_vals[pos - 1]) { + pos--; + } + + for (int j = k - 1; j > pos; j--) { + final_vals[j] = final_vals[j - 1]; + final_idx[j] = final_idx[j - 1]; + } + final_vals[pos] = val; + final_idx[pos] = idx; + } + } + } + + for (int i = 0; i < k; i++) { + dst_idx_row[i] = final_idx[i]; + } + + if (k > 1) { + int32_t temp = dst_idx_row[0]; + dst_idx_row[0] = dst_idx_row[1]; + dst_idx_row[1] = temp; + } + } + }); + }); +} + static void argmax_f32_i32_sycl(const float *x, int *dst, const int ncols, const int nrows, queue_ptr stream) { const sycl::range<3> block_dims(1, 1, SYCL_ARGMAX_BLOCK_SIZE); @@ -2231,6 +2335,30 @@ inline void ggml_sycl_op_argsort(ggml_backend_sycl_context & ctx, ggml_tensor * main_stream, ctx.device); } +static void ggml_sycl_op_top_k(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { + const ggml_tensor * src0 = dst->src[0]; + + GGML_ASSERT(src0); + GGML_ASSERT(src0->type == GGML_TYPE_F32); + GGML_ASSERT(dst->type == GGML_TYPE_I32); + GGML_ASSERT(ggml_is_contiguous(src0)); + + dpct::queue_ptr main_stream = ctx.stream(); + SYCL_CHECK(ggml_sycl_set_device(ctx.device)); + + const float * src0_dd = static_cast(src0->data); + int32_t * dst_dd = static_cast(dst->data); + + const int k = dst->ne[0]; + const int64_t ncols = src0->ne[0]; + const int64_t nrows = ggml_nrows(src0); + + GGML_ASSERT(k > 0 && k <= 32); + GGML_ASSERT(k <= ncols); + + top_k_f32_sycl(src0_dd, dst_dd, ncols, nrows, k, main_stream); +} + inline void ggml_sycl_op_argmax(ggml_backend_sycl_context & ctx, ggml_tensor * dst) { GGML_ASSERT(dst->src[0]->type == GGML_TYPE_F32); GGML_ASSERT( dst->type == GGML_TYPE_I32); @@ -4007,6 +4135,9 @@ static bool ggml_sycl_compute_forward(ggml_backend_sycl_context & ctx, struct gg case GGML_OP_ARGSORT: ggml_sycl_argsort(ctx, dst); break; + case GGML_OP_TOP_K: + ggml_sycl_op_top_k(ctx, dst); + break; case GGML_OP_TIMESTEP_EMBEDDING: ggml_sycl_op_timestep_embedding(ctx, dst); break; @@ -4710,6 +4841,15 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g case GGML_OP_ARGSORT: return op->src[0]->ne[0] * sizeof(int) <= ggml_sycl_info().devices[device].smpbo; + case GGML_OP_TOP_K: { + const ggml_tensor * src0 = op->src[0]; + const int k = op->ne[0]; + return src0 && + op->type == GGML_TYPE_I32 && + src0->type == GGML_TYPE_F32 && + ggml_is_contiguous(src0) && + k > 0 && k <= 32; + } case GGML_OP_POOL_2D: case GGML_OP_ACC: return true; From bf38346d136c6121732c36c60b079bde18d63a0e Mon Sep 17 00:00:00 2001 From: Neo Zhang Date: Mon, 2 Feb 2026 21:06:21 +0800 Subject: [PATCH 095/206] Remove support for Nvidia & AMD GPU, because the oneAPI plugin for Nvidia & AMD GPU is unavailable: download/installation channels are out of work. (#19246) User can't build up the software for Nvidia & AMD GPU. rm the oneMath since it is only used in NV and AMD code path. --- docs/backend/SYCL.md | 126 ++++------------------------- ggml/src/ggml-sycl/CMakeLists.txt | 99 +++-------------------- ggml/src/ggml-sycl/dpct/helper.hpp | 65 +++++---------- ggml/src/ggml-sycl/ggml-sycl.cpp | 35 +++----- ggml/src/ggml-sycl/outprod.cpp | 6 +- ggml/src/ggml-sycl/rope.cpp | 1 - ggml/src/ggml-sycl/wkv.cpp | 2 +- 7 files changed, 60 insertions(+), 274 deletions(-) diff --git a/docs/backend/SYCL.md b/docs/backend/SYCL.md index 10cb02ff2c..b3cff96604 100644 --- a/docs/backend/SYCL.md +++ b/docs/backend/SYCL.md @@ -22,12 +22,11 @@ - **DPCPP** *(Data Parallel C++)*: The primary oneAPI SYCL implementation, which includes the icpx/icx Compilers. - **oneAPI Libraries**: A set of highly optimized libraries targeting multiple domains *(e.g. Intel oneMKL, oneMath and oneDNN)*. - **oneAPI LevelZero**: A high performance low level interface for fine-grained control over Intel iGPUs and dGPUs. -- **Nvidia & AMD Plugins**: These are plugins extending oneAPI's DPCPP support to SYCL on Nvidia and AMD GPU targets. ### Llama.cpp + SYCL The llama.cpp SYCL backend is primarily designed for **Intel GPUs**. -SYCL cross-platform capabilities enable support for Nvidia GPUs as well, with limited support for AMD. +SYCL cross-platform capabilities enable support for other vendor GPUs as well. ## Recommended Release @@ -42,6 +41,9 @@ The following releases are verified and recommended: ## News +- 2026.02 + - Remove support for Nvidia & AMD GPU, because the oneAPI plugin for Nvidia & AMD GPU is unavailable: download/installation channels are out of work. User can't build up the software for Nvidia & AMD GPU. + - 2025.11 - Support malloc memory on device more than 4GB. @@ -111,8 +113,8 @@ On older Intel GPUs, you may try [OpenCL](/docs/backend/OPENCL.md) although the |-------------------------------|---------|---------------------------------------| | Intel Data Center Max Series | Support | Max 1550, 1100 | | Intel Data Center Flex Series | Support | Flex 170 | -| Intel Arc A-Series | Support | Arc A770, Arc A730M, Arc A750 | -| Intel Arc B-Series | Support | Arc B580 | +| Intel Arc A-Series | Support | Arc A770, Arc A730M, Arc A750 | +| Intel Arc B-Series | Support | Arc B580 | | Intel built-in Arc GPU | Support | built-in Arc GPU in Meteor Lake, Arrow Lake, Lunar Lake | | Intel iGPU | Support | iGPU in 13700k, 13400, i5-1250P, i7-1260P, i7-1165G7 | @@ -127,20 +129,7 @@ On older Intel GPUs, you may try [OpenCL](/docs/backend/OPENCL.md) although the ### Other Vendor GPU -**Verified devices** - -| Nvidia GPU | Status | Verified Model | -|--------------------------|-----------|----------------| -| Ampere Series | Supported | A100, A4000 | -| Ampere Series *(Mobile)* | Supported | RTX 40 Series | - -| AMD GPU | Status | Verified Model | -|--------------------------|--------------|----------------| -| Radeon Pro | Experimental | W6800 | -| Radeon RX | Experimental | 6700 XT | - -Note: AMD GPU support is highly experimental and is incompatible with F16. -Additionally, it only supports GPUs with a sub_group_size (warp size) of 32. +NA ## Docker @@ -149,11 +138,11 @@ The docker build option is currently limited to *Intel GPU* targets. ### Build image ```sh -# Using FP16 -docker build -t llama-cpp-sycl --build-arg="GGML_SYCL_F16=ON" --target light -f .devops/intel.Dockerfile . - # Using FP32 docker build -t llama-cpp-sycl --build-arg="GGML_SYCL_F16=OFF" --target light -f .devops/intel.Dockerfile . + +# Using FP16 +docker build -t llama-cpp-sycl --build-arg="GGML_SYCL_F16=ON" --target light -f .devops/intel.Dockerfile . ``` *Notes*: @@ -212,14 +201,6 @@ Platform #0: Intel(R) OpenCL HD Graphics `-- Device #0: Intel(R) Iris(R) Xe Graphics [0x9a49] ``` -- **Nvidia GPU** - -In order to target Nvidia GPUs through SYCL, please make sure the CUDA/CUBLAS native requirements *-found [here](README.md#cuda)-* are installed. - -- **AMD GPU** - -To target AMD GPUs with SYCL, the ROCm stack must be installed first. - 2. **Install Intel® oneAPI Base toolkit** SYCL backend depends on: @@ -248,23 +229,6 @@ Upon a successful installation, SYCL is enabled for the available intel devices, |2025.1| |2024.1| -- **Adding support to Nvidia GPUs** - -**oneAPI Plugin**: In order to enable SYCL support on Nvidia GPUs, please install the [Codeplay oneAPI Plugin for Nvidia GPUs](https://developer.codeplay.com/products/oneapi/nvidia/download). User should also make sure the plugin version matches the installed base toolkit one *(previous step)* for a seamless "oneAPI on Nvidia GPU" setup. - -**oneDNN**: The current oneDNN releases *(shipped with the oneAPI base-toolkit)* do not include the NVIDIA backend. Therefore, oneDNN must be compiled from source to enable the NVIDIA target: - -```sh -git clone https://github.com/oneapi-src/oneDNN.git -cd oneDNN -cmake -GNinja -Bbuild-nvidia -DDNNL_CPU_RUNTIME=DPCPP -DDNNL_GPU_RUNTIME=DPCPP -DDNNL_GPU_VENDOR=NVIDIA -DONEDNN_BUILD_GRAPH=OFF -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -cmake --build build-nvidia --config Release -``` - -- **Adding support to AMD GPUs** - -**oneAPI Plugin**: In order to enable SYCL support on AMD GPUs, please install the [Codeplay oneAPI Plugin for AMD GPUs](https://developer.codeplay.com/products/oneapi/amd/download). As with Nvidia GPUs, the user should also make sure the plugin version matches the installed base toolkit. - 3. **Verify installation and environment** In order to check the available SYCL devices on the machine, please use the `sycl-ls` command. @@ -285,25 +249,6 @@ When targeting an intel GPU, the user should expect one or more devices among th [opencl:gpu][opencl:2] Intel(R) OpenCL Graphics, Intel(R) UHD Graphics 730 OpenCL 3.0 NEO [24.39.31294] ``` -- **Nvidia GPU** - -Similarly, user targeting Nvidia GPUs should expect at least one SYCL-CUDA device [`cuda:gpu`] as below: - -``` -[opencl:acc][opencl:0] Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2023.16.12.0.12_195853.xmain-hotfix] -[opencl:cpu][opencl:1] Intel(R) OpenCL, Intel(R) Xeon(R) Gold 6326 CPU @ 2.90GHz OpenCL 3.0 (Build 0) [2023.16.12.0.12_195853.xmain-hotfix] -[cuda:gpu][cuda:0] NVIDIA CUDA BACKEND, NVIDIA A100-PCIE-40GB 8.0 [CUDA 12.5] -``` - -- **AMD GPU** - -For AMD GPUs we should expect at least one SYCL-HIP device [`hip:gpu`]: - -``` -[opencl:cpu][opencl:0] Intel(R) OpenCL, 12th Gen Intel(R) Core(TM) i9-12900K OpenCL 3.0 (Build 0) [2024.18.6.0.02_160000] -[hip:gpu][hip:0] AMD HIP BACKEND, AMD Radeon PRO W6800 gfx1030 [HIP 60140.9] -``` - ### II. Build llama.cpp #### Intel GPU @@ -332,47 +277,6 @@ It is possible to come across some precision issues when running tests that stem instructions, which can be circumvented by setting the environment variable `SYCL_PROGRAM_COMPILE_OPTIONS` as `-cl-fp32-correctly-rounded-divide-sqrt` -#### Nvidia GPU - -The SYCL backend depends on [oneMath](https://github.com/uxlfoundation/oneMath) for Nvidia and AMD devices. -By default it is automatically built along with the project. A specific build can be provided by setting the CMake flag `-DoneMath_DIR=/path/to/oneMath/install/lib/cmake/oneMath`. - -```sh -# Build LLAMA with Nvidia BLAS acceleration through SYCL -# Setting GGML_SYCL_DEVICE_ARCH is optional but can improve performance -GGML_SYCL_DEVICE_ARCH=sm_80 # Example architecture - -# Option 1: Use FP32 (recommended for better performance in most cases) -cmake -B build -DGGML_SYCL=ON -DGGML_SYCL_TARGET=NVIDIA -DGGML_SYCL_DEVICE_ARCH=${GGML_SYCL_DEVICE_ARCH} -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DDNNL_DIR=/path/to/oneDNN/build-nvidia/install/lib/cmake/dnnl - -# Option 2: Use FP16 -cmake -B build -DGGML_SYCL=ON -DGGML_SYCL_TARGET=NVIDIA -DGGML_SYCL_DEVICE_ARCH=${GGML_SYCL_DEVICE_ARCH} -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DGGML_SYCL_F16=ON -DDNNL_DIR=/path/to/oneDNN/build-nvidia/install/lib/cmake/dnnl - -# build all binary -cmake --build build --config Release -j -v -``` - -It is possible to come across some precision issues when running tests that stem from using faster -instructions, which can be circumvented by passing the `-fno-fast-math` flag to the compiler. - -#### AMD GPU - -The SYCL backend depends on [oneMath](https://github.com/uxlfoundation/oneMath) for Nvidia and AMD devices. -By default it is automatically built along with the project. A specific build can be provided by setting the CMake flag `-DoneMath_DIR=/path/to/oneMath/install/lib/cmake/oneMath`. - -```sh -# Build LLAMA with rocBLAS acceleration through SYCL - -## AMD -# Use FP32, FP16 is not supported -# Find your GGML_SYCL_DEVICE_ARCH with rocminfo, under the key 'Name:' -GGML_SYCL_DEVICE_ARCH=gfx90a # Example architecture -cmake -B build -DGGML_SYCL=ON -DGGML_SYCL_TARGET=AMD -DGGML_SYCL_DEVICE_ARCH=${GGML_SYCL_DEVICE_ARCH} -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx - -# build all binary -cmake --build build --config Release -j -v -``` - ### III. Run the inference #### Retrieve and prepare model @@ -766,15 +670,15 @@ use 1 SYCL GPUs: [0] with Max compute units:512 | Name | Value | Function | |--------------------|---------------------------------------|---------------------------------------------| | GGML_SYCL | ON (mandatory) | Enable build with SYCL code path. | -| GGML_SYCL_TARGET | INTEL *(default)* \| NVIDIA \| AMD | Set the SYCL target device type. | -| GGML_SYCL_DEVICE_ARCH | Optional (except for AMD) | Set the SYCL device architecture, optional except for AMD. Setting the device architecture can improve the performance. See the table [--offload-arch](https://github.com/intel/llvm/blob/sycl/sycl/doc/design/OffloadDesign.md#--offload-arch) for a list of valid architectures. | +| GGML_SYCL_TARGET | INTEL *(default)* | Set the SYCL target device type. | +| GGML_SYCL_DEVICE_ARCH | Optional | Set the SYCL device architecture. Setting the device architecture can improve the performance. See the table [--offload-arch](https://github.com/intel/llvm/blob/sycl/sycl/doc/design/OffloadDesign.md#--offload-arch) for a list of valid architectures. | | GGML_SYCL_F16 | OFF *(default)* \|ON *(optional)* | Enable FP16 build with SYCL code path. (1.) | -| GGML_SYCL_GRAPH | ON *(default)* \|OFF *(Optional)* | Enable build with [SYCL Graph extension](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc). | +| GGML_SYCL_GRAPH | OFF *(default)* \|ON *(Optional)* | Enable build with [SYCL Graph extension](https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc). | | GGML_SYCL_DNN | ON *(default)* \|OFF *(Optional)* | Enable build with oneDNN. | | CMAKE_C_COMPILER | `icx` *(Linux)*, `icx/cl` *(Windows)* | Set `icx` compiler for SYCL code path. | | CMAKE_CXX_COMPILER | `icpx` *(Linux)*, `icx` *(Windows)* | Set `icpx/icx` compiler for SYCL code path. | -1. FP16 is recommended for better prompt processing performance on quantized models. Performance is equivalent in text generation but set `GGML_SYCL_F16=OFF` if you are experiencing issues with FP16 builds. +1. FP32 or FP16 have different performance impact to LLM. Recommended to test them for better prompt processing performance on your models. You need to rebuild the code after change `GGML_SYCL_F16=OFF/ON`. #### Runtime @@ -782,7 +686,7 @@ use 1 SYCL GPUs: [0] with Max compute units:512 |-------------------|------------------|---------------------------------------------------------------------------------------------------------------------------| | GGML_SYCL_DEBUG | 0 (default) or 1 | Enable log function by macro: GGML_SYCL_DEBUG | | GGML_SYCL_DISABLE_OPT | 0 (default) or 1 | Disable optimize features for Intel GPUs. (Recommended to 1 for intel devices older than Gen 10) | -| GGML_SYCL_DISABLE_GRAPH | 0 or 1 (default) | Disable running computations through SYCL Graphs feature. Disabled by default because graph performance isn't yet better than non-graph performance. | +| GGML_SYCL_DISABLE_GRAPH | 0 or 1 (default) | Disable running computations through SYCL Graphs feature. Disabled by default because SYCL Graph is still on development, no better performance. | | GGML_SYCL_DISABLE_DNN | 0 (default) or 1 | Disable running computations through oneDNN and always use oneMKL. | | ZES_ENABLE_SYSMAN | 0 (default) or 1 | Support to get free memory of GPU by sycl::aspect::ext_intel_free_memory.
Recommended to use when --split-mode = layer | | UR_L0_ENABLE_RELAXED_ALLOCATION_LIMITS | 0 (default) or 1 | Support malloc device memory more than 4GB.| diff --git a/ggml/src/ggml-sycl/CMakeLists.txt b/ggml/src/ggml-sycl/CMakeLists.txt index 5a89d8dd68..eefdd9725c 100644 --- a/ggml/src/ggml-sycl/CMakeLists.txt +++ b/ggml/src/ggml-sycl/CMakeLists.txt @@ -1,7 +1,7 @@ message(STATUS "GGML_SYCL_TARGET=${GGML_SYCL_TARGET}") -if (NOT GGML_SYCL_TARGET MATCHES "^(INTEL|NVIDIA|AMD)$") - message(FATAL_ERROR "Invalid backend chosen, supported options are INTEL, NVIDIA, or AMD") +if (NOT GGML_SYCL_TARGET MATCHES "^(INTEL)$") + message(FATAL_ERROR "GGML_SYCL_TARGET: Invalid target, the supported options are [INTEL]") endif() check_cxx_compiler_flag("-fsycl" SUPPORTS_SYCL) @@ -125,25 +125,22 @@ endif() target_compile_definitions(ggml-sycl PRIVATE GGML_SYCL_DNNL=${GGML_SYCL_DNNL}) if (GGML_SYCL_F16) - if (GGML_SYCL_TARGET STREQUAL "AMD") - message(WARNING "AMD target does not entirely support FP16 in the SYCL backend.") - endif() add_compile_definitions(GGML_SYCL_F16) endif() if (GGML_SYCL_TARGET STREQUAL "INTEL") add_compile_definitions(GGML_SYCL_WARP_SIZE=16) target_link_options(ggml-sycl PRIVATE -Xs -ze-intel-greater-than-4GB-buffer-required) -elseif (GGML_SYCL_TARGET STREQUAL "NVIDIA") - add_compile_definitions(GGML_SYCL_WARP_SIZE=32) -elseif (GGML_SYCL_TARGET STREQUAL "AMD") - # INFO: Allowed Sub_group_sizes are not consistent through all - # hip targets. For example, 64 is used for certain models, but the backend - # does not support it. - # Target archs tested working: gfx1030, gfx1031, (Only tested sub_group_size = 32) - add_compile_definitions(GGML_SYCL_WARP_SIZE=32) + + # Link against Intel oneMKL + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + set(SYCL_COMPILER ON) + endif() + find_package(MKL REQUIRED) + target_link_libraries(ggml-sycl PRIVATE MKL::MKL_SYCL::BLAS) else() # default for other target + message(FATAL_ERROR "GGML_SYCL_TARGET is not supported") add_compile_definitions(GGML_SYCL_WARP_SIZE=32) endif() @@ -151,82 +148,6 @@ if (GGML_SYCL_GRAPH) target_compile_definitions(ggml-sycl PRIVATE GGML_SYCL_GRAPH) endif() -# Link against Intel oneMKL or oneMath -if (GGML_SYCL_TARGET STREQUAL "INTEL") - # Intel devices use Intel oneMKL directly instead of oneMath to avoid the limitation of linking Intel oneMKL statically - # See https://github.com/uxlfoundation/oneMath/issues/654 - if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") - set(SYCL_COMPILER ON) - endif() - find_package(MKL REQUIRED) - target_link_libraries(ggml-sycl PRIVATE MKL::MKL_SYCL::BLAS) - target_compile_definitions(ggml-sycl PRIVATE GGML_SYCL_USE_INTEL_ONEMKL) -else() - find_package(oneMath QUIET) - if (NOT oneMath_FOUND) - message(STATUS "oneMath not found: oneMath will be automatically downloaded") - # Use FetchContent to automatically pull and build oneMath - include(FetchContent) - set(BUILD_FUNCTIONAL_TESTS False) - set(BUILD_EXAMPLES False) - set(TARGET_DOMAINS blas) - if (GGML_SYCL_TARGET STREQUAL "NVIDIA") - set(ENABLE_MKLCPU_BACKEND False) - set(ENABLE_MKLGPU_BACKEND False) - set(ENABLE_CUBLAS_BACKEND True) - elseif (GGML_SYCL_TARGET STREQUAL "AMD") - set(ENABLE_MKLCPU_BACKEND False) - set(ENABLE_MKLGPU_BACKEND False) - set(ENABLE_ROCBLAS_BACKEND True) - # Ensure setting a string variable here is not overriden by oneMath CACHE variables - cmake_policy(SET CMP0126 NEW) - # Setting the device architecture is only needed and useful for AMD devices in oneMath - set(HIP_TARGETS ${GGML_SYCL_DEVICE_ARCH} CACHE STRING "oneMath HIP target" FORCE) - endif() - FetchContent_Declare( - ONEMATH - GIT_REPOSITORY https://github.com/uxlfoundation/oneMath.git - GIT_TAG 8efe85f5aaebb37f1d8c503b7af66315feabf142 - ) - FetchContent_MakeAvailable(ONEMATH) - # Create alias to match with find_package targets name - function(onemath_alias target) - if (TARGET ${target}_obj) - # Silence verbose warnings from external libraries - target_compile_options(${target}_obj PRIVATE -w) - endif() - if (TARGET ${target}) - add_library(ONEMATH::${target} ALIAS ${target}) - endif() - endfunction() - onemath_alias(onemath) - onemath_alias(onemath_blas_mklcpu) - onemath_alias(onemath_blas_mklgpu) - onemath_alias(onemath_blas_cublas) - onemath_alias(onemath_blas_rocblas) - endif() - - # Below oneMath compile-time dispatching is used for better performance - if (GGML_SYCL_TARGET STREQUAL "NVIDIA") - target_link_libraries(ggml-sycl PRIVATE ONEMATH::onemath_blas_cublas) - target_compile_options(ggml-sycl PRIVATE "-fsycl-targets=nvptx64-nvidia-cuda") - target_link_options(ggml-sycl PRIVATE "-fsycl-targets=nvptx64-nvidia-cuda") - target_compile_definitions(ggml-sycl PRIVATE GGML_SYCL_NVIDIA) - elseif (GGML_SYCL_TARGET STREQUAL "AMD") - if (NOT GGML_SYCL_DEVICE_ARCH) - message(FATAL_ERROR "Can't enable SYCL hip backend, GGML_SYCL_DEVICE_ARCH has not been set.") - endif() - target_link_libraries(ggml-sycl PRIVATE ONEMATH::onemath_blas_rocblas) - target_compile_options(ggml-sycl PRIVATE "-fsycl-targets=amdgcn-amd-amdhsa") - target_link_options(ggml-sycl PRIVATE "-fsycl-targets=amdgcn-amd-amdhsa") - target_compile_definitions(ggml-sycl PRIVATE GGML_SYCL_AMD) - else() - # Fallback to oneMath runtime dispatcher - target_link_libraries(ggml-sycl PRIVATE ONEMATH::onemath) - target_compile_definitions(ggml-sycl PRIVATE GGML_SYCL_GENERIC) - endif() -endif() - if (GGML_SYCL_DEVICE_ARCH) target_compile_options(ggml-sycl PRIVATE -Xsycl-target-backend --offload-arch=${GGML_SYCL_DEVICE_ARCH}) target_link_options(ggml-sycl PRIVATE -Xsycl-target-backend --offload-arch=${GGML_SYCL_DEVICE_ARCH}) diff --git a/ggml/src/ggml-sycl/dpct/helper.hpp b/ggml/src/ggml-sycl/dpct/helper.hpp index 8ae8098717..ece66a7ac1 100644 --- a/ggml/src/ggml-sycl/dpct/helper.hpp +++ b/ggml/src/ggml-sycl/dpct/helper.hpp @@ -15,17 +15,9 @@ #include #include -#include - -#ifdef GGML_SYCL_USE_INTEL_ONEMKL #include -// Allow to use the same namespace for Intel oneMKL and oneMath -namespace oneapi { - namespace math = mkl; -} -#else -#include -#endif + +#include #include "ggml.h" @@ -91,32 +83,13 @@ inline std::string get_device_backend_and_type(const sycl::device &device) { } template struct matrix_info_t { - oneapi::math::transpose transpose_info[2]; + oneapi::mkl::transpose transpose_info[2]; Ts value_info[2]; std::int64_t size_info[3]; std::int64_t ld_info[3]; std::int64_t groupsize_info; }; -inline auto get_onemath_backend(sycl::queue& queue) -#if defined(GGML_SYCL_GENERIC) || defined(GGML_SYCL_USE_INTEL_ONEMKL) - -> sycl::queue& -#endif -{ -// If the backend is known at compile-time, use oneMath backend_selector to use -// compile-time dispatching and avoid the need to dlopen libraries. Otherwise -// fallback to runtime dispatching. -#if defined(GGML_SYCL_NVIDIA) - return oneapi::math::backend_selector{ queue }; -#elif defined(GGML_SYCL_AMD) - return oneapi::math::backend_selector{ queue }; -#elif defined(GGML_SYCL_GENERIC) || defined(GGML_SYCL_USE_INTEL_ONEMKL) - return queue; -#else - static_assert(false, "Unsupported backend"); -#endif -} - namespace dpct { typedef sycl::queue *queue_ptr; @@ -1734,7 +1707,7 @@ namespace dpct namespace detail { template - inline void gemm_impl(sycl::queue & q, oneapi::math::transpose a_trans, oneapi::math::transpose b_trans, int m, + inline void gemm_impl(sycl::queue & q, oneapi::mkl::transpose a_trans, oneapi::mkl::transpose b_trans, int m, int n, int k, const void * alpha, const void * a, int lda, const void * b, int ldb, const void * beta, void * c, int ldc) { Ts alpha_value = dpct::get_value(reinterpret_cast(alpha), q); @@ -1742,7 +1715,7 @@ namespace dpct auto data_a = get_memory(a); auto data_b = get_memory(b); auto data_c = get_memory(c); - oneapi::math::blas::column_major::gemm(get_onemath_backend(q), a_trans, b_trans, m, n, k, alpha_value, data_a, + oneapi::mkl::blas::column_major::gemm(q, a_trans, b_trans, m, n, k, alpha_value, data_a, lda, data_b, ldb, beta_value, data_c, ldc); } @@ -1774,7 +1747,7 @@ namespace dpct }; template - inline void gemm_batch_impl(sycl::queue & q, oneapi::math::transpose a_trans, oneapi::math::transpose b_trans, + inline void gemm_batch_impl(sycl::queue & q, oneapi::mkl::transpose a_trans, oneapi::mkl::transpose b_trans, int m, int n, int k, const void * alpha, const void ** a, int lda, const void ** b, int ldb, const void * beta, void ** c, int ldc, int batch_size, matrix_info_t * matrix_info) { @@ -1793,8 +1766,8 @@ namespace dpct matrix_info->ld_info[2] = ldc; matrix_info->groupsize_info = batch_size; - sycl::event e = oneapi::math::blas::column_major::gemm_batch( - get_onemath_backend(q), matrix_info->transpose_info, matrix_info->transpose_info + 1, + sycl::event e = oneapi::mkl::blas::column_major::gemm_batch( + q, matrix_info->transpose_info, matrix_info->transpose_info + 1, matrix_info->size_info, matrix_info->size_info + 1, matrix_info->size_info + 2, reinterpret_cast(matrix_info->value_info), reinterpret_cast(a), matrix_info->ld_info, reinterpret_cast(b), matrix_info->ld_info + 1, @@ -1803,7 +1776,7 @@ namespace dpct } template - inline void gemm_batch_impl(sycl::queue & q, oneapi::math::transpose a_trans, oneapi::math::transpose b_trans, + inline void gemm_batch_impl(sycl::queue & q, oneapi::mkl::transpose a_trans, oneapi::mkl::transpose b_trans, int m, int n, int k, const void * alpha, const void * a, int lda, long long int stride_a, const void * b, int ldb, long long int stride_b, const void * beta, void * c, int ldc, long long int stride_c, int batch_size) { @@ -1812,7 +1785,7 @@ namespace dpct auto data_a = get_memory(a); auto data_b = get_memory(b); auto data_c = get_memory(c); - oneapi::math::blas::column_major::gemm_batch(get_onemath_backend(q), a_trans, b_trans, m, n, k, alpha_value, + oneapi::mkl::blas::column_major::gemm_batch(q, a_trans, b_trans, m, n, k, alpha_value, data_a, lda, stride_a, data_b, ldb, stride_b, beta_value, data_c, ldc, stride_c, batch_size); } @@ -2299,7 +2272,7 @@ namespace dpct sycl::range<3>(x, y, 1), direction); } - inline void gemm(sycl::queue & q, oneapi::math::transpose a_trans, oneapi::math::transpose b_trans, int m, int n, + inline void gemm(sycl::queue & q, oneapi::mkl::transpose a_trans, oneapi::mkl::transpose b_trans, int m, int n, int k, const void * alpha, const void * a, library_data_t a_type, int lda, const void * b, library_data_t b_type, int ldb, const void * beta, void * c, library_data_t c_type, int ldc, library_data_t scaling_type) { @@ -2366,7 +2339,7 @@ namespace dpct library_data_t::real_bfloat16, library_data_t::real_bfloat16, library_data_t::real_float, library_data_t::real_float): { - detail::gemm_impl( + detail::gemm_impl( q, a_trans, b_trans, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc); break; } @@ -2405,7 +2378,7 @@ namespace dpct library_data_t::real_bfloat16, library_data_t::real_bfloat16, library_data_t::real_bfloat16, library_data_t::real_float): { - detail::gemm_impl( + detail::gemm_impl( q, a_trans, b_trans, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc); break; } @@ -2447,7 +2420,7 @@ namespace dpct /// \param [in] ldc Leading dimension of C. /// \param [in] batch_size Specifies the number of matrix multiply operations to perform. /// \param [in] scaling_type Data type of the scaling factors. - inline void gemm_batch(sycl::queue & q, oneapi::math::transpose a_trans, oneapi::math::transpose b_trans, int m, + inline void gemm_batch(sycl::queue & q, oneapi::mkl::transpose a_trans, oneapi::mkl::transpose b_trans, int m, int n, int k, const void * alpha, const void * a[], library_data_t a_type, int lda, const void * b[], library_data_t b_type, int ldb, const void * beta, void * c[], library_data_t c_type, int ldc, int batch_size, library_data_t scaling_type, @@ -2485,7 +2458,7 @@ namespace dpct library_data_t::real_bfloat16, library_data_t::real_bfloat16, library_data_t::real_bfloat16, library_data_t::real_float): { - detail::gemm_batch_impl( + detail::gemm_batch_impl( q, a_trans, b_trans, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc, batch_size, matrix_info); break; } @@ -2493,7 +2466,7 @@ namespace dpct library_data_t::real_bfloat16, library_data_t::real_bfloat16, library_data_t::real_float, library_data_t::real_float): { - detail::gemm_batch_impl( + detail::gemm_batch_impl( q, a_trans, b_trans, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc, batch_size, matrix_info); break; } @@ -2569,7 +2542,7 @@ namespace dpct /// \param [in] stride_c Stride between the different C matrices. /// \param [in] batch_size Specifies the number of matrix multiply operations to perform. /// \param [in] scaling_type Data type of the scaling factors. - inline void gemm_batch(sycl::queue & q, oneapi::math::transpose a_trans, oneapi::math::transpose b_trans, int m, + inline void gemm_batch(sycl::queue & q, oneapi::mkl::transpose a_trans, oneapi::mkl::transpose b_trans, int m, int n, int k, const void * alpha, const void * a, library_data_t a_type, int lda, long long int stride_a, const void * b, library_data_t b_type, int ldb, long long int stride_b, const void * beta, void * c, library_data_t c_type, int ldc, @@ -2642,7 +2615,7 @@ namespace dpct library_data_t::real_bfloat16, library_data_t::real_bfloat16, library_data_t::real_bfloat16, library_data_t::real_float): { - detail::gemm_batch_impl( + detail::gemm_batch_impl( q, a_trans, b_trans, m, n, k, alpha, a, lda, stride_a, b, ldb, stride_b, beta, c, ldc, stride_c, batch_size); break; @@ -2651,7 +2624,7 @@ namespace dpct library_data_t::real_bfloat16, library_data_t::real_bfloat16, library_data_t::real_float, library_data_t::real_float): { - detail::gemm_batch_impl( + detail::gemm_batch_impl( q, a_trans, b_trans, m, n, k, alpha, a, lda, stride_a, b, ldb, stride_b, beta, c, ldc, stride_c, batch_size); break; diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp index c5139fd3dd..a03d26d7f2 100644 --- a/ggml/src/ggml-sycl/ggml-sycl.cpp +++ b/ggml/src/ggml-sycl/ggml-sycl.cpp @@ -2167,8 +2167,8 @@ inline void ggml_sycl_op_mul_mat_sycl( const sycl::half alpha_f16 = 1.0f; const sycl::half beta_f16 = 0.0f; SYCL_CHECK(CHECK_TRY_ERROR(dpct::gemm( - *stream, oneapi::math::transpose::trans, - oneapi::math::transpose::nontrans, row_diff, src1_ncols, ne10, + *stream, oneapi::mkl::transpose::trans, + oneapi::mkl::transpose::nontrans, row_diff, src1_ncols, ne10, &alpha_f16, src0_ptr, dpct::library_data_t::real_half, ne00, src1_ptr, dpct::library_data_t::real_half, ne10, &beta_f16, dst_f16.get(), dpct::library_data_t::real_half, ldc, @@ -2211,8 +2211,8 @@ inline void ggml_sycl_op_mul_mat_sycl( { const float alpha = 1.0f; const float beta = 0.0f; - SYCL_CHECK(CHECK_TRY_ERROR(oneapi::math::blas::column_major::gemm( - get_onemath_backend(*stream), oneapi::math::transpose::trans, oneapi::math::transpose::nontrans, row_diff, + SYCL_CHECK(CHECK_TRY_ERROR(oneapi::mkl::blas::column_major::gemm( + *stream, oneapi::mkl::transpose::trans, oneapi::mkl::transpose::nontrans, row_diff, src1_ncols, ne10, dpct::get_value(&alpha, *stream), src0_ddf_i, ne00, src1_ddf1_i, ne10, dpct::get_value(&beta, *stream), dst_dd_i, ldc))); } @@ -3165,8 +3165,8 @@ static void ggml_sycl_mul_mat_batched_sycl(ggml_backend_sycl_context & ctx, cons const int64_t smb = ne12 == 1 ? s13 : s12; // there is no broadcast and src0, src1 are contiguous across dims 2, 3 - SYCL_CHECK(CHECK_TRY_ERROR(dpct::gemm_batch(*queue, oneapi::math::transpose::trans, - oneapi::math::transpose::nontrans, ne01, ne11, ne10, alpha, + SYCL_CHECK(CHECK_TRY_ERROR(dpct::gemm_batch(*queue, oneapi::mkl::transpose::trans, + oneapi::mkl::transpose::nontrans, ne01, ne11, ne10, alpha, src0_f16, dpct::library_data_t::real_half, nb01 / nb00, sma, src1_f16, dpct::library_data_t::real_half, s11, smb, beta, dst_ddf, mkl_data_type, ne0, ne1 * ne0, ne12 * ne13, mkl_compute_type))); @@ -3190,7 +3190,7 @@ static void ggml_sycl_mul_mat_batched_sycl(ggml_backend_sycl_context & ctx, cons }); SYCL_CHECK(CHECK_TRY_ERROR(dpct::gemm_batch( - *queue, oneapi::math::transpose::trans, oneapi::math::transpose::nontrans, ne01, ne11, ne10, alpha, + *queue, oneapi::mkl::transpose::trans, oneapi::mkl::transpose::nontrans, ne01, ne11, ne10, alpha, (const void **) (ptrs_src.get() + 0 * ne23), dpct::library_data_t::real_half, nb01 / nb00, (const void **) (ptrs_src.get() + 1 * ne23), dpct::library_data_t::real_half, s11, beta, (void **) (ptrs_dst.get() + 0 * ne23), mkl_data_type, ne0, ne23, mkl_compute_type, matrix_info.get()))); @@ -3524,12 +3524,11 @@ static void ggml_sycl_mul_mat(ggml_backend_sycl_context & ctx, const ggml_tensor use_mul_mat_q = use_mul_mat_q && (src1->ne[1] <= MMQ_MAX_BATCH_SIZE); #endif // SYCL_USE_XMX - // mmvq path is faster in the CUDA backend. - if (!g_ggml_sycl_prioritize_dmmv && (ctx.stream()->get_backend() == sycl::backend::ext_oneapi_cuda - // Dispatch becomes obscure with the reorder, MMVQ when the reorder optimization - // is enabled takes precedence over DMMV, the current if-else implementation - // requires disabling DMMV if both conditions are met - || (should_reorder_tensor(ctx, dst) && ggml_sycl_supports_reorder_mmvq(src0->type)))) { + // Dispatch becomes obscure with the reorder, MMVQ when the reorder optimization + // is enabled takes precedence over DMMV, the current if-else implementation + // requires disabling DMMV if both conditions are met + if (!g_ggml_sycl_prioritize_dmmv && ((should_reorder_tensor(ctx, dst) && + ggml_sycl_supports_reorder_mmvq(src0->type)))) { use_dequantize_mul_mat_vec = use_dequantize_mul_mat_vec && !use_mul_mat_vec_q; } @@ -4189,16 +4188,6 @@ void ggml_backend_sycl_get_device_memory(int device, size_t *free, GGML_SYCL_DEBUG("[SYCL] call ggml_backend_sycl_get_device_memory\n"); ggml_sycl_set_device(device); - /* - DPCT1009:218: SYCL uses exceptions to report errors and does not use the - error codes. The original code was commented out and a warning string was - inserted. You need to rewrite this code. - */ - /* - DPCT1106:217: 'cudaMemGetInfo' was migrated with the Intel extensions for - device information which may not be supported by all compilers or runtimes. - You may need to adjust the code. - */ SYCL_CHECK(CHECK_TRY_ERROR( dpct::dev_mgr::instance().get_device(device).get_memory_info(*free, *total))); } diff --git a/ggml/src/ggml-sycl/outprod.cpp b/ggml/src/ggml-sycl/outprod.cpp index 3a17f3a1b8..f52b11f0d6 100644 --- a/ggml/src/ggml-sycl/outprod.cpp +++ b/ggml/src/ggml-sycl/outprod.cpp @@ -32,12 +32,12 @@ void ggml_sycl_op_out_prod(ggml_backend_sycl_context& ctx, ggml_tensor* dst) { // Handle transposition of src1 const bool src1_T = ggml_is_transposed(src1); - const oneapi::math::transpose src1_op = src1_T ? oneapi::math::transpose::nontrans : oneapi::math::transpose::trans; + const oneapi::mkl::transpose src1_op = src1_T ? oneapi::mkl::transpose::nontrans : oneapi::mkl::transpose::trans; const int64_t ldb = (src1_T ? nb10 : nb11) / sizeof(float); try { - // Perform matrix multiplication using oneMath GEMM - oneapi::math::blas::column_major::gemm(get_onemath_backend(*stream), oneapi::math::transpose::nontrans, src1_op, + // Perform matrix multiplication using oneMKL GEMM + oneapi::mkl::blas::column_major::gemm(*stream, oneapi::mkl::transpose::nontrans, src1_op, ne0, ne1, ne01, alpha, src0_d, ne00, src1_d, ldb, beta, dst_d, ne0); } catch (sycl::exception const& exc) { diff --git a/ggml/src/ggml-sycl/rope.cpp b/ggml/src/ggml-sycl/rope.cpp index 69140b19a4..aeaa58b95b 100644 --- a/ggml/src/ggml-sycl/rope.cpp +++ b/ggml/src/ggml-sycl/rope.cpp @@ -207,7 +207,6 @@ static void rope_vision(const T * x, T * dst, const int ne0, const int ne1, cons const int p = sector; theta_base = pos[channel_x] * sycl::pow(theta_scale, (float) p); } else { - // Simplified from CUDA backend code: if (sector >= sections.v[0] && sector < sec_w) which is just sector >= sections.v[0] const int p = sector - sections.v[0]; theta_base = pos[channel_x + ne2] * sycl::pow(theta_scale, (float) p); } diff --git a/ggml/src/ggml-sycl/wkv.cpp b/ggml/src/ggml-sycl/wkv.cpp index c10e2f7645..b56e0c2400 100644 --- a/ggml/src/ggml-sycl/wkv.cpp +++ b/ggml/src/ggml-sycl/wkv.cpp @@ -1,7 +1,7 @@ #include #include "wkv.hpp" -constexpr int WKV_BLOCK_SIZE = 64; // Matching CUDA_WKV_BLOCK_SIZE +constexpr int WKV_BLOCK_SIZE = 64; // Helper function for the main kernel template From 15818ac44c551d6d668c69bcfbf9a937c98f9e5a Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Mon, 2 Feb 2026 22:40:28 +0800 Subject: [PATCH 096/206] ci: add test-backend-ops test for CPU (#19268) --- .github/workflows/build.yml | 4 ++-- ci/run.sh | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f738edefc4..fd251ac4c2 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1532,7 +1532,7 @@ jobs: - name: Test id: ggml-ci run: | - LLAMA_ARG_THREADS=$(nproc) bash ./ci/run.sh ./tmp/results ./tmp/mnt + LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt ggml-ci-arm64-cpu-high-perf: runs-on: ubuntu-22.04-arm @@ -1558,7 +1558,7 @@ jobs: - name: Test id: ggml-ci run: | - LLAMA_ARG_THREADS=$(nproc) GG_BUILD_NO_SVE=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt + LLAMA_ARG_THREADS=$(nproc) GG_BUILD_HIGH_PERF=1 GG_BUILD_NO_SVE=1 GG_BUILD_NO_BF16=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt ggml-ci-arm64-cpu-high-perf-sve: runs-on: ubuntu-22.04-arm diff --git a/ci/run.sh b/ci/run.sh index dfcf959661..96755ea13e 100755 --- a/ci/run.sh +++ b/ci/run.sh @@ -635,6 +635,29 @@ function gg_check_build_requirements { fi } +function gg_run_test_backend_ops_cpu { + cd ${SRC} + + cd build-ci-release + + set -e + + (time ./bin/test-backend-ops -b CPU ) 2>&1 | tee -a $OUT/${ci}-test-backend-ops-cpu.log + + set +e +} + +function gg_sum_test_backend_ops_cpu { + gg_printf '### %s\n\n' "${ci}" + + gg_printf 'Runs test-backend-ops for CPU backend\n' + gg_printf '- status: %s\n' "$(cat $OUT/${ci}.exit)" + gg_printf '```\n' + gg_printf '%s\n' "$(cat $OUT/${ci}-test-backend-ops-cpu.log)" + gg_printf '```\n' + gg_printf '\n' +} + ## main export LLAMA_LOG_PREFIX=1 @@ -663,6 +686,10 @@ ret=0 test $ret -eq 0 && gg_run ctest_debug test $ret -eq 0 && gg_run ctest_release +if [ ! -z ${GG_BUILD_HIGH_PERF} ]; then + test $ret -eq 0 && gg_run test_backend_ops_cpu +fi + if [ -z ${GG_BUILD_LOW_PERF} ]; then test $ret -eq 0 && gg_run embd_bge_small test $ret -eq 0 && gg_run rerank_tiny From a3fa03582240a4279ba019a3db2bb87311d5d485 Mon Sep 17 00:00:00 2001 From: Matthieu Coudron <886074+teto@users.noreply.github.com> Date: Mon, 2 Feb 2026 16:55:27 +0100 Subject: [PATCH 097/206] server: print actual model name in 'model not found" error (#19117) Experimenting with AI, my environment gets messy fast and it's not always easy to know what model my software is trying to load. This helps with troubleshooting. before: Error: { code = 400, message = "model not found", type = "invalid_request_error" } After: Error: { code = 400, message = "model 'toto' not found", type = "invalid_request_error" } --- tools/server/server-models.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/server/server-models.cpp b/tools/server/server-models.cpp index 803cb02e6e..57655476af 100644 --- a/tools/server/server-models.cpp +++ b/tools/server/server-models.cpp @@ -767,7 +767,7 @@ static bool router_validate_model(const std::string & name, server_models & mode } auto meta = models.get_meta(name); if (!meta.has_value()) { - res_err(res, format_error_response("model not found", ERROR_TYPE_INVALID_REQUEST)); + res_err(res, format_error_response(string_format("model '%s' not found", name.c_str()), ERROR_TYPE_INVALID_REQUEST)); return false; } if (models_autoload) { From 9f682fb640765ff79ee13a7a00cdbaa15c1ed07a Mon Sep 17 00:00:00 2001 From: Aman Gupta Date: Tue, 3 Feb 2026 01:19:55 +0800 Subject: [PATCH 098/206] ggml-cpu: FA split across kv for faster TG (#19209) * ggml-cpu: split across kv for faster TG * simplify sinks application * add ref impl --- ggml/include/ggml-cpu.h | 5 + ggml/src/ggml-cpu/ggml-cpu-impl.h | 3 + ggml/src/ggml-cpu/ggml-cpu.c | 22 ++- ggml/src/ggml-cpu/ggml-cpu.cpp | 15 ++ ggml/src/ggml-cpu/ops.cpp | 237 ++++++++++++++++++++++-------- tests/test-backend-ops.cpp | 7 + 6 files changed, 220 insertions(+), 69 deletions(-) diff --git a/ggml/include/ggml-cpu.h b/ggml/include/ggml-cpu.h index 4f3b99c8d0..e3e067c916 100644 --- a/ggml/include/ggml-cpu.h +++ b/ggml/include/ggml-cpu.h @@ -19,6 +19,9 @@ extern "C" { // abort ggml_graph_compute when true ggml_abort_callback abort_callback; void * abort_callback_data; + + // use only reference implementations + bool use_ref; }; // numa strategies @@ -132,6 +135,8 @@ extern "C" { GGML_BACKEND_API void ggml_backend_cpu_set_threadpool (ggml_backend_t backend_cpu, ggml_threadpool_t threadpool); GGML_BACKEND_API void ggml_backend_cpu_set_abort_callback(ggml_backend_t backend_cpu, ggml_abort_callback abort_callback, void * abort_callback_data); + GGML_BACKEND_API void ggml_backend_cpu_set_use_ref(ggml_backend_t backend_cpu, bool use_ref); + GGML_BACKEND_API ggml_backend_reg_t ggml_backend_cpu_reg(void); GGML_BACKEND_API void ggml_cpu_fp32_to_fp32(const float *, float *, int64_t); diff --git a/ggml/src/ggml-cpu/ggml-cpu-impl.h b/ggml/src/ggml-cpu/ggml-cpu-impl.h index 0e8dd0ae05..88a9c9ec05 100644 --- a/ggml/src/ggml-cpu/ggml-cpu-impl.h +++ b/ggml/src/ggml-cpu/ggml-cpu-impl.h @@ -24,6 +24,9 @@ struct ggml_compute_params { void * wdata; struct ggml_threadpool * threadpool; + + // use reference implementation + bool use_ref; }; diff --git a/ggml/src/ggml-cpu/ggml-cpu.c b/ggml/src/ggml-cpu/ggml-cpu.c index b1de2ae871..3e5f01e3fb 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.c +++ b/ggml/src/ggml-cpu/ggml-cpu.c @@ -5,7 +5,6 @@ #include "ggml-backend.h" #include "traits.h" #include "ggml-cpu-impl.h" -#include "ggml-cpu.h" #include "ggml-impl.h" #include "quants.h" #include "ggml-threading.h" @@ -2867,12 +2866,20 @@ struct ggml_cplan ggml_graph_plan( } break; case GGML_OP_FLASH_ATTN_EXT: { + const int64_t neq2 = node->src[0]->ne[2]; // number of query heads const int64_t DK = node->src[1]->ne[0]; const int64_t DV = node->src[2]->ne[0]; // Tiled flash attention scratch (tile sizes defined in common.h) // Per-thread: Q_q + KQ + mask + VKQ32 + V32 + padding - cur = sizeof(float)*(GGML_FA_TILE_Q*DK + 2*GGML_FA_TILE_Q*GGML_FA_TILE_KV + GGML_FA_TILE_Q*DV + GGML_FA_TILE_KV*DV)*n_tasks; + size_t prefill = sizeof(float)*(GGML_FA_TILE_Q*DK + 2*GGML_FA_TILE_Q*GGML_FA_TILE_KV + GGML_FA_TILE_Q*DV + GGML_FA_TILE_KV*DV)*n_tasks; + + // Decode path: n_kv_chunks = n_tasks (one chunk per thread) + // Per-thread: VKQ accmulator (DV), partial M, partial S + intra-thread scratch for V, Q and VKQ + size_t n_chunks = n_tasks; + size_t decode = sizeof(float)*(neq2*n_chunks*(2+DV) + n_tasks*(DK + 2*DV)); + + cur += MAX(prefill, decode); } break; case GGML_OP_FLASH_ATTN_BACK: { @@ -2929,11 +2936,12 @@ static thread_ret_t ggml_graph_compute_thread(void * data) { set_numa_thread_affinity(state->ith); struct ggml_compute_params params = { - /*.ith =*/ state->ith, - /*.nth =*/ atomic_load_explicit(&tp->n_graph, memory_order_relaxed) & GGML_THREADPOOL_N_THREADS_MASK, - /*.wsize =*/ cplan->work_size, - /*.wdata =*/ cplan->work_data, - /*.threadpool=*/ tp, + /*.ith =*/ state->ith, + /*.nth =*/ atomic_load_explicit(&tp->n_graph, memory_order_relaxed) & GGML_THREADPOOL_N_THREADS_MASK, + /*.wsize =*/ cplan->work_size, + /*.wdata =*/ cplan->work_data, + /*.threadpool =*/ tp, + /*.use_ref =*/ cplan->use_ref, }; GGML_PRINT_DEBUG("thread #%d compute-start cplan %p last-graph %d \n", state->ith, cplan, state->last_graph); diff --git a/ggml/src/ggml-cpu/ggml-cpu.cpp b/ggml/src/ggml-cpu/ggml-cpu.cpp index f4713a4218..ddf1737a31 100644 --- a/ggml/src/ggml-cpu/ggml-cpu.cpp +++ b/ggml/src/ggml-cpu/ggml-cpu.cpp @@ -105,6 +105,8 @@ struct ggml_backend_cpu_context { ggml_abort_callback abort_callback; void * abort_callback_data; + + bool use_ref; // use reference implementation }; static const char * ggml_backend_cpu_get_name(ggml_backend_t backend) { @@ -143,6 +145,7 @@ static ggml_backend_graph_plan_t ggml_backend_cpu_graph_plan_create(ggml_backend cpu_plan->cplan.abort_callback = cpu_ctx->abort_callback; cpu_plan->cplan.abort_callback_data = cpu_ctx->abort_callback_data; + cpu_plan->cplan.use_ref = cpu_ctx->use_ref; return cpu_plan; } @@ -182,6 +185,7 @@ static enum ggml_status ggml_backend_cpu_graph_compute(ggml_backend_t backend, s cplan.abort_callback = cpu_ctx->abort_callback; cplan.abort_callback_data = cpu_ctx->abort_callback_data; + cplan.use_ref = cpu_ctx->use_ref; return ggml_graph_compute(cgraph, &cplan); } @@ -223,6 +227,7 @@ ggml_backend_t ggml_backend_cpu_init(void) { ctx->work_size = 0; ctx->abort_callback = NULL; ctx->abort_callback_data = NULL; + ctx->use_ref = false; ggml_backend_t cpu_backend = new ggml_backend { /* .guid = */ ggml_backend_cpu_guid(), @@ -270,6 +275,13 @@ void ggml_backend_cpu_set_abort_callback(ggml_backend_t backend_cpu, ggml_abort_ ctx->abort_callback_data = abort_callback_data; } +void ggml_backend_cpu_set_use_ref(ggml_backend_t backend_cpu, bool use_ref) { + GGML_ASSERT(ggml_backend_is_cpu(backend_cpu)); + + struct ggml_backend_cpu_context * ctx = (struct ggml_backend_cpu_context *)backend_cpu->context; + ctx->use_ref = use_ref; +} + // CPU backend - device struct ggml_backend_cpu_device_context { @@ -646,6 +658,9 @@ static void * ggml_backend_cpu_get_proc_address(ggml_backend_reg_t reg, const ch if (strcmp(name, "ggml_backend_cpu_is_numa") == 0) { return (void *)ggml_is_numa; } + if (strcmp(name, "ggml_backend_cpu_set_use_ref") == 0) { + return (void *)ggml_backend_cpu_set_use_ref; + } // threadpool - TODO: move to ggml-base if (strcmp(name, "ggml_threadpool_new") == 0) { diff --git a/ggml/src/ggml-cpu/ops.cpp b/ggml/src/ggml-cpu/ops.cpp index 48c8964361..ce15b18ce0 100644 --- a/ggml/src/ggml-cpu/ops.cpp +++ b/ggml/src/ggml-cpu/ops.cpp @@ -8042,12 +8042,14 @@ void ggml_compute_forward_top_k( } } -// ggml_compute_forward_flash_attn_ext - static void ggml_compute_forward_flash_attn_ext_f16_one_chunk( const ggml_compute_params * params, ggml_tensor * dst, - int ir0, int ir1) { + int ir0, int ir1, + int64_t ic_start, int64_t ic_end, + float * partials, int64_t partial_stride) { + + const bool write_partials = (partials != nullptr); const ggml_tensor * q = dst->src[0]; const ggml_tensor * k = dst->src[1]; const ggml_tensor * v = dst->src[2]; @@ -8124,7 +8126,6 @@ static void ggml_compute_forward_flash_attn_ext_f16_one_chunk( int ith = params->ith; - // loop over n_batch and n_head for (int ir = ir0; ir < ir1; ++ir) { // q indices const int iq3 = ir/(neq2*neq1); @@ -8165,7 +8166,7 @@ static void ggml_compute_forward_flash_attn_ext_f16_one_chunk( // loop over n_kv and n_head_kv // ref: https://arxiv.org/pdf/2112.05682.pdf - for (int64_t ic = 0; ic < nek1; ++ic) { + for (int64_t ic = ic_start; ic < ic_end; ++ic) { const float mv = mp ? slope*GGML_CPU_FP16_TO_FP32(mp[ic]) : 0.0f; if (mv == -INFINITY) { continue; @@ -8238,8 +8239,8 @@ static void ggml_compute_forward_flash_attn_ext_f16_one_chunk( } } - // sinks - if (sinks) { + // sinks - apply only on the first kv-chunk + if (sinks && ic_start == 0) { const float s = ((float *)((char *) sinks->data))[h]; float ms = 1.0f; @@ -8247,6 +8248,7 @@ static void ggml_compute_forward_flash_attn_ext_f16_one_chunk( if (s > M) { ms = expf(M - s); + M = s; ggml_vec_scale_f32(DV, VKQ32, ms); } else { vs = expf(s - M); @@ -8255,20 +8257,26 @@ static void ggml_compute_forward_flash_attn_ext_f16_one_chunk( S = S*ms + vs; } - // V /= S - const float S_inv = S == 0.0f ? 0.0f : 1.0f/S; - ggml_vec_scale_f32(DV, VKQ32, S_inv); + if (write_partials) { + // Write M, S, VKQ to partials for later reduction + // partials layout: [M, S, VKQ[DV]] per query head + float * partial = partials + ir * partial_stride; + partial[0] = M; + partial[1] = S; + memcpy(partial + 2, VKQ32, DV * sizeof(float)); + } else { + // V /= S + const float S_inv = S == 0.0f ? 0.0f : 1.0f/S; + ggml_vec_scale_f32(DV, VKQ32, S_inv); - // dst indices - const int i1 = iq1; - const int i2 = iq2; - const int i3 = iq3; + // dst indices + const int i1 = iq1; + const int i2 = iq2; + const int i3 = iq3; - // original - //memcpy((char *) dst->data + (i1*nb1 + i2*nb2 + i3*nb3), V, nev0*sizeof(float)); - - // permute(0, 2, 1, 3) - memcpy((char *) dst->data + (i3*ne2*ne1 + i2 + i1*ne1)*nb1, VKQ32, nb1); + // permute(0, 2, 1, 3) + memcpy((char *) dst->data + (i3*ne2*ne1 + i2 + i1*ne1)*nb1, VKQ32, nb1); + } } } @@ -8546,6 +8554,78 @@ static void ggml_compute_forward_flash_attn_ext_tiled( } } +// Reduction function: combines partial results across KV chunks +// Partials layout in wdata: [n_q_heads][n_chunks][2 + DV] +static void ggml_flash_attn_ext_reduce_partials( + const ggml_compute_params * params, + ggml_tensor * dst, + const int64_t n_chunks, + const int64_t chunk_size) { + + const ggml_tensor * q = dst->src[0]; + const ggml_tensor * k = dst->src[1]; + const ggml_tensor * v = dst->src[2]; + + const int64_t DK = k->ne[0]; + const int64_t DV = v->ne[0]; + const int64_t nek1 = k->ne[1]; + const int64_t n_q_heads = q->ne[2]; + + const int ith = params->ith; + const int nth = params->nth; + + const int64_t wdata_per_thread = DK + 2*DV + CACHE_LINE_SIZE_F32; + float * thread_wdata = (float *) params->wdata + ith * wdata_per_thread; + + const int64_t partials_offset = nth * (DK + 2*DV + CACHE_LINE_SIZE_F32); + const int64_t partial_size = 2 + DV; + const float * partials_base = (const float *) params->wdata + partials_offset; + + // Output layout + const int64_t ne1 = dst->ne[1]; + const int64_t ne2 = dst->ne[2]; + const size_t nb1 = dst->nb[1]; + + // Each thread reduces a subset of query heads + for (int64_t q_head = ith; q_head < n_q_heads; q_head += nth) { + float M_final = -INFINITY; + float S_final = 0.0f; + float * VKQ_final = thread_wdata; + memset(VKQ_final, 0, DV * sizeof(float)); + + // Combine partials from all chunks + for (int64_t chunk_idx = 0; chunk_idx < n_chunks; ++chunk_idx) { + const int64_t ic_start = chunk_idx * chunk_size; + if (ic_start >= nek1) continue; + + const float * partial = partials_base + (q_head * n_chunks + chunk_idx) * partial_size; + const float M_chunk = partial[0]; + const float S_chunk = partial[1]; + const float * VKQ_chunk = partial + 2; + + if (S_chunk == 0.0f) continue; + + const float M_new = fmaxf(M_final, M_chunk); + const float scale_old = expf(M_final - M_new); + const float scale_new = expf(M_chunk - M_new); + + for (int64_t d = 0; d < DV; ++d) { + VKQ_final[d] = VKQ_final[d] * scale_old + VKQ_chunk[d] * scale_new; + } + S_final = S_final * scale_old + S_chunk * scale_new; + M_final = M_new; + } + + // Normalize and write to output + if (S_final != 0.0f) { + const float S_inv = 1.0f / S_final; + ggml_vec_scale_f32(DV, VKQ_final, S_inv); + } + // iq1=0, iq3=0 for decode + memcpy((char *) dst->data + (0*ne2*ne1 + q_head + 0*ne1)*nb1, VKQ_final, nb1); + } +} + static void ggml_compute_forward_flash_attn_ext_f16( const ggml_compute_params * params, ggml_tensor * dst) { @@ -8567,6 +8647,7 @@ static void ggml_compute_forward_flash_attn_ext_f16( const int64_t DV = nev0; const int64_t N = neq1; + GGML_ASSERT(ne0 == DV); GGML_ASSERT(ne2 == N); @@ -8587,60 +8668,92 @@ static void ggml_compute_forward_flash_attn_ext_f16( GGML_ASSERT(nb1 <= nb2); GGML_ASSERT(nb2 <= nb3); - // parallelize by q rows using ggml_vec_dot_f32 - - // total rows in q - const int64_t nr = neq1*neq2*neq3; - - // rows per thread const int ith = params->ith; const int nth = params->nth; - // disable for NUMA - const bool disable_chunking = ggml_is_numa(); + // When use_ref is set, force the vec-only reference implementation (no tiling, no KV-chunking) + const bool use_ref = params->use_ref; - // 4x chunks per thread - int nth_scaled = nth * 4; - int64_t chunk_size = (nr + nth_scaled - 1) / nth_scaled; - int64_t nchunk = (nr + chunk_size - 1) / chunk_size; - - if (nth == 1 || nchunk < nth || disable_chunking) { - nchunk = nth; - } - - if (ith == 0) { - // Every thread starts at ith, so the first unprocessed chunk is nth. This save a bit of coordination right at the start. - ggml_threadpool_chunk_set(params->threadpool, nth); - } - - ggml_barrier(params->threadpool); - - // The number of elements in each chunk - const int64_t dr = (nr + nchunk - 1) / nchunk; - - static constexpr int64_t KV_TILE_SZ = ggml_fa_tile_config::KV; - static constexpr int64_t Q_TILE_SZ = ggml_fa_tile_config::Q; const bool kv_is_f32_or_f16 = (k->type == GGML_TYPE_F32 || k->type == GGML_TYPE_F16); - const bool use_tiled = (q->type == GGML_TYPE_F32 && - kv_is_f32_or_f16 && - k->type == v->type && - nek1 % KV_TILE_SZ == 0 && - neq1 >= Q_TILE_SZ); // Only use tiled for batch >= tile size + const bool use_split_kv_path = !use_ref && (neq1 == 1 && neq3 == 1) && kv_is_f32_or_f16 && (k->type == v->type) && q->type == GGML_TYPE_F32 && nek1 >= 512; - // The first chunk comes from our thread_id, the rest will get auto-assigned. - int current_chunk = ith; + if (use_split_kv_path) { + const int64_t chunk_size = (nek1 + nth - 1) / nth; - while (current_chunk < nchunk) { - const int64_t ir0 = dr * current_chunk; - const int64_t ir1 = MIN(ir0 + dr, nr); + // Partials buffer layout: [q_head][kv_chunk][M, S, VKQ] + const int64_t partial_size = 2 + DV; + float * partials_base = (float *) params->wdata + nth * (DK + 2*DV + CACHE_LINE_SIZE_F32); - if (use_tiled) { - ggml_compute_forward_flash_attn_ext_tiled(params, dst, ir0, ir1); + const int64_t ic_start = ith * chunk_size; + const int64_t ic_end = std::min(ic_start + chunk_size, nek1); + + const int64_t partial_stride = nth * partial_size; + float * chunk_partials = partials_base + ith * partial_size; + + if (ic_start < nek1) { + for (int64_t q_head = 0; q_head < neq2; q_head++) { + ggml_compute_forward_flash_attn_ext_f16_one_chunk( + params, dst, q_head, q_head + 1, ic_start, ic_end, + chunk_partials, partial_stride); + } } else { - ggml_compute_forward_flash_attn_ext_f16_one_chunk(params, dst, ir0, ir1); + for (int64_t q_head = 0; q_head < neq2; q_head++) { + float * q_partials = chunk_partials + q_head * partial_stride; + q_partials[0] = -INFINITY; // M + q_partials[1] = 0.0f; // S + } } - current_chunk = ggml_threadpool_chunk_add(params->threadpool, 1); + ggml_barrier(params->threadpool); + ggml_flash_attn_ext_reduce_partials(params, dst, nth, chunk_size); + } else { + + // total rows in q + const int64_t nr = neq1*neq2*neq3; + + // disable for NUMA + const bool disable_chunking = ggml_is_numa(); + + // 4x chunks per thread + int nth_scaled = nth * 4; + int64_t chunk_size = (nr + nth_scaled - 1) / nth_scaled; + int64_t nchunk = (nr + chunk_size - 1) / chunk_size; + + if (nth == 1 || nchunk < nth || disable_chunking) { + nchunk = nth; + } + + if (ith == 0) { + ggml_threadpool_chunk_set(params->threadpool, nth); + } + + ggml_barrier(params->threadpool); + + const int64_t dr = (nr + nchunk - 1) / nchunk; + + static constexpr int64_t KV_TILE_SZ = ggml_fa_tile_config::KV; + static constexpr int64_t Q_TILE_SZ = ggml_fa_tile_config::Q; + const bool use_tiled = !use_ref && + (q->type == GGML_TYPE_F32 && + kv_is_f32_or_f16 && + k->type == v->type && + nek1 % KV_TILE_SZ == 0 && + neq1 >= Q_TILE_SZ); + + int current_chunk = ith; + + while (current_chunk < nchunk) { + const int64_t ir0 = dr * current_chunk; + const int64_t ir1 = MIN(ir0 + dr, nr); + + if (use_tiled) { + ggml_compute_forward_flash_attn_ext_tiled(params, dst, ir0, ir1); + } else { + ggml_compute_forward_flash_attn_ext_f16_one_chunk(params, dst, ir0, ir1, 0, nek1, nullptr, 0); + } + + current_chunk = ggml_threadpool_chunk_add(params->threadpool, 1); + } } } diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 411467e968..90cc0d7da2 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -8591,6 +8591,13 @@ static bool test_backend(ggml_backend_t backend, test_mode mode, const char * op output_printer->print_operation(info); return false; } + // Use reference implementation on the CPU backend for comparison + using ggml_backend_cpu_set_use_ref_t = void (*)(ggml_backend_t, bool); + auto * reg = ggml_backend_dev_backend_reg(ggml_backend_get_device(backend_cpu)); + auto * set_use_ref = (ggml_backend_cpu_set_use_ref_t) ggml_backend_reg_get_proc_address(reg, "ggml_backend_cpu_set_use_ref"); + if (set_use_ref) { + set_use_ref(backend_cpu, true); + } size_t n_ok = 0; size_t tests_run = 0; From 07a7412a3b7518a55bf6fe191beb754a1dd2a561 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Mon, 2 Feb 2026 20:59:06 +0100 Subject: [PATCH 099/206] mtmd: add min/max pixels gguf metadata (#19273) --- gguf-py/gguf/constants.py | 2 ++ gguf-py/gguf/gguf_writer.py | 6 ++++++ tools/mtmd/clip-impl.h | 2 ++ 3 files changed, 10 insertions(+) diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index 31273b2b5a..6f56d36c59 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -284,6 +284,8 @@ class Keys: class ClipVision: PROJECTOR_TYPE = "clip.vision.projector_type" # for mixed modality models IMAGE_SIZE = "clip.vision.image_size" + IMAGE_MIN_PIXELS = "clip.vision.image_min_pixels" + IMAGE_MAX_PIXELS = "clip.vision.image_max_pixels" PREPROC_IMAGE_SIZE = "clip.vision.preproc_image_size" PATCH_SIZE = "clip.vision.patch_size" EMBEDDING_LENGTH = "clip.vision.embedding_length" diff --git a/gguf-py/gguf/gguf_writer.py b/gguf-py/gguf/gguf_writer.py index 7fbb78866b..0b9c650161 100644 --- a/gguf-py/gguf/gguf_writer.py +++ b/gguf-py/gguf/gguf_writer.py @@ -1113,6 +1113,12 @@ class GGUFWriter: def add_vision_image_size(self, value: int) -> None: self.add_uint32(Keys.ClipVision.IMAGE_SIZE, value) + def add_vision_max_pixels(self, value: int) -> None: + self.add_uint32(Keys.ClipVision.IMAGE_MAX_PIXELS, value) + + def add_vision_min_pixels(self, value: int) -> None: + self.add_uint32(Keys.ClipVision.IMAGE_MIN_PIXELS, value) + def add_vision_preproc_image_size(self, value: int) -> None: self.add_uint32(Keys.ClipVision.PREPROC_IMAGE_SIZE, value) diff --git a/tools/mtmd/clip-impl.h b/tools/mtmd/clip-impl.h index dd693623a2..ad232178bf 100644 --- a/tools/mtmd/clip-impl.h +++ b/tools/mtmd/clip-impl.h @@ -36,6 +36,8 @@ // vision-specific #define KEY_VISION_PROJ_TYPE "clip.vision.projector_type" // for models with mixed modalities #define KEY_IMAGE_SIZE "clip.vision.image_size" +#define KEY_IMAGE_MIN_PIXELS "clip.vision.image_min_pixels" +#define KEY_IMAGE_MAX_PIXELS "clip.vision.image_max_pixels" #define KEY_PREPROC_IMAGE_SIZE "clip.vision.preproc_image_size" #define KEY_PATCH_SIZE "clip.vision.patch_size" #define KEY_IMAGE_MEAN "clip.vision.image_mean" From 0dfcd3b60755bf9cb3c9ec726a584b8a4f20239b Mon Sep 17 00:00:00 2001 From: Sid Mohan <61345237+sidmohan0@users.noreply.github.com> Date: Mon, 2 Feb 2026 12:00:55 -0800 Subject: [PATCH 100/206] jinja : add missing 'in' test to template engine (#19004) (#19239) * jinja : add missing 'in' test to template engine (#19004) The jinja template parser was missing the 'in' test from global_builtins(), causing templates using reject("in", ...), select("in", ...), or 'x is in(y)' to fail with "selectattr: unknown test 'in'". This broke tool-calling for Qwen3-Coder and any other model whose chat template uses the 'in' test. Added test_is_in supporting array, string, and object containment checks, mirroring the existing 'in' operator logic in runtime.cpp. Includes test cases for all three containment types plus reject/select filter usage. Co-Authored-By: Claude Opus 4.5 * reuse test_is_in in binary op --------- Co-authored-by: Sid Mohan Co-authored-by: Claude Opus 4.5 Co-authored-by: Xuan Son Nguyen --- common/jinja/runtime.cpp | 34 +++++++++++++-------------- common/jinja/value.cpp | 27 ++++++++++++++++++++++ tests/test-jinja.cpp | 50 +++++++++++++++++++++++++++++++++++++++- 3 files changed, 93 insertions(+), 18 deletions(-) diff --git a/common/jinja/runtime.cpp b/common/jinja/runtime.cpp index f234d9284f..4453d86e6d 100644 --- a/common/jinja/runtime.cpp +++ b/common/jinja/runtime.cpp @@ -144,6 +144,13 @@ value binary_expression::execute_impl(context & ctx) { return false; }; + auto test_is_in = [&]() -> bool { + func_args args(ctx); + args.push_back(left_val); + args.push_back(right_val); + return global_builtins().at("test_is_in")(args)->as_bool(); + }; + // Handle undefined and null values if (is_val(left_val) || is_val(right_val)) { if (is_val(right_val) && (op.value == "in" || op.value == "not in")) { @@ -223,19 +230,11 @@ value binary_expression::execute_impl(context & ctx) { return result; } } else if (is_val(right_val)) { - auto & arr = right_val->as_array(); - bool member = false; - for (const auto & item : arr) { - if (*left_val == *item) { - member = true; - break; - } - } + // case: 1 in [0, 1, 2] + bool member = test_is_in(); if (op.value == "in") { - JJ_DEBUG("Checking membership: %s in Array is %d", left_val->type().c_str(), member); return mk_val(member); } else if (op.value == "not in") { - JJ_DEBUG("Checking non-membership: %s not in Array is %d", left_val->type().c_str(), !member); return mk_val(!member); } } @@ -252,22 +251,23 @@ value binary_expression::execute_impl(context & ctx) { // String membership if (is_val(left_val) && is_val(right_val)) { - auto left_str = left_val->as_string().str(); - auto right_str = right_val->as_string().str(); + // case: "a" in "abc" + bool member = test_is_in(); if (op.value == "in") { - return mk_val(right_str.find(left_str) != std::string::npos); + return mk_val(member); } else if (op.value == "not in") { - return mk_val(right_str.find(left_str) == std::string::npos); + return mk_val(!member); } } // Value key in object if (is_val(right_val)) { - bool has_key = right_val->has_key(left_val); + // case: key in {key: value} + bool member = test_is_in(); if (op.value == "in") { - return mk_val(has_key); + return mk_val(member); } else if (op.value == "not in") { - return mk_val(!has_key); + return mk_val(!member); } } diff --git a/common/jinja/value.cpp b/common/jinja/value.cpp index f254ae9251..2aa156b177 100644 --- a/common/jinja/value.cpp +++ b/common/jinja/value.cpp @@ -393,6 +393,33 @@ const func_builtins & global_builtins() { {"test_is_lt", test_compare_fn}, {"test_is_lessthan", test_compare_fn}, {"test_is_ne", test_compare_fn}, + {"test_is_in", [](const func_args & args) -> value { + args.ensure_count(2); + auto needle = args.get_pos(0); + auto haystack = args.get_pos(1); + if (is_val(haystack)) { + return mk_val(false); + } + if (is_val(haystack)) { + for (const auto & item : haystack->as_array()) { + if (*needle == *item) { + return mk_val(true); + } + } + return mk_val(false); + } + if (is_val(haystack)) { + if (!is_val(needle)) { + throw raised_exception("'in' test expects args[1] as string when args[0] is string, got args[1] as " + needle->type()); + } + return mk_val( + haystack->as_string().str().find(needle->as_string().str()) != std::string::npos); + } + if (is_val(haystack)) { + return mk_val(haystack->has_key(needle)); + } + throw raised_exception("'in' test expects iterable as first argument, got " + haystack->type()); + }}, {"test_is_test", [](const func_args & args) -> value { args.ensure_vals(); auto & builtins = global_builtins(); diff --git a/tests/test-jinja.cpp b/tests/test-jinja.cpp index f6114f1e2f..1f25c6ae71 100644 --- a/tests/test-jinja.cpp +++ b/tests/test-jinja.cpp @@ -189,12 +189,24 @@ static void test_conditionals(testing & t) { "negated" ); - test_template(t, "in operator", + test_template(t, "in operator (element in array)", "{% if 'x' in items %}found{% endif %}", {{"items", json::array({"x", "y"})}}, "found" ); + test_template(t, "in operator (substring)", + "{% if 'bc' in 'abcd' %}found{% endif %}", + json::object(), + "found" + ); + + test_template(t, "in operator (object key)", + "{% if 'key' in obj %}found{% endif %}", + {{"obj", {{"key", 1}, {"other", 2}}}}, + "found" + ); + test_template(t, "is defined", "{% if x is defined %}yes{% else %}no{% endif %}", {{"x", 1}}, @@ -1036,6 +1048,42 @@ static void test_tests(testing & t) { json::object(), "yes" ); + + test_template(t, "is in (array, true)", + "{{ 'yes' if 2 is in([1, 2, 3]) }}", + json::object(), + "yes" + ); + + test_template(t, "is in (array, false)", + "{{ 'yes' if 5 is in([1, 2, 3]) else 'no' }}", + json::object(), + "no" + ); + + test_template(t, "is in (string)", + "{{ 'yes' if 'bc' is in('abcde') }}", + json::object(), + "yes" + ); + + test_template(t, "is in (object keys)", + "{{ 'yes' if 'a' is in(obj) }}", + {{"obj", {{"a", 1}, {"b", 2}}}}, + "yes" + ); + + test_template(t, "reject with in test", + "{{ items | reject('in', skip) | join(', ') }}", + {{"items", json::array({"a", "b", "c", "d"})}, {"skip", json::array({"b", "d"})}}, + "a, c" + ); + + test_template(t, "select with in test", + "{{ items | select('in', keep) | join(', ') }}", + {{"items", json::array({"a", "b", "c", "d"})}, {"keep", json::array({"b", "c"})}}, + "b, c" + ); } static void test_string_methods(testing & t) { From 91ea44e89b30474831d5dc0ad57719a5819506db Mon Sep 17 00:00:00 2001 From: lhez Date: Mon, 2 Feb 2026 15:54:43 -0800 Subject: [PATCH 101/206] opencl: refactor some ops, concat, repeat, tanh and scale (#19226) * opencl: refactor concat * opencl: refactor repeat * opencl: refactor tanh * opencl: enable fp16 for tanh * opencl: refactor scale * opencl: fix unused variables --- ggml/src/ggml-opencl/ggml-opencl.cpp | 484 +++++++++++-------------- ggml/src/ggml-opencl/kernels/concat.cl | 140 +++---- ggml/src/ggml-opencl/kernels/repeat.cl | 63 ++-- ggml/src/ggml-opencl/kernels/scale.cl | 18 +- ggml/src/ggml-opencl/kernels/tanh.cl | 142 +++++--- 5 files changed, 400 insertions(+), 447 deletions(-) diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 0f0eb3a9d8..508b2b8f03 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -453,7 +453,6 @@ struct ggml_backend_opencl_context { cl_program program_rms_norm; cl_program program_group_norm; cl_program program_rope; - cl_program program_scale; cl_program program_silu; cl_program program_sigmoid; cl_program program_softmax_f32; @@ -462,11 +461,8 @@ struct ggml_backend_opencl_context { cl_program program_softmax_4_f16; cl_program program_argsort_f32_i32; cl_program program_sum_rows_f32; - cl_program program_repeat; cl_program program_pad; - cl_program program_tanh; cl_program program_upscale; - cl_program program_concat; cl_program program_conv_2d_f16; cl_program program_conv_2d_f32; cl_program program_conv_2d_f16_f32; @@ -485,7 +481,7 @@ struct ggml_backend_opencl_context { cl_kernel kernel_div, kernel_div_row, kernel_div_f16, kernel_div_row_f16; cl_kernel kernel_sub, kernel_sub_row, kernel_sub_f16, kernel_sub_row_f16; cl_kernel kernel_add_id; - cl_kernel kernel_scale; + cl_kernel kernel_scale_f32, kernel_scale_f32_4; cl_kernel kernel_sqr_cont_f32, kernel_sqr_cont_f32_4, kernel_sqr_cont_f16, kernel_sqr_cont_f16_4; cl_kernel kernel_sqrt_cont_f32, kernel_sqrt_cont_f32_4, kernel_sqrt_cont_f16, kernel_sqrt_cont_f16_4; cl_kernel kernel_mean_f32; @@ -544,18 +540,17 @@ struct ggml_backend_opencl_context { cl_kernel kernel_im2col_f32, kernel_im2col_f16; cl_kernel kernel_argsort_f32_i32; cl_kernel kernel_sum_rows_f32; - cl_kernel kernel_repeat; + cl_kernel kernel_repeat_f32; cl_kernel kernel_pad; - cl_kernel kernel_tanh_f32_nd; - cl_kernel kernel_tanh_f16_nd; + cl_kernel kernel_tanh_f32, kernel_tanh_f32_4, kernel_tanh_f32_nc; + cl_kernel kernel_tanh_f16, kernel_tanh_f16_4, kernel_tanh_f16_nc; cl_kernel kernel_expm1_f32_nd; cl_kernel kernel_expm1_f16_nd; cl_kernel kernel_softplus_f32_nd; cl_kernel kernel_softplus_f16_nd; cl_kernel kernel_upscale; cl_kernel kernel_upscale_bilinear; - cl_kernel kernel_concat_f32_contiguous; - cl_kernel kernel_concat_f32_non_contiguous; + cl_kernel kernel_concat_f32; cl_kernel kernel_conv_2d_f16; cl_kernel kernel_conv_2d_f32; cl_kernel kernel_conv_2d_f16_f32; @@ -1483,10 +1478,12 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve #else const std::string kernel_src = read_file("scale.cl"); #endif - backend_ctx->program_scale = + cl_program prog = build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); - CL_CHECK((backend_ctx->kernel_scale = clCreateKernel(backend_ctx->program_scale, "kernel_scale", &err), err)); + CL_CHECK((backend_ctx->kernel_scale_f32 = clCreateKernel(prog, "kernel_scale_f32", &err), err)); + CL_CHECK((backend_ctx->kernel_scale_f32_4 = clCreateKernel(prog, "kernel_scale_f32_4", &err), err)); + CL_CHECK(clReleaseProgram(prog)); GGML_LOG_CONT("."); } @@ -1814,16 +1811,11 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve #else const std::string kernel_src = read_file("repeat.cl"); #endif - if (!kernel_src.empty()) { - backend_ctx->program_repeat = - build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); - CL_CHECK((backend_ctx->kernel_repeat = clCreateKernel(backend_ctx->program_repeat, "kernel_repeat", &err), err)); - GGML_LOG_CONT("."); - } else { - GGML_LOG_WARN("ggml_opencl: repeat kernel source not found or empty. Repeat operations will not be available.\n"); - backend_ctx->program_repeat = nullptr; - backend_ctx->kernel_repeat = nullptr; - } + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + CL_CHECK((backend_ctx->kernel_repeat_f32 = clCreateKernel(prog, "kernel_repeat_f32", &err), err)); + CL_CHECK(clReleaseProgram(prog)); + GGML_LOG_CONT("."); } // pad @@ -1856,18 +1848,16 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve #else const std::string kernel_src = read_file("tanh.cl"); #endif - if (!kernel_src.empty()) { - backend_ctx->program_tanh = - build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); - CL_CHECK((backend_ctx->kernel_tanh_f32_nd = clCreateKernel(backend_ctx->program_tanh, "kernel_tanh_f32_nd", &err), err)); - CL_CHECK((backend_ctx->kernel_tanh_f16_nd = clCreateKernel(backend_ctx->program_tanh, "kernel_tanh_f16_nd", &err), err)); - GGML_LOG_CONT("."); - } else { - GGML_LOG_WARN("ggml_opencl: tanh kernel source not found or empty. Tanh operation will not be available.\n"); - backend_ctx->program_tanh = nullptr; - backend_ctx->kernel_tanh_f32_nd = nullptr; - backend_ctx->kernel_tanh_f16_nd = nullptr; - } + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + CL_CHECK((backend_ctx->kernel_tanh_f32 = clCreateKernel(prog, "kernel_tanh_f32", &err), err)); + CL_CHECK((backend_ctx->kernel_tanh_f32_4 = clCreateKernel(prog, "kernel_tanh_f32_4", &err), err)); + CL_CHECK((backend_ctx->kernel_tanh_f32_nc = clCreateKernel(prog, "kernel_tanh_f32_nc", &err), err)); + CL_CHECK((backend_ctx->kernel_tanh_f16 = clCreateKernel(prog, "kernel_tanh_f16", &err), err)); + CL_CHECK((backend_ctx->kernel_tanh_f16_4 = clCreateKernel(prog, "kernel_tanh_f16_4", &err), err)); + CL_CHECK((backend_ctx->kernel_tanh_f16_nc = clCreateKernel(prog, "kernel_tanh_f16_nc", &err), err)); + CL_CHECK(clReleaseProgram(prog)); + GGML_LOG_CONT("."); } // expm1 @@ -1959,22 +1949,13 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve #include "concat.cl.h" }; #else - const std::string kernel_src = read_file("concat.cl"); #endif - if (!kernel_src.empty()) { - backend_ctx->program_concat = - build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); - - CL_CHECK((backend_ctx->kernel_concat_f32_contiguous = clCreateKernel(backend_ctx->program_concat, "kernel_concat_f32_contiguous", &err), err)); - CL_CHECK((backend_ctx->kernel_concat_f32_non_contiguous = clCreateKernel(backend_ctx->program_concat, "kernel_concat_f32_non_contiguous", &err), err)); - GGML_LOG_CONT("."); - } else { - GGML_LOG_WARN("ggml_opencl: concat kernel source not found or empty. Concat operations will not be available.\n"); - backend_ctx->program_concat = nullptr; - backend_ctx->kernel_concat_f32_contiguous = nullptr; - backend_ctx->kernel_concat_f32_non_contiguous = nullptr; - } + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + CL_CHECK((backend_ctx->kernel_concat_f32 = clCreateKernel(prog, "kernel_concat_f32", &err), err)); + CL_CHECK(clReleaseProgram(prog)); + GGML_LOG_CONT("."); } // timestep_embedding @@ -3318,8 +3299,7 @@ static bool ggml_opencl_supports_op(ggml_backend_dev_t dev, const struct ggml_te case GGML_UNARY_OP_SIGMOID: return ggml_is_contiguous(op->src[0]); case GGML_UNARY_OP_TANH: - return (op->src[0]->type == GGML_TYPE_F32 && op->type == GGML_TYPE_F32) || - (op->src[0]->type == GGML_TYPE_F16 && op->type == GGML_TYPE_F16); + return op->src[0]->type == GGML_TYPE_F32 || op->src[0]->type == GGML_TYPE_F16; case GGML_UNARY_OP_EXPM1: return (op->src[0]->type == GGML_TYPE_F32 && op->type == GGML_TYPE_F32) || (op->src[0]->type == GGML_TYPE_F16 && op->type == GGML_TYPE_F16); @@ -7029,79 +7009,87 @@ static void ggml_cl_tanh(ggml_backend_t backend, const ggml_tensor * src0, const ggml_tensor_extra_cl * extra0 = (ggml_tensor_extra_cl *)src0->extra; ggml_tensor_extra_cl * extrad = (ggml_tensor_extra_cl *)dst->extra; - cl_ulong offset0_abs = extra0->offset + src0->view_offs; - cl_ulong offsetd_abs = extrad->offset + dst->view_offs; + cl_ulong offset0 = extra0->offset + src0->view_offs; + cl_ulong offsetd = extrad->offset + dst->view_offs; + + const int ne00 = src0->ne[0]; + const int ne01 = src0->ne[1]; + const int ne02 = src0->ne[2]; + const int ne03 = src0->ne[3]; + + const cl_ulong nb00 = src0->nb[0]; + const cl_ulong nb01 = src0->nb[1]; + const cl_ulong nb02 = src0->nb[2]; + const cl_ulong nb03 = src0->nb[3]; + + const cl_ulong nb0 = dst->nb[0]; + const cl_ulong nb1 = dst->nb[1]; + const cl_ulong nb2 = dst->nb[2]; + const cl_ulong nb3 = dst->nb[3]; cl_kernel kernel; - if (dst->type == GGML_TYPE_F32) { - kernel = backend_ctx->kernel_tanh_f32_nd; - } else if (dst->type == GGML_TYPE_F16) { - kernel = backend_ctx->kernel_tanh_f16_nd; - } else { - GGML_ASSERT(false && "Unsupported type for ggml_cl_tanh"); - } - GGML_ASSERT(kernel != nullptr); - const int ne00 = src0->ne[0]; const int ne01 = src0->ne[1]; const int ne02 = src0->ne[2]; const int ne03 = src0->ne[3]; - const cl_ulong nb00 = src0->nb[0]; const cl_ulong nb01 = src0->nb[1]; const cl_ulong nb02 = src0->nb[2]; const cl_ulong nb03 = src0->nb[3]; - - const int ne10 = dst->ne[0]; const int ne11 = dst->ne[1]; const int ne12 = dst->ne[2]; const int ne13 = dst->ne[3]; - const cl_ulong nb10 = dst->nb[0]; const cl_ulong nb11 = dst->nb[1]; const cl_ulong nb12 = dst->nb[2]; const cl_ulong nb13 = dst->nb[3]; - - CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0->data_device)); - CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), &offset0_abs)); - CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extrad->data_device)); - CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offsetd_abs)); - - CL_CHECK(clSetKernelArg(kernel, 4, sizeof(int), &ne00)); - CL_CHECK(clSetKernelArg(kernel, 5, sizeof(int), &ne01)); - CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &ne02)); - CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &ne03)); - CL_CHECK(clSetKernelArg(kernel, 8, sizeof(cl_ulong), &nb00)); - CL_CHECK(clSetKernelArg(kernel, 9, sizeof(cl_ulong), &nb01)); - CL_CHECK(clSetKernelArg(kernel, 10, sizeof(cl_ulong),&nb02)); - CL_CHECK(clSetKernelArg(kernel, 11, sizeof(cl_ulong),&nb03)); - - CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne10)); - CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &ne11)); - CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &ne12)); - CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &ne13)); - CL_CHECK(clSetKernelArg(kernel, 16, sizeof(cl_ulong),&nb10)); - CL_CHECK(clSetKernelArg(kernel, 17, sizeof(cl_ulong),&nb11)); - CL_CHECK(clSetKernelArg(kernel, 18, sizeof(cl_ulong),&nb12)); - CL_CHECK(clSetKernelArg(kernel, 19, sizeof(cl_ulong),&nb13)); - - size_t global_work_size[3]; - if (ne10 == 0 || ne11 == 0 || ne12 == 0 || ne13 == 0) { // Handle case of 0 elements - return; - } - global_work_size[0] = (size_t)ne10; - global_work_size[1] = (size_t)ne11; - global_work_size[2] = (size_t)ne12; - - size_t lws0 = 16, lws1 = 4, lws2 = 1; - if (ne10 < 16) lws0 = ne10; - if (ne11 < 4) lws1 = ne11; - if (ne12 < 1) lws2 = ne12 > 0 ? ne12 : 1; - - while (lws0 * lws1 * lws2 > 256 && lws0 > 1) lws0 /= 2; - while (lws0 * lws1 * lws2 > 256 && lws1 > 1) lws1 /= 2; - while (lws0 * lws1 * lws2 > 256 && lws2 > 1) lws2 /= 2; - - - size_t local_work_size[] = {lws0, lws1, lws2}; - - size_t* local_work_size_ptr = local_work_size; - if (!backend_ctx->non_uniform_workgroups) { - if (global_work_size[0] % local_work_size[0] != 0 || - global_work_size[1] % local_work_size[1] != 0 || - global_work_size[2] % local_work_size[2] != 0) { - local_work_size_ptr = NULL; + if (ggml_is_contiguous(src0)) { + // Handle contiguous input + int n = ggml_nelements(dst); + if (n % 4 == 0) { + if (src0->type == GGML_TYPE_F32) { + kernel = backend_ctx->kernel_tanh_f32_4; + } else { + kernel = backend_ctx->kernel_tanh_f16_4; + } + n /= 4; + } else { + if (src0->type == GGML_TYPE_F32) { + kernel = backend_ctx->kernel_tanh_f32; + } else { + kernel = backend_ctx->kernel_tanh_f16; + } } - } - if (global_work_size[0] == 0 || global_work_size[1] == 0 || global_work_size[2] == 0) return; - backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size_ptr, dst); + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0->data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), &offset0)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offsetd)); + + size_t global_work_size[] = {(size_t)n, 1, 1}; + size_t local_work_size[] = {64, 1, 1}; + + size_t * local_work_size_ptr = local_work_size; + if (n % 64 != 0 && !backend_ctx->non_uniform_workgroups) { + local_work_size_ptr = nullptr; + } + + backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size_ptr, dst); + } else { + // Handle non-contiguous input + if (src0->type == GGML_TYPE_F32) { + kernel = backend_ctx->kernel_tanh_f32_nc; + } else { + kernel = backend_ctx->kernel_tanh_f16_nc; + } + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0->data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), &offset0)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), &nb00)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(cl_ulong), &nb01)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(cl_ulong), &nb02)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(cl_ulong), &nb03)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(cl_ulong), &nb0)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(cl_ulong), &nb1)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(cl_ulong), &nb2)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(cl_ulong), &nb3)); + + int nth = 64; + + size_t global_work_size[] = {(size_t)ne01*nth, (size_t)ne02, (size_t)ne03}; + size_t local_work_size[] = {(size_t)nth, 1, 1}; + + backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); + } } static void ggml_cl_expm1(ggml_backend_t backend, const ggml_tensor * src0, const ggml_tensor * src1, ggml_tensor * dst) { @@ -7319,53 +7307,58 @@ static void ggml_cl_repeat(ggml_backend_t backend, const ggml_tensor * src0, con ggml_backend_opencl_context *backend_ctx = (ggml_backend_opencl_context *)backend->context; - if (backend_ctx->kernel_repeat == nullptr) { - GGML_LOG_WARN("%s: repeat kernel not available, skipping OpenCL execution.\n", __func__); - return; - } + ggml_tensor_extra_cl * extra0 = (ggml_tensor_extra_cl *)src0->extra; + ggml_tensor_extra_cl * extrad = (ggml_tensor_extra_cl *)dst->extra; - ggml_tensor_extra_cl * extra_src0 = (ggml_tensor_extra_cl *)src0->extra; - ggml_tensor_extra_cl * extra_dst = (ggml_tensor_extra_cl *)dst->extra; + cl_ulong offset0 = extra0->offset + src0->view_offs; + cl_ulong offsetd = extrad->offset + dst->view_offs; - cl_ulong off_src0 = extra_src0->offset + src0->view_offs; - cl_ulong off_dst = extra_dst->offset + dst->view_offs; + const int ne00 = src0->ne[0]; + const int ne01 = src0->ne[1]; + const int ne02 = src0->ne[2]; + const int ne03 = src0->ne[3]; - const int src0_ne0 = src0->ne[0]; const int src0_ne1 = src0->ne[1]; const int src0_ne2 = src0->ne[2]; const int src0_ne3 = src0->ne[3]; - const cl_ulong src0_nb0 = src0->nb[0]; const cl_ulong src0_nb1 = src0->nb[1]; const cl_ulong src0_nb2 = src0->nb[2]; const cl_ulong src0_nb3 = src0->nb[3]; + const cl_ulong nb00 = src0->nb[0]; + const cl_ulong nb01 = src0->nb[1]; + const cl_ulong nb02 = src0->nb[2]; + const cl_ulong nb03 = src0->nb[3]; - const int dst_ne0 = dst->ne[0]; const int dst_ne1 = dst->ne[1]; const int dst_ne2 = dst->ne[2]; const int dst_ne3 = dst->ne[3]; - const cl_ulong dst_nb0 = dst->nb[0]; const cl_ulong dst_nb1 = dst->nb[1]; const cl_ulong dst_nb2 = dst->nb[2]; const cl_ulong dst_nb3 = dst->nb[3]; + const int ne0 = dst->ne[0]; + const int ne1 = dst->ne[1]; + const int ne2 = dst->ne[2]; + const int ne3 = dst->ne[3]; - cl_kernel kernel = backend_ctx->kernel_repeat; + const cl_ulong nb0 = dst->nb[0]; + const cl_ulong nb1 = dst->nb[1]; + const cl_ulong nb2 = dst->nb[2]; + const cl_ulong nb3 = dst->nb[3]; - CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra_src0->data_device)); - CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra_dst->data_device)); - CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_ulong), &off_src0)); - CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &off_dst)); - CL_CHECK(clSetKernelArg(kernel, 4, sizeof(int), &src0_ne0)); - CL_CHECK(clSetKernelArg(kernel, 5, sizeof(int), &src0_ne1)); - CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &src0_ne2)); - CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &src0_ne3)); - CL_CHECK(clSetKernelArg(kernel, 8, sizeof(cl_ulong), &src0_nb0)); - CL_CHECK(clSetKernelArg(kernel, 9, sizeof(cl_ulong), &src0_nb1)); - CL_CHECK(clSetKernelArg(kernel, 10, sizeof(cl_ulong), &src0_nb2)); - CL_CHECK(clSetKernelArg(kernel, 11, sizeof(cl_ulong), &src0_nb3)); - CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &dst_ne0)); - CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &dst_ne1)); - CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &dst_ne2)); - CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &dst_ne3)); - CL_CHECK(clSetKernelArg(kernel, 16, sizeof(cl_ulong), &dst_nb0)); - CL_CHECK(clSetKernelArg(kernel, 17, sizeof(cl_ulong), &dst_nb1)); - CL_CHECK(clSetKernelArg(kernel, 18, sizeof(cl_ulong), &dst_nb2)); - CL_CHECK(clSetKernelArg(kernel, 19, sizeof(cl_ulong), &dst_nb3)); + cl_kernel kernel = backend_ctx->kernel_repeat_f32; - size_t gws0 = dst_ne1 > 0 ? (size_t)dst_ne1 : 1; - size_t gws1 = dst_ne2 > 0 ? (size_t)dst_ne2 : 1; - size_t gws2 = dst_ne3 > 0 ? (size_t)dst_ne3 : 1; + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0->data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), &offset0)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &ne02)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &ne03)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(cl_ulong), &nb00)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(cl_ulong), &nb01)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(cl_ulong), &nb02)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(cl_ulong), &nb03)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne0)); + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(cl_ulong), &nb0)); + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(cl_ulong), &nb1)); + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(cl_ulong), &nb2)); + CL_CHECK(clSetKernelArg(kernel, 16, sizeof(cl_ulong), &nb3)); - size_t global_work_size[] = { gws0, gws1, gws2 }; + int nth = 64; - backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, NULL, dst); + size_t global_work_size[] = {(size_t)ne1*nth, (size_t)ne2, (size_t)ne3}; + size_t local_work_size[] = {(size_t)nth, 1, 1}; + + backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); } static void ggml_cl_pad(ggml_backend_t backend, const ggml_tensor * src0, ggml_tensor * dst) { @@ -7589,121 +7582,76 @@ static void ggml_cl_concat(ggml_backend_t backend, const ggml_tensor * src0, con GGML_ASSERT(dst->type == GGML_TYPE_F32); ggml_backend_opencl_context *backend_ctx = (ggml_backend_opencl_context *)backend->context; - cl_command_queue queue = backend_ctx->queue; - if (backend_ctx->kernel_concat_f32_contiguous == nullptr || backend_ctx->kernel_concat_f32_non_contiguous == nullptr) { - GGML_LOG_WARN("%s: concat kernels not available, skipping OpenCL execution.\n", __func__); - return; - } + ggml_tensor_extra_cl * extra0 = (ggml_tensor_extra_cl *)src0->extra; + ggml_tensor_extra_cl * extra1 = (ggml_tensor_extra_cl *)src1->extra; + ggml_tensor_extra_cl * extrad = (ggml_tensor_extra_cl *)dst->extra; - ggml_tensor_extra_cl * extra0_cl = (ggml_tensor_extra_cl *)src0->extra; - ggml_tensor_extra_cl * extra1_cl = (ggml_tensor_extra_cl *)src1->extra; - ggml_tensor_extra_cl * extrad_cl = (ggml_tensor_extra_cl *)dst->extra; + cl_ulong offset0 = extra0->offset + src0->view_offs; + cl_ulong offset1 = extra1->offset + src1->view_offs; + cl_ulong offsetd = extrad->offset + dst->view_offs; - cl_ulong off_src0 = extra0_cl->offset + src0->view_offs; - cl_ulong off_src1 = extra1_cl->offset + src1->view_offs; - cl_ulong off_dst = extrad_cl->offset + dst->view_offs; + const int ne00 = src0->ne[0]; + const int ne01 = src0->ne[1]; + const int ne02 = src0->ne[2]; + const int ne03 = src0->ne[3]; - const int32_t dim = ((const int32_t *) dst->op_params)[0]; + const cl_ulong nb00 = src0->nb[0]; + const cl_ulong nb01 = src0->nb[1]; + const cl_ulong nb02 = src0->nb[2]; + const cl_ulong nb03 = src0->nb[3]; + + const cl_ulong nb10 = src1->nb[0]; + const cl_ulong nb11 = src1->nb[1]; + const cl_ulong nb12 = src1->nb[2]; + const cl_ulong nb13 = src1->nb[3]; + + const int ne0 = dst->ne[0]; + const int ne1 = dst->ne[1]; + const int ne2 = dst->ne[2]; + const int ne3 = dst->ne[3]; + + const cl_ulong nb0 = dst->nb[0]; + const cl_ulong nb1 = dst->nb[1]; + const cl_ulong nb2 = dst->nb[2]; + const cl_ulong nb3 = dst->nb[3]; + + const cl_int dim = ((const int32_t *) dst->op_params)[0]; GGML_ASSERT(dim >= 0 && dim <= 3); - if (ggml_is_contiguous(src0) && ggml_is_contiguous(src1) && ggml_is_contiguous(dst)) { - if (dim == 3) { + int nth = MIN(64, ne0); - size_t nbytes_src0 = ggml_nbytes(src0); - size_t nbytes_src1 = ggml_nbytes(src1); + cl_kernel kernel = backend_ctx->kernel_concat_f32; - CL_CHECK(clEnqueueCopyBuffer(queue, extra0_cl->data_device, extrad_cl->data_device, - off_src0, off_dst, nbytes_src0, 0, NULL, NULL)); - CL_CHECK(clEnqueueCopyBuffer(queue, extra1_cl->data_device, extrad_cl->data_device, - off_src1, off_dst + nbytes_src0, nbytes_src1, 0, NULL, NULL)); - } else { + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0->data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), &offset0)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(int), &ne02)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(int), &ne03)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(cl_ulong), &nb00)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(cl_ulong), &nb01)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(cl_ulong), &nb02)); + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(cl_ulong), &nb03)); + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(cl_ulong), &nb10)); + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(cl_ulong), &nb11)); + CL_CHECK(clSetKernelArg(kernel, 16, sizeof(cl_ulong), &nb12)); + CL_CHECK(clSetKernelArg(kernel, 17, sizeof(cl_ulong), &nb13)); + CL_CHECK(clSetKernelArg(kernel, 18, sizeof(int), &ne0)); + CL_CHECK(clSetKernelArg(kernel, 19, sizeof(cl_ulong), &nb0)); + CL_CHECK(clSetKernelArg(kernel, 20, sizeof(cl_ulong), &nb1)); + CL_CHECK(clSetKernelArg(kernel, 21, sizeof(cl_ulong), &nb2)); + CL_CHECK(clSetKernelArg(kernel, 22, sizeof(cl_ulong), &nb3)); + CL_CHECK(clSetKernelArg(kernel, 23, sizeof(cl_int), &dim)); - cl_kernel kernel = backend_ctx->kernel_concat_f32_contiguous; - size_t global_work_size[3]; + size_t global_work_size[] = {(size_t)ne1*nth, (size_t)ne2, (size_t)ne3}; + size_t local_work_size[] = {(size_t)nth, 1, 1}; - for (int i3 = 0; i3 < dst->ne[3]; ++i3) { - cl_ulong current_off_src0 = off_src0 + (i3 * src0->nb[3]); - cl_ulong current_off_src1 = off_src1 + (i3 * src1->nb[3]); - cl_ulong current_off_dst = off_dst + (i3 * dst->nb[3]); - - int d_ne00 = src0->ne[0]; int d_ne01 = src0->ne[1]; int d_ne02 = src0->ne[2]; - int d_ne10 = src1->ne[0]; int d_ne11 = src1->ne[1]; int d_ne12 = src1->ne[2]; - int d_ne0 = dst->ne[0]; int d_ne1 = dst->ne[1]; int d_ne2 = dst->ne[2]; - - CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0_cl->data_device)); - CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), ¤t_off_src0)); - CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra1_cl->data_device)); - CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), ¤t_off_src1)); - CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extrad_cl->data_device)); - CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), ¤t_off_dst)); - CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &d_ne00)); - CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &d_ne01)); - CL_CHECK(clSetKernelArg(kernel, 8, sizeof(int), &d_ne02)); - CL_CHECK(clSetKernelArg(kernel, 9, sizeof(int), &d_ne10)); - CL_CHECK(clSetKernelArg(kernel, 10, sizeof(int), &d_ne11)); - CL_CHECK(clSetKernelArg(kernel, 11, sizeof(int), &d_ne12)); - CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &d_ne0)); - CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &d_ne1)); - CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &d_ne2)); - CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &dim)); - - global_work_size[0] = d_ne0; - global_work_size[1] = d_ne1; - global_work_size[2] = d_ne2; - - backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, NULL, dst); - } - } - } else { - cl_kernel kernel = backend_ctx->kernel_concat_f32_non_contiguous; - - cl_long ne00 = src0->ne[0], ne01 = src0->ne[1], ne02 = src0->ne[2], ne03 = src0->ne[3]; - cl_ulong nb00 = src0->nb[0], nb01 = src0->nb[1], nb02 = src0->nb[2], nb03 = src0->nb[3]; - - cl_ulong nb10 = src1->nb[0], nb11 = src1->nb[1], nb12 = src1->nb[2], nb13 = src1->nb[3]; - - cl_long d_ne0 = dst->ne[0], d_ne1 = dst->ne[1], d_ne2 = dst->ne[2], d_ne3 = dst->ne[3]; - cl_ulong d_nb0 = dst->nb[0], d_nb1 = dst->nb[1], d_nb2 = dst->nb[2], d_nb3 = dst->nb[3]; - - - CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0_cl->data_device)); - CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), &off_src0)); - CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra1_cl->data_device)); - CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &off_src1)); - CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extrad_cl->data_device)); - CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), &off_dst)); - - CL_CHECK(clSetKernelArg(kernel, 6, sizeof(cl_long), &ne00)); - CL_CHECK(clSetKernelArg(kernel, 7, sizeof(cl_long), &ne01)); - CL_CHECK(clSetKernelArg(kernel, 8, sizeof(cl_long), &ne02)); - CL_CHECK(clSetKernelArg(kernel, 9, sizeof(cl_long), &ne03)); - CL_CHECK(clSetKernelArg(kernel, 10, sizeof(cl_ulong), &nb00)); - CL_CHECK(clSetKernelArg(kernel, 11, sizeof(cl_ulong), &nb01)); - CL_CHECK(clSetKernelArg(kernel, 12, sizeof(cl_ulong), &nb02)); - CL_CHECK(clSetKernelArg(kernel, 13, sizeof(cl_ulong), &nb03)); - - CL_CHECK(clSetKernelArg(kernel, 14, sizeof(cl_ulong), &nb10)); - CL_CHECK(clSetKernelArg(kernel, 15, sizeof(cl_ulong), &nb11)); - CL_CHECK(clSetKernelArg(kernel, 16, sizeof(cl_ulong), &nb12)); - CL_CHECK(clSetKernelArg(kernel, 17, sizeof(cl_ulong), &nb13)); - - CL_CHECK(clSetKernelArg(kernel, 18, sizeof(cl_long), &d_ne0)); - CL_CHECK(clSetKernelArg(kernel, 19, sizeof(cl_long), &d_ne1)); - CL_CHECK(clSetKernelArg(kernel, 20, sizeof(cl_long), &d_ne2)); - CL_CHECK(clSetKernelArg(kernel, 21, sizeof(cl_long), &d_ne3)); - CL_CHECK(clSetKernelArg(kernel, 22, sizeof(cl_ulong), &d_nb0)); - CL_CHECK(clSetKernelArg(kernel, 23, sizeof(cl_ulong), &d_nb1)); - CL_CHECK(clSetKernelArg(kernel, 24, sizeof(cl_ulong), &d_nb2)); - CL_CHECK(clSetKernelArg(kernel, 25, sizeof(cl_ulong), &d_nb3)); - CL_CHECK(clSetKernelArg(kernel, 26, sizeof(int), &dim)); - - size_t global_work_size_nc[] = { d_ne1 > 0 ? (size_t)d_ne1 : 1, - d_ne2 > 0 ? (size_t)d_ne2 : 1, - d_ne3 > 0 ? (size_t)d_ne3 : 1 }; - - backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size_nc, NULL, dst); - } + backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); } static void ggml_cl_timestep_embedding(ggml_backend_t backend, const ggml_tensor * src0, ggml_tensor * dst) { @@ -8394,6 +8342,7 @@ static void ggml_cl_mul_mat_q8_0_f32_adreno(ggml_backend_t backend, const ggml_t CL_CHECK(clReleaseMemObject(D_sub_buffer)); CL_CHECK(clReleaseMemObject(D_image1d)); #else + GGML_UNUSED(backend); GGML_UNUSED(src0); GGML_UNUSED(src1); GGML_UNUSED(dst); @@ -9913,7 +9862,16 @@ static void ggml_cl_scale(ggml_backend_t backend, const ggml_tensor * src0, cons cl_ulong offset0 = extra0->offset + src0->view_offs; cl_ulong offsetd = extrad->offset + dst->view_offs; - cl_kernel kernel = backend_ctx->kernel_scale; + cl_kernel kernel; + + int n = ggml_nelements(dst); + + if (n % 4 == 0) { + kernel = backend_ctx->kernel_scale_f32_4; + n /= 4; + } else { + kernel = backend_ctx->kernel_scale_f32; + } CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0->data_device)); CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), &offset0)); @@ -9922,8 +9880,6 @@ static void ggml_cl_scale(ggml_backend_t backend, const ggml_tensor * src0, cons CL_CHECK(clSetKernelArg(kernel, 4, sizeof(float), &scale)); CL_CHECK(clSetKernelArg(kernel, 5, sizeof(float), &bias)); - int n = ggml_nelements(dst)/4; - size_t global_work_size[] = {(size_t)n, 1, 1}; size_t local_work_size[] = {64, 1, 1}; diff --git a/ggml/src/ggml-opencl/kernels/concat.cl b/ggml/src/ggml-opencl/kernels/concat.cl index 132758469c..0c1b3d785c 100644 --- a/ggml/src/ggml-opencl/kernels/concat.cl +++ b/ggml/src/ggml-opencl/kernels/concat.cl @@ -1,109 +1,51 @@ -kernel void kernel_concat_f32_contiguous( - global const char * p_src0, ulong off_src0, - global const char * p_src1, ulong off_src1, - global char * p_dst, ulong off_dst, - int d_ne00, int d_ne01, int d_ne02, // src0->ne[0..2] for the slice - int d_ne10, int d_ne11, int d_ne12, // src1->ne[0..2] for the slice (d_ne1X must match d_ne0X on non-concat axes) - int d_ne0, int d_ne1, int d_ne2, // dst->ne[0..2] for the slice - int dim +kernel void kernel_concat_f32( + global const char * src0, + ulong offset0, + global const char * src1, + ulong offset1, + global char * dst, + ulong offsetd, + int ne00, + int ne01, + int ne02, + int ne03, + ulong nb00, + ulong nb01, + ulong nb02, + ulong nb03, + ulong nb10, + ulong nb11, + ulong nb12, + ulong nb13, + int ne0, + ulong nb0, + ulong nb1, + ulong nb2, + ulong nb3, + int dim ) { - global const float * src0 = (global const float*)((global char*)p_src0 + off_src0); - global const float * src1 = (global const float*)((global char*)p_src1 + off_src1); - global float * dst = (global float*)((global char*)p_dst + off_dst); + src0 = src0 + offset0; + src1 = src1 + offset1; + dst = dst + offsetd; - int i0 = get_global_id(0); // Index along dst's 0th dimension - int i1 = get_global_id(1); // Index along dst's 1st dimension - int i2 = get_global_id(2); // Index along dst's 2nd dimension + const int i3 = get_group_id(2); + const int i2 = get_group_id(1); + const int i1 = get_group_id(0); - if (i0 >= d_ne0 || i1 >= d_ne1 || i2 >= d_ne2) { - return; - } + int o[4] = {0, 0, 0, 0}; + o[dim] = dim == 0 ? ne00 : (dim == 1 ? ne01 : (dim == 2 ? ne02 : ne03)); - ulong dst_idx = (ulong)i2 * d_ne0 * d_ne1 + (ulong)i1 * d_ne0 + i0; - ulong src_idx; + global const float * x; - if (dim == 0) { - if (i0 < d_ne00) { // Data from src0 - src_idx = (ulong)i2 * d_ne00 * d_ne01 + (ulong)i1 * d_ne00 + i0; - dst[dst_idx] = src0[src_idx]; - } else { // Data from src1 - src_idx = (ulong)i2 * d_ne10 * d_ne11 + (ulong)i1 * d_ne10 + (i0 - d_ne00); - dst[dst_idx] = src1[src_idx]; - } - } else if (dim == 1) { - if (i1 < d_ne01) { // Data from src0 - src_idx = (ulong)i2 * d_ne00 * d_ne01 + (ulong)i1 * d_ne00 + i0; - dst[dst_idx] = src0[src_idx]; - } else { // Data from src1 - src_idx = (ulong)i2 * d_ne10 * d_ne11 + (ulong)(i1 - d_ne01) * d_ne10 + i0; - dst[dst_idx] = src1[src_idx]; - } - } else if (dim == 2) { - if (i2 < d_ne02) { // Data from src0 - src_idx = (ulong)i2 * d_ne00 * d_ne01 + (ulong)i1 * d_ne00 + i0; - dst[dst_idx] = src0[src_idx]; - } else { // Data from src1 - - src_idx = (ulong)(i2 - d_ne02) * d_ne10 * d_ne11 + (ulong)i1 * d_ne10 + i0; - dst[dst_idx] = src1[src_idx]; - } - } -} - -kernel void kernel_concat_f32_non_contiguous( - global const char * p_src0, ulong off_src0, - global const char * p_src1, ulong off_src1, - global char * p_dst, ulong off_dst, - - long ne00, long ne01, long ne02, long ne03, - ulong nb00, ulong nb01, ulong nb02, ulong nb03, - - ulong nb10, ulong nb11, ulong nb12, ulong nb13, // Strides for src1 - - long d_ne0, long d_ne1, long d_ne2, long d_ne3, - ulong d_nb0, ulong d_nb1, ulong d_nb2, ulong d_nb3, - int dim -) { - global const char * src0_base = p_src0 + off_src0; - global const char * src1_base = p_src1 + off_src1; - global char * dst_base = p_dst + off_dst; - - long current_i1 = get_global_id(0); // Index for dst_dim_1 - long current_i2 = get_global_id(1); // Index for dst_dim_2 - long current_i3 = get_global_id(2); // Index for dst_dim_3 - - if (current_i1 >= d_ne1 || current_i2 >= d_ne2 || current_i3 >= d_ne3) { - return; - } - - global const float * x_val_ptr; - global float * y_val_ptr; - - for (long current_i0 = 0; current_i0 < d_ne0; ++current_i0) { - bool use_src0; - long s_i0 = current_i0, s_i1 = current_i1, s_i2 = current_i2, s_i3 = current_i3; - - if (dim == 0) { - use_src0 = (current_i0 < ne00); - if (!use_src0) { s_i0 = current_i0 - ne00; } - } else if (dim == 1) { - use_src0 = (current_i1 < ne01); - if (!use_src0) { s_i1 = current_i1 - ne01; } - } else if (dim == 2) { - use_src0 = (current_i2 < ne02); - if (!use_src0) { s_i2 = current_i2 - ne02; } - } else { // dim == 3 - use_src0 = (current_i3 < ne03); - if (!use_src0) { s_i3 = current_i3 - ne03; } - } - - if (use_src0) { - x_val_ptr = (global const float *)(src0_base + (ulong)s_i3*nb03 + (ulong)s_i2*nb02 + (ulong)s_i1*nb01 + (ulong)s_i0*nb00); + for (int i0 = get_local_id(0); i0 < ne0; i0 += get_local_size(0)) { + if (i0 < ne00 && i1 < ne01 && i2 < ne02 && i3 < ne03) { + x = (global const float *)(src0 + (i3 )*nb03 + (i2 )*nb02 + (i1 )*nb01 + (i0 )*nb00); } else { - x_val_ptr = (global const float *)(src1_base + (ulong)s_i3*nb13 + (ulong)s_i2*nb12 + (ulong)s_i1*nb11 + (ulong)s_i0*nb10); + x = (global const float *)(src1 + (i3 - o[3])*nb13 + (i2 - o[2])*nb12 + (i1 - o[1])*nb11 + (i0 - o[0])*nb10); } - y_val_ptr = (global float *)(dst_base + (ulong)current_i3*d_nb3 + (ulong)current_i2*d_nb2 + (ulong)current_i1*d_nb1 + (ulong)current_i0*d_nb0); - *y_val_ptr = *x_val_ptr; + global float * y = (global float *)(dst + i3*nb3 + i2*nb2 + i1*nb1 + i0*nb0); + + *y = *x; } } diff --git a/ggml/src/ggml-opencl/kernels/repeat.cl b/ggml/src/ggml-opencl/kernels/repeat.cl index 079498f5ab..53951a5543 100644 --- a/ggml/src/ggml-opencl/kernels/repeat.cl +++ b/ggml/src/ggml-opencl/kernels/repeat.cl @@ -1,39 +1,38 @@ -kernel void kernel_repeat( - global const char * src0_data_in, - global char * dst_data_in, - ulong src0_offset, - ulong dst_offset, - int src0_ne0, int src0_ne1, int src0_ne2, int src0_ne3, - ulong src0_nb0, ulong src0_nb1, ulong src0_nb2, ulong src0_nb3, - int dst_ne0, int dst_ne1, int dst_ne2, int dst_ne3, - ulong dst_nb0, ulong dst_nb1, ulong dst_nb2, ulong dst_nb3 +kernel void kernel_repeat_f32( + global const char * src0, + ulong offset0, + global char * dst, + ulong offsetd, + int ne00, + int ne01, + int ne02, + int ne03, + ulong nb00, + ulong nb01, + ulong nb02, + ulong nb03, + int ne0, + ulong nb0, + ulong nb1, + ulong nb2, + ulong nb3 ) { - global const char * src0_data = src0_data_in + src0_offset; - global char * dst_data = dst_data_in + dst_offset; + src0 = src0 + offset0; + dst = dst + offsetd; - const int d3 = get_global_id(2); - const int d2 = get_global_id(1); - const int d1 = get_global_id(0); + const int i3 = get_group_id(2); + const int i2 = get_group_id(1); + const int i1 = get_group_id(0); - if (d3 >= dst_ne3 || d2 >= dst_ne2 || d1 >= dst_ne1) { - return; - } + const int i03 = i3%ne03; + const int i02 = i2%ne02; + const int i01 = i1%ne01; - const int s3 = d3 % src0_ne3; - const int s2 = d2 % src0_ne2; - const int s1 = d1 % src0_ne1; + global const char * src0_ptr = src0 + i03*nb03 + i02*nb02 + i01*nb01; + global char * dst_ptr = dst + i3*nb3 + i2*nb2 + i1*nb1; - const global char * p_src0_slice = src0_data + (ulong)s3*src0_nb3 + (ulong)s2*src0_nb2 + (ulong)s1*src0_nb1; - global char * p_dst_slice = dst_data + (ulong)d3*dst_nb3 + (ulong)d2*dst_nb2 + (ulong)d1*dst_nb1; - - for (int d0 = 0; d0 < dst_ne0; ++d0) { - // Determine source index for dimension 0 based on tiling/broadcasting. - const int s0 = d0 % src0_ne0; - - const global char * restrict current_src_el_ptr = p_src0_slice + (ulong)s0*src0_nb0; - global char * restrict current_dst_el_ptr = p_dst_slice + (ulong)d0*dst_nb0; - for (int k = 0; k < src0_nb0; ++k) { - current_dst_el_ptr[k] = current_src_el_ptr[k]; - } + for (int i0 = get_local_id(0); i0 < ne0; i0 += get_local_size(0)) { + const int i00 = i0%ne00; + *((global float *)(dst_ptr + i0*nb0)) = *((global float *)(src0_ptr + i00*nb00)); } } diff --git a/ggml/src/ggml-opencl/kernels/scale.cl b/ggml/src/ggml-opencl/kernels/scale.cl index aeca8a456e..17ed97f0d6 100644 --- a/ggml/src/ggml-opencl/kernels/scale.cl +++ b/ggml/src/ggml-opencl/kernels/scale.cl @@ -1,9 +1,19 @@ #pragma OPENCL EXTENSION cl_khr_fp16 : enable -//------------------------------------------------------------------------------ -// scale -//------------------------------------------------------------------------------ -kernel void kernel_scale( +kernel void kernel_scale_f32( + global float * src0, + ulong offset0, + global float * dst, + ulong offsetd, + float scale, + float bias +) { + src0 = (global float*)((global char*)src0 + offset0); + dst = (global float*)((global char*)dst + offsetd); + dst[get_global_id(0)] = src0[get_global_id(0)] * scale + bias; +} + +kernel void kernel_scale_f32_4( global float4 * src0, ulong offset0, global float4 * dst, diff --git a/ggml/src/ggml-opencl/kernels/tanh.cl b/ggml/src/ggml-opencl/kernels/tanh.cl index d9da86b148..2c4887ad3e 100644 --- a/ggml/src/ggml-opencl/kernels/tanh.cl +++ b/ggml/src/ggml-opencl/kernels/tanh.cl @@ -1,63 +1,109 @@ #pragma OPENCL EXTENSION cl_khr_fp16 : enable -#ifdef cl_intel_required_subgroup_size -#pragma OPENCL EXTENSION cl_intel_required_subgroup_size : enable -#define INTEL_GPU 1 -#define REQD_SUBGROUP_SIZE_16 __attribute__((intel_reqd_sub_group_size(16))) -#define REQD_SUBGROUP_SIZE_32 __attribute__((intel_reqd_sub_group_size(32))) -#elif defined(cl_qcom_reqd_sub_group_size) -#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable -#define ADRENO_GPU 1 -#define REQD_SUBGROUP_SIZE_64 __attribute__((qcom_reqd_sub_group_size("half"))) -#define REQD_SUBGROUP_SIZE_128 __attribute__((qcom_reqd_sub_group_size("full"))) -#endif - -kernel void kernel_tanh_f32_nd( - global void * p_src0_base, ulong off_src0_abs, - global void * p_dst_base, ulong off_dst_abs, - int ne00, int ne01, int ne02, int ne03, - ulong nb00, ulong nb01, ulong nb02, ulong nb03, - int ne10, int ne11, int ne12, int ne13, - ulong nb10, ulong nb11, ulong nb12, ulong nb13 +kernel void kernel_tanh_f32( + global const float * src0, + ulong offset0, + global float * dst, + ulong offsetd ) { - int i0 = get_global_id(0); - int i1 = get_global_id(1); - int i2 = get_global_id(2); + src0 = (global float*)((global char*)src0 + offset0); + dst = (global float*)((global char*)dst + offsetd); - if (i0 < ne10 && i1 < ne11 && i2 < ne12) { - for (int i3 = 0; i3 < ne13; ++i3) { - ulong src_offset_in_tensor = (ulong)i0*nb00 + (ulong)i1*nb01 + (ulong)i2*nb02 + (ulong)i3*nb03; - global const float *src_val_ptr = (global const float *)((global char *)p_src0_base + off_src0_abs + src_offset_in_tensor); + dst[get_global_id(0)] = tanh(src0[get_global_id(0)]); +} - ulong dst_offset_in_tensor = (ulong)i0*nb10 + (ulong)i1*nb11 + (ulong)i2*nb12 + (ulong)i3*nb13; - global float *dst_val_ptr = (global float *)((global char *)p_dst_base + off_dst_abs + dst_offset_in_tensor); +kernel void kernel_tanh_f32_4( + global const float4 * src0, + ulong offset0, + global float4 * dst, + ulong offsetd +) { + src0 = (global float4*)((global char*)src0 + offset0); + dst = (global float4*)((global char*)dst + offsetd); - *dst_val_ptr = tanh(*src_val_ptr); - } + dst[get_global_id(0)] = tanh(src0[get_global_id(0)]); +} + +kernel void kernel_tanh_f16( + global const half * src0, + ulong offset0, + global half * dst, + ulong offsetd +) { + src0 = (global half*)((global char*)src0 + offset0); + dst = (global half*)((global char*)dst + offsetd); + + dst[get_global_id(0)] = tanh(src0[get_global_id(0)]); +} + +kernel void kernel_tanh_f16_4( + global const half4 * src0, + ulong offset0, + global half4 * dst, + ulong offsetd +) { + src0 = (global half4*)((global char*)src0 + offset0); + dst = (global half4*)((global char*)dst + offsetd); + + dst[get_global_id(0)] = tanh(src0[get_global_id(0)]); +} + +kernel void kernel_tanh_f32_nc( + global const char * src0, + ulong offset0, + global char * dst, + ulong offsetd, + int ne00, + ulong nb00, + ulong nb01, + ulong nb02, + ulong nb03, + ulong nb0, + ulong nb1, + ulong nb2, + ulong nb3 +) { + src0 = src0 + offset0; + dst = dst + offsetd; + + const int i3 = get_group_id(2); + const int i2 = get_group_id(1); + const int i1 = get_group_id(0); + + for (int i0 = get_local_id(0); i0 < ne00; i0 += get_local_size(0)) { + global const float * x = (global const float *)(src0 + i3*nb03 + i2*nb02 + i1*nb01 + i0*nb00); + global float * y = (global float *)(dst + i3*nb3 + i2*nb2 + i1*nb1 + i0*nb0); + + *y = tanh(*x); } } -kernel void kernel_tanh_f16_nd( - global void * p_src0_base, ulong off_src0_abs, - global void * p_dst_base, ulong off_dst_abs, - int ne00, int ne01, int ne02, int ne03, - ulong nb00, ulong nb01, ulong nb02, ulong nb03, - int ne10, int ne11, int ne12, int ne13, - ulong nb10, ulong nb11, ulong nb12, ulong nb13 +kernel void kernel_tanh_f16_nc( + global const char * src0, + ulong offset0, + global char * dst, + ulong offsetd, + int ne00, + ulong nb00, + ulong nb01, + ulong nb02, + ulong nb03, + ulong nb0, + ulong nb1, + ulong nb2, + ulong nb3 ) { - int i0 = get_global_id(0); - int i1 = get_global_id(1); - int i2 = get_global_id(2); + src0 = src0 + offset0; + dst = dst + offsetd; - if (i0 < ne10 && i1 < ne11 && i2 < ne12) { - for (int i3 = 0; i3 < ne13; ++i3) { - ulong src_offset_in_tensor = (ulong)i0*nb00 + (ulong)i1*nb01 + (ulong)i2*nb02 + (ulong)i3*nb03; - global const half *src_val_ptr = (global const half *)((global char *)p_src0_base + off_src0_abs + src_offset_in_tensor); + const int i3 = get_group_id(2); + const int i2 = get_group_id(1); + const int i1 = get_group_id(0); - ulong dst_offset_in_tensor = (ulong)i0*nb10 + (ulong)i1*nb11 + (ulong)i2*nb12 + (ulong)i3*nb13; - global half *dst_val_ptr = (global half *)((global char *)p_dst_base + off_dst_abs + dst_offset_in_tensor); + for (int i0 = get_local_id(0); i0 < ne00; i0 += get_local_size(0)) { + global const half * x = (global const half *)(src0 + i3*nb03 + i2*nb02 + i1*nb01 + i0*nb00); + global half * y = (global half *)(dst + i3*nb3 + i2*nb2 + i1*nb1 + i0*nb0); - *dst_val_ptr = tanh(*src_val_ptr); - } + *y = tanh(*x); } } From aeb827a3ccf1db0ae6e81c318c43b3bcb47f7651 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Tue, 3 Feb 2026 08:20:15 +0200 Subject: [PATCH 102/206] spec : simplify time measurement using common_time_meas (#19262) --- common/speculative.cpp | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/common/speculative.cpp b/common/speculative.cpp index 152aaa48d4..80cd31e35f 100644 --- a/common/speculative.cpp +++ b/common/speculative.cpp @@ -951,12 +951,8 @@ void common_speculative_begin(common_speculative * spec, const llama_tokens & pr } for (auto & impl : spec->impls) { - const int64_t t_start_us = impl->gen_perf ? ggml_time_us() : 0; - + common_time_meas tm(impl->t_begin_us, !impl->gen_perf); impl->begin(prompt); - - const int64_t t_now_us = impl->gen_perf ? ggml_time_us() : 0; - impl->t_begin_us += t_now_us - t_start_us; // accumulate duration for this refresh } } @@ -971,14 +967,9 @@ llama_tokens common_speculative_draft( for (auto & impl : spec->impls) { { - const int64_t t_start_us = impl->gen_perf ? ggml_time_us() : 0; - + common_time_meas tm(impl->t_draft_us, !impl->gen_perf); impl->draft(params, prompt_tgt, id_last, result); - - const int64_t t_now_us = impl->gen_perf ? ggml_time_us() : 0; - impl->drafts_call_count++; - impl->t_draft_us += t_now_us - t_start_us; // accumulate duration for this implementation } if (!result.empty()) { @@ -1006,15 +997,15 @@ void common_speculative_accept(common_speculative * spec, uint16_t n_accepted) { GGML_ASSERT(impl); - const int64_t t_start_us = impl->gen_perf ? ggml_time_us() : 0; - if (n_accepted > 0) { - impl->drafts_accepted_count++; - impl->drafts_accepted_tokens += n_accepted; - } + { + common_time_meas tm(impl->t_accept_us, !impl->gen_perf); + if (n_accepted > 0) { + impl->drafts_accepted_count++; + impl->drafts_accepted_tokens += n_accepted; + } - impl->accept(n_accepted); - const int64_t t_now_us = impl->gen_perf ? ggml_time_us() : 0; - impl->t_accept_us += t_now_us - t_start_us; // accumulate duration for this acculumulation + impl->accept(n_accepted); + } } void common_speculative_print_stats(const common_speculative * spec) { From 1efb5f7ae120c7cc7a33c4d1d82a05b3c50122f6 Mon Sep 17 00:00:00 2001 From: Alexey Dubrov Date: Tue, 3 Feb 2026 09:31:01 +0300 Subject: [PATCH 103/206] vocab: add Falcon-H1-Tiny-Coder FIM tokens (#19249) --- src/llama-vocab.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/llama-vocab.cpp b/src/llama-vocab.cpp index 74a8496f9e..38d03a8c39 100644 --- a/src/llama-vocab.cpp +++ b/src/llama-vocab.cpp @@ -2262,6 +2262,7 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) { || t.first == "
"
                         || t.first == "▁
"          // CodeLlama
                         || t.first == "<|code_prefix|>" // GLM-4.5
+                        || t.first == "<|prefix|>"      // Falcon-H1-Tiny-Coder
                         ) {
                     special_fim_pre_id = t.second;
                     if ((attr & LLAMA_TOKEN_ATTR_CONTROL) == 0) {
@@ -2282,6 +2283,7 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
                         || t.first == ""
                         || t.first == "▁"         // CodeLlama
                         || t.first == "<|code_suffix|>" // GLM-4.5
+                        || t.first == "<|suffix|>"      // Falcon-H1-Tiny-Coder
                         ) {
                     special_fim_suf_id = t.second;
                     if ((attr & LLAMA_TOKEN_ATTR_CONTROL) == 0) {
@@ -2302,6 +2304,7 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
                         || t.first == ""
                         || t.first == "▁"         // CodeLlama
                         || t.first == "<|code_middle|>" // GLM-4.5
+                        || t.first == "<|middle|>"      // Falcon-H1-Tiny-Coder
                         ) {
                     special_fim_mid_id = t.second;
                     if ((attr & LLAMA_TOKEN_ATTR_CONTROL) == 0) {

From 41e3f02647be2976c4a302128680ca5983568ae5 Mon Sep 17 00:00:00 2001
From: Gaurav Garg 
Date: Tue, 3 Feb 2026 12:11:02 +0530
Subject: [PATCH 104/206] cuda : revert CUDA_SCALE_LAUNCH_QUEUES override until
 investigated (#19227)

Hangs were reported on Jetson Orin AGX if we set CUDA_SCALE_LAUNCH_QUEUES=4x. Reverting the previous PR (#19042) and updating the document to consider setting CUDA_SCALE_LAUNCH_QUEUES=4x for faster throughput on multi-GPU systems.
---
 docs/build.md                   |  4 +---
 ggml/src/ggml-cuda/ggml-cuda.cu | 10 ----------
 2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/docs/build.md b/docs/build.md
index 3a43f2a45a..fd447424c7 100644
--- a/docs/build.md
+++ b/docs/build.md
@@ -252,9 +252,7 @@ CUDA_VISIBLE_DEVICES="-0" ./build/bin/llama-server --model /srv/models/llama.ggu
 
 The environment variable [`CUDA_SCALE_LAUNCH_QUEUES`](https://docs.nvidia.com/cuda/cuda-programming-guide/05-appendices/environment-variables.html#cuda-scale-launch-queues) controls the size of CUDA's command buffer, which determines how many GPU operations can be queued before the CPU must wait for the GPU to catch up. A larger buffer reduces CPU-side stalls and allows more work to be queued on a GPU.
 
-**Default behavior:** llama.cpp automatically sets `CUDA_SCALE_LAUNCH_QUEUES=4x`, which increases the CUDA command buffer to 4 times its default size. This optimization is particularly beneficial for **Multi-GPU setups with pipeline parallelism**, where it significantly improves prompt processing throughput by allowing more operations to be enqueued across GPUs.
-
-See PR [#19042](https://github.com/ggml-org/llama.cpp/pull/19042) for performance benchmarks and technical details.
+Consider setting `CUDA_SCALE_LAUNCH_QUEUES=4x`, which increases the CUDA command buffer to 4 times its default size. This optimization is particularly beneficial for **Multi-GPU setups with pipeline parallelism**, where it significantly improves prompt processing throughput by allowing more operations to be enqueued across GPUs.
 
 ### Unified Memory
 
diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu
index 08383edb40..1bcd1ab1f8 100644
--- a/ggml/src/ggml-cuda/ggml-cuda.cu
+++ b/ggml/src/ggml-cuda/ggml-cuda.cu
@@ -5049,16 +5049,6 @@ ggml_backend_reg_t ggml_backend_cuda_reg() {
         static std::mutex mutex;
         std::lock_guard lock(mutex);
         if (!initialized) {
-            // Set CUDA_SCALE_LAUNCH_QUEUES before any CUDA API call to improve multi-GPU pipeline parallelism performance
-            // PR: https://github.com/ggml-org/llama.cpp/pull/19042
-            if (getenv("CUDA_SCALE_LAUNCH_QUEUES") == nullptr) {
-#ifdef _WIN32
-                _putenv_s("CUDA_SCALE_LAUNCH_QUEUES", "4x");
-#else
-                setenv("CUDA_SCALE_LAUNCH_QUEUES", "4x", 0); // don't overwrite if already set
-#endif // _WIN32
-            }
-
             ggml_backend_cuda_reg_context * ctx = new ggml_backend_cuda_reg_context;
             const int min_batch_size = getenv("GGML_OP_OFFLOAD_MIN_BATCH") ? atoi(getenv("GGML_OP_OFFLOAD_MIN_BATCH")) : 32;
 

From e9a859db3cbad0d3dd10deb0527ddfcecce5e78d Mon Sep 17 00:00:00 2001
From: George <35490284+noctrex@users.noreply.github.com>
Date: Tue, 3 Feb 2026 08:43:39 +0200
Subject: [PATCH 105/206] ggml: added cleanups in ggml_quantize_free (#19278)

Add missing cleanup calls for IQ2_S, IQ1_M quantization types and IQ3XS with 512 blocks during quantization cleanup.
---
 ggml/src/ggml.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c
index e1471b540e..500cb6b72f 100644
--- a/ggml/src/ggml.c
+++ b/ggml/src/ggml.c
@@ -7517,8 +7517,11 @@ void ggml_quantize_free(void) {
 
     iq2xs_free_impl(GGML_TYPE_IQ2_XXS);
     iq2xs_free_impl(GGML_TYPE_IQ2_XS);
+    iq2xs_free_impl(GGML_TYPE_IQ2_S);
     iq2xs_free_impl(GGML_TYPE_IQ1_S);
+    iq2xs_free_impl(GGML_TYPE_IQ1_M);
     iq3xs_free_impl(256);
+    iq3xs_free_impl(512);
 
     ggml_critical_section_end();
 }

From 1f1e57f2bf76df88a668dce924de2bffa89c5c02 Mon Sep 17 00:00:00 2001
From: Oliver Simons 
Date: Tue, 3 Feb 2026 11:33:14 +0100
Subject: [PATCH 106/206] CUDA: Fix loop unrolling for BW in
 mul_mat_q_stream_k_fixup (#19053)

By providing stride_* variables as size_t (i.e., 64-bit) the compiler can
correctly unroll the [two for-loops](https://github.com/ggml-org/llama.cpp/blob/557515be1e93ed8939dd8a7c7d08765fdbe8be31/ggml/src/ggml-cuda/mmq.cuh#L3789-L3816)
on BW. This gives some perf for prefill/pp phase on BW, while not affecting
other SMs:

| GPU                                                     | Model                 | Test   |   t/s master |   t/s osimons/fix_bw_mmq_fixup_kernel |   Speedup |
|:--------------------------------------------------------|:----------------------|:-------|-------------:|--------------------------------------:|----------:|
| NVIDIA RTX 6000 Ada Generation                          | gpt-oss 20B MXFP4 MoE | pp8096 |      8404.05 |                               8375.79 |      1.00 |
| NVIDIA RTX 6000 Ada Generation                          | llama 3B Q4_K_M       | pp8096 |     16148.93 |                              16019.60 |      0.99 |
| NVIDIA RTX 6000 Ada Generation                          | llama 8B Q4_0         | pp8096 |      8008.29 |                               7978.80 |      1.00 |
| NVIDIA RTX 6000 Ada Generation                          | nemotron_h 9B BF16    | pp8096 |      4263.16 |                               4248.53 |      1.00 |
| NVIDIA RTX 6000 Ada Generation                          | nemotron_h 9B Q4_K_M  | pp8096 |      5165.11 |                               5157.43 |      1.00 |
| NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition | gpt-oss 20B MXFP4 MoE | pp8096 |     12582.80 |                              12758.37 |      1.01 |
| NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition | llama 3B Q4_K_M       | pp8096 |     16879.10 |                              17619.47 |      1.04 |
| NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition | llama 8B Q4_0         | pp8096 |     10649.90 |                              10982.65 |      1.03 |
| NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition | nemotron_h 9B BF16    | pp8096 |      7717.73 |                               7716.22 |      1.00 |
| NVIDIA RTX PRO 6000 Blackwell Max-Q Workstation Edition | nemotron_h 9B Q4_K_M  | pp8096 |      7301.90 |                               7370.38 |      1.01 |
---
 ggml/src/ggml-cuda/mmq.cuh | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/ggml/src/ggml-cuda/mmq.cuh b/ggml/src/ggml-cuda/mmq.cuh
index a382e6a697..f80f98cda2 100644
--- a/ggml/src/ggml-cuda/mmq.cuh
+++ b/ggml/src/ggml-cuda/mmq.cuh
@@ -3697,13 +3697,20 @@ static __global__ void mul_mat_q(
          tile_x_max_i, tile_y_max_j, kb0_start, kb0_stop);
 }
 
-
 template 
-static __global__ void mul_mat_q_stream_k_fixup(
-        const int32_t * ids_dst, const int32_t * expert_bounds, float * __restrict__ dst, const float * __restrict__ tmp_last_tile,
-        const int ncols_x, const int nrows_x, const int ncols_dst, const int stride_col_dst,
-        const int nchannels_y, const int stride_channel_dst, const int nsamples_y, const int stride_sample_dst,
-        const int ncols_max) {
+static __global__ void mul_mat_q_stream_k_fixup(const int32_t * ids_dst,
+                                                const int32_t * expert_bounds,
+                                                float * __restrict__ dst,
+                                                const float * __restrict__ tmp_last_tile,
+                                                const int    ncols_x,
+                                                const int    nrows_x,
+                                                const int    ncols_dst,
+                                                const size_t stride_col_dst,
+                                                const int    nchannels_y,
+                                                const size_t stride_channel_dst,
+                                                const int    nsamples_y,
+                                                const size_t stride_sample_dst,
+                                                const int    ncols_max) {
     constexpr int     mmq_y           = get_mmq_y_device();
     constexpr int     qk              = ggml_cuda_type_traits::qk;
     constexpr int     ITER_K          = get_iter_k(type);

From c55bce415926c7e8484f20d854afebe0168f7513 Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Tue, 3 Feb 2026 13:43:29 +0200
Subject: [PATCH 107/206] metal : minor cleanup (#19251)

---
 ggml/src/ggml-metal/ggml-metal-impl.h  |  4 +-
 ggml/src/ggml-metal/ggml-metal-ops.cpp | 38 ++++--------
 ggml/src/ggml-metal/ggml-metal.metal   | 86 +++++++-------------------
 3 files changed, 34 insertions(+), 94 deletions(-)

diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h
index 59d88b01a5..e074f2ef3d 100644
--- a/ggml/src/ggml-metal/ggml-metal-impl.h
+++ b/ggml/src/ggml-metal/ggml-metal-impl.h
@@ -81,10 +81,10 @@
 #define FC_COUNT_EQUAL                 1000
 
 // op-specific constants
-#define OP_FLASH_ATTN_EXT_NQPTG 8
+#define OP_FLASH_ATTN_EXT_NQPSG 8
 #define OP_FLASH_ATTN_EXT_NCPSG 64
 
-#define OP_FLASH_ATTN_EXT_VEC_NQPTG 1
+#define OP_FLASH_ATTN_EXT_VEC_NQPSG 1
 #define OP_FLASH_ATTN_EXT_VEC_NCPSG 32
 
 // kernel argument structs
diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp
index 7f4cfbba22..f97c4435de 100644
--- a/ggml/src/ggml-metal/ggml-metal-ops.cpp
+++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp
@@ -2295,7 +2295,7 @@ size_t ggml_metal_op_flash_attn_ext_extra_blk(const ggml_tensor * op) {
     //    return res;
     //}
 
-    const int nqptg = is_vec ? OP_FLASH_ATTN_EXT_VEC_NQPTG : OP_FLASH_ATTN_EXT_NQPTG;
+    const int nqptg = is_vec ? OP_FLASH_ATTN_EXT_VEC_NQPSG : OP_FLASH_ATTN_EXT_NQPSG;
     const int ncpsg = is_vec ? OP_FLASH_ATTN_EXT_VEC_NCPSG : OP_FLASH_ATTN_EXT_NCPSG;
 
     const int64_t ne1 = (ne01 + nqptg - 1)/nqptg;
@@ -2411,7 +2411,7 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
 
     if (!ggml_metal_op_flash_attn_ext_use_vec(op)) {
         // half8x8 kernel
-        const int nqptg = OP_FLASH_ATTN_EXT_NQPTG; // queries per threadgroup
+        const int nqptg = OP_FLASH_ATTN_EXT_NQPSG; // queries per threadgroup
         const int ncpsg = OP_FLASH_ATTN_EXT_NCPSG; // cache values per simdgroup
 
         GGML_ASSERT(nqptg <= 32);
@@ -2578,9 +2578,9 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
 #undef FATTN_SMEM
     } else {
         // half4x4 kernel
-        const int nqptg = OP_FLASH_ATTN_EXT_VEC_NQPTG; // queries per threadgroup
+        const int nqptg = OP_FLASH_ATTN_EXT_VEC_NQPSG; // queries per threadgroup
         const int ncpsg = OP_FLASH_ATTN_EXT_VEC_NCPSG; // cache values per simdgroup !! sync with kernel template arguments !!
-        const int nkpsg = 1*ncpsg;
+        const int nhptg = 1;                           // heads per threadgroup
 
         GGML_ASSERT(nqptg <= 32);
         GGML_ASSERT(nqptg  % 1  == 0);
@@ -2632,6 +2632,9 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
             ggml_metal_op_concurrency_reset(ctx);
         }
 
+        // note: for simplicity assume the K is larger or equal than V
+        GGML_ASSERT(ne10 >= ne20);
+
         // ne00 + 2*ncpsg*(nsg)
         // for each query, we load it as f16 in shared memory (ne00)
         // and store the soft_max values and the mask
@@ -2639,28 +2642,9 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
         // ne20*(nsg)
         // each simdgroup has a full f32 head vector in shared mem to accumulate results
         //
-#define FATTN_SMEM(nsg) (GGML_PAD((nqptg*(GGML_PAD(ne00, 128) + 4*ncpsg*(nsg)) + 2*GGML_PAD(ne20, 128)*(nsg))*(sizeof(float)/2), 16))
-
-        int64_t nsgmax = 2;
-        while (true) {
-            const size_t smem = FATTN_SMEM(nsgmax);
-            // avoid using more than half of the threadgroup memory - can cause slow downs especially for large head sizes
-            if (smem > props_dev->max_theadgroup_memory_size/2) {
-                break;
-            }
-            nsgmax *= 2;
-        }
-        nsgmax /= 2;
-
-        // simdgroups per threadgroup (a.k.a. warps)
-        //const int64_t nsgt = MAX(2, MIN(nsgmax, MIN((ne11 + nkpsg - 1)/(nkpsg), (int64_t) pipeline.maxTotalThreadsPerThreadgroup/32)));
-        const int64_t nsgt = MAX(2, MIN(nsgmax, MIN((ne11 + nkpsg - 1)/(nkpsg), (int64_t) 1024/32)));
+#define FATTN_SMEM(nsg) (GGML_PAD(((GGML_PAD(ne00, 128) + 4*ncpsg + 2*GGML_PAD(ne20, 128))*(nsg))*(sizeof(float)/2), 16))
 
         int64_t nsg = 1;
-        while (nsg <= nsgt) {
-            nsg *= 2;
-        }
-        nsg /= 2;
 
         // workgroups
         // each workgroup handles nsg*nkpsg cache values
@@ -2673,7 +2657,7 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
         } else {
             nwg = 32;
             nsg = 1;
-            while (2*nwg*nsg*nkpsg < ne11 && nsg < 4) {
+            while (2*nwg*nsg*ncpsg < ne11 && nsg < 4) {
                 nsg *= 2;
             }
         }
@@ -2739,7 +2723,7 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
 
             ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0);
 
-            ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nqptg - 1)/nqptg, ne02, ne03*nwg, 32, nsg, 1);
+            ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nqptg - 1)/nqptg, (ne02 + nhptg - 1)/nhptg, ne03*nwg, 32, nsg, 1);
         } else {
             // sanity checks
             assert(ggml_metal_op_flash_attn_ext_extra_tmp(op) != 0);
@@ -2752,7 +2736,7 @@ int ggml_metal_op_flash_attn_ext(ggml_metal_op_t ctx, int idx) {
             ggml_metal_encoder_set_buffer(enc, bid_tmp, 7);
 
             ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0);
-            ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nqptg - 1)/nqptg, ne02, ne03*nwg, 32, nsg, 1);
+            ggml_metal_encoder_dispatch_threadgroups(enc, (ne01 + nqptg - 1)/nqptg, (ne02 + nhptg - 1)/nhptg, ne03*nwg, 32, nsg, 1);
 
             // sync the 2 kernels
             ggml_metal_op_concurrency_reset(ctx);
diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal
index 17e358d1a8..3259213fd6 100644
--- a/ggml/src/ggml-metal/ggml-metal.metal
+++ b/ggml/src/ggml-metal/ggml-metal.metal
@@ -5931,7 +5931,7 @@ template<
     void (*deq_v)(device const vd4x4_t *, short, thread v4x4_t &),
     short DK,         // K head size
     short DV,         // V head size
-    short Q  = OP_FLASH_ATTN_EXT_NQPTG, // queries per threadgroup
+    short Q  = OP_FLASH_ATTN_EXT_NQPSG, // queries per threadgroup
     short C  = OP_FLASH_ATTN_EXT_NCPSG> // cache items per threadgroup
 kernel void kernel_flash_attn_ext(
         constant ggml_metal_kargs_flash_attn_ext & args,
@@ -6141,11 +6141,10 @@ template<
     void (*deq_v_t4)(device const vd4_t *, short, thread v4_t &),
     short DK,       // K head size
     short DV,       // V head size
-    short NE,       // head elements per thread
-    short Q,        // queries per threadgroup
-    short C,        // cache items per threadgroup
-    short NSG>      // number of simd groups
-void kernel_flash_attn_ext_vec_impl(
+    short NE = 4,   // head elements per thread
+    short Q  = OP_FLASH_ATTN_EXT_VEC_NQPSG,  // queries per threadgroup
+    short C  = OP_FLASH_ATTN_EXT_VEC_NCPSG>  // cache items per threadgroup
+kernel void kernel_flash_attn_ext_vec(
         constant ggml_metal_kargs_flash_attn_ext_vec & args,
         device const char * q,
         device const char * k,
@@ -6162,6 +6161,7 @@ void kernel_flash_attn_ext_vec_impl(
     static_assert(DV % 32 == 0, "DV must be divisible by 32");
 
 #define NWG  (FC_flash_attn_ext_vec_nwg)
+#define NSG  (FC_flash_attn_ext_vec_nsg)
 
 #define NS10 (FC_flash_attn_ext_vec_ns10)
 #define NS20 (FC_flash_attn_ext_vec_ns20)
@@ -6190,12 +6190,12 @@ void kernel_flash_attn_ext_vec_impl(
 
     const short T = PK + NSG*SH; // shared memory size per query in (half)
 
-  //threadgroup q_t   * sq  = (threadgroup q_t   *) (shmem_f16 +                    0*PK); // holds the query data
-    threadgroup q4_t  * sq4 = (threadgroup q4_t  *) (shmem_f16 +                    0*PK); // same as above but in q4_t
-    threadgroup s_t   * ss  = (threadgroup s_t   *) (shmem_f16 +   sgitg*SH       + Q*PK); // scratch buffer for attention
-    threadgroup s4_t  * ss4 = (threadgroup s4_t  *) (shmem_f16 +   sgitg*SH       + Q*PK); // same as above but in s4_t
-    threadgroup half  * sm  = (threadgroup half  *) (shmem_f16 +   sgitg*SH + 2*C + Q*PK); // scratch buffer for mask
-    threadgroup o4_t  * so4 = (threadgroup o4_t  *) (shmem_f16 + 2*sgitg*PV       + Q*T);  // scratch buffer for the results
+  //threadgroup q_t   * sq  = (threadgroup q_t   *) (shmem_f16 +                      0*PK); // holds the query data
+    threadgroup q4_t  * sq4 = (threadgroup q4_t  *) (shmem_f16 +                      0*PK); // same as above but in q4_t
+    threadgroup s_t   * ss  = (threadgroup s_t   *) (shmem_f16 +   sgitg*SH       + NSG*PK); // scratch buffer for attention
+    threadgroup s4_t  * ss4 = (threadgroup s4_t  *) (shmem_f16 +   sgitg*SH       + NSG*PK); // same as above but in s4_t
+    threadgroup half  * sm  = (threadgroup half  *) (shmem_f16 +   sgitg*SH + 2*C + NSG*PK); // scratch buffer for mask
+    threadgroup o4_t  * so4 = (threadgroup o4_t  *) (shmem_f16 + 2*sgitg*PV       + NSG*PK + NSG*SH); // scratch buffer for the results
 
     // store the result for all queries in shared memory (the O matrix from the paper)
     so4 += tiisg;
@@ -6213,11 +6213,13 @@ void kernel_flash_attn_ext_vec_impl(
     // load heads from Q to shared memory
     device const float4 * q4 = (device const float4 *) ((device const char *) q);
 
-    for (short i = tiisg; i < PK4; i += NW) {
-        if (iq1 < args.ne01 && i < DK4) {
-            sq4[i] = (q4_t) q4[i];
-        } else {
-            sq4[i] = (q4_t) 0.0f;
+    if (iq1 < args.ne01) {
+        for (short i = tiisg; i < PK4; i += NW) {
+            if (i < DK4) {
+                sq4[i] = (q4_t) q4[i];
+            } else {
+                sq4[i] = (q4_t) 0.0f;
+            }
         }
     }
 
@@ -6295,7 +6297,7 @@ void kernel_flash_attn_ext_vec_impl(
             }
 
             // skip -INF blocks
-            if (simd_max(sm[tiisg]) == -INFINITY) {
+            if (simd_max(sm[tiisg]) <= -MAXHALF) {
                 continue;
             }
 
@@ -6569,57 +6571,11 @@ void kernel_flash_attn_ext_vec_impl(
     }
 
 #undef NWG
+#undef NSG
 #undef NS10
 #undef NS20
 }
 
-template<
-    typename q4_t,  // query types in shared memory
-    typename k4_t,  // key types in shared memory
-    typename v4_t,  // value types in shared memory
-    typename qk_t,  // Q*K types
-    typename s_t,   // soft-max types
-    typename s4_t,
-    typename o4_t,  // attention accumulation types
-    typename kd4_t, // key type in device memory
-    short nl_k,
-    void (*deq_k_t4)(device const kd4_t *, short, thread k4_t &),
-    typename vd4_t, // value type in device memory
-    short nl_v,
-    void (*deq_v_t4)(device const vd4_t *, short, thread v4_t &),
-    short DK,       // K head size
-    short DV,       // V head size
-    short NE = 4,   // head elements per thread
-    short Q  = OP_FLASH_ATTN_EXT_VEC_NQPTG,  // queries per threadgroup
-    short C  = OP_FLASH_ATTN_EXT_VEC_NCPSG>  // cache items per threadgroup
-kernel void kernel_flash_attn_ext_vec(
-        constant ggml_metal_kargs_flash_attn_ext_vec & args,
-        device const char * q,
-        device const char * k,
-        device const char * v,
-        device const char * mask,
-        device const char * sinks,
-        device const char * pad,
-        device       char * dst,
-        threadgroup  half * shmem_f16 [[threadgroup(0)]],
-        uint3   tgpig[[threadgroup_position_in_grid]],
-        ushort  tiisg[[thread_index_in_simdgroup]],
-        ushort  sgitg[[simdgroup_index_in_threadgroup]]) {
-#define FWD_TMPL q4_t, k4_t, v4_t, qk_t, s_t, s4_t, o4_t, kd4_t, nl_k, deq_k_t4, vd4_t, nl_v, deq_v_t4, DK, DV, NE, Q, C
-#define FWD_ARGS args, q, k, v, mask, sinks, pad, dst, shmem_f16, tgpig, tiisg, sgitg
-    switch (FC_flash_attn_ext_vec_nsg) {
-      // note: disabled cases to reduce library load time
-        case 1:  kernel_flash_attn_ext_vec_impl(FWD_ARGS); break;
-        case 2:  kernel_flash_attn_ext_vec_impl(FWD_ARGS); break;
-        case 4:  kernel_flash_attn_ext_vec_impl(FWD_ARGS); break;
-      //case 8:  kernel_flash_attn_ext_vec_impl(FWD_ARGS); break;
-      //case 16: kernel_flash_attn_ext_vec_impl(FWD_ARGS); break;
-      //case 32: kernel_flash_attn_ext_vec_impl(FWD_ARGS); break;
-    }
-#undef FWD_TMPL
-#undef FWD_ARGS
-}
-
 // note: I think the s_t can be half instead of float, because the Q*K scaling is done before storing to shared mem
 //       in the other (non-vec) kernel, we need s_t to also be float because we scale during the soft_max
 //

From a6fd8ca1fee621addff1695165414c4822fb08bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= 
Date: Tue, 3 Feb 2026 14:20:57 +0100
Subject: [PATCH 108/206] models : remove unnecessary cont in openelm (#19289)

---
 src/models/openelm.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/models/openelm.cpp b/src/models/openelm.cpp
index ee46a3375e..fbf682ec83 100644
--- a/src/models/openelm.cpp
+++ b/src/models/openelm.cpp
@@ -43,7 +43,7 @@ llm_build_openelm::llm_build_openelm(const llama_model & model, const llm_graph_
             ggml_tensor * Kcur = ggml_view_3d(ctx0, cur, n_embd_head, n_head_kv, n_tokens, cur->nb[1], cur->nb[2], cur->nb[1]*n_head);
             cb(Kcur, "Kcur", il);
 
-            ggml_tensor * Vcur = ggml_cont(ctx0, ggml_view_3d(ctx0, cur, n_embd_head, n_head_kv, n_tokens, cur->nb[1], cur->nb[2], cur->nb[1]*(n_head+n_head_kv)));
+            ggml_tensor * Vcur = ggml_view_3d(ctx0, cur, n_embd_head, n_head_kv, n_tokens, cur->nb[1], cur->nb[2], cur->nb[1]*(n_head+n_head_kv));
             cb(Vcur, "Vcur", il);
 
             Qcur = build_norm(Qcur,

From 8bece2eb20f0134632ae229849fbde6559882d36 Mon Sep 17 00:00:00 2001
From: Aman Gupta 
Date: Tue, 3 Feb 2026 23:31:23 +0800
Subject: [PATCH 109/206] CUDA: use mmvq for mul-mat-id for small batch sizes
 (#18958)

* CUDA: use mmvq for mul-mat-id for small batch sizes

* add mmvq too

* Fix perf issue on ampere. Use mmvf mm-id only for non-nvidia GPUs

* templatize multi_token_path
---
 ggml/src/ggml-cuda/ggml-cuda.cu |  14 ++-
 ggml/src/ggml-cuda/mmvf.cu      | 194 +++++++++++++++++++++-----------
 ggml/src/ggml-cuda/mmvf.cuh     |   2 +
 ggml/src/ggml-cuda/mmvq.cu      | 135 ++++++++++++++--------
 4 files changed, 224 insertions(+), 121 deletions(-)

diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu
index 1bcd1ab1f8..eeb8625dbe 100644
--- a/ggml/src/ggml-cuda/ggml-cuda.cu
+++ b/ggml/src/ggml-cuda/ggml-cuda.cu
@@ -2279,13 +2279,19 @@ static void ggml_cuda_mul_mat_id(ggml_backend_cuda_context & ctx, ggml_tensor *
     const int cc = ggml_cuda_info().devices[ggml_cuda_get_device()].cc;
 
     if (src1->type == GGML_TYPE_F32 && dst->type == GGML_TYPE_F32) {
-        if (ne2 == 1) {
+        static_assert(MMVQ_MAX_BATCH_SIZE == MMVF_MAX_BATCH_SIZE);
+        if (ne2 <= MMVQ_MAX_BATCH_SIZE) {
             if (ggml_is_quantized(src0->type)) {
-                ggml_cuda_mul_mat_vec_q(ctx, src0, src1, ids, dst);
+                if (ne2 <= 4) {
+                    ggml_cuda_mul_mat_vec_q(ctx, src0, src1, ids, dst);
+                    return;
+                }
             } else {
-                ggml_cuda_mul_mat_vec_f(ctx, src0, src1, ids, dst);
+                if (GGML_CUDA_CC_IS_AMD(cc)) {
+                    ggml_cuda_mul_mat_vec_f(ctx, src0, src1, ids, dst);
+                    return;
+                }
             }
-            return;
         }
 
         if (ggml_cuda_should_use_mmq(src0->type, cc, ne12, /*n_experts=*/ne02)) {
diff --git a/ggml/src/ggml-cuda/mmvf.cu b/ggml/src/ggml-cuda/mmvf.cu
index 32948e4d7a..d914720242 100644
--- a/ggml/src/ggml-cuda/mmvf.cu
+++ b/ggml/src/ggml-cuda/mmvf.cu
@@ -4,26 +4,48 @@
 #include "mmvf.cuh"
 #include "convert.cuh"
 
-template 
+template 
 static __global__ void mul_mat_vec_f(
         const T * __restrict__ x, const float * __restrict__ y, const int32_t * __restrict__ ids, const ggml_cuda_mm_fusion_args_device fusion, float * __restrict__ dst,
-        const int ncols2, const int nchannels_y, const int stride_row, const int stride_col_y2, const int stride_col_dst,
+        const int ncols2, const uint3 nchannels_y, const int stride_row, const int stride_col_y2, const int stride_col_dst,
         const uint3 channel_ratio, const int stride_channel_x, const int stride_channel_y, const int stride_channel_dst,
-        const uint3 sample_ratio, const int stride_sample_x, const int stride_sample_y, const int stride_sample_dst) {
+        const uint3 sample_ratio, const int stride_sample_x, const int stride_sample_y, const int stride_sample_dst,
+        const int ids_stride) {
     const int row         = blockIdx.x;
+    // for MUL_MAT_ID - blockIdx.y = n_expert_used, blockIdx.z = ncols_dst (tokens)
     const int channel_dst = blockIdx.y;
-    const int channel_x   = ids ? ids[channel_dst]          : fastdiv((uint32_t) channel_dst, channel_ratio);
-    const int channel_y   = ids ? channel_dst % nchannels_y : channel_dst;
-    const int sample_dst  = blockIdx.z;
+    const int tid         = threadIdx.x;
+
+    int token_idx;
+    int channel_x;
+    int channel_y;
+    int sample_dst;
+
+    if constexpr (is_multi_token_id) {
+        // Multi-token MUL_MAT_ID path, adding these in the normal path causes a perf regression for n_tokens=1 case
+        token_idx  = blockIdx.z;
+        channel_x  = ids[channel_dst + token_idx * ids_stride];
+        channel_y  = fastmodulo(channel_dst, nchannels_y);
+        sample_dst = 0;
+    } else {
+        token_idx  = ids ? blockIdx.z                                          : 0;
+        channel_x  = ids ? ids[blockIdx.y + token_idx * ids_stride]            : fastdiv((uint32_t) channel_dst, channel_ratio);
+        channel_y  = ids ? fastmodulo(blockIdx.y, nchannels_y)                 : channel_dst;
+        sample_dst = ids ? 0                                                   : blockIdx.z;
+    }
+
     const int sample_x    = fastdiv((uint32_t) sample_dst, sample_ratio);
     const int sample_y    = sample_dst;
-    const int tid         = threadIdx.x;
 
     constexpr int warp_size   = ggml_cuda_get_physical_warp_size();
 
     x   += int64_t(sample_x)  *stride_sample_x   + channel_x  *stride_channel_x   + row*stride_row;
     y   += int64_t(sample_y)  *stride_sample_y   + channel_y  *stride_channel_y;
     dst += int64_t(sample_dst)*stride_sample_dst + channel_dst*stride_channel_dst;
+    if constexpr (is_multi_token_id) {
+        y   += token_idx*stride_col_y2*2;
+        dst += token_idx*stride_col_dst;
+    }
 
     bool use_gate = false;
     bool use_bias = false;
@@ -56,8 +78,10 @@ static __global__ void mul_mat_vec_f(
     if (use_gate) {
         gate_x += int64_t(sample_x)  *stride_sample_x   + channel_x  *stride_channel_x   + row*stride_row;
     }
+
+    const int channel_bias = ids ? channel_x : channel_dst;
+
     if constexpr (has_fusion) {
-        const int channel_bias = ids ? channel_x : channel_dst;
         if (use_bias) {
             x_bias += int64_t(sample_dst)*stride_sample_dst + channel_bias*stride_channel_dst;
         }
@@ -349,36 +373,36 @@ static __global__ void mul_mat_vec_f(
     }
 }
 
-template
+template
 static void mul_mat_vec_f_switch_fusion(
         const T * x, const float * y, const int32_t * ids, const ggml_cuda_mm_fusion_args_device fusion, float * dst,
-        const int64_t ncols, const int64_t nrows,
+        const int64_t ncols, const uint3 nchannels_y,
         const int64_t stride_row, const int64_t stride_col_y, const int64_t stride_col_dst,
         const uint3 channel_ratio, const int stride_channel_x, const int stride_channel_y, const int stride_channel_dst,
         const uint3 sample_ratio, const int stride_sample_x, const int stride_sample_y, const int stride_sample_dst,
-        const dim3 & block_dims, const dim3 & block_nums, const int nbytes_shared, const cudaStream_t stream) {
+        const dim3 & block_dims, const dim3 & block_nums, const int nbytes_shared, const int ids_stride, const cudaStream_t stream) {
 
     const bool has_fusion = fusion.gate != nullptr || fusion.x_bias != nullptr || fusion.gate_bias != nullptr;
     if constexpr (ncols_dst == 1) {
         if (has_fusion) {
-            mul_mat_vec_f<<>>
-                (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
+            mul_mat_vec_f<<>>
+                (x, y, ids, fusion, dst, ncols, nchannels_y, stride_row, stride_col_y, stride_col_dst,
                 channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst,
-                sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst);
+                sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride);
             return;
        }
     }
 
     GGML_ASSERT(!has_fusion && "fusion only supported for ncols_dst=1");
 
-    mul_mat_vec_f<<>>
-        (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
+    mul_mat_vec_f<<>>
+        (x, y, ids, fusion, dst, ncols, nchannels_y, stride_row, stride_col_y, stride_col_dst,
         channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst,
-        sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst);
+        sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride);
 
 }
 
-template 
+template 
 void launch_mul_mat_vec_f_cuda(
         const T * x, const float * y, const int32_t * ids, const ggml_cuda_mm_fusion_args_device fusion, float * dst,
         const int64_t ncols, const int64_t nrows,
@@ -386,12 +410,13 @@ void launch_mul_mat_vec_f_cuda(
         const int64_t nchannels_x, const int64_t nchannels_y, const int64_t nchannels_dst,
         const int64_t stride_channel_x, const int64_t stride_channel_y, const int64_t stride_channel_dst, const int64_t nsamples_x,
         const int64_t nsamples_dst, const int64_t stride_sample_x, const int64_t stride_sample_y, const int64_t stride_sample_dst,
-        cudaStream_t stream) {
+        const int64_t nsamples_or_ntokens, const int64_t ids_stride, cudaStream_t stream) {
     GGML_ASSERT(ncols        % 2 == 0);
     GGML_ASSERT(stride_row   % 2 == 0);
     GGML_ASSERT(stride_col_y % 2 == 0);
     GGML_ASSERT(ids || nchannels_dst % nchannels_x == 0);
     GGML_ASSERT(       nsamples_dst  % nsamples_x  == 0);
+    const uint3 nchannels_y_fd   = ids ? init_fastdiv_values(nchannels_y) : make_uint3(0, 0, 0);
     const uint3 channel_ratio_fd = ids ? make_uint3(0, 0, 0) : init_fastdiv_values(nchannels_dst / nchannels_x);
     const uint3 sample_ratio_fd  = init_fastdiv_values(nsamples_dst  / nsamples_x);
 
@@ -415,56 +440,56 @@ void launch_mul_mat_vec_f_cuda(
     const bool has_fusion = fusion.gate != nullptr || fusion.x_bias != nullptr || fusion.gate_bias != nullptr;
 
     const int nbytes_shared = warp_size*sizeof(float) + (has_fusion ? warp_size*sizeof(float) : 0);
-    const dim3 block_nums(nrows, nchannels_dst, nsamples_dst);
+    const dim3 block_nums(nrows, nchannels_dst, nsamples_or_ntokens);
     const dim3 block_dims(block_size_best, 1, 1);
     switch (block_size_best) {
         case   32: {
-            mul_mat_vec_f_switch_fusion
-                (x, y, ids, fusion, dst, ncols/2, nchannels_y, stride_row, stride_col_y/2, stride_col_dst,
+            mul_mat_vec_f_switch_fusion
+                (x, y, ids, fusion, dst, ncols/2, nchannels_y_fd, stride_row, stride_col_y/2, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, stream);
+                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, ids_stride, stream);
         } break;
         case   64: {
-            mul_mat_vec_f_switch_fusion
-                (x, y, ids, fusion, dst, ncols/2, nchannels_y, stride_row, stride_col_y/2, stride_col_dst,
+            mul_mat_vec_f_switch_fusion
+                (x, y, ids, fusion, dst, ncols/2, nchannels_y_fd, stride_row, stride_col_y/2, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, stream);
+                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, ids_stride, stream);
         } break;
         case   96: {
-            mul_mat_vec_f_switch_fusion
-                (x, y, ids, fusion, dst, ncols/2, nchannels_y, stride_row, stride_col_y/2, stride_col_dst,
+            mul_mat_vec_f_switch_fusion
+                (x, y, ids, fusion, dst, ncols/2, nchannels_y_fd, stride_row, stride_col_y/2, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, stream);
+                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, ids_stride, stream);
         } break;
         case  128: {
-            mul_mat_vec_f_switch_fusion
-                (x, y, ids, fusion, dst, ncols/2, nchannels_y, stride_row, stride_col_y/2, stride_col_dst,
+            mul_mat_vec_f_switch_fusion
+                (x, y, ids, fusion, dst, ncols/2, nchannels_y_fd, stride_row, stride_col_y/2, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, stream);
+                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, ids_stride, stream);
         } break;
         case  160: {
-            mul_mat_vec_f_switch_fusion
-                (x, y, ids, fusion, dst, ncols/2, nchannels_y, stride_row, stride_col_y/2, stride_col_dst,
+            mul_mat_vec_f_switch_fusion
+                (x, y, ids, fusion, dst, ncols/2, nchannels_y_fd, stride_row, stride_col_y/2, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, stream);
+                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, ids_stride, stream);
         } break;
         case  192: {
-            mul_mat_vec_f_switch_fusion
-                (x, y, ids, fusion, dst, ncols/2, nchannels_y, stride_row, stride_col_y/2, stride_col_dst,
+            mul_mat_vec_f_switch_fusion
+                (x, y, ids, fusion, dst, ncols/2, nchannels_y_fd, stride_row, stride_col_y/2, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, stream);
+                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, ids_stride, stream);
         } break;
         case  224: {
-            mul_mat_vec_f_switch_fusion
-                (x, y, ids, fusion, dst, ncols/2, nchannels_y, stride_row, stride_col_y/2, stride_col_dst,
+            mul_mat_vec_f_switch_fusion
+                (x, y, ids, fusion, dst, ncols/2, nchannels_y_fd, stride_row, stride_col_y/2, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, stream);
+                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, ids_stride, stream);
         } break;
         case  256: {
-            mul_mat_vec_f_switch_fusion
-                (x, y, ids, fusion, dst, ncols/2, nchannels_y, stride_row, stride_col_y/2, stride_col_dst,
+            mul_mat_vec_f_switch_fusion
+                (x, y, ids, fusion, dst, ncols/2, nchannels_y_fd, stride_row, stride_col_y/2, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, stream);
+                 sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst, block_dims, block_nums, nbytes_shared, ids_stride, stream);
         } break;
         default: {
             GGML_ABORT("fatal error");
@@ -480,55 +505,88 @@ static void mul_mat_vec_f_cuda_switch_ncols_dst(
         const int64_t nchannels_x, const int64_t nchannels_y, const int64_t nchannels_dst,
         const int64_t stride_channel_x, const int64_t stride_channel_y, const int64_t stride_channel_dst, const int64_t nsamples_x,
         const int64_t nsamples_dst, const int64_t stride_sample_x, const int64_t stride_sample_y, const int64_t stride_sample_dst,
-        cudaStream_t stream) {
+        const int64_t ids_stride, cudaStream_t stream) {
+
+    const bool has_ids = ids != nullptr;
+
+    if (has_ids && ncols_dst > 1) {
+        // Multi-token MUL_MAT_ID path only - single-token goes through regular path below
+        constexpr int c_ncols_dst = 1;
+        launch_mul_mat_vec_f_cuda
+            (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
+             nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
+             stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+             ncols_dst, ids_stride, stream);
+        return;
+    }
+
+    if (has_ids) {
+        // Single-token MUL_MAT_ID path
+        constexpr int c_ncols_dst = 1;
+        launch_mul_mat_vec_f_cuda
+            (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
+             nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
+             stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+             ncols_dst, ids_stride, stream);
+        return;
+    }
+
     switch (ncols_dst) {
         case 1:
             launch_mul_mat_vec_f_cuda
                 (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+                 nsamples_dst, ids_stride, stream);
             break;
         case 2:
             launch_mul_mat_vec_f_cuda
                 (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+                 nsamples_dst, ids_stride, stream);
             break;
         case 3:
             launch_mul_mat_vec_f_cuda
                 (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+                 nsamples_dst, ids_stride, stream);
             break;
         case 4:
             launch_mul_mat_vec_f_cuda
                 (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+                 nsamples_dst, ids_stride, stream);
             break;
         case 5:
             launch_mul_mat_vec_f_cuda
                 (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+                 nsamples_dst, ids_stride, stream);
             break;
         case 6:
             launch_mul_mat_vec_f_cuda
                 (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+                 nsamples_dst, ids_stride, stream);
             break;
         case 7:
             launch_mul_mat_vec_f_cuda
                 (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+                 nsamples_dst, ids_stride, stream);
             break;
         case 8:
             launch_mul_mat_vec_f_cuda
                 (x, y, ids, fusion, dst, ncols, nrows, stride_row, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst,
+                 nsamples_dst, ids_stride, stream);
             break;
         default:
             GGML_ABORT("fatal error");
@@ -544,21 +602,21 @@ static void mul_mat_vec_f_cuda(
         const int64_t nchannels_x, const int64_t nchannels_y, const int64_t nchannels_dst,
         const int64_t stride_channel_x, const int64_t stride_channel_y, const int64_t stride_channel_dst, const int64_t nsamples_x,
         const int64_t nsamples_dst, const int64_t stride_sample_x, const int64_t stride_sample_y, const int64_t stride_sample_dst,
-        enum ggml_prec prec, cudaStream_t stream) {
+        const int64_t ids_stride, enum ggml_prec prec, cudaStream_t stream) {
 
     if constexpr(std::is_same_v) {
         if (prec == GGML_PREC_DEFAULT) {
             mul_mat_vec_f_cuda_switch_ncols_dst
                 (x, y, ids, fusion, dst, ncols, nrows, ncols_dst, stride_row, stride_col_y, stride_col_dst,
                 nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-                stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             return;
         }
     }
     mul_mat_vec_f_cuda_switch_ncols_dst
         (x, y, ids, fusion, dst, ncols, nrows, ncols_dst, stride_row, stride_col_y, stride_col_dst,
         nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y,
-        stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+        stride_channel_dst, nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
 }
 
 void ggml_cuda_mul_mat_vec_f(ggml_backend_cuda_context & ctx, const ggml_tensor * src0, const ggml_tensor * src1, const ggml_tensor * ids, ggml_tensor * dst,
@@ -573,7 +631,7 @@ void ggml_cuda_mul_mat_vec_f(ggml_backend_cuda_context & ctx, const ggml_tensor
     const size_t ts_src1 = ggml_type_size(src1->type);
     const size_t ts_dst  = ggml_type_size(dst->type);
 
-    GGML_ASSERT(!ids || ne12 == 1); // Implementation is only correct for  batch size 1.
+    GGML_ASSERT(!ids || ne12 <= MMVF_MAX_BATCH_SIZE);
     GGML_ASSERT(ne13 == ne3);
 
     GGML_ASSERT(        nb00       == ts_src0);
@@ -626,29 +684,31 @@ void ggml_cuda_mul_mat_vec_f(ggml_backend_cuda_context & ctx, const ggml_tensor
     const int64_t ncols_dst          = ids ? ne2  : ne1;
     const int64_t nchannels_y        = ids ? ne11 : ne12;
     const int64_t nchannels_dst      = ids ? ne1  : ne2;
+    const int64_t stride_col_dst     = ids ? s2   : s1;
+    const int64_t stride_col_y       = ids ? s12  : s11;
     const int64_t stride_channel_dst = ids ? s1   : s2;
     const int64_t stride_channel_y   = ids ? s11  : s12;
 
-    GGML_ASSERT(!ids || ncols_dst == 1);
+    const int64_t ids_stride = ids ? ids->nb[1] / ggml_type_size(ids->type) : 0;
 
     switch (src0->type) {
         case GGML_TYPE_F32: {
             const float * src0_d = (const float *) src0->data;
-            mul_mat_vec_f_cuda(src0_d, src1_d, ids_d, fusion_local, dst_d, ne00, ne01, ncols_dst, s01, s11, s1,
+            mul_mat_vec_f_cuda(src0_d, src1_d, ids_d, fusion_local, dst_d, ne00, ne01, ncols_dst, s01, stride_col_y, stride_col_dst,
                 ne02, nchannels_y, nchannels_dst, s02, stride_channel_y, stride_channel_dst,
-                ne03,              ne3,           s03, s13,              s3,                 prec, ctx.stream());
+                ne03,              ne3,           s03, s13,              s3,                 ids_stride, prec, ctx.stream());
         } break;
         case GGML_TYPE_F16: {
             const half * src0_d = (const half *) src0->data;
-            mul_mat_vec_f_cuda(src0_d, src1_d, ids_d, fusion_local, dst_d, ne00, ne01, ncols_dst, s01, s11, s1,
+            mul_mat_vec_f_cuda(src0_d, src1_d, ids_d, fusion_local, dst_d, ne00, ne01, ncols_dst, s01, stride_col_y, stride_col_dst,
                 ne02, nchannels_y, nchannels_dst, s02, stride_channel_y, stride_channel_dst,
-                ne03,              ne3,           s03, s13,              s3,                 prec, ctx.stream());
+                ne03,              ne3,           s03, s13,              s3,                 ids_stride, prec, ctx.stream());
         } break;
         case GGML_TYPE_BF16: {
             const nv_bfloat16 * src0_d = (const nv_bfloat16 *) src0->data;
-            mul_mat_vec_f_cuda(src0_d, src1_d, ids_d, fusion_local, dst_d, ne00, ne01, ncols_dst, s01, s11, s1,
+            mul_mat_vec_f_cuda(src0_d, src1_d, ids_d, fusion_local, dst_d, ne00, ne01, ncols_dst, s01, stride_col_y, stride_col_dst,
                 ne02, nchannels_y, nchannels_dst, s02, stride_channel_y, stride_channel_dst,
-                ne03,              ne3,           s03, s13,              s3,                 prec, ctx.stream());
+                ne03,              ne3,           s03, s13,              s3,                 ids_stride, prec, ctx.stream());
         } break;
         default:
             GGML_ABORT("unsupported type: %s", ggml_type_name(src0->type));
@@ -695,19 +755,19 @@ void ggml_cuda_op_mul_mat_vec_f(
             const float * src0_d = (const float *) src0_dd_i;
             mul_mat_vec_f_cuda(src0_d, src1_ddf_i, nullptr, empty, dst_dd_i, ne00, row_diff, src1_ncols, stride_row, stride_col_y, stride_col_dst,
                 nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, prec, stream);
+                nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, 0, prec, stream);
         } break;
         case GGML_TYPE_F16: {
             const half * src0_d = (const half *) src0_dd_i;
             mul_mat_vec_f_cuda(src0_d, src1_ddf_i, nullptr, empty, dst_dd_i, ne00, row_diff, src1_ncols, stride_row, stride_col_y, stride_col_dst,
                 nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, prec, stream);
+                nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, 0, prec, stream);
         } break;
         case GGML_TYPE_BF16: {
             const nv_bfloat16 * src0_d = (const nv_bfloat16 *) src0_dd_i;
             mul_mat_vec_f_cuda(src0_d, src1_ddf_i, nullptr, empty, dst_dd_i, ne00, row_diff, src1_ncols, stride_row, stride_col_y, stride_col_dst,
                 nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, prec, stream);
+                nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, 0, prec, stream);
         } break;
         default:
             GGML_ABORT("unsupported type: %s", ggml_type_name(src0->type));
diff --git a/ggml/src/ggml-cuda/mmvf.cuh b/ggml/src/ggml-cuda/mmvf.cuh
index a09fbdc720..a50f7c0218 100644
--- a/ggml/src/ggml-cuda/mmvf.cuh
+++ b/ggml/src/ggml-cuda/mmvf.cuh
@@ -1,5 +1,7 @@
 #include "common.cuh"
 
+#define MMVF_MAX_BATCH_SIZE 8 // Max. batch size for which to use MMVF kernels.
+
 void ggml_cuda_mul_mat_vec_f(ggml_backend_cuda_context & ctx, const ggml_tensor * src0, const ggml_tensor * src1, const ggml_tensor * ids, ggml_tensor * dst,
     const ggml_cuda_mm_fusion_args_host * fusion = nullptr);
 
diff --git a/ggml/src/ggml-cuda/mmvq.cu b/ggml/src/ggml-cuda/mmvq.cu
index d671551c17..ce25ccf427 100644
--- a/ggml/src/ggml-cuda/mmvq.cu
+++ b/ggml/src/ggml-cuda/mmvq.cu
@@ -137,15 +137,15 @@ static constexpr __host__ __device__ int calc_rows_per_block(int ncols_dst, int
     return 1;
 }
 
-// tell the compiler to use as many registers as it wants, see nwarps definition below
-template 
+template 
 __launch_bounds__(calc_nwarps(ncols_dst, get_device_table_id())*ggml_cuda_get_physical_warp_size(), 1)
 static __global__ void mul_mat_vec_q(
         const void * __restrict__ vx, const void * __restrict__ vy, const int32_t * __restrict__ ids, const ggml_cuda_mm_fusion_args_device fusion, float * __restrict__ dst,
         const uint32_t ncols_x, const uint3 nchannels_y, const uint32_t stride_row_x, const uint32_t stride_col_y,
         const uint32_t stride_col_dst, const uint3 channel_ratio, const uint32_t stride_channel_x,
         const uint32_t stride_channel_y, const uint32_t stride_channel_dst, const uint3 sample_ratio,
-        const uint32_t stride_sample_x, const uint32_t stride_sample_y, const uint32_t stride_sample_dst) {
+        const uint32_t stride_sample_x, const uint32_t stride_sample_y, const uint32_t stride_sample_dst,
+        const uint32_t ids_stride) {
 
     constexpr int qk  = ggml_cuda_type_traits::qk;
     constexpr int qi  = ggml_cuda_type_traits::qi;
@@ -162,11 +162,25 @@ static __global__ void mul_mat_vec_q(
     const     int blocks_per_row_x = ncols_x / qk;
     constexpr int blocks_per_iter = vdr * nwarps*warp_size / qi;
 
-    // The MUL_MAT_ID code path with ids != nullptr is only implemented for ncols_dst == 1.
     const uint32_t channel_dst = blockIdx.y;
-    const uint32_t channel_x   = ncols_dst == 1 && ids ? ids[channel_dst]                     : fastdiv(channel_dst, channel_ratio);
-    const uint32_t channel_y   = ncols_dst == 1 && ids ? fastmodulo(channel_dst, nchannels_y) : channel_dst;
-    const uint32_t sample_dst  = blockIdx.z;
+
+    uint32_t token_idx = 0;
+    uint32_t channel_x;
+    uint32_t channel_y;
+    uint32_t sample_dst;
+
+    if constexpr (is_multi_token_id) {
+        // Multi-token MUL_MAT_ID path, adding these in the normal path causes a perf regression for n_tokens=1 case
+        token_idx  = blockIdx.z;
+        channel_x  = ids[channel_dst + token_idx * ids_stride];
+        channel_y  = fastmodulo(channel_dst, nchannels_y);
+        sample_dst = 0;
+    } else {
+        channel_x  = ncols_dst == 1 && ids ? ids[channel_dst]                     : fastdiv(channel_dst, channel_ratio);
+        channel_y  = ncols_dst == 1 && ids ? fastmodulo(channel_dst, nchannels_y) : channel_dst;
+        sample_dst = blockIdx.z;
+    }
+
     const uint32_t sample_x    = fastdiv(sample_dst, sample_ratio);
     const uint32_t sample_y    = sample_dst;
 
@@ -188,11 +202,11 @@ static __global__ void mul_mat_vec_q(
         active_glu    = fusion.glu_op;
     }
 
-    const uint32_t channel_bias = ids ? channel_x : channel_dst;
 
     float x_biases[ncols_dst]    = { 0.0f };
     float gate_biases[ncols_dst] = { 0.0f };
     if constexpr (has_fusion) {
+        const uint32_t channel_bias = ids ? channel_x : channel_dst;
         if (use_bias) {
             x_bias = x_bias + sample_dst*stride_sample_dst + channel_bias*stride_channel_dst + row0;
             // 1. Hide latency by prefetching bias and gate here
@@ -222,6 +236,9 @@ static __global__ void mul_mat_vec_q(
     float tmp_gate[ncols_dst][rows_per_cuda_block] = {{0.0f}};
 
     const block_q8_1 * y = ((const block_q8_1 *) vy) + sample_y*stride_sample_y + channel_y*stride_channel_y;
+    if constexpr (is_multi_token_id) {
+        y += token_idx*stride_col_y;
+    }
     const int kbx_offset = sample_x*stride_sample_x + channel_x*stride_channel_x + row0*stride_row_x;
 
     for (int kbx = tid / (qi/vdr); kbx < blocks_per_row_x; kbx += blocks_per_iter) {
@@ -275,6 +292,10 @@ static __global__ void mul_mat_vec_q(
 
     dst += sample_dst*stride_sample_dst + channel_dst*stride_channel_dst + row0;
 
+    if constexpr (is_multi_token_id) {
+        dst += token_idx*stride_col_dst;
+    }
+
     // sum up partial sums and write back result
 #pragma unroll
     for (int j = 0; j < ncols_dst; ++j) {
@@ -335,40 +356,41 @@ static __global__ void mul_mat_vec_q(
 }
 
 static std::pair calc_launch_params(
-        const int ncols_dst, const int nrows_x, const int nchannels_y, const int nsamples_y,
+        const int ncols_dst, const int nrows_x, const int nchannels_dst, const int nsamples_or_ntokens,
         const int warp_size, const mmvq_parameter_table_id table_id) {
     const int64_t nblocks = (nrows_x + calc_rows_per_block(ncols_dst, table_id) - 1) / calc_rows_per_block(ncols_dst, table_id);
-    const dim3 block_nums(nblocks, nchannels_y, nsamples_y);
+    const dim3 block_nums(nblocks, nchannels_dst, nsamples_or_ntokens);
     const dim3 block_dims(warp_size, calc_nwarps(ncols_dst, table_id), 1);
     return {block_nums, block_dims};
 }
 
-template
+template
 static void mul_mat_vec_q_switch_fusion(
         const void * vx, const void * vy, const int32_t * ids, const ggml_cuda_mm_fusion_args_device fusion, float * dst,
         const uint32_t ncols_x, const uint3 nchannels_y, const uint32_t stride_row_x, const uint32_t stride_col_y,
         const uint32_t stride_col_dst, const uint3 channel_ratio, const uint32_t stride_channel_x,
         const uint32_t stride_channel_y, const uint32_t stride_channel_dst, const uint3 sample_ratio,
         const uint32_t stride_sample_x, const uint32_t stride_sample_y, const uint32_t stride_sample_dst,
-        const dim3 & block_nums, const dim3 & block_dims, const int nbytes_shared, cudaStream_t stream) {
+        const dim3 & block_nums, const dim3 & block_dims, const int nbytes_shared,
+        const uint32_t ids_stride, cudaStream_t stream) {
 
     const bool has_fusion = fusion.gate != nullptr || fusion.x_bias != nullptr || fusion.gate_bias != nullptr;
     if constexpr (c_ncols_dst == 1) {
         if (has_fusion) {
-            mul_mat_vec_q<<>>
+            mul_mat_vec_q<<>>
                 (vx, vy, ids, fusion, dst, ncols_x, nchannels_y, stride_row_x, stride_col_y, stride_col_dst,
                  channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst);
+                 sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride);
             return;
         }
     }
 
     GGML_ASSERT(!has_fusion && "fusion only supported for ncols_dst=1");
 
-    mul_mat_vec_q<<>>
+    mul_mat_vec_q<<>>
         (vx, vy, ids, fusion, dst, ncols_x, nchannels_y, stride_row_x, stride_col_y, stride_col_dst,
         channel_ratio, stride_channel_x, stride_channel_y, stride_channel_dst,
-        sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst);
+        sample_ratio, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride);
 }
 
 template 
@@ -379,7 +401,7 @@ static void mul_mat_vec_q_switch_ncols_dst(
         const int nchannels_x, const int nchannels_y, const int nchannels_dst,
         const int stride_channel_x, const int stride_channel_y, const int stride_channel_dst,
         const int nsamples_x, const int nsamples_dst, const int stride_sample_x, const int stride_sample_y, const int stride_sample_dst,
-        cudaStream_t stream) {
+        const int ids_stride, cudaStream_t stream) {
 
     GGML_ASSERT(ncols_x % ggml_blck_size(type) == 0);
     GGML_ASSERT(ncols_dst <= MMVQ_MAX_BATCH_SIZE);
@@ -393,8 +415,19 @@ static void mul_mat_vec_q_switch_ncols_dst(
     const mmvq_parameter_table_id table_id = get_device_table_id(ggml_cuda_info().devices[device].cc);
 
     const bool has_fusion = fusion.gate != nullptr || fusion.x_bias != nullptr || fusion.gate_bias != nullptr;
+    const bool has_ids = ids != nullptr;
+
+    if (has_ids && ncols_dst > 1) {
+        // Multi-token MUL_MAT_ID path only - single-token goes through regular path below
+        constexpr int c_ncols_dst = 1;
+        std::pair dims = calc_launch_params(c_ncols_dst, nrows_x, nchannels_dst, ncols_dst, warp_size, table_id);
+        mul_mat_vec_q_switch_fusion(vx, vy, ids, fusion, dst, ncols_x, nchannels_y_fd, stride_row_x, stride_col_y, stride_col_dst,
+             channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
+             sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst,
+             dims.first, dims.second, 0, ids_stride, stream);
+        return;
+    }
 
-    GGML_ASSERT(!ids || ncols_dst == 1);
     switch (ncols_dst) {
         case 1: {
             constexpr int c_ncols_dst = 1;
@@ -402,7 +435,7 @@ static void mul_mat_vec_q_switch_ncols_dst(
             mul_mat_vec_q_switch_fusion(vx, vy, ids, fusion, dst, ncols_x, nchannels_y_fd, stride_row_x, stride_col_y, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
                  sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst,
-                 dims.first, dims.second, 0, stream);
+                 dims.first, dims.second, 0, ids_stride, stream);
         } break;
         case 2: {
             constexpr int c_ncols_dst = 2;
@@ -410,7 +443,7 @@ static void mul_mat_vec_q_switch_ncols_dst(
             mul_mat_vec_q_switch_fusion(vx, vy, ids, fusion, dst, ncols_x, nchannels_y_fd, stride_row_x, stride_col_y, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
                  sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst,
-                 dims.first, dims.second, 0, stream);
+                 dims.first, dims.second, 0, ids_stride, stream);
         } break;
         case 3: {
             constexpr int c_ncols_dst = 3;
@@ -418,7 +451,7 @@ static void mul_mat_vec_q_switch_ncols_dst(
             mul_mat_vec_q_switch_fusion(vx, vy, ids, fusion, dst, ncols_x, nchannels_y_fd, stride_row_x, stride_col_y, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
                  sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst,
-                 dims.first, dims.second, 0, stream);
+                 dims.first, dims.second, 0, ids_stride, stream);
         } break;
         case 4: {
             constexpr int c_ncols_dst = 4;
@@ -426,7 +459,7 @@ static void mul_mat_vec_q_switch_ncols_dst(
             mul_mat_vec_q_switch_fusion(vx, vy, ids, fusion, dst, ncols_x, nchannels_y_fd, stride_row_x, stride_col_y, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
                  sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst,
-                 dims.first, dims.second, 0, stream);
+                 dims.first, dims.second, 0, ids_stride, stream);
         } break;
         case 5: {
             constexpr int c_ncols_dst = 5;
@@ -434,7 +467,7 @@ static void mul_mat_vec_q_switch_ncols_dst(
             mul_mat_vec_q_switch_fusion(vx, vy, ids, fusion, dst, ncols_x, nchannels_y_fd, stride_row_x, stride_col_y, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
                  sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst,
-                 dims.first, dims.second, 0, stream);
+                 dims.first, dims.second, 0, ids_stride, stream);
         } break;
         case 6: {
             constexpr int c_ncols_dst = 6;
@@ -442,7 +475,7 @@ static void mul_mat_vec_q_switch_ncols_dst(
             mul_mat_vec_q_switch_fusion(vx, vy, ids, fusion, dst, ncols_x, nchannels_y_fd, stride_row_x, stride_col_y, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
                  sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst,
-                 dims.first, dims.second, 0, stream);
+                 dims.first, dims.second, 0, ids_stride, stream);
         } break;
         case 7: {
             constexpr int c_ncols_dst = 7;
@@ -450,7 +483,7 @@ static void mul_mat_vec_q_switch_ncols_dst(
             mul_mat_vec_q_switch_fusion(vx, vy, ids, fusion, dst, ncols_x, nchannels_y_fd, stride_row_x, stride_col_y, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
                  sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst,
-                 dims.first, dims.second, 0, stream);
+                 dims.first, dims.second, 0, ids_stride, stream);
         } break;
         case 8: {
             constexpr int c_ncols_dst = 8;
@@ -458,7 +491,7 @@ static void mul_mat_vec_q_switch_ncols_dst(
             mul_mat_vec_q_switch_fusion(vx, vy, ids, fusion, dst, ncols_x, nchannels_y_fd, stride_row_x, stride_col_y, stride_col_dst,
                  channel_ratio_fd, stride_channel_x, stride_channel_y, stride_channel_dst,
                  sample_ratio_fd, stride_sample_x, stride_sample_y, stride_sample_dst,
-                 dims.first, dims.second, 0, stream);
+                 dims.first, dims.second, 0, ids_stride, stream);
         } break;
         default:
             GGML_ABORT("fatal error");
@@ -474,127 +507,127 @@ static void mul_mat_vec_q_switch_type(
         const int nchannels_x, const int nchannels_y, const int nchannels_dst,
         const int stride_channel_x, const int stride_channel_y, const int stride_channel_dst,
         const int nsamples_x, const int nsamples_dst, const int stride_sample_x, const int stride_sample_y, const int stride_sample_dst,
-        cudaStream_t stream) {
+        const int ids_stride, cudaStream_t stream) {
     switch (type_x) {
         case GGML_TYPE_Q4_0:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_Q4_1:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_Q5_0:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_Q5_1:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_Q8_0:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_MXFP4:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_Q2_K:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_Q3_K:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_Q4_K:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_Q5_K:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_Q6_K:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_IQ2_XXS:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_IQ2_XS:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_IQ2_S:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_IQ3_XXS:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_IQ1_S:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_IQ1_M:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_IQ4_NL:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_IQ4_XS:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         case GGML_TYPE_IQ3_S:
             mul_mat_vec_q_switch_ncols_dst
                 (vx, vy, ids, fusion, dst, ncols_x, nrows_x, ncols_dst, stride_row_x, stride_col_y, stride_col_dst,
                  nchannels_x, nchannels_y, nchannels_dst, stride_channel_x, stride_channel_y, stride_channel_dst,
-                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, stream);
+                 nsamples_x, nsamples_dst, stride_sample_x, stride_sample_y, stride_sample_dst, ids_stride, stream);
             break;
         default:
             GGML_ABORT("fatal error");
@@ -622,7 +655,7 @@ void ggml_cuda_mul_mat_vec_q(
     GGML_ASSERT(        nb0        == ts_dst);
     GGML_ASSERT(!ids || ids->nb[0] == ggml_type_size(ids->type));
 
-    GGML_ASSERT(!ids || ne12 == 1); // Implementation is only correct for batch size 1.
+    GGML_ASSERT(!ids || ne12 <= MMVQ_MAX_BATCH_SIZE);
 
     const float   * src1_d =       (const float   *) src1->data;
     const int32_t *  ids_d = ids ? (const int32_t *)  ids->data : nullptr;
@@ -693,11 +726,13 @@ void ggml_cuda_mul_mat_vec_q(
     const int64_t stride_channel_dst = ids ? s1   : s2;
     const int64_t stride_channel_y   = ids ? s11  : s12;
 
+    const int64_t ids_stride = ids ? ids->nb[1] / ggml_type_size(ids->type) : 0;
+
     mul_mat_vec_q_switch_type(
         src0->data, src0->type, src1_q8_1.get(), ids_d, fusion_local, dst_d, ne00,
         ne01,              ncols_dst,     s01, stride_col_y,     stride_col_dst,
         ne02, nchannels_y, nchannels_dst, s02, stride_channel_y, stride_channel_dst,
-        ne03,              ne3,           s03, s13,              s3,               stream);
+        ne03,              ne3,           s03, s13,              s3,               ids_stride, stream);
 }
 
 void ggml_cuda_op_mul_mat_vec_q(
@@ -726,7 +761,7 @@ void ggml_cuda_op_mul_mat_vec_q(
     ggml_cuda_mm_fusion_args_device fusion_local{};
     mul_mat_vec_q_switch_type(
         src0_dd_i, src0->type, src1_ddq_i, nullptr, fusion_local, dst_dd_i, ne00, row_diff, src1_ncols, stride_row_x, stride_col_y, nrows_dst,
-        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, stream);
+        1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, stream);
 
     GGML_UNUSED_VARS(src1, dst, src1_ddf_i, src1_ncols, src1_padded_row_size);
 }

From 32b17abdb044a17cfeb6cdf26215cfa01756fea4 Mon Sep 17 00:00:00 2001
From: Ruben Ortlam 
Date: Tue, 3 Feb 2026 17:37:32 +0100
Subject: [PATCH 110/206] vulkan: disable coopmat1 fa on Nvidia Turing (#19290)

---
 ggml/src/ggml-vulkan/ggml-vulkan.cpp | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
index a99375c088..cb7fa2c9cb 100644
--- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp
+++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
@@ -254,6 +254,7 @@ enum vk_device_architecture {
     AMD_RDNA3,
     INTEL_XE2,
     NVIDIA_PRE_TURING,
+    NVIDIA_TURING,
 };
 
 static vk_device_architecture get_device_architecture(const vk::PhysicalDevice& device) {
@@ -336,18 +337,34 @@ static vk_device_architecture get_device_architecture(const vk::PhysicalDevice&
         const std::vector ext_props = device.enumerateDeviceExtensionProperties();
 
         bool cooperative_matrix = false;
+        bool sm_builtins = false;
 
         // Detect "pre-turing" based on lack of coopmat support.
         for (const auto& properties : ext_props) {
             if (strcmp("VK_KHR_cooperative_matrix", properties.extensionName) == 0) {
                 cooperative_matrix = true;
-                break;
+            } else if (strcmp("VK_NV_shader_sm_builtins", properties.extensionName) == 0) {
+                sm_builtins = true;
             }
         }
 
         if (!cooperative_matrix) {
             return vk_device_architecture::NVIDIA_PRE_TURING;
         }
+
+        if (sm_builtins) {
+            vk::PhysicalDeviceProperties2 props2;
+            vk::PhysicalDeviceShaderSMBuiltinsPropertiesNV sm_props;
+
+            props2.pNext = &sm_props;
+
+            device.getProperties2(&props2);
+
+            // Turing has 32, following architectures have 48
+            if (sm_props.shaderWarpsPerSM == 32) {
+                return vk_device_architecture::NVIDIA_TURING;
+            }
+        }
     }
     return vk_device_architecture::OTHER;
 }
@@ -8460,6 +8477,11 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
     FaCodePath path = ctx->device->coopmat2 ? FA_COOPMAT2 :
                       ctx->device->coopmat1_fa_support ? FA_COOPMAT1 : FA_SCALAR;
 
+    if (path == FA_COOPMAT1 && ctx->device->architecture == vk_device_architecture::NVIDIA_TURING) {
+        // Nvidia compiler bug, see https://github.com/ggml-org/llama.cpp/pull/19075#issuecomment-3820716090
+        path = FA_SCALAR;
+    }
+
     if (path == FA_COOPMAT1) {
         const bool coopmat_shape_supported = (dst->op_params[3] == GGML_PREC_F32 && ctx->device->coopmat_support_16x16x16_f32acc) ||
                                              (dst->op_params[3] != GGML_PREC_F32 && ctx->device->coopmat_support_16x16x16_f16acc);

From faa1bc26eed0e56539ac5e7a751607d76f01f10f Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Tue, 3 Feb 2026 22:16:16 +0200
Subject: [PATCH 111/206] sampling : delegate input allocation to the scheduler
 (#19266)

* sampling : delegate input allocation to the scheduler

* graph : compute backend samplers only if needed
---
 src/llama-context.cpp  |  6 +---
 src/llama-graph.cpp    | 19 ++++++----
 src/llama-sampling.cpp | 81 ++++++++++--------------------------------
 3 files changed, 33 insertions(+), 73 deletions(-)

diff --git a/src/llama-context.cpp b/src/llama-context.cpp
index 203852d0f1..95b207e9e1 100644
--- a/src/llama-context.cpp
+++ b/src/llama-context.cpp
@@ -1027,11 +1027,7 @@ bool llama_context::set_sampler(llama_seq_id seq_id, llama_sampler * sampler) {
         llama_sampler_chain_n(sampler) > 0;
 
     if (sampler && can_offload) {
-        ggml_backend_buffer_type_t buft = ggml_backend_dev_buffer_type(model.dev_output());
-        auto * host_buft = ggml_backend_dev_host_buffer_type(model.dev_output());
-        if (host_buft) {
-            buft = host_buft;
-        }
+        auto * buft = ggml_backend_dev_buffer_type(model.dev_output());
 
         sampler->iface->backend_init(sampler, buft);
 
diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp
index 16d42c4ae3..54f4ed2481 100644
--- a/src/llama-graph.cpp
+++ b/src/llama-graph.cpp
@@ -2419,6 +2419,9 @@ void llm_graph_context::build_sampling() const {
         return;
     }
 
+    std::array outs;
+    outs[0] = res->t_logits;
+
     auto inp_sampling = std::make_unique(samplers);
     res->add_input(std::move(inp_sampling));
 
@@ -2439,14 +2442,14 @@ void llm_graph_context::build_sampling() const {
     // add a dummy row of logits
     // this trick makes the graph static, regardless of which samplers are activated
     // this is important in order to minimize graph reallocations
-    // TODO: use `ggml_build_forward_select()` when available (https://github.com/ggml-org/llama.cpp/pull/18550)
     ggml_tensor * logits_t = ggml_pad(ctx0, res->t_logits, 0, 1, 0, 0);
 
     for (const auto & [seq_id, sampler] : samplers) {
         const auto it = seq_to_logit_row.find(seq_id);
 
         // inactive samplers always work on the first row
-        const auto row_idx = seq_to_logit_row.find(seq_id) != seq_to_logit_row.end() ? it->second : 0;
+        const auto row_idx = it != seq_to_logit_row.end() ? it->second : 0;
+        const int i_out    = it != seq_to_logit_row.end() ? 1          : 0;
 
         ggml_tensor * logits_seq = ggml_view_1d(ctx0, logits_t, logits_t->ne[0], row_idx * logits_t->nb[1]);
         ggml_format_name(logits_seq, "logits_seq_%d", seq_id);
@@ -2463,22 +2466,26 @@ void llm_graph_context::build_sampling() const {
 
         if (data.sampled != nullptr) {
             res->t_sampled[seq_id] = data.sampled;
-            ggml_build_forward_expand(gf, data.sampled);
+            outs[1] = data.sampled;
+            ggml_build_forward_select(gf, outs.data(), outs.size(), i_out);
         }
 
         if (data.probs != nullptr) {
             res->t_sampled_probs[seq_id] = data.probs;
-            ggml_build_forward_expand(gf, data.probs);
+            outs[1] = data.probs;
+            ggml_build_forward_select(gf, outs.data(), outs.size(), i_out);
         }
 
         if (data.logits != nullptr) {
             res->t_sampled_logits[seq_id] = data.logits;
-            ggml_build_forward_expand(gf, data.logits);
+            outs[1] = data.logits;
+            ggml_build_forward_select(gf, outs.data(), outs.size(), i_out);
         }
 
         if (data.candidates != nullptr) {
             res->t_candidates[seq_id] = data.candidates;
-            ggml_build_forward_expand(gf, data.candidates);
+            outs[1] = data.candidates;
+            ggml_build_forward_select(gf, outs.data(), outs.size(), i_out);
         }
     }
 
diff --git a/src/llama-sampling.cpp b/src/llama-sampling.cpp
index 5dde513065..515d6c163b 100644
--- a/src/llama-sampling.cpp
+++ b/src/llama-sampling.cpp
@@ -1025,11 +1025,7 @@ struct llama_sampler_dist : public llama_sampler_backend {
 
     std::mt19937 rng;
 
-    // backend input
-    struct ggml_tensor * inp_uniform;
-
-    ggml_context_ptr        inp_ctx;
-    ggml_backend_buffer_ptr inp_buf;
+    ggml_tensor * inp_uniform;
 };
 
 static const char * llama_sampler_dist_name(const struct llama_sampler * smpl) {
@@ -1138,37 +1134,10 @@ static bool llama_sampler_dist_backend_init(
         ggml_backend_buffer_type_t   buft) {
     auto * sctx = (llama_sampler_dist *) smpl->ctx;
 
-    // allocate inputs
-    {
-        ggml_init_params params = {
-            /*.mem_size   =*/ ggml_tensor_overhead(),
-            /*.mem_buffer =*/ nullptr,
-            /*.no_alloc   =*/ true,
-        };
-
-        sctx->inp_ctx.reset(ggml_init(params));
-
-        // Create the uniform random scalar input tensor. This will be set by
-        // llama_sampler_dist_backend_set_input after this graph is built.
-        sctx->inp_uniform = ggml_new_tensor_1d(sctx->inp_ctx.get(), GGML_TYPE_F32, 1);
-        ggml_set_name (sctx->inp_uniform, "uniform");
-        ggml_set_input(sctx->inp_uniform);
-
-        // Allocate all tensors from our context to the backend
-        sctx->inp_buf.reset(ggml_backend_alloc_ctx_tensors_from_buft(sctx->inp_ctx.get(), buft));
-
-        ggml_backend_buffer_clear(sctx->inp_buf.get(), 0);
-    }
-
     const bool res = llama_sampler_backend_support(smpl, buft);
 
     sctx->init(res);
 
-    if (!res) {
-        sctx->inp_ctx.reset(nullptr);
-        sctx->inp_buf.reset(nullptr);
-    }
-
     return res;
 }
 
@@ -1178,8 +1147,13 @@ static void llama_sampler_dist_backend_apply(
         struct ggml_cgraph        * gf,
         struct llama_sampler_data * data) {
     GGML_UNUSED(gf);
+
     auto * sctx = (llama_sampler_dist *) smpl->ctx;
 
+    sctx->inp_uniform = ggml_new_tensor_1d(ctx, GGML_TYPE_F32, 1);
+    ggml_set_name (sctx->inp_uniform, "uniform");
+    ggml_set_input(sctx->inp_uniform);
+
     struct ggml_tensor * probs = ggml_soft_max(ctx, data->logits);
     ggml_set_name(probs, "dist_probs");
 
@@ -1226,6 +1200,7 @@ static void llama_sampler_dist_backend_apply(
 
 static void llama_sampler_dist_backend_set_input(struct llama_sampler * smpl) {
     auto * sctx = (llama_sampler_dist *) smpl->ctx;
+
     GGML_ASSERT(sctx->inp_uniform != nullptr);
 
     // We sample in double precision and cast to float to match rnd numbers of
@@ -1262,8 +1237,6 @@ struct llama_sampler * llama_sampler_init_dist(uint32_t seed) {
             /* .seed_cur    = */ seed_cur,
             /* .rng         = */ std::mt19937(seed_cur),
             /* .inp_uniform = */ nullptr,
-            /* .inp_ctx     = */ nullptr,
-            /* .inp_buf     = */ nullptr,
         }
     );
 }
@@ -3461,9 +3434,6 @@ struct llama_sampler_logit_bias : public llama_sampler_backend {
 
     struct ggml_tensor * inp_logit_bias;
     struct ggml_tensor * inp_logit_idxs;
-
-    ggml_context_ptr        inp_ctx;
-    ggml_backend_buffer_ptr inp_buf;
 };
 
 static const char * llama_sampler_logit_bias_name(const struct llama_sampler * smpl) {
@@ -3526,6 +3496,16 @@ static void llama_sampler_logit_bias_backend_apply(
         return;
     }
 
+    const size_t n = sctx->logit_bias.size();
+
+    sctx->inp_logit_bias = ggml_new_tensor_2d(ctx, GGML_TYPE_F32, 1, n);
+    ggml_set_name(sctx->inp_logit_bias, "logit_bias");
+    ggml_set_input(sctx->inp_logit_bias);
+
+    sctx->inp_logit_idxs = ggml_new_tensor_1d(ctx, GGML_TYPE_I32, n);
+    ggml_set_name(sctx->inp_logit_idxs, "logit_idxs");
+    ggml_set_input(sctx->inp_logit_idxs);
+
     ggml_tensor * cur = ggml_fill(ctx, data->logits, 0.0f);
 
     cur = ggml_reshape_2d(ctx, cur, 1, ggml_nelements(cur));
@@ -3562,6 +3542,8 @@ static void llama_sampler_logit_bias_backend_set_input(struct llama_sampler * sm
 static bool llama_sampler_logit_bias_backend_init(
         struct llama_sampler       * smpl,
         ggml_backend_buffer_type_t   buft) {
+    GGML_UNUSED(buft);
+
     auto * sctx = (llama_sampler_logit_bias *) smpl->ctx;
 
     sctx->init(true);
@@ -3570,29 +3552,6 @@ static bool llama_sampler_logit_bias_backend_init(
         return true;
     }
 
-    ggml_init_params params = {
-        /*.mem_size   =*/ 2*ggml_tensor_overhead(),
-        /*.mem_buffer =*/ nullptr,
-        /*.no_alloc   =*/ true,
-    };
-
-    sctx->inp_ctx.reset(ggml_init(params));
-
-    const size_t n = sctx->logit_bias.size();
-
-    sctx->inp_logit_bias = ggml_new_tensor_2d(sctx->inp_ctx.get(), GGML_TYPE_F32, 1, n);
-    ggml_set_name(sctx->inp_logit_bias, "logit_bias");
-    ggml_set_input(sctx->inp_logit_bias);
-
-    sctx->inp_logit_idxs = ggml_new_tensor_1d(sctx->inp_ctx.get(), GGML_TYPE_I32, n);
-    ggml_set_name(sctx->inp_logit_idxs, "logit_idxs");
-    ggml_set_input(sctx->inp_logit_idxs);
-
-    // Allocate all tensors from our context to the backend
-    sctx->inp_buf.reset(ggml_backend_alloc_ctx_tensors_from_buft(sctx->inp_ctx.get(), buft));
-
-    ggml_backend_buffer_clear(sctx->inp_buf.get(), 0);
-
     return true;
 }
 
@@ -3628,8 +3587,6 @@ struct llama_sampler * llama_sampler_init_logit_bias(
             /* .to_search      = */ {},
             /* .inp_logit_bias = */ nullptr,
             /* .inp_logit_idxs = */ nullptr,
-            /* .inp_ctx        = */ nullptr,
-            /* .inp_buf        = */ nullptr,
         }
     );
 }

From 6a9bf2f7882394d74fc54a43764d47316b3f6aef Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Tue, 3 Feb 2026 22:41:20 +0200
Subject: [PATCH 112/206] ci : add sanitizer runs for server (#19291)

---
 .github/workflows/server.yml | 16 ++++++++++++----
 CMakeLists.txt               | 23 -----------------------
 cmake/common.cmake           | 23 +++++++++++++++++++++++
 3 files changed, 35 insertions(+), 27 deletions(-)

diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml
index 9f1ef48c82..3d342c35f7 100644
--- a/.github/workflows/server.yml
+++ b/.github/workflows/server.yml
@@ -36,7 +36,7 @@ jobs:
 
     strategy:
       matrix:
-        sanitizer: [ADDRESS, UNDEFINED] # THREAD is broken
+        sanitizer: [ADDRESS, UNDEFINED] # THREAD is very slow
         build_type: [RelWithDebInfo]
         include:
           - build_type: Release
@@ -45,7 +45,7 @@ jobs:
           - build_type: Release
             sanitizer: ""
             extra_args: "LLAMA_ARG_BACKEND_SAMPLING=1"
-      fail-fast: false # While -DLLAMA_SANITIZE_THREAD=ON is broken
+      fail-fast: false
 
     steps:
       - name: Dependencies
@@ -72,7 +72,15 @@ jobs:
       - name: Build
         id: cmake_build
         run: |
-          cmake -B build -DLLAMA_BUILD_BORINGSSL=ON -DGGML_SCHED_NO_REALLOC=ON
+          cmake -B build \
+            -DLLAMA_BUILD_BORINGSSL=ON \
+            -DGGML_SCHED_NO_REALLOC=ON \
+            -DGGML_SANITIZE_ADDRESS=${{ matrix.sanitizer == 'ADDRESS' }} \
+            -DGGML_SANITIZE_THREAD=${{ matrix.sanitizer == 'THREAD' }} \
+            -DGGML_SANITIZE_UNDEFINED=${{ matrix.sanitizer == 'UNDEFINED' }} \
+            -DLLAMA_SANITIZE_ADDRESS=${{ matrix.sanitizer == 'ADDRESS' }} \
+            -DLLAMA_SANITIZE_THREAD=${{ matrix.sanitizer == 'THREAD' }} \
+            -DLLAMA_SANITIZE_UNDEFINED=${{ matrix.sanitizer == 'UNDEFINED' }}
           cmake --build build --config ${{ matrix.build_type }} -j ${env:NUMBER_OF_PROCESSORS} --target llama-server
 
       - name: Python setup
@@ -88,7 +96,7 @@ jobs:
 
       - name: Tests
         id: server_integration_tests
-        if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) && matrix.build_type == 'Release' }}
+        if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) }}
         run: |
           cd tools/server/tests
           export ${{ matrix.extra_args }}
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d24fa080ae..6d4ed67020 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -164,29 +164,6 @@ llama_option_depr(WARNING     LLAMA_SYCL                GGML_SYCL)
 llama_option_depr(WARNING     LLAMA_SYCL_F16            GGML_SYCL_F16)
 llama_option_depr(WARNING     LLAMA_CANN                GGML_CANN)
 
-if (NOT MSVC)
-    if (LLAMA_SANITIZE_THREAD)
-        message(STATUS "Using -fsanitize=thread")
-
-        add_compile_options(-fsanitize=thread)
-        link_libraries     (-fsanitize=thread)
-    endif()
-
-    if (LLAMA_SANITIZE_ADDRESS)
-        message(STATUS "Using -fsanitize=address")
-
-        add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
-        link_libraries     (-fsanitize=address)
-    endif()
-
-    if (LLAMA_SANITIZE_UNDEFINED)
-        message(STATUS "Using -fsanitize=undefined")
-
-        add_compile_options(-fsanitize=undefined)
-        link_libraries     (-fsanitize=undefined)
-    endif()
-endif()
-
 include("cmake/license.cmake")
 license_add_file("llama.cpp" "LICENSE")
 
diff --git a/cmake/common.cmake b/cmake/common.cmake
index a5bb787f15..bcf403e0ee 100644
--- a/cmake/common.cmake
+++ b/cmake/common.cmake
@@ -32,4 +32,27 @@ function(llama_add_compile_flags)
             set(CXX_FLAGS "" PARENT_SCOPE)
         endif()
     endif()
+
+    if (NOT MSVC)
+        if (LLAMA_SANITIZE_THREAD)
+            message(STATUS "Using -fsanitize=thread")
+
+            add_compile_options(-fsanitize=thread)
+            link_libraries     (-fsanitize=thread)
+        endif()
+
+        if (LLAMA_SANITIZE_ADDRESS)
+            message(STATUS "Using -fsanitize=address")
+
+            add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
+            link_libraries     (-fsanitize=address)
+        endif()
+
+        if (LLAMA_SANITIZE_UNDEFINED)
+            message(STATUS "Using -fsanitize=undefined")
+
+            add_compile_options(-fsanitize=undefined)
+            link_libraries     (-fsanitize=undefined)
+        endif()
+    endif()
 endfunction()

From 44008ce8f93a5dc025a40ba3150ab9d119af22f0 Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Tue, 3 Feb 2026 23:43:14 +0200
Subject: [PATCH 113/206] metal : add solve_tri (#19302)

---
 ggml/src/ggml-metal/ggml-metal-device.cpp | 30 +++++++++
 ggml/src/ggml-metal/ggml-metal-device.h   |  1 +
 ggml/src/ggml-metal/ggml-metal-device.m   |  1 +
 ggml/src/ggml-metal/ggml-metal-impl.h     | 30 ++++++++-
 ggml/src/ggml-metal/ggml-metal-ops.cpp    | 61 ++++++++++++++++++
 ggml/src/ggml-metal/ggml-metal-ops.h      |  1 +
 ggml/src/ggml-metal/ggml-metal.metal      | 77 +++++++++++++++++++++++
 7 files changed, 200 insertions(+), 1 deletion(-)

diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp
index 377b0d3eb8..4cd3d93d81 100644
--- a/ggml/src/ggml-metal/ggml-metal-device.cpp
+++ b/ggml/src/ggml-metal/ggml-metal-device.cpp
@@ -534,6 +534,36 @@ ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_rwkv(ggml_metal_
     return res;
 }
 
+ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_solve_tri(ggml_metal_library_t lib, const ggml_tensor * op) {
+    char base[256];
+    char name[256];
+
+    const int nsg = 8;
+    const int n   = op->src[1]->ne[1];
+    const int k   = op->src[1]->ne[0];
+
+    snprintf(base, 256, "kernel_solve_tri_%s", ggml_type_name(op->src[0]->type));
+    snprintf(name, 256, "%s_nsg=%d_n=%d_k=%d", base, nsg, n, k);
+
+    ggml_metal_pipeline_with_params res = ggml_metal_library_get_pipeline(lib, name);
+    if (!res.pipeline) {
+        ggml_metal_cv_t cv = ggml_metal_cv_init();
+
+        ggml_metal_cv_set_int16(cv, nsg, FC_SOLVE_TRI + 0);
+        ggml_metal_cv_set_int16(cv, n,   FC_SOLVE_TRI + 1);
+        ggml_metal_cv_set_int16(cv, k,   FC_SOLVE_TRI + 2);
+
+        res = ggml_metal_library_compile_pipeline(lib, base, name, cv);
+
+        ggml_metal_cv_free(cv);
+    }
+
+    res.nsg  = nsg;
+    res.smem = GGML_PAD(GGML_PAD(n, 32)*nsg*sizeof(float), 16);
+
+    return res;
+}
+
 ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_mul_mv_ext(ggml_metal_library_t lib, ggml_type tsrc0, ggml_type tsrc1, int nsg, int nxpsg, int r1ptg) {
     char base[256];
     char name[256];
diff --git a/ggml/src/ggml-metal/ggml-metal-device.h b/ggml/src/ggml-metal/ggml-metal-device.h
index afb091e725..d898432712 100644
--- a/ggml/src/ggml-metal/ggml-metal-device.h
+++ b/ggml/src/ggml-metal/ggml-metal-device.h
@@ -121,6 +121,7 @@ struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_ssm_conv
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_ssm_conv_batched  (ggml_metal_library_t lib, const struct ggml_tensor * op, int ssm_conv_bs);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_ssm_scan          (ggml_metal_library_t lib, const struct ggml_tensor * op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_rwkv              (ggml_metal_library_t lib, const struct ggml_tensor * op);
+struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_solve_tri         (ggml_metal_library_t lib, const struct ggml_tensor * op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_mul_mv_ext        (ggml_metal_library_t lib, enum ggml_type tsrc0, enum ggml_type tsrc1, int nsg, int nxpsg, int r1ptg);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_mul_mm            (ggml_metal_library_t lib, const struct ggml_tensor * op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_mul_mv            (ggml_metal_library_t lib, const struct ggml_tensor * op);
diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m
index 285dd1630e..8a0b85c6e4 100644
--- a/ggml/src/ggml-metal/ggml-metal-device.m
+++ b/ggml/src/ggml-metal/ggml-metal-device.m
@@ -1152,6 +1152,7 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te
             return has_simdgroup_reduction;
         case GGML_OP_RWKV_WKV6:
         case GGML_OP_RWKV_WKV7:
+        case GGML_OP_SOLVE_TRI:
             return true;
         case GGML_OP_MUL_MAT:
         case GGML_OP_MUL_MAT_ID:
diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h
index e074f2ef3d..640ade8f88 100644
--- a/ggml/src/ggml-metal/ggml-metal-impl.h
+++ b/ggml/src/ggml-metal/ggml-metal-impl.h
@@ -78,7 +78,8 @@
 #define FC_MUL_MM                      700
 #define FC_ROPE                        800
 #define FC_SSM_CONV                    900
-#define FC_COUNT_EQUAL                 1000
+#define FC_SOLVE_TRI                   1000
+#define FC_COUNT_EQUAL                 1100
 
 // op-specific constants
 #define OP_FLASH_ATTN_EXT_NQPSG 8
@@ -733,6 +734,33 @@ typedef struct {
     uint64_t nb0;
 } ggml_metal_kargs_ssm_scan;
 
+typedef struct {
+    int32_t  ne00;
+    int32_t  ne01;
+    int32_t  ne02;
+    int32_t  ne03;
+    uint64_t nb00;
+    uint64_t nb01;
+    uint64_t nb02;
+    uint64_t nb03;
+    int32_t  ne10;
+    int32_t  ne11;
+    int32_t  ne12;
+    int32_t  ne13;
+    uint64_t nb10;
+    uint64_t nb11;
+    uint64_t nb12;
+    uint64_t nb13;
+    int32_t  ne0;
+    int32_t  ne1;
+    int32_t  ne2;
+    int32_t  ne3;
+    uint64_t nb0;
+    uint64_t nb1;
+    uint64_t nb2;
+    uint64_t nb3;
+} ggml_metal_kargs_solve_tri;
+
 typedef struct {
     int32_t  ne00t;
     int32_t  ne00;
diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp
index f97c4435de..753fcec317 100644
--- a/ggml/src/ggml-metal/ggml-metal-ops.cpp
+++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp
@@ -341,6 +341,10 @@ static int ggml_metal_op_encode_impl(ggml_metal_op_t ctx, int idx) {
             {
                 n_fuse = ggml_metal_op_rwkv(ctx, idx);
             } break;
+        case GGML_OP_SOLVE_TRI:
+            {
+                n_fuse = ggml_metal_op_solve_tri(ctx, idx);
+            } break;
         case GGML_OP_MUL_MAT:
             {
                 n_fuse = ggml_metal_op_mul_mat(ctx, idx);
@@ -1557,6 +1561,63 @@ int ggml_metal_op_rwkv(ggml_metal_op_t ctx, int idx) {
     return 1;
 }
 
+int ggml_metal_op_solve_tri(ggml_metal_op_t ctx, int idx) {
+    ggml_tensor * op = ctx->node(idx);
+
+    ggml_metal_library_t lib = ctx->lib;
+    ggml_metal_encoder_t enc = ctx->enc;
+
+    GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne);
+    GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb);
+    GGML_TENSOR_LOCALS( int32_t, ne1, op->src[1], ne);
+    GGML_TENSOR_LOCALS(uint64_t, nb1, op->src[1], nb);
+    GGML_TENSOR_LOCALS( int32_t, ne,  op,         ne);
+    GGML_TENSOR_LOCALS(uint64_t, nb,  op,         nb);
+
+    ggml_metal_kargs_solve_tri args = {
+        /*.ne00 =*/ ne00,
+        /*.ne01 =*/ ne01,
+        /*.ne02 =*/ ne02,
+        /*.ne03 =*/ ne03,
+        /*.nb00 =*/ nb00,
+        /*.nb01 =*/ nb01,
+        /*.nb02 =*/ nb02,
+        /*.nb03 =*/ nb03,
+        /*.ne10 =*/ ne10,
+        /*.ne11 =*/ ne11,
+        /*.ne12 =*/ ne12,
+        /*.ne13 =*/ ne13,
+        /*.nb10 =*/ nb10,
+        /*.nb11 =*/ nb11,
+        /*.nb12 =*/ nb12,
+        /*.nb13 =*/ nb13,
+        /*.ne0  =*/ ne0,
+        /*.ne1  =*/ ne1,
+        /*.ne2  =*/ ne2,
+        /*.ne3  =*/ ne3,
+        /*.nb0  =*/ nb0,
+        /*.nb1  =*/ nb1,
+        /*.nb2  =*/ nb2,
+        /*.nb3  =*/ nb3,
+    };
+
+    auto pipeline = ggml_metal_library_get_pipeline_solve_tri(lib, op);
+
+    ggml_metal_encoder_set_pipeline(enc, pipeline);
+    ggml_metal_encoder_set_bytes   (enc, &args, sizeof(args), 0);
+    ggml_metal_encoder_set_buffer  (enc, ggml_metal_get_buffer_id(op->src[0]), 1);
+    ggml_metal_encoder_set_buffer  (enc, ggml_metal_get_buffer_id(op->src[1]), 2);
+    ggml_metal_encoder_set_buffer  (enc, ggml_metal_get_buffer_id(op),         3);
+
+    const int nsg = pipeline.nsg;
+
+    ggml_metal_encoder_set_threadgroup_memory_size(enc, pipeline.smem, 0);
+
+    ggml_metal_encoder_dispatch_threadgroups(enc, (ne10 + nsg - 1)/nsg, ne02, ne03, 32, nsg, 1);
+
+    return 1;
+}
+
 int ggml_metal_op_cpy(ggml_metal_op_t ctx, int idx) {
     ggml_tensor * op = ctx->node(idx);
 
diff --git a/ggml/src/ggml-metal/ggml-metal-ops.h b/ggml/src/ggml-metal/ggml-metal-ops.h
index 10686a334e..2e4c7d3fa1 100644
--- a/ggml/src/ggml-metal/ggml-metal-ops.h
+++ b/ggml/src/ggml-metal/ggml-metal-ops.h
@@ -60,6 +60,7 @@ int ggml_metal_op_soft_max          (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_ssm_conv          (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_ssm_scan          (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_rwkv              (ggml_metal_op_t ctx, int idx);
+int ggml_metal_op_solve_tri         (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_cpy               (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_pool_1d           (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_pool_2d           (ggml_metal_op_t ctx, int idx);
diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal
index 3259213fd6..c09a54e661 100644
--- a/ggml/src/ggml-metal/ggml-metal.metal
+++ b/ggml/src/ggml-metal/ggml-metal.metal
@@ -2737,6 +2737,83 @@ kernel void kernel_rwkv_wkv7_f32(
     }
 }
 
+constant short FC_solve_tri_nsg [[function_constant(FC_SOLVE_TRI + 0)]];
+constant short FC_solve_tri_n   [[function_constant(FC_SOLVE_TRI + 1)]];
+constant short FC_solve_tri_k   [[function_constant(FC_SOLVE_TRI + 2)]];
+
+kernel void kernel_solve_tri_f32(
+        constant ggml_metal_kargs_solve_tri & args,
+        device   const char * src0,
+        device   const char * src1,
+        device         char * dst,
+        threadgroup    char * shmem [[threadgroup(0)]],
+        ushort3 tgpig[[threadgroup_position_in_grid]],
+        ushort  sgitg[[simdgroup_index_in_threadgroup]],
+        ushort  tiisg[[thread_index_in_simdgroup]],
+        ushort3   ntg[[threads_per_threadgroup]]) {
+    constexpr short NW = N_SIMDWIDTH;
+
+    const short NSG = FC_solve_tri_nsg;
+    const short N   = FC_solve_tri_n;
+    const short K   = FC_solve_tri_k;
+    const short NP  = PAD2(N, NW);
+
+    const int32_t ne02 = args.ne02;
+    const int32_t ne03 = args.ne03;
+
+    const int32_t i03 = tgpig.z;
+    const int32_t i02 = tgpig.y;
+    const int32_t i01 = tgpig.x*NSG + sgitg;
+
+    threadgroup float * sh0 = (threadgroup float *) shmem;
+
+    device const float * src0_ptr = (device const float *)(src0 + i02 * args.nb02 + i03 * args.nb03) + sgitg*N;
+    device const float * src1_ptr = (device const float *)(src1 + i02 * args.nb12 + i03 * args.nb13) + i01;
+    device       float * dst_ptr  = (device       float *)(dst  + i02 * args.nb2  + i03 * args.nb3)  + i01;
+
+    for (short rr = 0; rr < N; rr += NSG) {
+        threadgroup_barrier(mem_flags::mem_threadgroup);
+
+        {
+            threadgroup float * sh0_cur = sh0 + sgitg*NP;
+
+            for (short t = 0; t*NW < N; ++t) {
+                const short idx = t*NW + tiisg;
+                sh0_cur[idx] = src0_ptr[idx];
+            }
+
+            src0_ptr += NSG*N;
+        }
+
+        threadgroup_barrier(mem_flags::mem_threadgroup);
+
+        if (i01 >= args.ne10) {
+            continue;
+        }
+
+        for (short ir = 0; ir < NSG && rr + ir < N; ++ir) {
+            const short r = rr + ir;
+
+            threadgroup float * sh0_cur = sh0 + ir*NP;
+
+            float sum = 0.0f;
+
+            for (short t = 0; t*NW < r; ++t) {
+                const short idx = t*NW + tiisg;
+                sum += sh0_cur[idx] * dst_ptr[idx*K] * (idx < r);
+            }
+
+            sum = simd_sum(sum);
+
+            if (tiisg == 0) {
+                const float diag = sh0_cur[r];
+
+                dst_ptr[r*K] = (src1_ptr[r*K] - sum) / diag;
+            }
+        }
+    }
+}
+
 kernel void kernel_argmax_f32(
         constant ggml_metal_kargs_argmax & args,
         device   const char * src0,

From 2ceda3f6622661af839c19767705f33fb9f6cdd2 Mon Sep 17 00:00:00 2001
From: Aman Gupta 
Date: Wed, 4 Feb 2026 09:43:29 +0800
Subject: [PATCH 114/206] ggml-cpu: use LUT for converting e8->f32 scales on
 x86 (#19288)

* ggml-cpu: use LUT for converting e8->f32 scales on x86

* add dispatch based on macro
---
 ggml/src/ggml-cpu/arch/x86/quants.c | 18 +++++++++---------
 ggml/src/ggml-cpu/ggml-cpu.c        |  8 ++++++++
 ggml/src/ggml-cpu/simd-mappings.h   | 11 +++++++++++
 3 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/ggml/src/ggml-cpu/arch/x86/quants.c b/ggml/src/ggml-cpu/arch/x86/quants.c
index cb49320a67..74d699f633 100644
--- a/ggml/src/ggml-cpu/arch/x86/quants.c
+++ b/ggml/src/ggml-cpu/arch/x86/quants.c
@@ -268,9 +268,9 @@ static inline __m256 quad_fp16_delta_float(const float x0, const float y0, const
                            _mm_set1_ps(GGML_CPU_FP16_TO_FP32(x0) * GGML_CPU_FP16_TO_FP32(y0)));
 }
 
-static inline __m256 quad_mx_delta_float(const int8_t x0, const float y0, const int8_t x1, const float y1) {
-    return _mm256_set_m128(_mm_set1_ps(GGML_E8M0_TO_FP32_HALF(x1) * GGML_CPU_FP16_TO_FP32(y1)),
-                           _mm_set1_ps(GGML_E8M0_TO_FP32_HALF(x0) * GGML_CPU_FP16_TO_FP32(y0)));
+static inline __m256 quad_mx_delta_float(const uint8_t x0, const float y0, const uint8_t x1, const float y1) {
+    return _mm256_set_m128(_mm_set1_ps(GGML_CPU_E8M0_TO_FP32_HALF(x1) * GGML_CPU_FP16_TO_FP32(y1)),
+                           _mm_set1_ps(GGML_CPU_E8M0_TO_FP32_HALF(x0) * GGML_CPU_FP16_TO_FP32(y0)));
 }
 #endif
 #elif defined(__SSSE3__)
@@ -782,6 +782,7 @@ void ggml_vec_dot_mxfp4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const vo
 
     __m256 accum1 = _mm256_setzero_ps();
     __m256 accum2 = _mm256_setzero_ps();
+
     for (; ib + 1 < nb; ib += 2) {
         const __m128i q4bits_1 = _mm_loadu_si128((const __m128i*)x[ib + 0].qs);
         const __m128i q4bits_2 = _mm_loadu_si128((const __m128i*)x[ib + 1].qs);
@@ -795,10 +796,10 @@ void ggml_vec_dot_mxfp4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const vo
         const __m256i p16_2 = mul_add_epi8(q4b_2, q8b_2);
         const __m256i p_1 = _mm256_madd_epi16(p16_1, mone);
         const __m256i p_2 = _mm256_madd_epi16(p16_2, mone);
-        accum1 = _mm256_fmadd_ps(_mm256_set1_ps(GGML_CPU_FP16_TO_FP32(y[ib + 0].d)*GGML_E8M0_TO_FP32_HALF(x[ib + 0].e)),
-                _mm256_cvtepi32_ps(p_1), accum1);
-        accum2 = _mm256_fmadd_ps(_mm256_set1_ps(GGML_CPU_FP16_TO_FP32(y[ib + 1].d)*GGML_E8M0_TO_FP32_HALF(x[ib + 1].e)),
-                _mm256_cvtepi32_ps(p_2), accum2);
+        const __m256 scale0 = _mm256_set1_ps(GGML_CPU_FP16_TO_FP32(y[ib + 0].d)*GGML_CPU_E8M0_TO_FP32_HALF(x[ib + 0].e));
+        const __m256 scale1 = _mm256_set1_ps(GGML_CPU_FP16_TO_FP32(y[ib + 1].d)*GGML_CPU_E8M0_TO_FP32_HALF(x[ib + 1].e));
+        accum1 = _mm256_fmadd_ps(scale0, _mm256_cvtepi32_ps(p_1), accum1);
+        accum2 = _mm256_fmadd_ps(scale1, _mm256_cvtepi32_ps(p_2), accum2);
     }
 
     sumf = hsum_float_8(_mm256_add_ps(accum1, accum2));
@@ -830,7 +831,7 @@ void ggml_vec_dot_mxfp4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const vo
 
 #endif
     for (; ib < nb; ++ib) {
-        const float d = GGML_CPU_FP16_TO_FP32(y[ib].d)*GGML_E8M0_TO_FP32_HALF(x[ib].e);
+        const float d = GGML_CPU_FP16_TO_FP32(y[ib].d)*GGML_CPU_E8M0_TO_FP32_HALF(x[ib].e);
         int sumi1 = 0;
         int sumi2 = 0;
         for (int j = 0; j < QK_MXFP4/2; ++j) {
@@ -3817,4 +3818,3 @@ void ggml_vec_dot_iq4_xs_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const v
     ggml_vec_dot_iq4_xs_q8_K_generic(n, s, bs, vx, bx, vy, by, nrc);
 #endif
 }
-
diff --git a/ggml/src/ggml-cpu/ggml-cpu.c b/ggml/src/ggml-cpu/ggml-cpu.c
index 3e5f01e3fb..b003fe13fd 100644
--- a/ggml/src/ggml-cpu/ggml-cpu.c
+++ b/ggml/src/ggml-cpu/ggml-cpu.c
@@ -75,6 +75,9 @@
 // precomputed f32 table for f16 (256 KB) (simd-mappings.h)
 float ggml_table_f32_f16[1 << 16];
 
+// precomputed f32 table for e8m0 half (1 KB) (simd-mappings.h)
+float ggml_table_f32_e8m0_half[1 << 8];
+
 #if defined(__ARM_ARCH)
 struct ggml_arm_arch_features_type {
     int sve_cnt;
@@ -3681,6 +3684,11 @@ void ggml_cpu_init(void) {
                 ggml_table_gelu_quick_f16[i] = GGML_CPU_FP32_TO_FP16(ggml_gelu_quick_f32(f));
             }
 
+            // initialize E8M0 half table (256 entries)
+            for (int i = 0; i < (1 << 8); ++i) {
+                ggml_table_f32_e8m0_half[i] = GGML_E8M0_TO_FP32_HALF(i);
+            }
+
             const uint64_t t_end = ggml_time_us(); UNUSED(t_end);
 
             GGML_PRINT_DEBUG("%s: GELU, Quick GELU, SILU and EXP tables initialized in %f ms\n", __func__, (t_end - t_start)/1000.0);
diff --git a/ggml/src/ggml-cpu/simd-mappings.h b/ggml/src/ggml-cpu/simd-mappings.h
index e367f110b4..630e506542 100644
--- a/ggml/src/ggml-cpu/simd-mappings.h
+++ b/ggml/src/ggml-cpu/simd-mappings.h
@@ -116,6 +116,17 @@ extern "C" {
 // defined in ggml-cpu.c, initialized in ggml_cpu_init()
 extern float ggml_table_f32_f16[1 << 16];
 
+// precomputed f32 table for e8m0 half (1 KB)
+// defined in ggml-cpu.c, initialized in ggml_cpu_init()
+extern float ggml_table_f32_e8m0_half[1 << 8];
+
+// Use lookup table for E8M0 on x86 (faster than bit manipulation)
+#if defined(__AVX__) || defined(__AVX2__) || defined(__AVX512F__)
+#define GGML_CPU_E8M0_TO_FP32_HALF(x) ggml_table_f32_e8m0_half[(uint8_t)(x)]
+#else
+#define GGML_CPU_E8M0_TO_FP32_HALF(x) GGML_E8M0_TO_FP32_HALF(x)
+#endif
+
 // On ARM NEON, it's quicker to directly convert x -> x instead of calling into ggml_lookup_fp16_to_fp32,
 // so we define GGML_CPU_FP16_TO_FP32 and GGML_CPU_FP32_TO_FP16 elsewhere for NEON.
 // This is also true for POWER9.

From 015deb90485b9ebfff492e10fe7080a0439202b6 Mon Sep 17 00:00:00 2001
From: Kevin Pouget 
Date: Wed, 4 Feb 2026 03:46:18 +0100
Subject: [PATCH 115/206] ggml-virtgpu: make the code thread safe (#19204)

* ggml-virtgpu: regenerate_remoting.py: add the ability to deprecate a function

* ggml-virtgpu: deprecate buffer_type is_host remoting

not necessary

* ggml-virtgpu: stop using static vars as cache

The static init isn't thread safe.

* ggml-virtgpu: protect the use of the shared memory to transfer data

* ggml-virtgpu: make the remote calls thread-safe

* ggml-virtgpu: backend: don't continue if couldn't allocate the tensor memory

* ggml-virtgpu: add a cleanup function for consistency

* ggml-virtgpu: backend: don't crash if buft->iface.get_max_size is missing

* fix style and ordering

* Remove the static variable in apir_device_get_count

* ggml-virtgpu: improve the logging

* fix review minor formatting changes
---
 ggml/include/ggml-virtgpu.h                   |   2 -
 .../ggml-virtgpu/apir_cs_ggml-rpc-front.cpp   |   2 +-
 .../backend/backend-dispatched-backend.cpp    |   4 +-
 .../backend-dispatched-buffer-type.cpp        |  12 +-
 .../backend/backend-dispatched-buffer.cpp     |   6 +-
 .../backend/backend-dispatched-device.cpp     |   2 +-
 .../backend/backend-dispatched.cpp            |   8 +-
 .../backend/backend-dispatched.gen.h          |   5 +-
 .../ggml-virtgpu/backend/backend-dispatched.h |   2 +
 ggml/src/ggml-virtgpu/backend/backend.cpp     |  32 ++--
 .../src/ggml-virtgpu/backend/shared/apir_cs.h |  11 +-
 .../backend/shared/apir_cs_ggml.h             |  14 +-
 .../ggml-virtgpu/ggml-backend-buffer-type.cpp |  29 +---
 ggml/src/ggml-virtgpu/ggml-backend-device.cpp |  61 ++++---
 ggml/src/ggml-virtgpu/ggml-backend-reg.cpp    |  94 ++++++++---
 ggml/src/ggml-virtgpu/ggml-remoting.h         |   5 +-
 .../ggml-virtgpu/ggmlremoting_functions.yaml  |  20 ++-
 ggml/src/ggml-virtgpu/regenerate_remoting.py  |  18 ++-
 .../ggml-virtgpu/virtgpu-forward-backend.cpp  |  14 +-
 .../virtgpu-forward-buffer-type.cpp           |  41 ++---
 .../ggml-virtgpu/virtgpu-forward-buffer.cpp   |  28 +++-
 .../ggml-virtgpu/virtgpu-forward-device.cpp   |  22 +--
 ggml/src/ggml-virtgpu/virtgpu-forward-impl.h  |   6 +-
 ggml/src/ggml-virtgpu/virtgpu-forward.gen.h   |  21 +--
 ggml/src/ggml-virtgpu/virtgpu-shm.cpp         |   3 +-
 ggml/src/ggml-virtgpu/virtgpu.cpp             | 149 ++++++++++++------
 ggml/src/ggml-virtgpu/virtgpu.h               |  23 +++
 27 files changed, 397 insertions(+), 237 deletions(-)

diff --git a/ggml/include/ggml-virtgpu.h b/ggml/include/ggml-virtgpu.h
index 1cb4bd7a03..faaba8f246 100644
--- a/ggml/include/ggml-virtgpu.h
+++ b/ggml/include/ggml-virtgpu.h
@@ -7,8 +7,6 @@
 extern "C" {
 #endif
 
-#define GGML_REMOTING_FRONTEND_NAME "RemotingFrontend"
-
 GGML_BACKEND_API ggml_backend_reg_t ggml_backend_virtgpu_reg();
 
 #ifdef  __cplusplus
diff --git a/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp b/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp
index f60ae3556c..d2e87330a6 100644
--- a/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp
+++ b/ggml/src/ggml-virtgpu/apir_cs_ggml-rpc-front.cpp
@@ -36,7 +36,7 @@ apir_rpc_tensor apir_serialize_tensor(const ggml_tensor * tensor) {
     result.data      = reinterpret_cast(tensor->data);
     if (tensor->data) {
         if (!tensor->buffer) {
-            GGML_ABORT("tensor has data but not buffer");
+            GGML_ABORT("%s: tensor has data but not buffer", __func__);
         }
         // tensor->data is serialized as an offset to the buffer base address
         result.data -= reinterpret_cast(BUFFER_TO_GGML_CONTEXT(tensor->buffer)->base);
diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp
index 77b4ee71e1..cc879e51d0 100644
--- a/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp
+++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched-backend.cpp
@@ -27,7 +27,7 @@ uint32_t backend_backend_graph_compute(apir_encoder * enc, apir_decoder * dec, v
 
     const void * shmem_data = ctx->iface->get_shmem_ptr(ctx->ctx_id, shmem_res_id);
     if (!shmem_data) {
-        GGML_LOG_ERROR("Couldn't get the shmem addr from virgl\n");
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK "%s: Couldn't get the shmem addr from virgl\n", __func__);
         apir_decoder_set_fatal(dec);
         return 1;
     }
@@ -45,7 +45,7 @@ uint32_t backend_backend_graph_compute(apir_encoder * enc, apir_decoder * dec, v
         if (dev->iface.supports_op(dev, op)) {
             continue;
         }
-        GGML_LOG_ERROR("Graph node %d (%s) not supported by the backend\n", idx, ggml_op_desc(op));
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK "%s: Graph node %d (%s) not supported by the backend\n", idx, ggml_op_desc(op));
 
         status = GGML_STATUS_ABORTED;
         apir_encode_ggml_status(enc, &status);
diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp
index 8ea1bb4fb4..d55eec2761 100644
--- a/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp
+++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer-type.cpp
@@ -36,18 +36,22 @@ uint32_t backend_buffer_type_get_max_size(apir_encoder * enc, apir_decoder * dec
     ggml_backend_buffer_type_t buft;
     buft = apir_decode_ggml_buffer_type(dec);
 
-    size_t value = buft->iface.get_max_size(buft);
+    size_t value = SIZE_MAX;
+    if (buft->iface.get_max_size) {
+        value = buft->iface.get_max_size(buft);
+    }
+
     apir_encode_size_t(enc, &value);
 
     return 0;
 }
 
+/* APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST is deprecated. Keeping the handler for backward compatibility. */
 uint32_t backend_buffer_type_is_host(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx) {
     GGML_UNUSED(ctx);
-    ggml_backend_buffer_type_t buft;
-    buft = apir_decode_ggml_buffer_type(dec);
+    GGML_UNUSED(dec);
+    const bool is_host = false;
 
-    bool is_host = buft->iface.is_host(buft);
     apir_encode_bool_t(enc, &is_host);
 
     return 0;
diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp
index cf81888e98..8cc063ff0a 100644
--- a/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp
+++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched-buffer.cpp
@@ -40,7 +40,7 @@ uint32_t backend_buffer_set_tensor(apir_encoder * enc, apir_decoder * dec, virgl
     void * shmem_data = ctx->iface->get_shmem_ptr(ctx->ctx_id, shmem_res_id);
 
     if (!shmem_data) {
-        GGML_LOG_ERROR("Couldn't get the shmem addr from virgl\n");
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK "%s: Couldn't get the shmem addr from virgl\n", __func__);
         return 1;
     }
 
@@ -71,7 +71,7 @@ uint32_t backend_buffer_get_tensor(apir_encoder * enc, apir_decoder * dec, virgl
 
     void * shmem_data = ctx->iface->get_shmem_ptr(ctx->ctx_id, shmem_res_id);
     if (!shmem_data) {
-        GGML_LOG_ERROR("Couldn't get the shmem addr from virgl\n");
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK "%s: Couldn't get the shmem addr from virgl\n", __func__);
         return 1;
     }
 
@@ -121,7 +121,7 @@ uint32_t backend_buffer_free_buffer(apir_encoder * enc, apir_decoder * dec, virg
     buffer = apir_decode_ggml_buffer(dec);
 
     if (!apir_untrack_backend_buffer(buffer)) {
-        GGML_LOG_WARN("%s: unknown buffer %p\n", __func__, (void *) buffer);
+        GGML_LOG_WARN(GGML_VIRTGPU_BCK "%s: unknown buffer %p\n", __func__, (void *) buffer);
         return 1;
     }
 
diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp
index 497f737a88..c7acb8b51c 100644
--- a/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp
+++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched-device.cpp
@@ -124,7 +124,7 @@ uint32_t backend_device_buffer_from_ptr(apir_encoder * enc, apir_decoder * dec,
 
     void * shmem_ptr = ctx->iface->get_shmem_ptr(ctx->ctx_id, shmem_res_id);
     if (!shmem_ptr) {
-        GGML_LOG_ERROR("Couldn't get the shmem addr from virgl\n");
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK "%s: Couldn't get the shmem addr from virgl\n", __func__);
         apir_decoder_set_fatal(dec);
         return 1;
     }
diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp b/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp
index 51d445725f..64152eef0d 100644
--- a/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp
+++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched.cpp
@@ -17,26 +17,26 @@ uint64_t timer_count = 0;
 
 uint32_t backend_dispatch_initialize(void * ggml_backend_reg_fct_p) {
     if (reg != NULL) {
-        GGML_LOG_WARN("%s: already initialized\n", __func__);
+        GGML_LOG_WARN(GGML_VIRTGPU_BCK "%s: already initialized\n", __func__);
         return APIR_BACKEND_INITIALIZE_ALREADY_INITED;
     }
     ggml_backend_reg_t (*ggml_backend_reg_fct)(void) = (ggml_backend_reg_t (*)()) ggml_backend_reg_fct_p;
 
     reg = ggml_backend_reg_fct();
     if (reg == NULL) {
-        GGML_LOG_ERROR("%s: backend registration failed\n", __func__);
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK "%s: backend registration failed\n", __func__);
         return APIR_BACKEND_INITIALIZE_BACKEND_REG_FAILED;
     }
 
     if (!reg->iface.get_device_count(reg)) {
-        GGML_LOG_ERROR("%s: backend initialization failed: no device found\n", __func__);
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK "%s: backend initialization failed: no device found\n", __func__);
         return APIR_BACKEND_INITIALIZE_NO_DEVICE;
     }
 
     dev = reg->iface.get_device(reg, 0);
 
     if (!dev) {
-        GGML_LOG_ERROR("%s: backend initialization failed: no device received\n", __func__);
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK "%s: backend initialization failed: no device received\n", __func__);
         return APIR_BACKEND_INITIALIZE_NO_DEVICE;
     }
 
diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h b/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h
index b81fd5039b..481d7f3150 100644
--- a/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h
+++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched.gen.h
@@ -16,6 +16,7 @@ uint32_t backend_device_buffer_from_ptr(apir_encoder * enc, apir_decoder * dec,
 uint32_t backend_buffer_type_get_name(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx);
 uint32_t backend_buffer_type_get_alignment(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx);
 uint32_t backend_buffer_type_get_max_size(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx);
+/* APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST is deprecated. Keeping the handler for backward compatibility. */
 uint32_t backend_buffer_type_is_host(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx);
 uint32_t backend_buffer_type_alloc_buffer(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx);
 uint32_t backend_buffer_type_get_alloc_size(apir_encoder * enc, apir_decoder * dec, virgl_apir_context * ctx);
@@ -62,7 +63,7 @@ static inline const char * backend_dispatch_command_name(ApirBackendCommandType
         case APIR_COMMAND_TYPE_BUFFER_TYPE_GET_MAX_SIZE:
             return "backend_buffer_type_get_max_size";
         case APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST:
-            return "backend_buffer_type_is_host";
+            return "backend_buffer_type_is_host (DEPRECATED)";
         case APIR_COMMAND_TYPE_BUFFER_TYPE_ALLOC_BUFFER:
             return "backend_buffer_type_alloc_buffer";
         case APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALLOC_SIZE:
@@ -110,7 +111,7 @@ static const backend_dispatch_t apir_backend_dispatch_table[APIR_BACKEND_DISPATC
     /* APIR_COMMAND_TYPE_BUFFER_TYPE_GET_NAME  = */ backend_buffer_type_get_name,
     /* APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALIGNMENT  = */ backend_buffer_type_get_alignment,
     /* APIR_COMMAND_TYPE_BUFFER_TYPE_GET_MAX_SIZE  = */ backend_buffer_type_get_max_size,
-    /* APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST  = */ backend_buffer_type_is_host,
+    /* APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST  = */ backend_buffer_type_is_host /* DEPRECATED */,
     /* APIR_COMMAND_TYPE_BUFFER_TYPE_ALLOC_BUFFER  = */ backend_buffer_type_alloc_buffer,
     /* APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALLOC_SIZE  = */ backend_buffer_type_get_alloc_size,
 
diff --git a/ggml/src/ggml-virtgpu/backend/backend-dispatched.h b/ggml/src/ggml-virtgpu/backend/backend-dispatched.h
index 6ccbecf078..10311631d4 100644
--- a/ggml/src/ggml-virtgpu/backend/backend-dispatched.h
+++ b/ggml/src/ggml-virtgpu/backend/backend-dispatched.h
@@ -11,6 +11,8 @@
 #include "shared/apir_cs.h"
 #include "shared/apir_cs_ggml.h"
 
+#define GGML_VIRTGPU_BCK "ggml-virtgpu-backend: "
+
 struct virgl_apir_context {
     uint32_t               ctx_id;
     virgl_apir_callbacks * iface;
diff --git a/ggml/src/ggml-virtgpu/backend/backend.cpp b/ggml/src/ggml-virtgpu/backend/backend.cpp
index 95d602ed60..d93414a078 100644
--- a/ggml/src/ggml-virtgpu/backend/backend.cpp
+++ b/ggml/src/ggml-virtgpu/backend/backend.cpp
@@ -35,14 +35,8 @@ void apir_backend_deinit(uint32_t virgl_ctx_id) {
         buffer->iface.free_buffer(buffer);
     }
 
-    if (dev) {
-        size_t free, total;
-        dev->iface.get_memory(dev, &free, &total);
-        GGML_LOG_INFO("%s: free memory: %ld MB\n", __func__, (size_t) free / 1024 / 1024);
-    }
-
     if (backend_library_handle) {
-        GGML_LOG_INFO("%s: The GGML backend library was loaded. Unloading it.\n", __func__);
+        GGML_LOG_INFO(GGML_VIRTGPU_BCK "The GGML backend library was loaded. Unloading it.\n");
         dlclose(backend_library_handle);
         backend_library_handle = NULL;
     }
@@ -65,7 +59,7 @@ ApirLoadLibraryReturnCode apir_backend_initialize(uint32_t virgl_ctx_id, struct
         if (apir_logfile) {
             ggml_log_set(log_to_file_callback, apir_logfile);
         } else {
-            GGML_LOG_INFO("Could not open the log file at '%s'\n", apir_log_to_file);
+            GGML_LOG_INFO(GGML_VIRTGPU_BCK "Could not open the log file at '%s'\n", apir_log_to_file);
         }
     }
 
@@ -74,7 +68,10 @@ ApirLoadLibraryReturnCode apir_backend_initialize(uint32_t virgl_ctx_id, struct
     const char * library_reg = virgl_library_reg ? virgl_library_reg : GGML_DEFAULT_BACKEND_REG;
 
     if (!library_name) {
-        GGML_LOG_ERROR("cannot open the GGML library: env var '%s' not defined\n", APIR_LLAMA_CPP_GGML_LIBRARY_PATH_ENV);
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK
+                       "%s: cannot open the GGML library: env var '%s' not defined\n",
+                       __func__, APIR_LLAMA_CPP_GGML_LIBRARY_PATH_ENV);
+
 
         return APIR_LOAD_LIBRARY_ENV_VAR_MISSING;
     }
@@ -82,13 +79,16 @@ ApirLoadLibraryReturnCode apir_backend_initialize(uint32_t virgl_ctx_id, struct
     backend_library_handle = dlopen(library_name, RTLD_LAZY);
 
     if (!backend_library_handle) {
-        GGML_LOG_ERROR("cannot open the GGML library: %s\n", dlerror());
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK
+                       "%s: cannot open the GGML library: %s\n", __func__, dlerror());
 
         return APIR_LOAD_LIBRARY_CANNOT_OPEN;
     }
 
     if (!library_reg) {
-        GGML_LOG_ERROR("cannot register the GGML library: env var '%s' not defined\n", APIR_LLAMA_CPP_GGML_LIBRARY_REG_ENV);
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK
+                       "%s: cannot register the GGML library: env var '%s' not defined\n",
+                       __func__, APIR_LLAMA_CPP_GGML_LIBRARY_REG_ENV);
 
         return APIR_LOAD_LIBRARY_ENV_VAR_MISSING;
     }
@@ -96,8 +96,10 @@ ApirLoadLibraryReturnCode apir_backend_initialize(uint32_t virgl_ctx_id, struct
     void * ggml_backend_reg_fct = dlsym(backend_library_handle, library_reg);
     dlsym_error                 = dlerror();
     if (dlsym_error) {
-        GGML_LOG_ERROR("cannot find the GGML backend registration symbol '%s' (from %s): %s\n", library_reg,
-              APIR_LLAMA_CPP_GGML_LIBRARY_REG_ENV, dlsym_error);
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK
+                       "%s: cannot find the GGML backend registration symbol '%s' (from %s): %s\n",
+                       __func__, library_reg, APIR_LLAMA_CPP_GGML_LIBRARY_REG_ENV, dlsym_error);
+
 
         return APIR_LOAD_LIBRARY_SYMBOL_MISSING;
     }
@@ -134,7 +136,9 @@ uint32_t apir_backend_dispatcher(uint32_t               virgl_ctx_id,
     };
 
     if (cmd_type >= APIR_BACKEND_DISPATCH_TABLE_COUNT) {
-        GGML_LOG_ERROR("Received an invalid dispatch index (%d >= %d)\n", cmd_type, APIR_BACKEND_DISPATCH_TABLE_COUNT);
+        GGML_LOG_ERROR(GGML_VIRTGPU_BCK
+                       "%s: Received an invalid dispatch index (%d >= %d)\n",
+                        __func__, cmd_type, APIR_BACKEND_DISPATCH_TABLE_COUNT);
         return APIR_BACKEND_FORWARD_INDEX_INVALID;
     }
 
diff --git a/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h b/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h
index 27a61091ff..1bc3a5f685 100644
--- a/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h
+++ b/ggml/src/ggml-virtgpu/backend/shared/apir_cs.h
@@ -86,7 +86,7 @@ static inline bool apir_decoder_peek_internal(apir_decoder * dec,
     assert(val_size <= size);
 
     if (unlikely(size > (size_t) (dec->end - dec->cur))) {
-        GGML_LOG_ERROR("reading too much from the decoder ...\n");
+        GGML_LOG_ERROR("%s: reading too much from the decoder ...\n", __func__);
         apir_decoder_set_fatal(dec);
         memset(val, 0, val_size);
         return false;
@@ -103,7 +103,7 @@ static inline void apir_decoder_peek(apir_decoder * dec, size_t size, void * val
 
 static inline const void * apir_decoder_use_inplace(apir_decoder * dec, size_t size) {
     if (unlikely(size > (size_t) (dec->end - dec->cur))) {
-        GGML_LOG_ERROR("reading too much from the decoder ...\n");
+        GGML_LOG_ERROR("%s: reading too much from the decoder ...\n", __func__);
         apir_decoder_set_fatal(dec);
         return NULL;
     }
@@ -221,7 +221,7 @@ static inline uint64_t apir_decode_array_size(apir_decoder * dec, uint64_t expec
     uint64_t size;
     apir_decode_uint64_t(dec, &size);
     if (size != expected_size) {
-        GGML_LOG_ERROR("Couldn't decode array from the decoder\n");
+        GGML_LOG_ERROR("%s: Couldn't decode array from the decoder\n", __func__);
         apir_decoder_set_fatal(dec);
         size = 0;
     }
@@ -322,7 +322,7 @@ static inline void apir_decode_char_array(apir_decoder * dec, char * val, size_t
     if (size) {
         val[size - 1] = '\0';
     } else {
-        GGML_LOG_ERROR("Couldn't decode the blog array\n");
+        GGML_LOG_ERROR("%s: Couldn't decode the blog array\n", __func__);
         apir_decoder_set_fatal(dec);
     }
 }
@@ -332,7 +332,8 @@ static inline void apir_decode_char_array(apir_decoder * dec, char * val, size_t
 static inline void * apir_decoder_alloc_array(size_t size, size_t count) {
     size_t alloc_size;
     if (unlikely(__builtin_mul_overflow(size, count, &alloc_size))) {
-        GGML_LOG_ERROR("overflow in array allocation of %zu * %zu bytes\n", size, count);
+        GGML_LOG_ERROR("%s: overflow in array allocation of %zu * %zu bytes\n",
+                       __func__, size, count);
         return NULL;
     }
 
diff --git a/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h b/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h
index 070c3b25fb..289f4b77d7 100644
--- a/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h
+++ b/ggml/src/ggml-virtgpu/backend/shared/apir_cs_ggml.h
@@ -39,11 +39,17 @@ static inline void apir_encode_ggml_tensor(apir_encoder * enc, const ggml_tensor
 
 static inline const ggml_tensor * apir_decode_ggml_tensor(apir_decoder * dec) {
     const apir_rpc_tensor * apir_rpc_tensor = apir_decode_apir_rpc_tensor_inplace(dec);
+
+    if (!apir_rpc_tensor) {
+        return NULL;
+    }
+
     ggml_init_params params{
         /*.mem_size   =*/ ggml_tensor_overhead(),
         /*.mem_buffer =*/ NULL,
         /*.no_alloc   =*/ true,
     };
+
     ggml_context * ctx = ggml_init(params);
 
     const ggml_tensor * tensor = apir_deserialize_tensor(ctx, apir_rpc_tensor);
@@ -71,6 +77,10 @@ static inline ggml_backend_buffer_type_t apir_decode_ggml_buffer_type(apir_decod
     return (ggml_backend_buffer_type_t) handle;
 }
 
+static inline void apir_encode_apir_buffer_type_host_handle(apir_encoder * enc, apir_buffer_type_host_handle_t handle) {
+    apir_encoder_write(enc, sizeof(handle), &handle, sizeof(handle));
+}
+
 static inline apir_buffer_type_host_handle_t apir_decode_apir_buffer_type_host_handle(apir_decoder * dec) {
     apir_buffer_type_host_handle_t handle;
 
@@ -154,13 +164,13 @@ static inline void apir_encode_ggml_tensor_inline(apir_encoder * enc, const ggml
     size_t tensor_size = sizeof(*tensor);
 
     if (tensor->extra) {
-        GGML_ABORT("Cannot pass tensors with extra");
+        GGML_ABORT("%s: Cannot pass tensors with extra", __func__);
     }
 
     if (tensor->src[0] && tensor->buffer) {
         static int first = 1;
         if (first) {
-            GGML_LOG_WARN("Cannot pass tensors with src and buffer\n");
+            GGML_LOG_WARN("%s: Cannot pass tensors with src and buffer\n", __func__);
             first = 0;
         }
     }
diff --git a/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp b/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp
index 7f650659b8..c493a8e2ae 100644
--- a/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp
+++ b/ggml/src/ggml-virtgpu/ggml-backend-buffer-type.cpp
@@ -6,7 +6,7 @@ static ggml_backend_buffer_t ggml_backend_remoting_buffer_type_alloc_buffer(ggml
 
     ggml_backend_remoting_buffer_context * context = (ggml_backend_remoting_buffer_context *) malloc(sizeof(*context));
     if (!context) {
-        GGML_ABORT("Couldn't allocate the buffer context ...");
+        GGML_ABORT(GGML_VIRTGPU "%s: Couldn't allocate the buffer context ...", __func__);
     }
 
     context->gpu = gpu;
@@ -20,7 +20,7 @@ static ggml_backend_buffer_t ggml_backend_remoting_buffer_type_alloc_buffer(ggml
         context->base         = context->apir_context.shmem.mmap_ptr;
         context->is_from_ptr  = true;
     } else {
-        context->apir_context = apir_buffer_type_alloc_buffer(gpu, buft, size);
+        context->apir_context = apir_buffer_type_alloc_buffer(gpu, gpu->cached_buffer_type.host_handle, size);
         context->is_from_ptr  = false;
         context->base         = NULL;
     }
@@ -34,36 +34,19 @@ static ggml_backend_buffer_t ggml_backend_remoting_buffer_type_alloc_buffer(ggml
 static const char * ggml_backend_remoting_buffer_type_get_name(ggml_backend_buffer_type_t buft) {
     virtgpu * gpu = BUFT_TO_GPU(buft);
 
-    return apir_buffer_type_get_name(gpu, buft);
+    return gpu->cached_buffer_type.name;
 }
 
 static size_t ggml_backend_remoting_buffer_type_get_alignment(ggml_backend_buffer_type_t buft) {
     virtgpu * gpu = BUFT_TO_GPU(buft);
 
-    static size_t align = 0;
-
-    if (align == 0) {
-        align = apir_buffer_type_get_alignment(gpu, buft);
-    }
-
-    return align;
+    return gpu->cached_buffer_type.alignment;
 }
 
 static size_t ggml_backend_remoting_buffer_type_get_max_size(ggml_backend_buffer_type_t buft) {
     virtgpu * gpu = BUFT_TO_GPU(buft);
 
-    static size_t max_size = 0;
-    if (max_size == 0) {
-        max_size = apir_buffer_type_get_max_size(gpu, buft);
-    }
-
-    return max_size;
-}
-
-static bool ggml_backend_remoting_buffer_type_is_host(ggml_backend_buffer_type_t buft) {
-    virtgpu * gpu = BUFT_TO_GPU(buft);
-
-    return apir_buffer_type_is_host(gpu, buft);
+    return gpu->cached_buffer_type.max_size;
 }
 
 static size_t ggml_backend_remoting_buffer_type_get_alloc_size(ggml_backend_buffer_type_t buft,
@@ -76,7 +59,7 @@ static size_t ggml_backend_remoting_buffer_type_get_alloc_size(ggml_backend_buff
         return ggml_nbytes(tensor);
     }
 
-    return apir_buffer_type_get_alloc_size(gpu, buft, tensor);
+    return apir_buffer_type_get_alloc_size(gpu, gpu->cached_buffer_type.host_handle, tensor);
 }
 
 const ggml_backend_buffer_type_i ggml_backend_remoting_buffer_type_interface = {
diff --git a/ggml/src/ggml-virtgpu/ggml-backend-device.cpp b/ggml/src/ggml-virtgpu/ggml-backend-device.cpp
index 579eb99078..c7d2881058 100644
--- a/ggml/src/ggml-virtgpu/ggml-backend-device.cpp
+++ b/ggml/src/ggml-virtgpu/ggml-backend-device.cpp
@@ -3,32 +3,27 @@
 static const char * ggml_backend_remoting_device_get_name(ggml_backend_dev_t dev) {
     virtgpu * gpu = DEV_TO_GPU(dev);
 
-    return apir_device_get_name(gpu);
+    return gpu->cached_device_info.name;
 }
 
 static const char * ggml_backend_remoting_device_get_description(ggml_backend_dev_t dev) {
     virtgpu * gpu = DEV_TO_GPU(dev);
 
-    return apir_device_get_description(gpu);
+    // Return the pre-cached description from the virtgpu structure
+    return gpu->cached_device_info.description;
 }
 
 static enum ggml_backend_dev_type ggml_backend_remoting_device_get_type(ggml_backend_dev_t dev) {
     virtgpu * gpu = DEV_TO_GPU(dev);
 
-    static enum ggml_backend_dev_type type;
-    static bool                       has_type = false;
-    if (!has_type) {
-        has_type = true;
-        type     = (enum ggml_backend_dev_type) apir_device_get_type(gpu);
-    }
-
-    return type;
+    return (enum ggml_backend_dev_type) gpu->cached_device_info.type;
 }
 
 static void ggml_backend_remoting_device_get_memory(ggml_backend_dev_t dev, size_t * free, size_t * total) {
     virtgpu * gpu = DEV_TO_GPU(dev);
 
-    return apir_device_get_memory(gpu, free, total);
+    *free = gpu->cached_device_info.memory_free;
+    *total = gpu->cached_device_info.memory_total;
 }
 
 static bool ggml_backend_remoting_device_supports_op(ggml_backend_dev_t dev, const ggml_tensor * op) {
@@ -77,13 +72,22 @@ static void ggml_backend_remoting_device_get_props(ggml_backend_dev_t dev, ggml_
 ggml_backend_buffer_type_t ggml_backend_remoting_device_get_buffer_type(ggml_backend_dev_t dev) {
     virtgpu * gpu = DEV_TO_GPU(dev);
 
-    apir_buffer_type_host_handle_t ctx = apir_device_get_buffer_type(gpu);
+    static std::atomic initialized = false;
+    static ggml_backend_buffer_type buft;
 
-    static ggml_backend_buffer_type buft{
-        /* .iface    = */ ggml_backend_remoting_buffer_type_interface,
-        /* .device   = */ dev,
-        /* .context  = */ (void *) ctx,
-    };
+    if (!initialized) {
+        static std::mutex           mutex;
+        std::lock_guard lock(mutex);
+
+        if (!initialized) {
+            buft = {
+                /* .iface    = */ ggml_backend_remoting_buffer_type_interface,
+                /* .device   = */ dev,
+                /* .context  = */ (void *) gpu->cached_buffer_type.host_handle,
+            };
+            initialized = true;
+        }
+    }
 
     return &buft;
 }
@@ -91,13 +95,22 @@ ggml_backend_buffer_type_t ggml_backend_remoting_device_get_buffer_type(ggml_bac
 static ggml_backend_buffer_type_t ggml_backend_remoting_device_get_buffer_from_ptr_type(ggml_backend_dev_t dev) {
     virtgpu * gpu = DEV_TO_GPU(dev);
 
-    apir_buffer_type_host_handle_t ctx = apir_device_get_buffer_type(gpu);
+    static std::atomic initialized = false;
+    static ggml_backend_buffer_type buft;
 
-    static ggml_backend_buffer_type buft{
-        /* .iface    = */ ggml_backend_remoting_buffer_from_ptr_type_interface,
-        /* .device   = */ dev,
-        /* .context  = */ (void *) ctx,
-    };
+    if (!initialized) {
+        static std::mutex           mutex;
+        std::lock_guard lock(mutex);
+
+        if (!initialized) {
+            buft = {
+                /* .iface    = */ ggml_backend_remoting_buffer_from_ptr_type_interface,
+                /* .device   = */ dev,
+                /* .context  = */ (void *) gpu->cached_buffer_type.host_handle,
+            };
+            initialized = true;
+        }
+    }
 
     return &buft;
 }
@@ -110,7 +123,7 @@ static ggml_backend_buffer_t ggml_backend_remoting_device_buffer_from_ptr(ggml_b
 
     ggml_backend_remoting_buffer_context * context = (ggml_backend_remoting_buffer_context *) malloc(sizeof(*context));
     if (!context) {
-        GGML_ABORT("Couldn't allocate the buffer context ...");
+        GGML_ABORT(GGML_VIRTGPU "%s: Couldn't allocate the buffer context ...", __func__);
     }
 
     context->gpu          = gpu;
diff --git a/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp b/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp
index c46cf51c02..2d02cfec1d 100644
--- a/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp
+++ b/ggml/src/ggml-virtgpu/ggml-backend-reg.cpp
@@ -4,37 +4,70 @@
 #include 
 #include 
 
+void ggml_virtgpu_cleanup(virtgpu * gpu);
+
 static virtgpu * apir_initialize() {
-    static virtgpu * apir_gpu_instance = NULL;
-    static bool      apir_initialized  = false;
+    static virtgpu *         gpu          = NULL;
+    static std::atomic initialized  = false;
+
+    if (initialized) {
+        // fast track
+        return gpu;
+    }
 
     {
         static std::mutex           mutex;
         std::lock_guard lock(mutex);
 
-        if (apir_initialized) {
-            return apir_gpu_instance;
+        if (initialized) {
+            // thread safe
+            return gpu;
         }
 
-        apir_gpu_instance = create_virtgpu();
-        if (!apir_gpu_instance) {
-            GGML_ABORT("failed to initialize the virtgpu");
+        gpu = create_virtgpu();
+        if (!gpu) {
+            initialized = true;
+            return NULL;
         }
 
-        apir_initialized = true;
+        // Pre-fetch and cache all device information, it will not change
+        gpu->cached_device_info.description  = apir_device_get_description(gpu);
+        if (!gpu->cached_device_info.description) {
+            GGML_ABORT(GGML_VIRTGPU "%s: failed to initialize the virtgpu device description", __func__);
+        }
+        gpu->cached_device_info.name         = apir_device_get_name(gpu);
+        if (!gpu->cached_device_info.name) {
+            GGML_ABORT(GGML_VIRTGPU "%s: failed to initialize the virtgpu device name", __func__);
+        }
+        gpu->cached_device_info.device_count = apir_device_get_count(gpu);
+        gpu->cached_device_info.type         = apir_device_get_type(gpu);
+
+        apir_device_get_memory(gpu,
+                              &gpu->cached_device_info.memory_free,
+                              &gpu->cached_device_info.memory_total);
+
+        apir_buffer_type_host_handle_t buft_host_handle = apir_device_get_buffer_type(gpu);
+        gpu->cached_buffer_type.host_handle             = buft_host_handle;
+        gpu->cached_buffer_type.name                    = apir_buffer_type_get_name(gpu, buft_host_handle);
+        if (!gpu->cached_buffer_type.name) {
+            GGML_ABORT(GGML_VIRTGPU "%s: failed to initialize the virtgpu buffer type name", __func__);
+        }
+        gpu->cached_buffer_type.alignment               = apir_buffer_type_get_alignment(gpu, buft_host_handle);
+        gpu->cached_buffer_type.max_size                = apir_buffer_type_get_max_size(gpu, buft_host_handle);
+
+        initialized = true;
     }
 
-    return apir_gpu_instance;
+    return gpu;
 }
 
 static int ggml_backend_remoting_get_device_count() {
     virtgpu * gpu = apir_initialize();
     if (!gpu) {
-        GGML_LOG_WARN("apir_initialize failed\n");
         return 0;
     }
 
-    return apir_device_get_count(gpu);
+    return gpu->cached_device_info.device_count;
 }
 
 static size_t ggml_backend_remoting_reg_get_device_count(ggml_backend_reg_t reg) {
@@ -52,17 +85,21 @@ ggml_backend_dev_t ggml_backend_remoting_get_device(size_t device) {
 
 static void ggml_backend_remoting_reg_init_devices(ggml_backend_reg_t reg) {
     if (devices.size() > 0) {
-        GGML_LOG_INFO("%s: already initialized\n", __func__);
+        GGML_LOG_INFO(GGML_VIRTGPU "%s: already initialized\n", __func__);
         return;
     }
 
     virtgpu * gpu = apir_initialize();
     if (!gpu) {
-        GGML_LOG_ERROR("apir_initialize failed\n");
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: apir_initialize failed\n", __func__);
         return;
     }
 
-    static bool initialized = false;
+    static std::atomic initialized = false;
+
+    if (initialized) {
+        return; // fast track
+    }
 
     {
         static std::mutex           mutex;
@@ -70,10 +107,10 @@ static void ggml_backend_remoting_reg_init_devices(ggml_backend_reg_t reg) {
         if (!initialized) {
             for (int i = 0; i < ggml_backend_remoting_get_device_count(); i++) {
                 ggml_backend_remoting_device_context * ctx       = new ggml_backend_remoting_device_context;
-                char                                   desc[256] = "API Remoting device";
+                char                                   desc[256] = "ggml-virtgpu API Remoting device";
 
                 ctx->device      = i;
-                ctx->name        = GGML_REMOTING_FRONTEND_NAME + std::to_string(i);
+                ctx->name        = GGML_VIRTGPU_NAME + std::to_string(i);
                 ctx->description = desc;
                 ctx->gpu         = gpu;
 
@@ -98,7 +135,7 @@ static ggml_backend_dev_t ggml_backend_remoting_reg_get_device(ggml_backend_reg_
 static const char * ggml_backend_remoting_reg_get_name(ggml_backend_reg_t reg) {
     UNUSED(reg);
 
-    return GGML_REMOTING_FRONTEND_NAME;
+    return GGML_VIRTGPU_NAME;
 }
 
 static const ggml_backend_reg_i ggml_backend_remoting_reg_i = {
@@ -111,8 +148,7 @@ static const ggml_backend_reg_i ggml_backend_remoting_reg_i = {
 ggml_backend_reg_t ggml_backend_virtgpu_reg() {
     virtgpu * gpu = apir_initialize();
     if (!gpu) {
-        GGML_LOG_ERROR("virtgpu_apir_initialize failed\n");
-        return NULL;
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: virtgpu_apir_initialize failed\n", __func__);
     }
 
     static ggml_backend_reg reg = {
@@ -129,9 +165,25 @@ ggml_backend_reg_t ggml_backend_virtgpu_reg() {
 
     ggml_backend_remoting_reg_init_devices(®);
 
-    GGML_LOG_INFO("%s: initialized\n", __func__);
-
     return ®
 }
 
+// public function, not exposed in the GGML interface at the moment
+void ggml_virtgpu_cleanup(virtgpu * gpu) {
+    if (gpu->cached_device_info.name) {
+        free(gpu->cached_device_info.name);
+        gpu->cached_device_info.name = NULL;
+    }
+    if (gpu->cached_device_info.description) {
+        free(gpu->cached_device_info.description);
+        gpu->cached_device_info.description = NULL;
+    }
+    if (gpu->cached_buffer_type.name) {
+        free(gpu->cached_buffer_type.name);
+        gpu->cached_buffer_type.name = NULL;
+    }
+
+    mtx_destroy(&gpu->data_shmem_mutex);
+}
+
 GGML_BACKEND_DL_IMPL(ggml_backend_virtgpu_reg)
diff --git a/ggml/src/ggml-virtgpu/ggml-remoting.h b/ggml/src/ggml-virtgpu/ggml-remoting.h
index 36fc6b2a7b..0876640867 100644
--- a/ggml/src/ggml-virtgpu/ggml-remoting.h
+++ b/ggml/src/ggml-virtgpu/ggml-remoting.h
@@ -8,6 +8,9 @@
 #include 
 #include 
 
+#define GGML_VIRTGPU_NAME "ggml-virtgpu"
+#define GGML_VIRTGPU "ggml-virtgpu: "
+
 // USE_ALWAYS_TRUE_SUPPORTS_OP: 1 is fast, 0 avoid micro-benchmark crashes
 
 #define USE_ALWAYS_TRUE_SUPPORTS_OP 1
@@ -62,7 +65,7 @@ static inline apir_buffer_type_host_handle_t ggml_buffer_type_to_apir_handle(ggm
 
 static inline apir_buffer_host_handle_t ggml_buffer_to_apir_handle(ggml_backend_buffer_t buffer) {
     if (!buffer->context) {
-        GGML_ABORT("%s: no context available :/", __func__);
+        GGML_ABORT(GGML_VIRTGPU "%s: no context available :/", __func__);
     }
     return BUFFER_TO_HOST_HANDLE(buffer);
 }
diff --git a/ggml/src/ggml-virtgpu/ggmlremoting_functions.yaml b/ggml/src/ggml-virtgpu/ggmlremoting_functions.yaml
index 0b7cccfe9c..14ef2433e4 100644
--- a/ggml/src/ggml-virtgpu/ggmlremoting_functions.yaml
+++ b/ggml/src/ggml-virtgpu/ggmlremoting_functions.yaml
@@ -24,10 +24,10 @@ functions:
         frontend_return: "int"
 
       get_name:
-        frontend_return: "const char *"
+        frontend_return: "char *"
 
       get_description:
-        frontend_return: "const char *"
+        frontend_return: "char *"
 
       get_type:
         frontend_return: "uint32_t"
@@ -64,35 +64,33 @@ functions:
     group_description: "buffer-type"
     functions:
       get_name:
-        frontend_return: "const char *"
+        frontend_return: "char *"
         frontend_extra_params:
-        - "ggml_backend_buffer_type_t buft"
+        - "apir_buffer_type_host_handle_t host_handle"
 
       get_alignment:
         frontend_return: "size_t"
         frontend_extra_params:
-        - "ggml_backend_buffer_type_t buft"
+        - "apir_buffer_type_host_handle_t host_handle"
 
       get_max_size:
         frontend_return: "size_t"
         frontend_extra_params:
-        - "ggml_backend_buffer_type_t buft"
+        - "apir_buffer_type_host_handle_t host_handle"
 
       is_host:
-        frontend_return: "bool"
-        frontend_extra_params:
-        - "ggml_backend_buffer_type_t buft"
+        deprecated: true
 
       alloc_buffer:
         frontend_return: "apir_buffer_context_t"
         frontend_extra_params:
-        - "ggml_backend_buffer_type_t buffer_buft"
+        - "apir_buffer_type_host_handle_t host_handle"
         - "size_t size"
 
       get_alloc_size:
         frontend_return: "size_t"
         frontend_extra_params:
-        - "ggml_backend_buffer_type_t buft"
+        - "apir_buffer_type_host_handle_t host_handle"
         - "const ggml_tensor *op"
 
   buffer:
diff --git a/ggml/src/ggml-virtgpu/regenerate_remoting.py b/ggml/src/ggml-virtgpu/regenerate_remoting.py
index 4174a24327..aeb48a4087 100755
--- a/ggml/src/ggml-virtgpu/regenerate_remoting.py
+++ b/ggml/src/ggml-virtgpu/regenerate_remoting.py
@@ -116,7 +116,7 @@ class RemotingCodebaseGenerator:
                         'frontend_return': func_metadata.get('frontend_return', 'void'),
                         'frontend_extra_params': func_metadata.get('frontend_extra_params', []),
                         'group_description': group_description,
-                        'newly_added': func_metadata.get('newly_added', False)
+                        'deprecated': func_metadata.get('deprecated', False),
                     })
                     enum_value += 1
 
@@ -165,6 +165,9 @@ class RemotingCodebaseGenerator:
 
             signature = "uint32_t"
             params = "apir_encoder *enc, apir_decoder *dec, virgl_apir_context *ctx"
+            if func['deprecated']:
+                decl_lines.append(f"/* {func['enum_name']} is deprecated. Keeping the handler for backward compatibility. */")
+
             decl_lines.append(f"{signature} {func['backend_function']}({params});")
 
         # Switch cases
@@ -176,7 +179,9 @@ class RemotingCodebaseGenerator:
                 switch_lines.append(f"  /* {func['group_description']} */")
                 current_group = func['group_name']
 
-            switch_lines.append(f"  case {func['enum_name']}: return \"{func['backend_function']}\";")
+            deprecated = " (DEPRECATED)" if func['deprecated'] else ""
+
+            switch_lines.append(f"  case {func['enum_name']}: return \"{func['backend_function']}{deprecated}\";")
 
         # Dispatch table
         table_lines = []
@@ -188,7 +193,8 @@ class RemotingCodebaseGenerator:
                 table_lines.append("")
                 current_group = func['group_name']
 
-            table_lines.append(f"  /* {func['enum_name']}  = */ {func['backend_function']},")
+            deprecated = " /* DEPRECATED */" if func['deprecated'] else ""
+            table_lines.append(f"  /* {func['enum_name']}  = */ {func['backend_function']}{deprecated},")
 
         header_content = f'''\
 #pragma once
@@ -225,6 +231,10 @@ static const backend_dispatch_t apir_backend_dispatch_table[APIR_BACKEND_DISPATC
                 decl_lines.append(f"/* {func['group_description']} */")
                 current_group = func['group_name']
 
+            if func['deprecated']:
+                decl_lines.append(f"/* {func['frontend_function']} is deprecated. */")
+                continue
+
             # Build parameter list
             params = [self.naming_patterns['frontend_base_param']]
             params.extend(func['frontend_extra_params'])
@@ -287,7 +297,7 @@ static const backend_dispatch_t apir_backend_dispatch_table[APIR_BACKEND_DISPATC
         generated_files = [apir_backend_path, backend_dispatched_path, virtgpu_forward_path]
 
         if not self.clang_format_available:
-            logging.warning("\n⚠️clang-format not found in PATH. Generated files will not be formatted."
+            logging.warning("\n⚠️clang-format not found in PATH. Generated files will not be formatted.\n"
                             "   Install clang-format to enable automatic code formatting.")
         else:
             logging.info("\n🎨 Formatting files with clang-format...")
diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp b/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp
index bf3c41011a..07d9a66849 100644
--- a/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp
+++ b/ggml/src/ggml-virtgpu/virtgpu-forward-backend.cpp
@@ -18,12 +18,17 @@ ggml_status apir_backend_graph_compute(virtgpu * gpu, ggml_cgraph * cgraph) {
 
     virtgpu_shmem   temp_shmem;  // Local storage for large buffers
     virtgpu_shmem * shmem = &temp_shmem;
+    bool using_shared_shmem = false;
 
     if (cgraph_size <= gpu->data_shmem.mmap_size) {
-        // prefer the init-time allocated page, if large enough
+        // Lock mutex before using shared data_shmem buffer
+        if (mtx_lock(&gpu->data_shmem_mutex) != thrd_success) {
+            GGML_ABORT(GGML_VIRTGPU "%s: Failed to lock data_shmem mutex", __func__);
+        }
+        using_shared_shmem = true;
         shmem = &gpu->data_shmem;
     } else if (virtgpu_shmem_create(gpu, cgraph_size, shmem)) {
-        GGML_ABORT("Couldn't allocate the guest-host shared buffer");
+        GGML_ABORT(GGML_VIRTGPU "%s: Couldn't allocate the guest-host shared buffer", __func__);
     }
 
     apir_encode_virtgpu_shmem_res_id(encoder, shmem->res_id);
@@ -42,7 +47,10 @@ ggml_status apir_backend_graph_compute(virtgpu * gpu, ggml_cgraph * cgraph) {
 
     remote_call_finish(gpu, encoder, decoder);
 
-    if (shmem != &gpu->data_shmem) {
+    // Unlock mutex before cleanup
+    if (using_shared_shmem) {
+        mtx_unlock(&gpu->data_shmem_mutex);
+    } else {
         virtgpu_shmem_destroy(gpu, shmem);
     }
 
diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp b/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp
index 03cb09e064..cab74fd170 100644
--- a/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp
+++ b/ggml/src/ggml-virtgpu/virtgpu-forward-buffer-type.cpp
@@ -1,20 +1,20 @@
 #include "virtgpu-forward-impl.h"
 
-const char * apir_buffer_type_get_name(virtgpu * gpu, ggml_backend_buffer_type_t buft) {
+char * apir_buffer_type_get_name(virtgpu * gpu, apir_buffer_type_host_handle_t host_handle) {
     apir_encoder *        encoder;
     apir_decoder *        decoder;
     ApirForwardReturnCode ret;
 
     REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_GET_NAME);
 
-    apir_encode_ggml_buffer_type(encoder, buft);
+    apir_encode_apir_buffer_type_host_handle(encoder, host_handle);
 
     REMOTE_CALL(gpu, encoder, decoder, ret);
 
     const size_t string_size = apir_decode_array_size_unchecked(decoder);
     char *       string      = (char *) apir_decoder_alloc_array(sizeof(char), string_size);
     if (!string) {
-        GGML_LOG_ERROR("%s: Could not allocate the device name buffer\n", __func__);
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: Could not allocate the device name buffer\n", __func__);
         apir_decoder_set_fatal(decoder);
     }
     apir_decode_char_array(decoder, string, string_size);
@@ -24,14 +24,14 @@ const char * apir_buffer_type_get_name(virtgpu * gpu, ggml_backend_buffer_type_t
     return string;
 }
 
-size_t apir_buffer_type_get_alignment(virtgpu * gpu, ggml_backend_buffer_type_t buft) {
+size_t apir_buffer_type_get_alignment(virtgpu * gpu, apir_buffer_type_host_handle_t host_handle) {
     apir_encoder *        encoder;
     apir_decoder *        decoder;
     ApirForwardReturnCode ret;
 
     REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALIGNMENT);
 
-    apir_encode_ggml_buffer_type(encoder, buft);
+    apir_encode_apir_buffer_type_host_handle(encoder, host_handle);
 
     REMOTE_CALL(gpu, encoder, decoder, ret);
 
@@ -43,14 +43,14 @@ size_t apir_buffer_type_get_alignment(virtgpu * gpu, ggml_backend_buffer_type_t
     return alignment;
 }
 
-size_t apir_buffer_type_get_max_size(virtgpu * gpu, ggml_backend_buffer_type_t buft) {
+size_t apir_buffer_type_get_max_size(virtgpu * gpu, apir_buffer_type_host_handle_t host_handle) {
     apir_encoder *        encoder;
     apir_decoder *        decoder;
     ApirForwardReturnCode ret;
 
     REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_GET_MAX_SIZE);
 
-    apir_encode_ggml_buffer_type(encoder, buft);
+    apir_encode_apir_buffer_type_host_handle(encoder, host_handle);
 
     REMOTE_CALL(gpu, encoder, decoder, ret);
 
@@ -62,26 +62,7 @@ size_t apir_buffer_type_get_max_size(virtgpu * gpu, ggml_backend_buffer_type_t b
     return max_size;
 }
 
-bool apir_buffer_type_is_host(virtgpu * gpu, ggml_backend_buffer_type_t buft) {
-    apir_encoder *        encoder;
-    apir_decoder *        decoder;
-    ApirForwardReturnCode ret;
-
-    REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_IS_HOST);
-
-    apir_encode_ggml_buffer_type(encoder, buft);
-
-    REMOTE_CALL(gpu, encoder, decoder, ret);
-
-    bool is_host;
-    apir_decode_bool_t(decoder, &is_host);
-
-    remote_call_finish(gpu, encoder, decoder);
-
-    return is_host;
-}
-
-apir_buffer_context_t apir_buffer_type_alloc_buffer(virtgpu * gpu, ggml_backend_buffer_type_t buft, size_t size) {
+apir_buffer_context_t apir_buffer_type_alloc_buffer(virtgpu * gpu, apir_buffer_type_host_handle_t host_handle, size_t size) {
     apir_encoder *        encoder;
     apir_decoder *        decoder;
     ApirForwardReturnCode ret;
@@ -90,7 +71,7 @@ apir_buffer_context_t apir_buffer_type_alloc_buffer(virtgpu * gpu, ggml_backend_
 
     REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_ALLOC_BUFFER);
 
-    apir_encode_ggml_buffer_type(encoder, buft);
+    apir_encode_apir_buffer_type_host_handle(encoder, host_handle);
 
     apir_encode_size_t(encoder, &size);
 
@@ -103,14 +84,14 @@ apir_buffer_context_t apir_buffer_type_alloc_buffer(virtgpu * gpu, ggml_backend_
     return buffer_context;
 }
 
-size_t apir_buffer_type_get_alloc_size(virtgpu * gpu, ggml_backend_buffer_type_t buft, const ggml_tensor * op) {
+size_t apir_buffer_type_get_alloc_size(virtgpu * gpu, apir_buffer_type_host_handle_t host_handle, const ggml_tensor * op) {
     apir_encoder *        encoder;
     apir_decoder *        decoder;
     ApirForwardReturnCode ret;
 
     REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_BUFFER_TYPE_GET_ALLOC_SIZE);
 
-    apir_encode_ggml_buffer_type(encoder, buft);
+    apir_encode_apir_buffer_type_host_handle(encoder, host_handle);
 
     apir_encode_ggml_tensor_inline(encoder, op);
 
diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp b/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp
index 3181e39440..86eee358cf 100644
--- a/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp
+++ b/ggml/src/ggml-virtgpu/virtgpu-forward-buffer.cpp
@@ -36,13 +36,18 @@ void apir_buffer_set_tensor(virtgpu *               gpu,
 
     virtgpu_shmem   temp_shmem;  // Local storage for large buffers
     virtgpu_shmem * shmem = &temp_shmem;
+    bool using_shared_shmem = false;
 
     if (size <= gpu->data_shmem.mmap_size) {
-        // prefer the init-time allocated page, if large enough
+        // Lock mutex before using shared data_shmem buffer
+        if (mtx_lock(&gpu->data_shmem_mutex) != thrd_success) {
+            GGML_ABORT(GGML_VIRTGPU "%s: Failed to lock data_shmem mutex", __func__);
+        }
+        using_shared_shmem = true;
         shmem = &gpu->data_shmem;
 
     } else if (virtgpu_shmem_create(gpu, size, shmem)) {
-        GGML_ABORT("Couldn't allocate the guest-host shared buffer");
+        GGML_ABORT(GGML_VIRTGPU "%s: Couldn't allocate the guest-host shared buffer", __func__);
     }
 
     memcpy(shmem->mmap_ptr, data, size);
@@ -55,7 +60,10 @@ void apir_buffer_set_tensor(virtgpu *               gpu,
 
     remote_call_finish(gpu, encoder, decoder);
 
-    if (shmem != &gpu->data_shmem) {
+    // Unlock mutex before cleanup
+    if (using_shared_shmem) {
+        mtx_unlock(&gpu->data_shmem_mutex);
+    } else {
         virtgpu_shmem_destroy(gpu, shmem);
     }
 
@@ -79,13 +87,18 @@ void apir_buffer_get_tensor(virtgpu *               gpu,
 
     virtgpu_shmem   temp_shmem;  // Local storage for large buffers
     virtgpu_shmem * shmem = &temp_shmem;
+    bool using_shared_shmem = false;
 
     if (size <= gpu->data_shmem.mmap_size) {
-        // prefer the init-time allocated page, if large enough
+        // Lock mutex before using shared data_shmem buffer
+        if (mtx_lock(&gpu->data_shmem_mutex) != thrd_success) {
+            GGML_ABORT(GGML_VIRTGPU "%s: Failed to lock data_shmem mutex", __func__);
+        }
+        using_shared_shmem = true;
         shmem = &gpu->data_shmem;
 
     } else if (virtgpu_shmem_create(gpu, size, shmem)) {
-        GGML_ABORT("Couldn't allocate the guest-host shared buffer");
+        GGML_ABORT(GGML_VIRTGPU "%s: Couldn't allocate the guest-host shared buffer", __func__);
     }
 
     apir_encode_virtgpu_shmem_res_id(encoder, shmem->res_id);
@@ -98,7 +111,10 @@ void apir_buffer_get_tensor(virtgpu *               gpu,
 
     remote_call_finish(gpu, encoder, decoder);
 
-    if (shmem != &gpu->data_shmem) {
+    // Unlock mutex before cleanup
+    if (using_shared_shmem) {
+        mtx_unlock(&gpu->data_shmem_mutex);
+    } else {
         virtgpu_shmem_destroy(gpu, shmem);
     }
 }
diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp b/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp
index 3e45e55bdc..4b6b8f527b 100644
--- a/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp
+++ b/ggml/src/ggml-virtgpu/virtgpu-forward-device.cpp
@@ -2,11 +2,6 @@
 #include "virtgpu-shm.h"
 
 int apir_device_get_count(virtgpu * gpu) {
-    static int32_t dev_count = -1;
-    if (dev_count != -1) {
-        return dev_count;
-    }
-
     apir_encoder *        encoder;
     apir_decoder *        decoder;
     ApirForwardReturnCode ret;
@@ -14,6 +9,7 @@ int apir_device_get_count(virtgpu * gpu) {
     REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_GET_COUNT);
     REMOTE_CALL(gpu, encoder, decoder, ret);
 
+    int32_t dev_count = -1;
     apir_decode_int32_t(decoder, &dev_count);
 
     remote_call_finish(gpu, encoder, decoder);
@@ -21,11 +17,7 @@ int apir_device_get_count(virtgpu * gpu) {
     return dev_count;
 }
 
-const char * apir_device_get_name(virtgpu * gpu) {
-    static char * string = nullptr;
-    if (string) {
-        return string;
-    }
+char * apir_device_get_name(virtgpu * gpu) {
     apir_encoder *        encoder;
     apir_decoder *        decoder;
     ApirForwardReturnCode ret;
@@ -34,9 +26,9 @@ const char * apir_device_get_name(virtgpu * gpu) {
     REMOTE_CALL(gpu, encoder, decoder, ret);
 
     const size_t string_size = apir_decode_array_size_unchecked(decoder);
-    string                   = (char *) apir_decoder_alloc_array(sizeof(char), string_size);
+    char            * string = (char *) apir_decoder_alloc_array(sizeof(char), string_size);
     if (!string) {
-        GGML_LOG_ERROR("%s: Could not allocate the device name buffer\n", __func__);
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: Could not allocate the device name buffer\n", __func__);
         return NULL;
     }
     apir_decode_char_array(decoder, string, string_size);
@@ -46,7 +38,7 @@ const char * apir_device_get_name(virtgpu * gpu) {
     return string;
 }
 
-const char * apir_device_get_description(virtgpu * gpu) {
+char * apir_device_get_description(virtgpu * gpu) {
     apir_encoder *        encoder;
     apir_decoder *        decoder;
     ApirForwardReturnCode ret;
@@ -58,7 +50,7 @@ const char * apir_device_get_description(virtgpu * gpu) {
     const size_t string_size = apir_decode_array_size_unchecked(decoder);
     char *       string      = (char *) apir_decoder_alloc_array(sizeof(char), string_size);
     if (!string) {
-        GGML_LOG_ERROR("%s: Could not allocate the device description buffer\n", __func__);
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: Could not allocate the device description buffer\n", __func__);
 
         return NULL;
     }
@@ -181,7 +173,7 @@ apir_buffer_context_t apir_device_buffer_from_ptr(virtgpu * gpu, size_t size, si
     REMOTE_CALL_PREPARE(gpu, encoder, APIR_COMMAND_TYPE_DEVICE_BUFFER_FROM_PTR);
 
     if (virtgpu_shmem_create(gpu, size, &buffer_context.shmem)) {
-        GGML_ABORT("Couldn't allocate the guest-host shared buffer");
+        GGML_ABORT(GGML_VIRTGPU "Couldn't allocate the guest-host shared buffer");
     }
 
     apir_encode_virtgpu_shmem_res_id(encoder, buffer_context.shmem.res_id);
diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h b/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h
index eea3e7e5a9..f23c75bb96 100644
--- a/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h
+++ b/ggml/src/ggml-virtgpu/virtgpu-forward-impl.h
@@ -11,7 +11,7 @@
         int32_t forward_flag = (int32_t) apir_command_type__;                                              \
         encoder_name         = remote_call_prepare(gpu_dev_name, APIR_COMMAND_TYPE_FORWARD, forward_flag); \
         if (!encoder_name) {                                                                               \
-            GGML_ABORT("%s: failed to prepare the remote call encoder", __func__);                       \
+            GGML_ABORT(GGML_VIRTGPU "%s: failed to prepare the remote call encoder", __func__);                       \
         }                                                                                                  \
     } while (0)
 
@@ -19,10 +19,10 @@
     do {                                                                                                          \
         ret_name = (ApirForwardReturnCode) remote_call(gpu_dev_name, encoder_name, &decoder_name, 0, NULL);       \
         if (!decoder_name) {                                                                                      \
-            GGML_ABORT("%s: failed to kick the remote call", __func__);                                         \
+            GGML_ABORT(GGML_VIRTGPU "%s: failed to kick the remote call", __func__);                                         \
         }                                                                                                         \
         if (ret_name < APIR_FORWARD_BASE_INDEX) {                                                                 \
-            GGML_ABORT("%s: failed to forward the API call: %s: code %d", __func__,                             \
+            GGML_ABORT(GGML_VIRTGPU "%s: failed to forward the API call: %s: code %d", __func__,                             \
                        apir_forward_error(ret_name), ret_name);                                                   \
         }                                                                                                         \
         ret_name = (ApirForwardReturnCode) (ret_name - APIR_FORWARD_BASE_INDEX);                                  \
diff --git a/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h b/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h
index c27c07f086..fe4cae2025 100644
--- a/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h
+++ b/ggml/src/ggml-virtgpu/virtgpu-forward.gen.h
@@ -3,8 +3,8 @@
 /* device */
 void                           apir_device_get_device_count(struct virtgpu * gpu);
 int                            apir_device_get_count(struct virtgpu * gpu);
-const char *                   apir_device_get_name(struct virtgpu * gpu);
-const char *                   apir_device_get_description(struct virtgpu * gpu);
+char *                         apir_device_get_name(struct virtgpu * gpu);
+char *                         apir_device_get_description(struct virtgpu * gpu);
 uint32_t                       apir_device_get_type(struct virtgpu * gpu);
 void                           apir_device_get_memory(struct virtgpu * gpu, size_t * free, size_t * total);
 bool                           apir_device_supports_op(struct virtgpu * gpu, const ggml_tensor * op);
@@ -17,14 +17,15 @@ void                           apir_device_get_props(struct virtgpu * gpu,
 apir_buffer_context_t          apir_device_buffer_from_ptr(struct virtgpu * gpu, size_t size, size_t max_tensor_size);
 
 /* buffer-type */
-const char *          apir_buffer_type_get_name(struct virtgpu * gpu, ggml_backend_buffer_type_t buft);
-size_t                apir_buffer_type_get_alignment(struct virtgpu * gpu, ggml_backend_buffer_type_t buft);
-size_t                apir_buffer_type_get_max_size(struct virtgpu * gpu, ggml_backend_buffer_type_t buft);
-bool                  apir_buffer_type_is_host(struct virtgpu * gpu, ggml_backend_buffer_type_t buft);
-apir_buffer_context_t apir_buffer_type_alloc_buffer(struct virtgpu *           gpu,
-                                                    ggml_backend_buffer_type_t buffer_buft,
-                                                    size_t                     size);
-size_t apir_buffer_type_get_alloc_size(struct virtgpu * gpu, ggml_backend_buffer_type_t buft, const ggml_tensor * op);
+char *                apir_buffer_type_get_name(struct virtgpu * gpu, apir_buffer_type_host_handle_t host_handle);
+size_t                apir_buffer_type_get_alignment(struct virtgpu * gpu, apir_buffer_type_host_handle_t host_handle);
+size_t                apir_buffer_type_get_max_size(struct virtgpu * gpu, apir_buffer_type_host_handle_t host_handle);
+apir_buffer_context_t apir_buffer_type_alloc_buffer(struct virtgpu *               gpu,
+                                                    apir_buffer_type_host_handle_t host_handle,
+                                                    size_t                         size);
+size_t                apir_buffer_type_get_alloc_size(struct virtgpu *               gpu,
+                                                      apir_buffer_type_host_handle_t host_handle,
+                                                      const ggml_tensor *            op);
 
 /* buffer */
 void * apir_buffer_get_base(struct virtgpu * gpu, apir_buffer_context_t * buffer_context);
diff --git a/ggml/src/ggml-virtgpu/virtgpu-shm.cpp b/ggml/src/ggml-virtgpu/virtgpu-shm.cpp
index 4def405a62..ce6b3b3e60 100644
--- a/ggml/src/ggml-virtgpu/virtgpu-shm.cpp
+++ b/ggml/src/ggml-virtgpu/virtgpu-shm.cpp
@@ -85,8 +85,7 @@ int virtgpu_shmem_create(virtgpu * gpu, size_t size, virtgpu_shmem * shmem) {
     void * ptr = virtgpu_ioctl_map(gpu, gem_handle, size);
     if (!ptr) {
         virtgpu_ioctl_gem_close(gpu, gem_handle);
-        GGML_LOG_ERROR("virtgpu_ioctl_map FAILED\n");
-        exit(1);
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: virtgpu_ioctl_map failed\n", __func__);
         return 1;
     }
 
diff --git a/ggml/src/ggml-virtgpu/virtgpu.cpp b/ggml/src/ggml-virtgpu/virtgpu.cpp
index 005c8e21db..1e650dc65b 100644
--- a/ggml/src/ggml-virtgpu/virtgpu.cpp
+++ b/ggml/src/ggml-virtgpu/virtgpu.cpp
@@ -33,7 +33,7 @@ static int virtgpu_handshake(virtgpu * gpu) {
 
     encoder = remote_call_prepare(gpu, APIR_COMMAND_TYPE_HANDSHAKE, 0);
     if (!encoder) {
-        GGML_ABORT("%s: failed to prepare the remote call encoder", __func__);
+        GGML_ABORT(GGML_VIRTGPU "%s: failed to prepare the remote call encoder", __func__);
         return 1;
     }
 
@@ -52,7 +52,7 @@ static int virtgpu_handshake(virtgpu * gpu) {
     log_call_duration(call_duration_ns, "API Remoting handshake");
 
     if (!decoder) {
-        GGML_ABORT(
+        GGML_ABORT(GGML_VIRTGPU
             "%s: failed to initiate the communication with the virglrenderer library. "
             "Most likely, the wrong virglrenderer library was loaded in the hypervisor.",
             __func__);
@@ -65,7 +65,8 @@ static int virtgpu_handshake(virtgpu * gpu) {
     uint32_t host_minor;
 
     if (ret_magic != APIR_HANDSHAKE_MAGIC) {
-        GGML_ABORT("%s: handshake with the virglrenderer failed (code=%d | %s)", __func__, ret_magic,
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: handshake with the virglrenderer failed (code=%d | %s)", __func__, ret_magic,
                    apir_backend_initialize_error(ret_magic));
     } else {
         apir_decode_uint32_t(decoder, &host_major);
@@ -78,13 +79,13 @@ static int virtgpu_handshake(virtgpu * gpu) {
         return 1;
     }
 
-    GGML_LOG_INFO("%s: Guest is running with %u.%u\n", __func__, guest_major, guest_minor);
-    GGML_LOG_INFO("%s: Host is running with %u.%u\n", __func__, host_major, host_minor);
+    GGML_LOG_INFO(GGML_VIRTGPU "%s: Guest is running with %u.%u\n", __func__, guest_major, guest_minor);
+    GGML_LOG_INFO(GGML_VIRTGPU "%s: Host is running with %u.%u\n", __func__, host_major, host_minor);
 
     if (guest_major != host_major) {
-        GGML_LOG_ERROR("Host major (%d) and guest major (%d) version differ\n", host_major, guest_major);
+        GGML_LOG_ERROR(GGML_VIRTGPU "Host major (%d) and guest major (%d) version differ\n", host_major, guest_major);
     } else if (guest_minor != host_minor) {
-        GGML_LOG_WARN("Host minor (%d) and guest minor (%d) version differ\n", host_minor, guest_minor);
+        GGML_LOG_WARN(GGML_VIRTGPU "Host minor (%d) and guest minor (%d) version differ\n", host_minor, guest_minor);
     }
 
     return 0;
@@ -97,7 +98,7 @@ static ApirLoadLibraryReturnCode virtgpu_load_library(virtgpu * gpu) {
 
     encoder = remote_call_prepare(gpu, APIR_COMMAND_TYPE_LOADLIBRARY, 0);
     if (!encoder) {
-        GGML_ABORT("%s: hypercall error: failed to prepare the remote call encoder", __func__);
+        GGML_ABORT(GGML_VIRTGPU "%s: hypercall error: failed to prepare the API Remoting command encoder", __func__);
         return APIR_LOAD_LIBRARY_HYPERCALL_INITIALIZATION_ERROR;
     }
 
@@ -108,36 +109,67 @@ static ApirLoadLibraryReturnCode virtgpu_load_library(virtgpu * gpu) {
     log_call_duration(call_duration_ns, "API Remoting LoadLibrary");
 
     if (!decoder) {
-        GGML_ABORT("%s: hypercall error: failed to kick the API remoting hypercall.\n", __func__);
+        GGML_ABORT(GGML_VIRTGPU "%s: hypercall error: failed to trigger the API Remoting hypercall.\n", __func__);
         return APIR_LOAD_LIBRARY_HYPERCALL_INITIALIZATION_ERROR;
     }
 
     remote_call_finish(gpu, encoder, decoder);
 
     if (ret == APIR_LOAD_LIBRARY_SUCCESS) {
-        GGML_LOG_INFO("%s: The API Remoting backend was successfully loaded and initialized\n", __func__);
+        GGML_LOG_INFO(GGML_VIRTGPU "The API Remoting backend was successfully loaded and initialized\n");
 
         return ret;
     }
 
     // something wrong happened, find out what.
-
     if (ret < APIR_LOAD_LIBRARY_INIT_BASE_INDEX) {
-        GGML_ABORT("%s: virglrenderer could not load the API Remoting backend library: %s (code %d)", __func__,
-                   apir_load_library_error(ret), ret);
+        if (ret == APIR_LOAD_LIBRARY_ENV_VAR_MISSING) {
+            GGML_ABORT(GGML_VIRTGPU
+                       "%s: virglrenderer could not open the API Remoting backend library, "
+                       "some environment variables are missing. "
+                       "Make sure virglrenderer is correctly configured by the hypervisor. (%s)",
+                       __func__, apir_load_library_error(ret));
+        } else if (ret == APIR_LOAD_LIBRARY_CANNOT_OPEN) {
+            GGML_ABORT(GGML_VIRTGPU
+                       "%s: virglrenderer could not open the API Remoting backend library. "
+                       "Make sure virglrenderer is correctly configured by the hypervisor. (%s)",
+                       __func__, apir_load_library_error(ret));
+        } else if (ret == APIR_LOAD_LIBRARY_ENV_VAR_MISSING) {
+            GGML_ABORT(GGML_VIRTGPU
+                       "%s: could not load the backend library, some symbols are missing. "
+                       "Make sure virglrenderer is correctly configured by the hypervisor. (%s) ",
+                       __func__, apir_load_library_error(ret));
+        } else {
+            GGML_ABORT(GGML_VIRTGPU
+                       "%s: virglrenderer could not load the API Remoting backend library. (%s - code %d)", __func__,
+                       apir_load_library_error(ret), ret);
+        }
         return ret;
     }
 
-    GGML_LOG_INFO("%s: virglrenderer successfully loaded the API Remoting backend library", __func__);
+    GGML_LOG_INFO(GGML_VIRTGPU
+                  "%s: virglrenderer successfully loaded the API Remoting backend library.\n", __func__);
 
     ApirLoadLibraryReturnCode apir_ret = (ApirLoadLibraryReturnCode) (ret - APIR_LOAD_LIBRARY_INIT_BASE_INDEX);
 
-    if (apir_ret < APIR_LOAD_LIBRARY_INIT_BASE_INDEX) {
-        GGML_ABORT("%s: the API Remoting backend library couldn't load the backend library: apir code=%d | %s)",
+    if (apir_ret == APIR_LOAD_LIBRARY_CANNOT_OPEN) {
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: the API Remoting backend library couldn't load the GGML backend library. "
+                   "Make sure virglrenderer is correctly configured by the hypervisor. (%s)",
+                   __func__, apir_load_library_error(apir_ret));
+    } else if (apir_ret == APIR_LOAD_LIBRARY_SYMBOL_MISSING) {
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: the API Remoting backend library couldn't load the GGML backend library, some symbols are missing. "
+                   "Make sure virglrenderer is correctly configured by the hypervisor. (%s)",
+                   __func__, apir_load_library_error(apir_ret));
+    } else if (apir_ret < APIR_LOAD_LIBRARY_INIT_BASE_INDEX) {
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: the API Remoting backend library couldn't load the GGML backend library: apir code=%d | %s)",
                    __func__, apir_ret, apir_load_library_error(apir_ret));
     } else {
         uint32_t lib_ret = apir_ret - APIR_LOAD_LIBRARY_INIT_BASE_INDEX;
-        GGML_ABORT("%s: the API Remoting backend library initialize its backend library: apir code=%d)", __func__,
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: the API Remoting backend library initialize its backend library: apir code=%d)", __func__,
                    lib_ret);
     }
     return ret;
@@ -149,38 +181,58 @@ virtgpu * create_virtgpu() {
     gpu->use_apir_capset = getenv("GGML_REMOTING_USE_APIR_CAPSET") != nullptr;
     util_sparse_array_init(&gpu->shmem_array, sizeof(virtgpu_shmem), 1024);
 
+    // Initialize mutex to protect shared data_shmem buffer
+    if (mtx_init(&gpu->data_shmem_mutex, mtx_plain) != thrd_success) {
+        delete gpu;
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: failed to initialize data_shmem mutex", __func__);
+        return NULL;
+    }
+
     if (virtgpu_open(gpu) != APIR_SUCCESS) {
-        GGML_ABORT("%s: failed to open the virtgpu device", __func__);
+        GGML_LOG_ERROR(GGML_VIRTGPU
+                       "%s: failed to open the virtgpu device\n", __func__);
         return NULL;
     }
 
     if (virtgpu_init_capset(gpu) != APIR_SUCCESS) {
-        GGML_ABORT("%s: failed to initialize the GPU capset", __func__);
+        if (gpu->use_apir_capset) {
+            GGML_ABORT(GGML_VIRTGPU
+                       "%s: failed to initialize the virtgpu APIR capset. Make sure that the virglrenderer library supports it.", __func__);
+        } else {
+            GGML_ABORT(GGML_VIRTGPU
+                       "%s: failed to initialize the virtgpu Venus capset", __func__);
+        }
         return NULL;
     }
 
     if (virtgpu_init_context(gpu) != APIR_SUCCESS) {
-        GGML_ABORT("%s: failed to initialize the GPU context", __func__);
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: failed to initialize the GPU context", __func__);
         return NULL;
     }
 
     if (virtgpu_shmem_create(gpu, SHMEM_REPLY_SIZE, &gpu->reply_shmem)) {
-        GGML_ABORT("%s: failed to create the shared reply memory pages", __func__);
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: failed to create the shared reply memory pages", __func__);
         return NULL;
     }
 
     if (virtgpu_shmem_create(gpu, SHMEM_DATA_SIZE, &gpu->data_shmem)) {
-        GGML_ABORT("%s: failed to create the shared data memory pages", __func__);
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: failed to create the shared data memory pages", __func__);
         return NULL;
     }
 
     if (virtgpu_handshake(gpu)) {
-        GGML_ABORT("%s: failed to handshake with the virglrenderer library", __func__);
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: failed to handshake with the virglrenderer library", __func__);
         return NULL;
     }
 
     if (virtgpu_load_library(gpu) != APIR_LOAD_LIBRARY_SUCCESS) {
-        GGML_ABORT("%s: failed to load the backend library", __func__);
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: failed to load the backend library", __func__);
         return NULL;
     }
 
@@ -191,7 +243,8 @@ static virt_gpu_result_t virtgpu_open(virtgpu * gpu) {
     drmDevicePtr devs[8];
     int          count = drmGetDevices2(0, devs, ARRAY_SIZE(devs));
     if (count < 0) {
-        GGML_LOG_ERROR("%s: failed to enumerate DRM devices\n", __func__);
+        GGML_LOG_ERROR(GGML_VIRTGPU
+                       "%s: failed to enumerate DRM devices\n", __func__);
         return APIR_ERROR_INITIALIZATION_FAILED;
     }
 
@@ -213,16 +266,19 @@ static virt_gpu_result_t virtgpu_open_device(virtgpu * gpu, const drmDevicePtr d
 
     int fd = open(node_path, O_RDWR | O_CLOEXEC);
     if (fd < 0) {
-        GGML_ABORT("failed to open %s", node_path);
+        GGML_ABORT(GGML_VIRTGPU
+                   "%s: failed to open %s", __func__, node_path);
         return APIR_ERROR_INITIALIZATION_FAILED;
     }
 
     drmVersionPtr version = drmGetVersion(fd);
     if (!version || strcmp(version->name, "virtio_gpu") || version->version_major != 0) {
         if (version) {
-            GGML_ABORT("unknown DRM driver %s version %d", version->name, version->version_major);
+            GGML_LOG_ERROR(GGML_VIRTGPU
+                           "%s: unknown DRM driver %s version %d\n", __func__, version->name, version->version_major);
         } else {
-            GGML_ABORT("failed to get DRM driver version");
+            GGML_LOG_ERROR(GGML_VIRTGPU
+                           "%s: failed to get DRM driver version\n", __func__);
         }
 
         if (version) {
@@ -236,7 +292,7 @@ static virt_gpu_result_t virtgpu_open_device(virtgpu * gpu, const drmDevicePtr d
 
     drmFreeVersion(version);
 
-    GGML_LOG_INFO("using DRM device %s\n", node_path);
+    GGML_LOG_INFO(GGML_VIRTGPU "using DRM device %s\n", node_path);
 
     return APIR_SUCCESS;
 }
@@ -245,7 +301,7 @@ static virt_gpu_result_t virtgpu_init_context(virtgpu * gpu) {
     assert(!gpu->capset.version);
     const int ret = virtgpu_ioctl_context_init(gpu, gpu->capset.id);
     if (ret) {
-        GGML_LOG_INFO("failed to initialize context: %s\n", strerror(errno));
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: failed to initialize context: %s\n", __func__, strerror(errno));
         return APIR_ERROR_INITIALIZATION_FAILED;
     }
 
@@ -254,10 +310,10 @@ static virt_gpu_result_t virtgpu_init_context(virtgpu * gpu) {
 
 static virt_gpu_result_t virtgpu_init_capset(virtgpu * gpu) {
     if (gpu->use_apir_capset) {
-        GGML_LOG_INFO("Using the APIR capset\n");
+        GGML_LOG_INFO(GGML_VIRTGPU "Using the APIR capset\n");
         gpu->capset.id = VIRTGPU_DRM_CAPSET_APIR;
     } else {
-        GGML_LOG_INFO("Using the Venus capset\n");
+        GGML_LOG_INFO(GGML_VIRTGPU "Using the Venus capset\n");
         gpu->capset.id = VIRTGPU_DRM_CAPSET_VENUS;
     }
     gpu->capset.version = 0;
@@ -266,7 +322,9 @@ static virt_gpu_result_t virtgpu_init_capset(virtgpu * gpu) {
         virtgpu_ioctl_get_caps(gpu, gpu->capset.id, gpu->capset.version, &gpu->capset.data, sizeof(gpu->capset.data));
 
     if (ret) {
-        GGML_LOG_INFO("failed to get APIR v%d capset: %s\n", gpu->capset.version, strerror(errno));
+        GGML_LOG_ERROR(GGML_VIRTGPU
+                       "%s: failed to get APIR v%d capset: %s\n",
+                       __func__, gpu->capset.version, strerror(errno));
         return APIR_ERROR_INITIALIZATION_FAILED;
     }
 
@@ -333,9 +391,9 @@ apir_encoder * remote_call_prepare(virtgpu * gpu, ApirCommandType apir_cmd_type,
      * Prepare the command encoder and its buffer
      */
 
-    static char encoder_buffer[4096];
+    thread_local char encoder_buffer[4096];
 
-    static apir_encoder enc;
+    thread_local apir_encoder enc;
     enc = {
         .cur   = encoder_buffer,
         .start = encoder_buffer,
@@ -369,19 +427,19 @@ void remote_call_finish(virtgpu * gpu, apir_encoder * enc, apir_decoder * dec) {
     UNUSED(gpu);
 
     if (!enc) {
-        GGML_LOG_ERROR("Invalid (null) encoder\n");
+        GGML_ABORT(GGML_VIRTGPU "%s: Invalid (null) encoder", __func__);
     }
 
     if (!dec) {
-        GGML_LOG_ERROR("Invalid (null) decoder\n");
+        GGML_ABORT(GGML_VIRTGPU "%s: Invalid (null) decoder", __func__);
     }
 
     if (apir_encoder_get_fatal(enc)) {
-        GGML_LOG_ERROR("Failed to encode the output parameters.\n");
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: Failed to encode the output parameters.", __func__);
     }
 
     if (apir_decoder_get_fatal(dec)) {
-        GGML_LOG_ERROR("Failed to decode the input parameters.\n");
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: Failed to decode the input parameters.", __func__);
     }
 }
 
@@ -423,7 +481,7 @@ uint32_t remote_call(virtgpu *       gpu,
     int ret = drmIoctl(gpu->fd, DRM_IOCTL_VIRTGPU_EXECBUFFER, &args);
 
     if (ret != 0) {
-        GGML_ABORT("%s: the virtgpu EXECBUFFER ioctl failed (%d)", __func__, ret);
+        GGML_ABORT(GGML_VIRTGPU "%s: the virtgpu EXECBUFFER ioctl failed (%d)", __func__, ret);
     }
 
     /*
@@ -467,7 +525,7 @@ uint32_t remote_call(virtgpu *       gpu,
     }
 
     if (max_wait_ms && timedout) {
-        GGML_LOG_ERROR("timed out waiting for the host answer...\n");
+        GGML_LOG_ERROR(GGML_VIRTGPU "%s: timed out waiting for the host answer...\n", __func__);
         return APIR_FORWARD_TIMEOUT;
     }
 
@@ -489,10 +547,13 @@ static void log_call_duration(long long call_duration_ns, const char * name) {
     double call_duration_s  = (double) call_duration_ns / 1e9;  // 1 second = 1e9 nanoseconds
 
     if (call_duration_s > 1) {
-        GGML_LOG_INFO("%s: waited %.2fs for the %s host reply...\n", __func__, call_duration_s, name);
+        GGML_LOG_INFO(GGML_VIRTGPU
+                      "waited %.2fs for the %s host reply...\n", call_duration_s, name);
     } else if (call_duration_ms > 1) {
-        GGML_LOG_INFO("%s: waited %.2fms for the %s host reply...\n", __func__, call_duration_ms, name);
+        GGML_LOG_INFO(GGML_VIRTGPU
+                      "waited %.2fms for the %s host reply...\n", call_duration_ms, name);
     } else {
-        GGML_LOG_INFO("%s: waited %lldns for the %s host reply...\n", __func__, call_duration_ns, name);
+        GGML_LOG_INFO(GGML_VIRTGPU
+                      "waited %lldns for the %s host reply...\n", call_duration_ns, name);
     }
 }
diff --git a/ggml/src/ggml-virtgpu/virtgpu.h b/ggml/src/ggml-virtgpu/virtgpu.h
index d4bb42e20b..68e0f3a376 100644
--- a/ggml/src/ggml-virtgpu/virtgpu.h
+++ b/ggml/src/ggml-virtgpu/virtgpu.h
@@ -17,6 +17,8 @@
 
 #include 
 
+#include "ggml-remoting.h"
+
 #define VIRGL_RENDERER_UNSTABLE_APIS 1
 #include "apir_hw.h"
 #include 
@@ -73,6 +75,27 @@ struct virtgpu {
     /* APIR communication pages */
     virtgpu_shmem reply_shmem;
     virtgpu_shmem data_shmem;
+
+    /* Mutex to protect shared data_shmem buffer from concurrent access */
+    mtx_t data_shmem_mutex;
+
+    /* Cached device information to prevent memory leaks and race conditions */
+    struct {
+        char *   description;
+        char *   name;
+        int32_t  device_count;
+        uint32_t type;
+        size_t   memory_free;
+        size_t   memory_total;
+    } cached_device_info;
+
+    /* Cached buffer type information to prevent memory leaks and race conditions */
+    struct {
+        apir_buffer_type_host_handle_t host_handle;
+        char *                         name;
+        size_t                         alignment;
+        size_t                         max_size;
+    } cached_buffer_type;
 };
 
 static inline int virtgpu_ioctl(virtgpu * gpu, unsigned long request, void * args) {

From 25f40ca65f1aa596f8b1702bbac4bc48a45b87d7 Mon Sep 17 00:00:00 2001
From: Daniel Bevenius 
Date: Wed, 4 Feb 2026 05:43:28 +0100
Subject: [PATCH 116/206] completion : simplify batch (embd) processing
 (#19286)

* completion : simplify batch (embd) processing

This commit simplifies the processing of embd by removing the for loop
that currently exists which uses params.n_batch as its increment. This
commit also removes the clamping of n_eval as the size of embd is always
at most the size of params.n_batch.

The motivation is to clarify the code as it is currently a little
confusing when looking at this for loop in isolation and thinking that
it can process multiple batches.

* add an assert to verify n_eval is not greater than n_batch
---
 tools/completion/completion.cpp | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/tools/completion/completion.cpp b/tools/completion/completion.cpp
index f368a2f4c6..977132756f 100644
--- a/tools/completion/completion.cpp
+++ b/tools/completion/completion.cpp
@@ -674,15 +674,12 @@ int main(int argc, char ** argv) {
                 }
             }
 
-            for (int i = 0; i < (int) embd.size(); i += params.n_batch) {
-                int n_eval = (int) embd.size() - i;
-                if (n_eval > params.n_batch) {
-                    n_eval = params.n_batch;
-                }
-
+            if (!embd.empty()) {
+                int n_eval = (int) embd.size();
                 LOG_DBG("eval: %s\n", string_from(ctx, embd).c_str());
 
-                if (llama_decode(ctx, llama_batch_get_one(&embd[i], n_eval))) {
+                GGML_ASSERT(n_eval <= params.n_batch);
+                if (llama_decode(ctx, llama_batch_get_one(embd.data(), n_eval))) {
                     LOG_ERR("%s : failed to eval\n", __func__);
                     return 1;
                 }
@@ -743,7 +740,7 @@ int main(int argc, char ** argv) {
                 common_sampler_accept(smpl, embd_inp[n_consumed], /* accept_grammar= */ false);
 
                 ++n_consumed;
-                if ((int) embd.size() >= params.n_batch) {
+                if ((int) embd.size() == params.n_batch) {
                     break;
                 }
             }

From d838c22bb33d6b486a73c0ff285346deb575be3f Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Wed, 4 Feb 2026 10:39:53 +0200
Subject: [PATCH 117/206] spec : fix the check-rate logic of ngram-simple
 (#19261)

* spec : fix the check-rate logic of ngram-simple

* cont : refactor + fix checks
---
 common/ngram-map.cpp   | 15 +++------------
 common/ngram-map.h     | 16 +---------------
 common/speculative.cpp | 20 ++++++++++++++------
 3 files changed, 18 insertions(+), 33 deletions(-)

diff --git a/common/ngram-map.cpp b/common/ngram-map.cpp
index cab231bad7..c5b8fc75ed 100644
--- a/common/ngram-map.cpp
+++ b/common/ngram-map.cpp
@@ -47,21 +47,15 @@ static std::string common_tokens_to_str(const llama_tokens & inp, size_t start,
  * @return Vector of draft tokens, empty if no matching pattern is found
  */
 llama_tokens common_ngram_simple_draft(
-        common_ngram_simple_state & state,
+        const common_ngram_simple_config & config,
         const llama_tokens & tokens, llama_token sampled) {
 
     // Simple implementation of self-speculative decoding without a draft model.
     //
     const size_t cur_len = tokens.size();
-    // Only check every check_rate tokens to save compute
-    // i.e., perform check if (cur_len - idx_last_check) >= check_rate
-    if (state.idx_last_check + state.config.check_rate > cur_len) {
-        llama_tokens draft_tokens;
-        return draft_tokens;
-    }
 
-    size_t n_draft_min = state.config.size_ngram; // size of n-gram to lookup in token history
-    size_t n_draft_max = state.config.size_mgram; // the m-gram following the found n-gram is used for draft
+    const size_t n_draft_min = config.size_ngram; // size of n-gram to lookup in token history
+    const size_t n_draft_max = config.size_mgram; // the m-gram following the found n-gram is used for draft
 
     // vector for tokens we want to verify.
     // return empty vector if there is no match.
@@ -80,9 +74,6 @@ llama_tokens common_ngram_simple_draft(
     }
     pattern.push_back(sampled); // add the last token to the pattern
 
-    // We do a search in the token history.
-    state.idx_last_check = cur_len;
-
     size_t match_pos = 0; // we ignore position 0, position 0 == no match
                           // search backwards, but skip the current match (we are currently there)
     for (size_t j = cur_len - n_draft_min - 1; j > 0; --j) {
diff --git a/common/ngram-map.h b/common/ngram-map.h
index c094d513d5..9668bd5a7c 100644
--- a/common/ngram-map.h
+++ b/common/ngram-map.h
@@ -27,23 +27,9 @@ struct common_ngram_simple_config {
     uint16_t   check_rate;      // check for speculative decoding without draft model for each check_rate token
 };
 
-// current state (and config) of n-gram simple.
-struct common_ngram_simple_state {
-    common_ngram_simple_config config;
-
-    size_t idx_last_check = 0; // index of last check in context history (mutable)
-
-    common_ngram_simple_state(const common_ngram_simple_config & config)
-        : config(config) {}
-};
-
 // Searches for a n-gram in the history and checks whether a draft sequence should be generated.
-// state:              the ngram simple state to search in.
-// inp:                the tokens generated so far.
-// sampled:            the token that was just sampled.
-// draft:              vector to store the draft tokens, initially empty.
 llama_tokens common_ngram_simple_draft(
-        common_ngram_simple_state & state,
+        const common_ngram_simple_config & config,
         const llama_tokens & tokens, llama_token sampled);
 
 
diff --git a/common/speculative.cpp b/common/speculative.cpp
index 80cd31e35f..c99b19dbfd 100644
--- a/common/speculative.cpp
+++ b/common/speculative.cpp
@@ -463,12 +463,14 @@ struct common_speculative_state_eagle3 : public common_speculative_state {
 
 // state of self-speculation (simple implementation, not ngram-map)
 struct common_speculative_state_ngram_simple : public common_speculative_state {
-    common_ngram_simple_state state;
+    common_ngram_simple_config config;
+
+    uint16_t check_id = 0; // used to control the frequency of generating drafts
 
     common_speculative_state_ngram_simple(
             enum common_speculative_type type,
-            common_ngram_simple_state state)
-        : common_speculative_state(type), state(state) {}
+            common_ngram_simple_config config)
+        : common_speculative_state(type), config(config) {}
 
     void begin(const llama_tokens & prompt) override {
         GGML_UNUSED(prompt);
@@ -479,7 +481,13 @@ struct common_speculative_state_ngram_simple : public common_speculative_state {
             const llama_tokens & prompt_tgt,
             llama_token id_last,
             llama_tokens & result) override {
-        result = common_ngram_simple_draft(state, prompt_tgt, id_last);
+        ++check_id;
+        if (check_id < config.check_rate) {
+            return;
+        }
+        check_id = 0;
+
+        result = common_ngram_simple_draft(config, prompt_tgt, id_last);
         GGML_UNUSED(params);
     }
 
@@ -889,14 +897,14 @@ common_speculative * common_speculative_init(
                 uint16_t mgram_size_value = ngram_map.size_value;
                 uint16_t check_rate       = ngram_map.check_rate;
 
-                auto config_simple = common_ngram_simple_config{
+                auto config_simple = common_ngram_simple_config {
                     /* .size_ngram      = */ ngram_size_key,
                     /* .size_mgram      = */ mgram_size_value,
                     /* .check_rate      = */ check_rate
                 };
                 auto state = std::make_unique(
                     /* .type            = */ config.type,
-                    /* .state           = */ common_ngram_simple_state(config_simple)
+                    /* .state           = */ config_simple
                 );
                 impls.push_back(std::move(state));
                 break;

From 6ab881b7c3abd7c1aac0d7f3a00bde68d9cfd484 Mon Sep 17 00:00:00 2001
From: Daniel Bevenius 
Date: Wed, 4 Feb 2026 10:40:53 +0100
Subject: [PATCH 118/206] model-conversion : add tensor-info.py utility
 (#18954)

This commit adds a new python script that can be used to print tensors
information from a tensor in a safetensors model.

The motivation for this is that during model conversion work it can
sometimes be useful to verify the shape of tensors in the original
model. While it is possible to print the tensors when loading the model
this can be slow when working with larger models.
With this script it is possible to quickly query tensor shapes.

Example usage:
```console
(venv) $ ./scripts/utils/tensor-info.py --help
usage: tensor-info.py [-h] [-m MODEL_PATH] [-l] [tensor_name]

Print tensor information from a safetensors model

positional arguments:
  tensor_name           Name of the tensor to inspect

options:
  -h, --help            show this help message and exit
  -m MODEL_PATH, --model-path MODEL_PATH
                        Path to the model directory (default: MODEL_PATH environment variable)
  -l, --list            List unique tensor patterns in the model (layer numbers replaced with #)
```

Listing tensor names:
```console
(venv) $ ./scripts/utils/tensor-info.py -m ~/work/ai/models/google/embeddinggemma-300m -l
embed_tokens.weight
layers.#.input_layernorm.weight
layers.#.mlp.down_proj.weight
layers.#.mlp.gate_proj.weight
layers.#.mlp.up_proj.weight
layers.#.post_attention_layernorm.weight
layers.#.post_feedforward_layernorm.weight
layers.#.pre_feedforward_layernorm.weight
layers.#.self_attn.k_norm.weight
layers.#.self_attn.k_proj.weight
layers.#.self_attn.o_proj.weight
layers.#.self_attn.q_norm.weight
layers.#.self_attn.q_proj.weight
layers.#.self_attn.v_proj.weight
norm.weight
```

Printing a specific tensor's information:
```console
(venv) $ ./scripts/utils/tensor-info.py -m ~/work/ai/models/google/embeddinggemma-300m layers.0.input_layernorm.weight
Tensor: layers.0.input_layernorm.weight
File:   model.safetensors
Shape:  [768]
```
---
 .../scripts/utils/tensor-info.py              | 159 ++++++++++++++++++
 1 file changed, 159 insertions(+)
 create mode 100755 examples/model-conversion/scripts/utils/tensor-info.py

diff --git a/examples/model-conversion/scripts/utils/tensor-info.py b/examples/model-conversion/scripts/utils/tensor-info.py
new file mode 100755
index 0000000000..12a3430b49
--- /dev/null
+++ b/examples/model-conversion/scripts/utils/tensor-info.py
@@ -0,0 +1,159 @@
+#!/usr/bin/env python3
+
+import argparse
+import json
+import os
+import re
+import sys
+from pathlib import Path
+from typing import Optional
+from safetensors import safe_open
+
+
+MODEL_SAFETENSORS_FILE = "model.safetensors"
+MODEL_SAFETENSORS_INDEX = "model.safetensors.index.json"
+
+
+def get_weight_map(model_path: Path) -> Optional[dict[str, str]]:
+    index_file = model_path / MODEL_SAFETENSORS_INDEX
+
+    if index_file.exists():
+        with open(index_file, 'r') as f:
+            index = json.load(f)
+            return index.get("weight_map", {})
+
+    return None
+
+
+def get_all_tensor_names(model_path: Path) -> list[str]:
+    weight_map = get_weight_map(model_path)
+
+    if weight_map is not None:
+        return list(weight_map.keys())
+
+    single_file = model_path / MODEL_SAFETENSORS_FILE
+    if single_file.exists():
+        try:
+            with safe_open(single_file, framework="pt", device="cpu") as f:
+                return list(f.keys())
+        except Exception as e:
+            print(f"Error reading {single_file}: {e}")
+            sys.exit(1)
+
+    print(f"Error: No safetensors files found in {model_path}")
+    sys.exit(1)
+
+
+def find_tensor_file(model_path: Path, tensor_name: str) -> Optional[str]:
+    weight_map = get_weight_map(model_path)
+
+    if weight_map is not None:
+        return weight_map.get(tensor_name)
+
+    single_file = model_path / MODEL_SAFETENSORS_FILE
+    if single_file.exists():
+        return single_file.name
+
+    return None
+
+
+def normalize_tensor_name(tensor_name: str) -> str:
+    normalized = re.sub(r'\.\d+\.', '.#.', tensor_name)
+    normalized = re.sub(r'\.\d+$', '.#', normalized)
+    return normalized
+
+
+def list_all_tensors(model_path: Path, unique: bool = False):
+    tensor_names = get_all_tensor_names(model_path)
+
+    if unique:
+        seen = set()
+        for tensor_name in sorted(tensor_names):
+            normalized = normalize_tensor_name(tensor_name)
+            if normalized not in seen:
+                seen.add(normalized)
+                print(normalized)
+    else:
+        for tensor_name in sorted(tensor_names):
+            print(tensor_name)
+
+
+def print_tensor_info(model_path: Path, tensor_name: str):
+    tensor_file = find_tensor_file(model_path, tensor_name)
+
+    if tensor_file is None:
+        print(f"Error: Could not find tensor '{tensor_name}' in model index")
+        print(f"Model path: {model_path}")
+        sys.exit(1)
+
+    file_path = model_path / tensor_file
+
+    try:
+        with safe_open(file_path, framework="pt", device="cpu") as f:
+            if tensor_name in f.keys():
+                tensor_slice = f.get_slice(tensor_name)
+                shape = tensor_slice.get_shape()
+                print(f"Tensor: {tensor_name}")
+                print(f"File:   {tensor_file}")
+                print(f"Shape:  {shape}")
+            else:
+                print(f"Error: Tensor '{tensor_name}' not found in {tensor_file}")
+                sys.exit(1)
+
+    except FileNotFoundError:
+        print(f"Error: The file '{file_path}' was not found.")
+        sys.exit(1)
+    except Exception as e:
+        print(f"An error occurred: {e}")
+        sys.exit(1)
+
+
+def main():
+    parser = argparse.ArgumentParser(
+        description="Print tensor information from a safetensors model"
+    )
+    parser.add_argument(
+        "tensor_name",
+        nargs="?",  # optional (if --list is used for example)
+        help="Name of the tensor to inspect"
+    )
+    parser.add_argument(
+        "-m", "--model-path",
+        type=Path,
+        help="Path to the model directory (default: MODEL_PATH environment variable)"
+    )
+    parser.add_argument(
+        "-l", "--list",
+        action="store_true",
+        help="List unique tensor patterns in the model (layer numbers replaced with #)"
+    )
+
+    args = parser.parse_args()
+
+    model_path = args.model_path
+    if model_path is None:
+        model_path_str = os.environ.get("MODEL_PATH")
+        if model_path_str is None:
+            print("Error: --model-path not provided and MODEL_PATH environment variable not set")
+            sys.exit(1)
+        model_path = Path(model_path_str)
+
+    if not model_path.exists():
+        print(f"Error: Model path does not exist: {model_path}")
+        sys.exit(1)
+
+    if not model_path.is_dir():
+        print(f"Error: Model path is not a directory: {model_path}")
+        sys.exit(1)
+
+    if args.list:
+        list_all_tensors(model_path, unique=True)
+    else:
+        if args.tensor_name is None:
+            print("Error: tensor_name is required when not using --list")
+            sys.exit(1)
+        print_tensor_info(model_path, args.tensor_name)
+
+
+if __name__ == "__main__":
+    main()

From eaba92c3dcc980ebe753348855d4a5d75c069997 Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Wed, 4 Feb 2026 12:45:21 +0200
Subject: [PATCH 119/206] tests : add non-cont, inplace rope tests (#19296)

* tests : add non-cont, inplace rope tests

* cont : exercise dim 3

Co-authored-by: Jeff Bolz 

* cont : more dim3 exercises

---------

Co-authored-by: Jeff Bolz 
---
 tests/test-backend-ops.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp
index 90cc0d7da2..cecdf47038 100644
--- a/tests/test-backend-ops.cpp
+++ b/tests/test-backend-ops.cpp
@@ -8032,6 +8032,8 @@ static std::vector> make_test_cases_eval() {
         for (int mode : {GGML_ROPE_TYPE_NORMAL, GGML_ROPE_TYPE_NEOX, GGML_ROPE_TYPE_MROPE, GGML_ROPE_TYPE_IMROPE, GGML_ROPE_TYPE_VISION}) {
             for (bool ff : {false, true}) {
                 test_cases.emplace_back(new test_rope(type, {128,  32, 2, 1}, 128, mode, 512, 1.4245f, 0.7465f, 1.4245f, ff, 0, true, true));
+                test_cases.emplace_back(new test_rope(type, {128,  32, 2, 1}, 128, mode, 512, 1.4245f, 0.7465f, 1.4245f, ff, 1, true, true));
+                test_cases.emplace_back(new test_rope(type, {128,  32, 2, 3}, 128, mode, 512, 1.4245f, 0.7465f, 1.4245f, ff, 1, true, true));
             }
         }
     }

From 8abcc70a747eff568198ae64aa1a60b7625a3c36 Mon Sep 17 00:00:00 2001
From: Xuan-Son Nguyen 
Date: Wed, 4 Feb 2026 13:09:58 +0100
Subject: [PATCH 120/206] model: (qwen3next) correct vectorized key_gdiff
 calculation (#19324)

* model: (qwen3next) correct vectorized key_gdiff calculation

* move transpose to outside of loop
---
 src/models/qwen3next.cpp | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/models/qwen3next.cpp b/src/models/qwen3next.cpp
index 57b6659baf..06d946c5fa 100644
--- a/src/models/qwen3next.cpp
+++ b/src/models/qwen3next.cpp
@@ -265,9 +265,15 @@ std::pair llm_build_qwen3next::build_delta_net_chu
     cb(g_diff, "g_diff", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs)
 
     ggml_tensor * g_diff_exp = ggml_exp(ctx0, g_diff);
-    ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp);
+    ggml_tensor * g_diff_exp_t = ggml_reshape_4d(ctx0, g_diff_exp, 
+                                                 1, chunk_size, n_chunks, g_diff_exp->ne[3]);
+
+    ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp_t);
     cb(key_gdiff, "key_gdiff", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs)
 
+    ggml_tensor * key_gdiff_t = ggml_cont(ctx0, ggml_transpose(ctx0, key_gdiff)); 
+    cb(key_gdiff_t, "key_gdiff_t", il); // shape: (chunk_size, S_k, n_chunks, H_v * n_seqs)
+
 
     // state to be updated per chunk
     ggml_tensor * new_state = state; // ggml_dup(ctx0, state);
@@ -322,9 +328,9 @@ std::pair llm_build_qwen3next::build_delta_net_chu
             : ggml_concat(ctx0, core_attn_out, core_attn_out_chunk, 2);
 
         // kgdmulvnew = (key_gdiff).transpose(-1, -2) @ v_new
-        ggml_tensor * k_gdiff = ggml_cont(ctx0, get_slice_2d(ctx0, key_gdiff, chunk));
+        ggml_tensor * k_gdiff_t = get_slice_2d(ctx0, key_gdiff_t, chunk);
         //ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, k_gdiff, v_new); // this is slower on metal, why?
-        ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, v_new_t, ggml_cont(ctx0, ggml_transpose(ctx0, k_gdiff)));
+        ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, v_new_t, k_gdiff_t);
 
         // last_recurrent_state = last_recurrent_state * g_last + kgdmulvnew
         ggml_tensor * gexp_last_chunk = ggml_cont(ctx0, get_slice_2d(ctx0, g_last_exp, chunk));

From 423bee462b46323433e5f1e322e3076cedbeec83 Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Wed, 4 Feb 2026 15:12:03 +0200
Subject: [PATCH 121/206] ci : fix sanitize workflow to enable ggml sanitizers
 too (#19323)

---
 .github/workflows/build.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index fd251ac4c2..8ce679bd9a 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -293,6 +293,7 @@ jobs:
           cmake -B build \
             -DLLAMA_FATAL_WARNINGS=ON \
             -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
+            -DGGML_SANITIZE_${{ matrix.sanitizer }}=ON \
             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
           cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
 
@@ -303,6 +304,7 @@ jobs:
           cmake -B build \
             -DLLAMA_FATAL_WARNINGS=ON \
             -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
+            -DGGML_SANITIZE_${{ matrix.sanitizer }}=ON \
             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
             -DGGML_OPENMP=OFF
           cmake --build build --config ${{ matrix.build_type }} -j $(nproc)

From e0c93af2a03f5c53d052dfaefd86c06ed3784646 Mon Sep 17 00:00:00 2001
From: Xuan-Son Nguyen 
Date: Wed, 4 Feb 2026 17:55:31 +0100
Subject: [PATCH 122/206] debug: make common_debug_print_tensor readable
 (#19331)

* debug: make common_debug_print_tensor readable

* editorconfig
---
 common/debug.cpp         | 34 ++++++++++++++++++----------------
 src/models/qwen3next.cpp |  4 ++--
 2 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/common/debug.cpp b/common/debug.cpp
index fdaddb1443..0df409a79d 100644
--- a/common/debug.cpp
+++ b/common/debug.cpp
@@ -45,6 +45,8 @@ static float common_ggml_get_float_value(const uint8_t * data,
     return v;
 }
 
+#define INDENT "    "
+
 template 
 void common_debug_print_tensor(uint8_t * data, ggml_type type, const int64_t * ne, const size_t * nb, int64_t n) {
     GGML_ASSERT(n > 0);
@@ -60,41 +62,41 @@ void common_debug_print_tensor(uint8_t * data, ggml_type type, const int64_t * n
         }
     }
     for (int64_t i3 = 0; i3 < ne[3]; i3++) {
-        LOG_ERR("                                     [\n");
+        LOG(INDENT "[\n");
         for (int64_t i2 = 0; i2 < ne[2]; i2++) {
             if (i2 == n && ne[2] > 2 * n) {
-                LOG_ERR("                                      ..., \n");
+                LOG(INDENT INDENT "..., \n");
                 i2 = ne[2] - n;
             }
-            LOG_ERR("                                      [\n");
+            LOG(INDENT INDENT "[\n");
             for (int64_t i1 = 0; i1 < ne[1]; i1++) {
                 if (i1 == n && ne[1] > 2 * n) {
-                    LOG_ERR("                                       ..., \n");
+                    LOG(INDENT INDENT INDENT "..., \n");
                     i1 = ne[1] - n;
                 }
-                LOG_ERR("                                       [");
+                LOG(INDENT INDENT INDENT "[");
                 for (int64_t i0 = 0; i0 < ne[0]; i0++) {
                     if (i0 == n && ne[0] > 2 * n) {
-                        LOG_ERR("..., ");
+                        LOG("   ..., ");
                         i0 = ne[0] - n;
                     }
                     const float v = common_ggml_get_float_value(data, type, nb, i0, i1, i2, i3);
-                    LOG_ERR("%12.4f", v);
+                    LOG("%12.4f", v);
                     if (i0 < ne[0] - 1) {
-                        LOG_ERR(", ");
+                        LOG(", ");
                     }
                 }
-                LOG_ERR("],\n");
+                LOG("  ],\n");
             }
-            LOG_ERR("                                      ],\n");
+            LOG(INDENT INDENT "],\n");
         }
-        LOG_ERR("                                     ]\n");
-        LOG_ERR("                                     sum = %f\n", sum);
+        LOG(INDENT "]\n");
+        LOG(INDENT "sum = %f\n", sum);
     }
 
     if constexpr (abort) {
         if (std::isnan(sum)) {
-            LOG_ERR("encountered NaN - aborting\n");
+            LOG("encountered NaN - aborting\n");
             exit(0);
         }
     }
@@ -137,9 +139,9 @@ template  bool common_debug_cb_eval(struct ggml_tensor * t, b
     }
 
     if (matches_filter) {
-        LOG_ERR("%s: %24s = (%s) %10s(%s{%s}, %s}) = {%s}\n", __func__, t->name, ggml_type_name(t->type),
-                ggml_op_desc(t), src0->name, common_ggml_ne_string(src0).c_str(), src1 ? src1_str : "",
-                common_ggml_ne_string(t).c_str());
+        LOG("%s: %24s = (%s) %10s(%s{%s}, %s}) = {%s}\n", __func__, t->name, ggml_type_name(t->type),
+            ggml_op_desc(t), src0->name, common_ggml_ne_string(src0).c_str(), src1 ? src1_str : "",
+            common_ggml_ne_string(t).c_str());
     }
 
     const bool is_host = ggml_backend_buffer_is_host(t->buffer);
diff --git a/src/models/qwen3next.cpp b/src/models/qwen3next.cpp
index 06d946c5fa..99b1a76a48 100644
--- a/src/models/qwen3next.cpp
+++ b/src/models/qwen3next.cpp
@@ -265,13 +265,13 @@ std::pair llm_build_qwen3next::build_delta_net_chu
     cb(g_diff, "g_diff", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs)
 
     ggml_tensor * g_diff_exp = ggml_exp(ctx0, g_diff);
-    ggml_tensor * g_diff_exp_t = ggml_reshape_4d(ctx0, g_diff_exp, 
+    ggml_tensor * g_diff_exp_t = ggml_reshape_4d(ctx0, g_diff_exp,
                                                  1, chunk_size, n_chunks, g_diff_exp->ne[3]);
 
     ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp_t);
     cb(key_gdiff, "key_gdiff", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs)
 
-    ggml_tensor * key_gdiff_t = ggml_cont(ctx0, ggml_transpose(ctx0, key_gdiff)); 
+    ggml_tensor * key_gdiff_t = ggml_cont(ctx0, ggml_transpose(ctx0, key_gdiff));
     cb(key_gdiff_t, "key_gdiff_t", il); // shape: (chunk_size, S_k, n_chunks, H_v * n_seqs)
 
 

From b536eb023368701fe3564210440e2df6151c3e65 Mon Sep 17 00:00:00 2001
From: Daniel Bevenius 
Date: Wed, 4 Feb 2026 20:20:40 +0100
Subject: [PATCH 123/206] codeowners : add danbev for examples/debug (#19332)

* codeowners : add danbev for examples/debug

* Add @pwilkin to CODEOWNERS for debug

---------

Co-authored-by: Piotr Wilkin (ilintar) 
---
 CODEOWNERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CODEOWNERS b/CODEOWNERS
index e573a3d2e6..9d252c9b8d 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -27,6 +27,7 @@
 /examples/batched.swift/                @ggerganov
 /examples/batched/                      @ggerganov
 /examples/convert-llama2c-to-ggml/      @ggerganov
+/examples/debug/                        @danbev @pwilkin
 /examples/deprecation-warning/          @ggerganov
 /examples/diffusion/                    @am17an
 /examples/embedding/                    @ggerganov

From e6e934c5ea1540522171ec91eee05d37909286d1 Mon Sep 17 00:00:00 2001
From: Aaron Teo 
Date: Thu, 5 Feb 2026 05:15:03 +0800
Subject: [PATCH 124/206] vendor: update cpp-httplib version (#19313)

Signed-off-by: Aaron Teo 
---
 scripts/sync_vendor.py         |   4 +-
 vendor/cpp-httplib/httplib.cpp | 238 ++++++++++++++++++++++++++-------
 vendor/cpp-httplib/httplib.h   | 102 ++++++++++++--
 3 files changed, 285 insertions(+), 59 deletions(-)

diff --git a/scripts/sync_vendor.py b/scripts/sync_vendor.py
index 0771942d49..1ff6a9a40f 100755
--- a/scripts/sync_vendor.py
+++ b/scripts/sync_vendor.py
@@ -12,8 +12,8 @@ vendor = {
     # "https://github.com/mackron/miniaudio/raw/refs/tags/0.11.23/miniaudio.h": "vendor/miniaudio/miniaudio.h",
     "https://github.com/mackron/miniaudio/raw/669ed3e844524fcd883231b13095baee9f6de304/miniaudio.h": "vendor/miniaudio/miniaudio.h",
 
-    "https://raw.githubusercontent.com/yhirose/cpp-httplib/refs/tags/v0.30.1/httplib.h": "vendor/cpp-httplib/httplib.h",
-    "https://raw.githubusercontent.com/yhirose/cpp-httplib/refs/tags/v0.30.1/LICENSE":   "vendor/cpp-httplib/LICENSE",
+    "https://raw.githubusercontent.com/yhirose/cpp-httplib/refs/tags/v0.30.2/httplib.h": "vendor/cpp-httplib/httplib.h",
+    "https://raw.githubusercontent.com/yhirose/cpp-httplib/refs/tags/v0.30.2/LICENSE":   "vendor/cpp-httplib/LICENSE",
 
     "https://raw.githubusercontent.com/sheredom/subprocess.h/b49c56e9fe214488493021017bf3954b91c7c1f5/subprocess.h": "vendor/sheredom/subprocess.h",
 }
diff --git a/vendor/cpp-httplib/httplib.cpp b/vendor/cpp-httplib/httplib.cpp
index d707e65fd3..ba5f9c8ff9 100644
--- a/vendor/cpp-httplib/httplib.cpp
+++ b/vendor/cpp-httplib/httplib.cpp
@@ -117,6 +117,8 @@ time_t parse_http_date(const std::string &date_str) {
 
 #ifdef _WIN32
   return _mkgmtime(&tm_buf);
+#elif defined _AIX
+  return mktime(&tm_buf);
 #else
   return timegm(&tm_buf);
 #endif
@@ -1376,7 +1378,7 @@ int getaddrinfo_with_timeout(const char *node, const char *service,
 
   // Allocate on the heap, so the resolver thread can keep using the data.
   auto state = std::make_shared();
-  state->node = node;
+  if (node) { state->node = node; }
   state->service = service;
   state->hints = *hints;
 
@@ -2896,10 +2898,20 @@ bool parse_range_header(const std::string &s, Ranges &ranges) try {
         return;
       }
 
-      const auto first =
-          static_cast(lhs.empty() ? -1 : std::stoll(lhs));
-      const auto last =
-          static_cast(rhs.empty() ? -1 : std::stoll(rhs));
+      ssize_t first = -1;
+      if (!lhs.empty()) {
+        ssize_t v;
+        auto res = detail::from_chars(lhs.data(), lhs.data() + lhs.size(), v);
+        if (res.ec == std::errc{}) { first = v; }
+      }
+
+      ssize_t last = -1;
+      if (!rhs.empty()) {
+        ssize_t v;
+        auto res = detail::from_chars(rhs.data(), rhs.data() + rhs.size(), v);
+        if (res.ec == std::errc{}) { last = v; }
+      }
+
       if ((first == -1 && last == -1) ||
           (first != -1 && last != -1 && first > last)) {
         all_valid_ranges = false;
@@ -2974,25 +2986,17 @@ bool parse_accept_header(const std::string &s,
         return;
       }
 
-#ifdef CPPHTTPLIB_NO_EXCEPTIONS
       {
-        std::istringstream iss(quality_str);
-        iss >> accept_entry.quality;
-
-        // Check if conversion was successful and entire string was consumed
-        if (iss.fail() || !iss.eof()) {
+        double v = 0.0;
+        auto res = detail::from_chars(
+            quality_str.data(), quality_str.data() + quality_str.size(), v);
+        if (res.ec == std::errc{}) {
+          accept_entry.quality = v;
+        } else {
           has_invalid_entry = true;
           return;
         }
       }
-#else
-      try {
-        accept_entry.quality = std::stod(quality_str);
-      } catch (...) {
-        has_invalid_entry = true;
-        return;
-      }
-#endif
       // Check if quality is in valid range [0.0, 1.0]
       if (accept_entry.quality < 0.0 || accept_entry.quality > 1.0) {
         has_invalid_entry = true;
@@ -5570,13 +5574,26 @@ bool Server::read_content(Stream &strm, Request &req, Response &res) {
           strm, req, res,
           // Regular
           [&](const char *buf, size_t n) {
+            // Prevent arithmetic overflow when checking sizes.
+            // Avoid computing (req.body.size() + n) directly because
+            // adding two unsigned `size_t` values can wrap around and
+            // produce a small result instead of indicating overflow.
+            // Instead, check using subtraction: ensure `n` does not
+            // exceed the remaining capacity `max_size() - size()`.
+            if (req.body.size() >= req.body.max_size() ||
+                n > req.body.max_size() - req.body.size()) {
+              return false;
+            }
+
             // Limit decompressed body size to payload_max_length_ to protect
             // against "zip bomb" attacks where a small compressed payload
             // decompresses to a massive size.
-            if (req.body.size() + n > payload_max_length_ ||
-                req.body.size() + n > req.body.max_size()) {
+            if (payload_max_length_ > 0 &&
+                (req.body.size() >= payload_max_length_ ||
+                 n > payload_max_length_ - req.body.size())) {
               return false;
             }
+
             req.body.append(buf, n);
             return true;
           },
@@ -5666,22 +5683,29 @@ bool Server::read_content_core(
   // oversized request and fail early (causing connection close). For SSL
   // builds we cannot reliably peek the decrypted application bytes, so keep
   // the original behaviour.
-#if !defined(CPPHTTPLIB_OPENSSL_SUPPORT) && !defined(_WIN32)
+#if !defined(CPPHTTPLIB_OPENSSL_SUPPORT)
   if (!req.has_header("Content-Length") &&
       !detail::is_chunked_transfer_encoding(req.headers)) {
-    socket_t s = strm.socket();
-    if (s != INVALID_SOCKET) {
-      // Peek up to payload_max_length_ + 1 bytes. If more than
-      // payload_max_length_ bytes are pending, reject the request.
-      size_t to_peek =
-          (payload_max_length_ > 0)
-              ? (std::min)(payload_max_length_ + 1, static_cast(4096))
-              : 1;
-      std::vector peekbuf(to_peek);
-      ssize_t n = ::recv(s, peekbuf.data(), to_peek, MSG_PEEK);
-      if (n > 0 && static_cast(n) > payload_max_length_) {
-        // Indicate failure so connection will be closed.
-        return false;
+    // Only peek if payload_max_length is set to a finite value
+    if (payload_max_length_ > 0 &&
+        payload_max_length_ < (std::numeric_limits::max)()) {
+      socket_t s = strm.socket();
+      if (s != INVALID_SOCKET) {
+        // Peek to check if there is any pending data
+        char peekbuf[1];
+        ssize_t n = ::recv(s, peekbuf, 1, MSG_PEEK);
+        if (n > 0) {
+          // There is data, so read it with payload limit enforcement
+          auto result = detail::read_content_without_length(
+              strm, payload_max_length_, out);
+          if (result == detail::ReadContentResult::PayloadTooLarge) {
+            res.status = StatusCode::PayloadTooLarge_413;
+            return false;
+          } else if (result != detail::ReadContentResult::Success) {
+            return false;
+          }
+          return true;
+        }
       }
     }
     return true;
@@ -6656,7 +6680,8 @@ void ClientImpl::close_socket(Socket &socket) {
 }
 
 bool ClientImpl::read_response_line(Stream &strm, const Request &req,
-                                           Response &res) const {
+                                           Response &res,
+                                           bool skip_100_continue) const {
   std::array buf{};
 
   detail::stream_line_reader line_reader(strm, buf.data(), buf.size());
@@ -6677,8 +6702,8 @@ bool ClientImpl::read_response_line(Stream &strm, const Request &req,
   res.status = std::stoi(std::string(m[2]));
   res.reason = std::string(m[3]);
 
-  // Ignore '100 Continue'
-  while (res.status == StatusCode::Continue_100) {
+  // Ignore '100 Continue' (only when not using Expect: 100-continue explicitly)
+  while (skip_100_continue && res.status == StatusCode::Continue_100) {
     if (!line_reader.getline()) { return false; } // CRLF
     if (!line_reader.getline()) { return false; } // next response line
 
@@ -7463,7 +7488,8 @@ bool ClientImpl::write_content_with_provider(Stream &strm,
 }
 
 bool ClientImpl::write_request(Stream &strm, Request &req,
-                                      bool close_connection, Error &error) {
+                                      bool close_connection, Error &error,
+                                      bool skip_body) {
   // Prepare additional headers
   if (close_connection) {
     if (!req.has_header("Connection")) {
@@ -7582,7 +7608,59 @@ bool ClientImpl::write_request(Stream &strm, Request &req,
     }
   }
 
+  // After sending request line and headers, wait briefly for an early server
+  // response (e.g. 4xx) and avoid sending a potentially large request body
+  // unnecessarily. This workaround is only enabled on Windows because Unix
+  // platforms surface write errors (EPIPE) earlier; on Windows kernel send
+  // buffering can accept large writes even when the peer already responded.
+  // Check the stream first (which covers SSL via `is_readable()`), then
+  // fall back to select on the socket. Only perform the wait for very large
+  // request bodies to avoid interfering with normal small requests and
+  // reduce side-effects. Poll briefly (up to 50ms as default) for an early
+  // response. Skip this check when using Expect: 100-continue, as the protocol
+  // handles early responses properly.
+#if defined(_WIN32)
+  if (!skip_body &&
+      req.body.size() > CPPHTTPLIB_WAIT_EARLY_SERVER_RESPONSE_THRESHOLD &&
+      req.path.size() > CPPHTTPLIB_REQUEST_URI_MAX_LENGTH) {
+    auto start = std::chrono::high_resolution_clock::now();
+
+    for (;;) {
+      // Prefer socket-level readiness to avoid SSL_pending() false-positives
+      // from SSL internals. If the underlying socket is readable, assume an
+      // early response may be present.
+      auto sock = strm.socket();
+      if (sock != INVALID_SOCKET && detail::select_read(sock, 0, 0) > 0) {
+        return false;
+      }
+
+      // Fallback to stream-level check for non-socket streams or when the
+      // socket isn't reporting readable. Avoid using `is_readable()` for
+      // SSL, since `SSL_pending()` may report buffered records that do not
+      // indicate a complete application-level response yet.
+      if (!is_ssl() && strm.is_readable()) { return false; }
+
+      auto now = std::chrono::high_resolution_clock::now();
+      auto elapsed =
+          std::chrono::duration_cast(now - start)
+              .count();
+      if (elapsed >= CPPHTTPLIB_WAIT_EARLY_SERVER_RESPONSE_TIMEOUT_MSECOND) {
+        break;
+      }
+
+      std::this_thread::sleep_for(std::chrono::milliseconds(1));
+    }
+  }
+#endif
+
   // Body
+  if (skip_body) { return true; }
+
+  return write_request_body(strm, req, error);
+}
+
+bool ClientImpl::write_request_body(Stream &strm, Request &req,
+                                           Error &error) {
   if (req.body.empty()) {
     return write_content_with_provider(strm, req, error);
   }
@@ -7758,8 +7836,20 @@ void ClientImpl::output_error_log(const Error &err,
 bool ClientImpl::process_request(Stream &strm, Request &req,
                                         Response &res, bool close_connection,
                                         Error &error) {
-  // Send request
-  if (!write_request(strm, req, close_connection, error)) { return false; }
+  // Auto-add Expect: 100-continue for large bodies
+  if (CPPHTTPLIB_EXPECT_100_THRESHOLD > 0 && !req.has_header("Expect")) {
+    auto body_size = req.body.empty() ? req.content_length_ : req.body.size();
+    if (body_size >= CPPHTTPLIB_EXPECT_100_THRESHOLD) {
+      req.set_header("Expect", "100-continue");
+    }
+  }
+
+  // Check for Expect: 100-continue
+  auto expect_100_continue = req.get_header_value("Expect") == "100-continue";
+
+  // Send request (skip body if using Expect: 100-continue)
+  auto write_request_success =
+      write_request(strm, req, close_connection, error, expect_100_continue);
 
 #ifdef CPPHTTPLIB_OPENSSL_SUPPORT
   if (is_ssl()) {
@@ -7774,14 +7864,48 @@ bool ClientImpl::process_request(Stream &strm, Request &req,
   }
 #endif
 
+  // Handle Expect: 100-continue with timeout
+  if (expect_100_continue && CPPHTTPLIB_EXPECT_100_TIMEOUT_MSECOND > 0) {
+    time_t sec = CPPHTTPLIB_EXPECT_100_TIMEOUT_MSECOND / 1000;
+    time_t usec = (CPPHTTPLIB_EXPECT_100_TIMEOUT_MSECOND % 1000) * 1000;
+    auto ret = detail::select_read(strm.socket(), sec, usec);
+    if (ret <= 0) {
+      // Timeout or error: send body anyway (server didn't respond in time)
+      if (!write_request_body(strm, req, error)) { return false; }
+      expect_100_continue = false; // Switch to normal response handling
+    }
+  }
+
   // Receive response and headers
-  if (!read_response_line(strm, req, res) ||
+  // When using Expect: 100-continue, don't auto-skip `100 Continue` response
+  if (!read_response_line(strm, req, res, !expect_100_continue) ||
       !detail::read_headers(strm, res.headers)) {
-    error = Error::Read;
+    if (write_request_success) { error = Error::Read; }
     output_error_log(error, &req);
     return false;
   }
 
+  if (!write_request_success) { return false; }
+
+  // Handle Expect: 100-continue response
+  if (expect_100_continue) {
+    if (res.status == StatusCode::Continue_100) {
+      // Server accepted, send the body
+      if (!write_request_body(strm, req, error)) { return false; }
+
+      // Read the actual response
+      res.headers.clear();
+      res.body.clear();
+      if (!read_response_line(strm, req, res) ||
+          !detail::read_headers(strm, res.headers)) {
+        error = Error::Read;
+        output_error_log(error, &req);
+        return false;
+      }
+    }
+    // If not 100 Continue, server returned an error; proceed with that response
+  }
+
   // Body
   if ((res.status != StatusCode::NoContent_204) && req.method != "HEAD" &&
       req.method != "CONNECT") {
@@ -9543,7 +9667,7 @@ bool SSLClient::load_certs() {
         last_openssl_error_ = ERR_get_error();
         ret = false;
       }
-    } else {
+    } else if (!ca_cert_store_) {
       auto loaded = false;
 #ifdef _WIN32
       loaded =
@@ -9790,7 +9914,11 @@ bool SSLClient::verify_host_with_common_name(X509 *server_cert) const {
 
 bool SSLClient::check_host_name(const char *pattern,
                                        size_t pattern_len) const {
-  if (host_.size() == pattern_len && host_ == pattern) { return true; }
+  // Exact match (case-insensitive)
+  if (host_.size() == pattern_len &&
+      detail::case_ignore::equal(host_, std::string(pattern, pattern_len))) {
+    return true;
+  }
 
   // Wildcard match
   // https://bugs.launchpad.net/ubuntu/+source/firefox-3.0/+bug/376484
@@ -9805,9 +9933,23 @@ bool SSLClient::check_host_name(const char *pattern,
   auto itr = pattern_components.begin();
   for (const auto &h : host_components_) {
     auto &p = *itr;
-    if (p != h && p != "*") {
-      auto partial_match = (p.size() > 0 && p[p.size() - 1] == '*' &&
-                            !p.compare(0, p.size() - 1, h));
+    if (!httplib::detail::case_ignore::equal(p, h) && p != "*") {
+      bool partial_match = false;
+      if (!p.empty() && p[p.size() - 1] == '*') {
+        const auto prefix_length = p.size() - 1;
+        if (prefix_length == 0) {
+          partial_match = true;
+        } else if (h.size() >= prefix_length) {
+          partial_match =
+              std::equal(p.begin(),
+                         p.begin() + static_cast(
+                                         prefix_length),
+                         h.begin(), [](const char ca, const char cb) {
+                           return httplib::detail::case_ignore::to_lower(ca) ==
+                                  httplib::detail::case_ignore::to_lower(cb);
+                         });
+        }
+      }
       if (!partial_match) { return false; }
     }
     ++itr;
diff --git a/vendor/cpp-httplib/httplib.h b/vendor/cpp-httplib/httplib.h
index 613020d12c..7c7790f41f 100644
--- a/vendor/cpp-httplib/httplib.h
+++ b/vendor/cpp-httplib/httplib.h
@@ -8,8 +8,8 @@
 #ifndef CPPHTTPLIB_HTTPLIB_H
 #define CPPHTTPLIB_HTTPLIB_H
 
-#define CPPHTTPLIB_VERSION "0.30.1"
-#define CPPHTTPLIB_VERSION_NUM "0x001E01"
+#define CPPHTTPLIB_VERSION "0.30.2"
+#define CPPHTTPLIB_VERSION_NUM "0x001E02"
 
 /*
  * Platform compatibility check
@@ -98,6 +98,22 @@
 #define CPPHTTPLIB_CLIENT_MAX_TIMEOUT_MSECOND 0
 #endif
 
+#ifndef CPPHTTPLIB_EXPECT_100_THRESHOLD
+#define CPPHTTPLIB_EXPECT_100_THRESHOLD 1024
+#endif
+
+#ifndef CPPHTTPLIB_EXPECT_100_TIMEOUT_MSECOND
+#define CPPHTTPLIB_EXPECT_100_TIMEOUT_MSECOND 1000
+#endif
+
+#ifndef CPPHTTPLIB_WAIT_EARLY_SERVER_RESPONSE_THRESHOLD
+#define CPPHTTPLIB_WAIT_EARLY_SERVER_RESPONSE_THRESHOLD (1024 * 1024)
+#endif
+
+#ifndef CPPHTTPLIB_WAIT_EARLY_SERVER_RESPONSE_TIMEOUT_MSECOND
+#define CPPHTTPLIB_WAIT_EARLY_SERVER_RESPONSE_TIMEOUT_MSECOND 50
+#endif
+
 #ifndef CPPHTTPLIB_IDLE_INTERVAL_SECOND
 #define CPPHTTPLIB_IDLE_INTERVAL_SECOND 0
 #endif
@@ -286,8 +302,10 @@ using socket_t = int;
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -305,6 +323,7 @@ using socket_t = int;
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -494,6 +513,69 @@ private:
   bool execute_on_destruction;
 };
 
+// Simple from_chars implementation for integer and double types (C++17
+// substitute)
+template  struct from_chars_result {
+  const char *ptr;
+  std::errc ec;
+};
+
+template 
+inline from_chars_result from_chars(const char *first, const char *last,
+                                       T &value, int base = 10) {
+  value = 0;
+  const char *p = first;
+  bool negative = false;
+
+  if (p != last && *p == '-') {
+    negative = true;
+    ++p;
+  }
+  if (p == last) { return {first, std::errc::invalid_argument}; }
+
+  T result = 0;
+  for (; p != last; ++p) {
+    char c = *p;
+    int digit = -1;
+    if ('0' <= c && c <= '9') {
+      digit = c - '0';
+    } else if ('a' <= c && c <= 'z') {
+      digit = c - 'a' + 10;
+    } else if ('A' <= c && c <= 'Z') {
+      digit = c - 'A' + 10;
+    } else {
+      break;
+    }
+
+    if (digit < 0 || digit >= base) { break; }
+    if (result > ((std::numeric_limits::max)() - digit) / base) {
+      return {p, std::errc::result_out_of_range};
+    }
+    result = result * base + digit;
+  }
+
+  if (p == first || (negative && p == first + 1)) {
+    return {first, std::errc::invalid_argument};
+  }
+
+  value = negative ? -result : result;
+  return {p, std::errc{}};
+}
+
+// from_chars for double (simple wrapper for strtod)
+inline from_chars_result from_chars(const char *first, const char *last,
+                                            double &value) {
+  std::string s(first, last);
+  char *endptr = nullptr;
+  errno = 0;
+  value = std::strtod(s.c_str(), &endptr);
+  if (endptr == s.c_str()) { return {first, std::errc::invalid_argument}; }
+  if (errno == ERANGE) {
+    return {first + (endptr - s.c_str()), std::errc::result_out_of_range};
+  }
+  return {first + (endptr - s.c_str()), std::errc{}};
+}
+
 } // namespace detail
 
 enum SSLVerifierResponse {
@@ -1848,10 +1930,11 @@ private:
   Result send_(Request &&req);
 
   socket_t create_client_socket(Error &error) const;
-  bool read_response_line(Stream &strm, const Request &req,
-                          Response &res) const;
+  bool read_response_line(Stream &strm, const Request &req, Response &res,
+                          bool skip_100_continue = true) const;
   bool write_request(Stream &strm, Request &req, bool close_connection,
-                     Error &error);
+                     Error &error, bool skip_body = false);
+  bool write_request_body(Stream &strm, Request &req, Error &error);
   void prepare_default_headers(Request &r, bool for_stream,
                                const std::string &ct);
   bool redirect(Request &req, Response &res, Error &error);
@@ -3243,10 +3326,11 @@ private:
       msg.id = value;
     } else if (field == "retry") {
       // Parse retry interval in milliseconds
-      try {
-        retry_ms = std::stoi(value);
-      } catch (...) {
-        // Invalid retry value, ignore
+      {
+        int v = 0;
+        auto res =
+            detail::from_chars(value.data(), value.data() + value.size(), v);
+        if (res.ec == std::errc{}) { retry_ms = v; }
       }
     }
     // Unknown fields are ignored per SSE spec

From 11fb327bf3846f390e3af1cbe929da9287c618da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= 
Date: Thu, 5 Feb 2026 02:27:38 +0100
Subject: [PATCH 125/206] vendor : add missing llama_add_compile_flags (#19322)

* add missing llama_add_compile_flags

* disable all warnings for ssl, crypto and fipsmodule
---
 vendor/cpp-httplib/CMakeLists.txt | 26 ++++++++++++++++++++++++--
 1 file changed, 24 insertions(+), 2 deletions(-)

diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt
index 3d938d9f36..18974d64ca 100644
--- a/vendor/cpp-httplib/CMakeLists.txt
+++ b/vendor/cpp-httplib/CMakeLists.txt
@@ -3,9 +3,14 @@ license_add_file("cpp-httplib" "LICENSE")
 
 find_package(Threads REQUIRED)
 
+llama_add_compile_flags()
+
 add_library(${TARGET} STATIC httplib.cpp httplib.h)
-if (NOT MSVC)
-    # disable warnings in 3rd party code
+
+# disable warnings in 3rd party code
+if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+    target_compile_options(${TARGET} PRIVATE /w)
+else()
     target_compile_options(${TARGET} PRIVATE -w)
 endif()
 
@@ -146,6 +151,23 @@ elseif (LLAMA_OPENSSL)
     endif()
 endif()
 
+# disable warnings in 3rd party code
+if(LLAMA_BUILD_BORINGSSL OR LLAMA_BUILD_LIBRESSL)
+    if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+        target_compile_options(ssl PRIVATE /w)
+        target_compile_options(crypto PRIVATE /w)
+        if(LLAMA_BUILD_BORINGSSL)
+            target_compile_options(fipsmodule PRIVATE /w)
+        endif()
+    else()
+        target_compile_options(ssl PRIVATE -w)
+        target_compile_options(crypto PRIVATE -w)
+        if(LLAMA_BUILD_BORINGSSL)
+            target_compile_options(fipsmodule PRIVATE -w)
+        endif()
+    endif()
+endif()
+
 if (CPPHTTPLIB_OPENSSL_SUPPORT)
     target_compile_definitions(${TARGET} PUBLIC CPPHTTPLIB_OPENSSL_SUPPORT) # used in server.cpp
     if (APPLE AND CMAKE_SYSTEM_NAME STREQUAL "Darwin")

From af252d0758b0d3ed67c57bad2a735abf53d21c55 Mon Sep 17 00:00:00 2001
From: will-lms 
Date: Thu, 5 Feb 2026 01:05:09 -0500
Subject: [PATCH 126/206] metal : add missing includes (#19348)

---
 ggml/src/ggml-metal/ggml-metal.cpp | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ggml/src/ggml-metal/ggml-metal.cpp b/ggml/src/ggml-metal/ggml-metal.cpp
index a616dcdb46..1c705362fb 100644
--- a/ggml/src/ggml-metal/ggml-metal.cpp
+++ b/ggml/src/ggml-metal/ggml-metal.cpp
@@ -7,6 +7,9 @@
 #include "ggml-metal-context.h"
 #include "ggml-metal-ops.h"
 
+#include 
+#include 
+
 #define GGML_METAL_NAME "MTL"
 #define GGML_METAL_MAX_DEVICES 16
 

From c342c3b93de358a4571941b41c35dc5ba2081145 Mon Sep 17 00:00:00 2001
From: Jeff Bolz 
Date: Thu, 5 Feb 2026 01:38:59 -0600
Subject: [PATCH 127/206] vulkan: fix non-contig rope (#19299)

---
 ggml/src/ggml-vulkan/ggml-vulkan.cpp          | 32 ++++--
 .../ggml-vulkan/vulkan-shaders/rms_norm.comp  |  5 +-
 .../vulkan-shaders/rope_funcs.glsl            | 99 +++++++------------
 .../vulkan-shaders/rope_multi.comp            | 11 ++-
 .../ggml-vulkan/vulkan-shaders/rope_neox.comp | 11 ++-
 .../ggml-vulkan/vulkan-shaders/rope_norm.comp | 11 ++-
 .../vulkan-shaders/rope_params.glsl           | 15 ++-
 .../vulkan-shaders/rope_vision.comp           | 11 ++-
 8 files changed, 100 insertions(+), 95 deletions(-)

diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
index cb7fa2c9cb..af57685a37 100644
--- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp
+++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
@@ -1263,25 +1263,30 @@ struct vk_op_diag_mask_push_constants {
 
 struct vk_op_rope_push_constants {
     uint32_t rope_mode;
-    uint32_t ncols;
     uint32_t nrows;
     uint32_t n_dims;
     float freq_scale;
-    uint32_t p_delta_rows;
     float freq_base;
     float ext_factor;
     float attn_factor;
     float corr_dims[2];
     float theta_scale;
     uint32_t has_ff;
-    uint32_t ne02;
-    uint32_t s1;
-    uint32_t s2;
     int32_t sections[4];
     uint32_t is_imrope;
     uint32_t is_back;
     uint32_t set_rows_stride;
+    uint32_t ne00;
+    uint32_t ne01;
+    uint32_t ne02;
+    uint32_t nb01;
+    uint32_t nb02;
+    uint32_t nb03;
+    uint32_t nb11;
+    uint32_t nb12;
+    uint32_t nb13;
 };
+static_assert(sizeof(vk_op_rope_push_constants) <= 128, "sizeof(vk_op_rope_push_constants) must be <= 128");
 
 // For fused rms_norm+mul+rope(+view+set_rows)
 struct vk_op_rms_norm_mul_rope_push_constants {
@@ -10405,12 +10410,22 @@ static vk_op_rope_push_constants ggml_vk_make_rope_constants(const ggml_tensor *
 
     uint32_t nb01 = src0->nb[1] / ggml_type_size(src0->type);
     uint32_t nb02 = src0->nb[2] / ggml_type_size(src0->type);
+    uint32_t nb03 = src0->nb[3] / ggml_type_size(src0->type);
+
+    uint32_t nb11 = dst->nb[1] / ggml_type_size(dst->type);
+    uint32_t nb12 = dst->nb[2] / ggml_type_size(dst->type);
+    uint32_t nb13 = dst->nb[3] / ggml_type_size(dst->type);
 
     vk_op_rope_push_constants rope {
-        (uint32_t)mode, (uint32_t)src0->ne[0], (uint32_t)ggml_nrows(src0), (uint32_t)n_dims, freq_scale, (uint32_t)src0->ne[1],
-        freq_base, ext_factor, attn_factor, {corr_dims[0], corr_dims[1]}, theta_scale,
-        has_ff, (uint32_t)src0->ne[2], nb01, nb02,
+        (uint32_t)mode, (uint32_t)ggml_nrows(src0), (uint32_t)n_dims, freq_scale,
+        freq_base, ext_factor, attn_factor, {corr_dims[0], corr_dims[1]}, theta_scale, has_ff,
         { sections[0], sections[1], sections[2], sections[3] }, is_imrope, backprop, set_rows_stride,
+
+        (uint32_t)src0->ne[0],
+        (uint32_t)src0->ne[1],
+        (uint32_t)src0->ne[2],
+        nb01, nb02, nb03,
+        nb11, nb12, nb13,
     };
 
     return rope;
@@ -14798,6 +14813,7 @@ static bool ggml_backend_vk_device_supports_op(ggml_backend_dev_t dev, const ggm
         case GGML_OP_REPEAT_BACK:
             return op->type == GGML_TYPE_F32 && op->src[0]->type == GGML_TYPE_F32;
         case GGML_OP_ROPE:
+            return ggml_is_contiguous_rows(op) && ggml_is_contiguous_rows(op->src[0]);
         case GGML_OP_ROPE_BACK:
         case GGML_OP_NONE:
         case GGML_OP_RESHAPE:
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/rms_norm.comp b/ggml/src/ggml-vulkan/vulkan-shaders/rms_norm.comp
index 9d6d366542..55b89f19a7 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/rms_norm.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/rms_norm.comp
@@ -112,12 +112,11 @@ void rms_norm(uint num_iters) {
 #if RMS_NORM_ROPE_FUSION
     barrier();
     rope_params rp = p.rope;
-    uint rope_row = (samp*nchannels + channel)*nrows + row;
     for (uint t = 2*tid; t < ncols; t += 2*BLOCK_SIZE) {
         if (rp.rope_mode == GGML_ROPE_TYPE_NEOX) {
-            rope_neox(t, rope_row, rp);
+            rope_neox(t, row, channel, samp, rp);
         } else if (rp.rope_mode == GGML_ROPE_TYPE_NORMAL) {
-            rope_norm(t, rope_row, rp);
+            rope_norm(t, row, channel, samp, rp);
         }
     }
 #endif
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/rope_funcs.glsl b/ggml/src/ggml-vulkan/vulkan-shaders/rope_funcs.glsl
index aacec98469..2e53459909 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/rope_funcs.glsl
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/rope_funcs.glsl
@@ -4,12 +4,12 @@ float rope_yarn_ramp(const float low, const float high, const uint i0) {
     return 1.0f - min(1.0f, max(0.0f, y));
 }
 
-uint rope_a_coord(const uint i0, const uint i01, const uint i02, rope_params p) {
+uint rope_a_coord(const uint i0, const uint i01, const uint i02, const uint i03, rope_params p) {
 #if RMS_NORM_ROPE_FUSION
     // Per-row offset in shared memory
     const uint ix = i0;
 #else
-    const uint ix = i02*p.nb02 + i01*p.nb01 + i0;
+    const uint ix = i03*p.nb03 + i02*p.nb02 + i01*p.nb01 + i0;
 #endif
     return ix;
 }
@@ -34,26 +34,19 @@ void rope_yarn(const float theta_extrap, const uint i0, out float cos_theta, out
     sin_theta = sin(theta) * mscale;
 }
 
-void rope_norm(const uint i0, const uint i1, rope_params p) {
-    uint ne0 = p.ncols;
-    uint ne1 = p.p_delta_rows;
-
-    if (i0 >= ne0) {
+void rope_norm(const uint i0, const uint i1, const uint i2, const uint i3, rope_params p) {
+    if (i0 >= p.ne00) {
         return;
     }
 
-    // i1 is actually i2*nb2+i1, but the rows are contiguous
-    const uint i01 = i1 % ne1;
-    const uint i02 = i1 / ne1;
-
-    uint idst = i1*ne0 + i0;
-    const uint ix = rope_a_coord(i0, i01, i02, p);
+    uint idst = i0 + i1 * p.nb11 + i2 * p.nb12 + i3 * p.nb13;
+    const uint ix = rope_a_coord(i0, i1, i2, i3, p);
 
     // Fusion optimization: ROPE + VIEW + SET_ROWS.
     // The rope output is viewed as a 1D tensor and offset based on a row index in rope_data_i.
     if (p.set_rows_stride != 0) {
-        idst = i01*ne0 + i0;
-        idst += rope_data_i[i02].x * p.set_rows_stride;
+        idst = i1*p.nb11 + i0;
+        idst += rope_data_i[i2].x * p.set_rows_stride;
     }
 
     if (i0 >= p.n_dims) {
@@ -63,7 +56,7 @@ void rope_norm(const uint i0, const uint i1, rope_params p) {
         return;
     }
 
-    const float theta_base = rope_data_pos[i02] * pow(p.theta_scale, i0/2.0f);
+    const float theta_base = rope_data_pos[i2] * pow(p.theta_scale, i0/2.0f);
 
     const float freq_factor = p.has_ff != 0 ? rope_data_ff[i0/2] : 1.0f;
 
@@ -77,25 +70,19 @@ void rope_norm(const uint i0, const uint i1, rope_params p) {
     rope_data_d[idst + 1] = ROPE_D_TYPE(x0*sin_theta + x1*cos_theta);
 }
 
-void rope_neox(const uint i0, const uint i1, rope_params p) {
-    uint ne0 = p.ncols;
-    uint ne1 = p.p_delta_rows;
-
-    if (i0 >= ne0) {
+void rope_neox(const uint i0, const uint i1, const uint i2, const uint i3, rope_params p) {
+    if (i0 >= p.ne00) {
         return;
     }
 
-    const uint i01 = i1 % ne1;
-    const uint i02 = i1 / ne1;
-
-    uint idst = i1*ne0 + i0/2;
-    const uint ix = rope_a_coord(i0/2, i01, i02, p);
+    uint idst = i0/2 + i1 * p.nb11 + i2 * p.nb12 + i3 * p.nb13;
+    const uint ix = rope_a_coord(i0/2, i1, i2, i3, p);
 
     // Fusion optimization: ROPE + VIEW + SET_ROWS.
     // The rope output is viewed as a 1D tensor and offset based on a row index in rope_data_i.
     if (p.set_rows_stride != 0) {
-        idst = i01*ne0 + i0/2;
-        idst += rope_data_i[i02].x * p.set_rows_stride;
+        idst = i1*p.nb11 + i0/2;
+        idst += rope_data_i[i2].x * p.set_rows_stride;
     }
 
     if (i0 >= p.n_dims) {
@@ -105,7 +92,7 @@ void rope_neox(const uint i0, const uint i1, rope_params p) {
         return;
     }
 
-    const float theta_base = rope_data_pos[i02] * pow(p.theta_scale, i0/2.0f);
+    const float theta_base = rope_data_pos[i2] * pow(p.theta_scale, i0/2.0f);
 
     const float freq_factor = p.has_ff != 0 ? rope_data_ff[i0/2] : 1.0f;
 
@@ -120,26 +107,19 @@ void rope_neox(const uint i0, const uint i1, rope_params p) {
 }
 
 
-void rope_multi(const uint i0, const uint i1, rope_params p) {
-    uint ne0 = p.ncols;
-    uint ne1 = p.p_delta_rows;
-    uint ne2 = p.ne02;
-
-    if (i0 >= ne0) {
+void rope_multi(const uint i0, const uint i1, const uint i2, const uint i3, rope_params p) {
+    if (i0 >= p.ne00) {
         return;
     }
 
-    const uint i01 = i1 % ne1;
-    const uint i02 = i1 / ne1;
-
-    uint idst = i1*ne0 + i0/2;
-    const uint ix = rope_a_coord(i0/2, i01, i02, p);
+    uint idst = i0/2 + i1 * p.nb11 + i2 * p.nb12 + i3 * p.nb13;
+    const uint ix = rope_a_coord(i0/2, i1, i2, i3, p);
 
     // Fusion optimization: ROPE + VIEW + SET_ROWS.
     // The rope output is viewed as a 1D tensor and offset based on a row index in rope_data_i.
     if (p.set_rows_stride != 0) {
-        idst = i01*ne0 + i0/2;
-        idst += rope_data_i[i02].x * p.set_rows_stride;
+        idst = i1*p.nb11 + i0/2;
+        idst += rope_data_i[i2].x * p.set_rows_stride;
     }
 
     if (i0 >= p.n_dims) {
@@ -156,26 +136,26 @@ void rope_multi(const uint i0, const uint i1, rope_params p) {
     float theta_base = 0.0;
     if (p.is_imrope != 0) {
         if (sector % 3 == 1 && sector < 3 * p.sections[1]) {
-            theta_base = rope_data_pos[i02 + ne2 * 1]*pow(p.theta_scale, i0/2.0f);
+            theta_base = rope_data_pos[i2 + p.ne02 * 1]*pow(p.theta_scale, i0/2.0f);
         } else if (sector % 3 == 2 && sector < 3 * p.sections[2]) {
-            theta_base = rope_data_pos[i02 + ne2 * 2]*pow(p.theta_scale, i0/2.0f);
+            theta_base = rope_data_pos[i2 + p.ne02 * 2]*pow(p.theta_scale, i0/2.0f);
         } else if (sector % 3 == 0 && sector < 3 * p.sections[0]) {
-            theta_base = rope_data_pos[i02]*pow(p.theta_scale, i0/2.0f);
+            theta_base = rope_data_pos[i2]*pow(p.theta_scale, i0/2.0f);
         } else {
-            theta_base = rope_data_pos[i02 + ne2 * 3]*pow(p.theta_scale, i0/2.0f);
+            theta_base = rope_data_pos[i2 + p.ne02 * 3]*pow(p.theta_scale, i0/2.0f);
         }
     } else {
         if (sector < p.sections[0]) {
-            theta_base = rope_data_pos[i02]*pow(p.theta_scale, i0/2.0f);
+            theta_base = rope_data_pos[i2]*pow(p.theta_scale, i0/2.0f);
         }
         else if (sector >= p.sections[0] && sector < sec_w) {
-            theta_base = rope_data_pos[i02 + ne2 * 1]*pow(p.theta_scale, i0/2.0f);
+            theta_base = rope_data_pos[i2 + p.ne02 * 1]*pow(p.theta_scale, i0/2.0f);
         }
         else if (sector >= sec_w && sector < sec_w + p.sections[2]) {
-            theta_base = rope_data_pos[i02 + ne2 * 2]*pow(p.theta_scale, i0/2.0f);
+            theta_base = rope_data_pos[i2 + p.ne02 * 2]*pow(p.theta_scale, i0/2.0f);
         }
         else if (sector >= sec_w + p.sections[2]) {
-            theta_base = rope_data_pos[i02 + ne2 * 3]*pow(p.theta_scale, i0/2.0f);
+            theta_base = rope_data_pos[i2 + p.ne02 * 3]*pow(p.theta_scale, i0/2.0f);
         }
     }
 
@@ -191,20 +171,13 @@ void rope_multi(const uint i0, const uint i1, rope_params p) {
     rope_data_d[idst + p.n_dims/2] = ROPE_D_TYPE(x0*sin_theta + x1*cos_theta);
 }
 
-void rope_vision(const uint i0, const uint i1, rope_params p) {
-    uint ne0 = p.ncols;
-    uint ne1 = p.p_delta_rows;
-    uint ne2 = p.ne02;
-
-    if (i0 >= ne0) {
+void rope_vision(const uint i0, const uint i1, const uint i2, const uint i3, rope_params p) {
+    if (i0 >= p.ne00) {
         return;
     }
 
-    const uint i01 = i1 % ne1;
-    const uint i02 = i1 / ne1;
-
-    const uint idst = i1*ne0 + i0/2;
-    const uint ix = rope_a_coord(i0/2, i01, i02, p);
+    const uint idst = i0/2 + i1 * p.nb11 + i2 * p.nb12 + i3 * p.nb13;
+    const uint ix = rope_a_coord(i0/2, i1, i2, i3, p);
 
     const int sect_dims = p.sections[0] + p.sections[1];
     const int sec_w = p.sections[1] + p.sections[0];
@@ -213,11 +186,11 @@ void rope_vision(const uint i0, const uint i1, rope_params p) {
     float theta_base = 0.0;
     if (sector < p.sections[0]) {
         const uint p0 = sector;
-        theta_base = rope_data_pos[i02]*pow(p.theta_scale, p0);
+        theta_base = rope_data_pos[i2]*pow(p.theta_scale, p0);
     }
     else if (sector >= p.sections[0] && sector < sec_w) {
         const uint p0 = sector - p.sections[0];
-        theta_base = rope_data_pos[i02 + ne2]*pow(p.theta_scale, p0);
+        theta_base = rope_data_pos[i2 + p.ne02]*pow(p.theta_scale, p0);
     }
 
     const float freq_factor = p.has_ff != 0 ? rope_data_ff[i0/2] : 1.0f;
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/rope_multi.comp b/ggml/src/ggml-vulkan/vulkan-shaders/rope_multi.comp
index f7587468a8..1528fbeeae 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/rope_multi.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/rope_multi.comp
@@ -5,10 +5,13 @@
 
 void main() {
     const uint i0 = 2*gl_GlobalInvocationID.y;
-    // i1 is actually i2*nb2+i1, but the rows are contiguous
-    const uint i1 = gl_GlobalInvocationID.x + 32768 * gl_GlobalInvocationID.z;
-    if (i1 >= pc.nrows) {
+    const uint row = gl_GlobalInvocationID.x + 32768 * gl_GlobalInvocationID.z;
+    if (row >= pc.nrows) {
         return;
     }
-    rope_multi(i0, i1, pc);
+    const uint i3 = row / (pc.ne01*pc.ne02);
+    const uint i2 = (row - i3 * pc.ne01*pc.ne02) / pc.ne01;
+    const uint i1 = (row - i3 * pc.ne01*pc.ne02 - i2 * pc.ne01);
+
+    rope_multi(i0, i1, i2, i3, pc);
 }
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/rope_neox.comp b/ggml/src/ggml-vulkan/vulkan-shaders/rope_neox.comp
index acb8ed7815..ad0896095d 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/rope_neox.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/rope_neox.comp
@@ -5,10 +5,13 @@
 
 void main() {
     const uint i0 = 2*gl_GlobalInvocationID.y;
-    // i1 is actually i2*nb2+i1, but the rows are contiguous
-    const uint i1 = gl_GlobalInvocationID.x + 32768 * gl_GlobalInvocationID.z;
-    if (i1 >= pc.nrows) {
+    const uint row = gl_GlobalInvocationID.x + 32768 * gl_GlobalInvocationID.z;
+    if (row >= pc.nrows) {
         return;
     }
-    rope_neox(i0, i1, pc);
+    const uint i3 = row / (pc.ne01*pc.ne02);
+    const uint i2 = (row - i3 * pc.ne01*pc.ne02) / pc.ne01;
+    const uint i1 = (row - i3 * pc.ne01*pc.ne02 - i2 * pc.ne01);
+
+    rope_neox(i0, i1, i2, i3, pc);
 }
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/rope_norm.comp b/ggml/src/ggml-vulkan/vulkan-shaders/rope_norm.comp
index 0033cdb224..11220817df 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/rope_norm.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/rope_norm.comp
@@ -5,10 +5,13 @@
 
 void main() {
     const uint i0 = 2*gl_GlobalInvocationID.y;
-    // i1 is actually i2*nb2+i1, but the rows are contiguous
-    const uint i1 = gl_GlobalInvocationID.x + 32768 * gl_GlobalInvocationID.z;
-    if (i1 >= pc.nrows) {
+    const uint row = gl_GlobalInvocationID.x + 32768 * gl_GlobalInvocationID.z;
+    if (row >= pc.nrows) {
         return;
     }
-    rope_norm(i0, i1, pc);
+    const uint i3 = row / (pc.ne01*pc.ne02);
+    const uint i2 = (row - i3 * pc.ne01*pc.ne02) / pc.ne01;
+    const uint i1 = (row - i3 * pc.ne01*pc.ne02 - i2 * pc.ne01);
+
+    rope_norm(i0, i1, i2, i3, pc);
 }
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/rope_params.glsl b/ggml/src/ggml-vulkan/vulkan-shaders/rope_params.glsl
index 939cf3c51c..ec6ceaca9b 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/rope_params.glsl
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/rope_params.glsl
@@ -5,24 +5,29 @@
 
 struct rope_params {
     uint rope_mode;
-    uint ncols;
     uint nrows;
     uint n_dims;
     float freq_scale;
-    uint p_delta_rows;
     float freq_base;
     float ext_factor;
     float attn_factor;
     float corr_dims[2];
     float theta_scale;
     uint has_ff;
-    uint ne02;
-    uint nb01;
-    uint nb02;
     int sections[4];
     uint is_imrope;
     uint is_back;
     uint set_rows_stride;
+
+    uint ne00;
+    uint ne01;
+    uint ne02;
+    uint nb01;
+    uint nb02;
+    uint nb03;
+    uint nb11;
+    uint nb12;
+    uint nb13;
 };
 
 #endif // !defined(GGML_ROPE_PARAMS)
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/rope_vision.comp b/ggml/src/ggml-vulkan/vulkan-shaders/rope_vision.comp
index d93800b5e7..ca71efb2f5 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/rope_vision.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/rope_vision.comp
@@ -5,10 +5,13 @@
 
 void main() {
     const uint i0 = 2*gl_GlobalInvocationID.y;
-    // i1 is actually i2*nb2+i1, but the rows are contiguous
-    const uint i1 = gl_GlobalInvocationID.x + 32768 * gl_GlobalInvocationID.z;
-    if (i1 >= pc.nrows) {
+    const uint row = gl_GlobalInvocationID.x + 32768 * gl_GlobalInvocationID.z;
+    if (row >= pc.nrows) {
         return;
     }
-    rope_vision(i0, i1, pc);
+    const uint i3 = row / (pc.ne01*pc.ne02);
+    const uint i2 = (row - i3 * pc.ne01*pc.ne02) / pc.ne01;
+    const uint i1 = (row - i3 * pc.ne01*pc.ne02 - i2 * pc.ne01);
+
+    rope_vision(i0, i1, i2, i3, pc);
 }

From 3409ab842d988c3e0dc0d3110dd793a5e187d37e Mon Sep 17 00:00:00 2001
From: Jeff Bolz 
Date: Thu, 5 Feb 2026 01:48:33 -0600
Subject: [PATCH 128/206] vulkan: Set k_load_shmem to false when K is too large
 (#19301)

---
 ggml/src/ggml-vulkan/ggml-vulkan.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
index af57685a37..2f6570181a 100644
--- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp
+++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
@@ -3204,9 +3204,10 @@ static void ggml_vk_load_shaders(vk_device& device) {
         const uint32_t D_lsb = D ^ (D & (D-1));
         uint32_t D_split = std::min(std::min(device->subgroup_size, 8u), D_lsb / 4);
 
-        // Nvidia prefers shared memory use to load large tiles of K
+        // Nvidia prefers shared memory use to load large tiles of K.
+        // Switch to loading from global memory when it would use too much shared memory.
         // AMD prefers loading K directly from global memory
-        const uint32_t k_load_shmem = device->vendor_id == VK_VENDOR_ID_NVIDIA ? 1 : 0;
+        const uint32_t k_load_shmem = device->vendor_id == VK_VENDOR_ID_NVIDIA && hsk < 256 ? 1 : 0;
 
         return {wg_size, rows_cols[0], rows_cols[1], hsk, hsv, clamp, D_split, device->subgroup_size, k_load_shmem};
     };
@@ -8412,7 +8413,7 @@ static bool ggml_vk_flash_attn_coopmat_shmem_support(const vk_device& device, co
     const uint32_t sfshstride = (hsk <= 128) ? (Br + 8) : Br;
     const uint32_t sfsh = Bc * sfshstride * acctype;
 
-    const bool k_load_shmem = device->vendor_id == VK_VENDOR_ID_NVIDIA;
+    const bool k_load_shmem = device->vendor_id == VK_VENDOR_ID_NVIDIA && hsk < 256;
     const uint32_t kshstride = (k_load_shmem ? hsk_pad : MatBr) / 4 + 2;
     const uint32_t vsh_stride = MatBc / 4 * row_split;
     const uint32_t ksh = ((kshstride >= vsh_stride) ? (Bc * kshstride) : (Bc * vsh_stride)) * f16vec4;

From a498c75ad1d7019bc2cc1e5d83e11bb8a062861f Mon Sep 17 00:00:00 2001
From: Oleksandr Kuvshynov <661042+okuvshynov@users.noreply.github.com>
Date: Thu, 5 Feb 2026 03:06:59 -0500
Subject: [PATCH 129/206] vulkan: fix GPU deduplication logic. (#19222)

* vulkan: fix GPU deduplication logic.

As reported in https://github.com/ggml-org/llama.cpp/issues/19221, the
(same uuid, same driver) logic is problematic for windows+intel igpu.

Let's just avoid filtering for MoltenVK which is apple-specific, and
keep the logic the  same as before 88d23ad5 - just dedup based on UUID.

Verified that MacOS + 4xVega still reports 4 GPUs with this version.

* vulkan: only skip dedup when both drivers are moltenVk
---
 ggml/src/ggml-vulkan/ggml-vulkan.cpp | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
index 2f6570181a..ff9cb7355c 100644
--- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp
+++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
@@ -5561,9 +5561,9 @@ static void ggml_vk_instance_init() {
                 // Check if there are two physical devices corresponding to the same GPU
                 // This handles the case where the same GPU appears with different drivers (e.g., RADV + AMDVLK on Linux),
                 // see https://github.com/ggml-org/llama.cpp/pull/7582 for original deduplication.
-                // However, for MoltenVK on macOS, multiple GPUs on the same card may report the same UUID,
-                // see https://github.com/KhronosGroup/MoltenVK/issues/2683. Until this is fixed, we'll only deduplicate
-                // when drivers differ (same driver + same UUID = likely different GPUs)
+                // MoltenVK on macOS may report the same UUID for distinct GPUs on multi-GPU cards,
+                // see https://github.com/KhronosGroup/MoltenVK/issues/2683. Skip when both old/new
+                // driver is MoltenVK
                 auto old_device = std::find_if(
                     vk_instance.device_indices.begin(),
                     vk_instance.device_indices.end(),
@@ -5580,11 +5580,9 @@ static void ggml_vk_instance_init() {
                             old_id.deviceLUIDValid && new_id.deviceLUIDValid &&
                             std::equal(std::begin(old_id.deviceLUID), std::end(old_id.deviceLUID), std::begin(new_id.deviceLUID))
                         );
+                        bool both_molten_vk = (new_driver.driverID == vk::DriverId::eMoltenvk && old_driver.driverID == vk::DriverId::eMoltenvk);
 
-                        // Only deduplicate if same UUID AND different drivers
-                        // (same driver + same UUID on MoltenVK = likely different GPUs on multi-GPU card)
-                        bool different_driver = (old_driver.driverID != new_driver.driverID);
-                        return same_uuid && different_driver;
+                        return same_uuid && !both_molten_vk;
                     }
                 );
                 if (old_device == vk_instance.device_indices.end()) {

From 7a4f97d19694ca4ffa643567c6c353dea976455b Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Thu, 5 Feb 2026 10:08:45 +0200
Subject: [PATCH 130/206] metal : add diag (#19330)

---
 ggml/src/ggml-metal/ggml-metal-device.cpp | 20 ++++++++++
 ggml/src/ggml-metal/ggml-metal-device.h   |  1 +
 ggml/src/ggml-metal/ggml-metal-device.m   |  4 +-
 ggml/src/ggml-metal/ggml-metal-impl.h     | 19 ++++++++++
 ggml/src/ggml-metal/ggml-metal-ops.cpp    | 46 +++++++++++++++++++++++
 ggml/src/ggml-metal/ggml-metal-ops.h      |  1 +
 ggml/src/ggml-metal/ggml-metal.metal      | 20 ++++++++++
 7 files changed, 110 insertions(+), 1 deletion(-)

diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp
index 4cd3d93d81..6af0dd88d5 100644
--- a/ggml/src/ggml-metal/ggml-metal-device.cpp
+++ b/ggml/src/ggml-metal/ggml-metal-device.cpp
@@ -176,6 +176,26 @@ ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_set_rows(ggml_me
     return res;
 }
 
+ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_diag(ggml_metal_library_t lib, const ggml_tensor * op) {
+    char base[256];
+    char name[256];
+
+    const int n = op->src[0]->ne[0];
+
+    snprintf(base, 256, "kernel_diag_%s", ggml_type_name(op->src[0]->type));
+    snprintf(name, 256, "%s_n=%d", base, n);
+
+    ggml_metal_pipeline_with_params res = ggml_metal_library_get_pipeline(lib, name);
+    if (!res.pipeline) {
+        res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr);
+    }
+
+    res.nsg  = 1;
+    res.smem = 0;
+
+    return res;
+}
+
 ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_repeat(ggml_metal_library_t lib, ggml_type tsrc) {
     char base[256];
     char name[256];
diff --git a/ggml/src/ggml-metal/ggml-metal-device.h b/ggml/src/ggml-metal/ggml-metal-device.h
index d898432712..84dcec3083 100644
--- a/ggml/src/ggml-metal/ggml-metal-device.h
+++ b/ggml/src/ggml-metal/ggml-metal-device.h
@@ -108,6 +108,7 @@ struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_pool_1d
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_pool_2d           (ggml_metal_library_t lib, const struct ggml_tensor * op, enum ggml_op_pool op_pool);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_get_rows          (ggml_metal_library_t lib, enum ggml_type tsrc);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_set_rows          (ggml_metal_library_t lib, enum ggml_type tidx, enum ggml_type tdst);
+struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_diag              (ggml_metal_library_t lib, const struct ggml_tensor * op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_repeat            (ggml_metal_library_t lib, enum ggml_type tsrc);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_unary             (ggml_metal_library_t lib, const struct ggml_tensor * op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_glu               (ggml_metal_library_t lib, const struct ggml_tensor * op);
diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m
index 8a0b85c6e4..c8e737d418 100644
--- a/ggml/src/ggml-metal/ggml-metal-device.m
+++ b/ggml/src/ggml-metal/ggml-metal-device.m
@@ -1152,8 +1152,8 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te
             return has_simdgroup_reduction;
         case GGML_OP_RWKV_WKV6:
         case GGML_OP_RWKV_WKV7:
-        case GGML_OP_SOLVE_TRI:
             return true;
+        case GGML_OP_SOLVE_TRI:
         case GGML_OP_MUL_MAT:
         case GGML_OP_MUL_MAT_ID:
             return has_simdgroup_reduction;
@@ -1235,6 +1235,8 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te
                         return false;
                 };
             }
+        case GGML_OP_DIAG:
+            return true;
         case GGML_OP_OPT_STEP_ADAMW:
         case GGML_OP_OPT_STEP_SGD:
             return has_simdgroup_reduction;
diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h
index 640ade8f88..7f73cb97bb 100644
--- a/ggml/src/ggml-metal/ggml-metal-impl.h
+++ b/ggml/src/ggml-metal/ggml-metal-impl.h
@@ -792,6 +792,25 @@ typedef struct {
     uint64_t nb3;
 } ggml_metal_kargs_set_rows;
 
+typedef struct {
+    int32_t  ne00;
+    int32_t  ne01;
+    int32_t  ne02;
+    int32_t  ne03;
+    uint64_t nb00;
+    uint64_t nb01;
+    uint64_t nb02;
+    uint64_t nb03;
+    int32_t  ne0;
+    int32_t  ne1;
+    int32_t  ne2;
+    int32_t  ne3;
+    uint64_t nb0;
+    uint64_t nb1;
+    uint64_t nb2;
+    uint64_t nb3;
+} ggml_metal_kargs_diag;
+
 typedef struct {
     int64_t  ne00;
     int64_t  ne01;
diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp
index 753fcec317..e0ed6c7805 100644
--- a/ggml/src/ggml-metal/ggml-metal-ops.cpp
+++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp
@@ -361,6 +361,10 @@ static int ggml_metal_op_encode_impl(ggml_metal_op_t ctx, int idx) {
             {
                 n_fuse = ggml_metal_op_set_rows(ctx, idx);
             } break;
+        case GGML_OP_DIAG:
+            {
+                n_fuse = ggml_metal_op_diag(ctx, idx);
+            } break;
         case GGML_OP_L2_NORM:
             {
                 n_fuse = ggml_metal_op_l2_norm(ctx, idx);
@@ -1259,6 +1263,48 @@ int ggml_metal_op_set_rows(ggml_metal_op_t ctx, int idx) {
     return 1;
 }
 
+int ggml_metal_op_diag(ggml_metal_op_t ctx, int idx) {
+    ggml_tensor * op = ctx->node(idx);
+
+    ggml_metal_library_t lib = ctx->lib;
+    ggml_metal_encoder_t enc = ctx->enc;
+
+    GGML_TENSOR_LOCALS(int32_t,  ne0, op->src[0], ne);
+    GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb);
+    GGML_TENSOR_LOCALS(int32_t,  ne, op, ne);
+    GGML_TENSOR_LOCALS(uint64_t, nb, op, nb);
+
+    ggml_metal_kargs_diag args = {
+        /*.ne00 =*/ne00,
+        /*.ne01 =*/ne01,
+        /*.ne02 =*/ne02,
+        /*.ne03 =*/ne03,
+        /*.nb00 =*/nb00,
+        /*.nb01 =*/nb01,
+        /*.nb02 =*/nb02,
+        /*.nb03 =*/nb03,
+        /*.ne0  =*/ne0,
+        /*.ne1  =*/ne1,
+        /*.ne2  =*/ne2,
+        /*.ne3  =*/ne3,
+        /*.nb0  =*/nb0,
+        /*.nb1  =*/nb1,
+        /*.nb2  =*/nb2,
+        /*.nb3  =*/nb3,
+    };
+
+    auto pipeline = ggml_metal_library_get_pipeline_diag(lib, op);
+
+    ggml_metal_encoder_set_pipeline(enc, pipeline);
+    ggml_metal_encoder_set_bytes(enc, &args, sizeof(args), 0);
+    ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op->src[0]), 1);
+    ggml_metal_encoder_set_buffer(enc, ggml_metal_get_buffer_id(op),         2);
+
+    ggml_metal_encoder_dispatch_threadgroups(enc, ne1, ne2, ne3, 32, 1, 1);
+
+    return 1;
+}
+
 int ggml_metal_op_soft_max(ggml_metal_op_t ctx, int idx) {
     ggml_tensor * op = ctx->node(idx);
 
diff --git a/ggml/src/ggml-metal/ggml-metal-ops.h b/ggml/src/ggml-metal/ggml-metal-ops.h
index 2e4c7d3fa1..3c64e4f600 100644
--- a/ggml/src/ggml-metal/ggml-metal-ops.h
+++ b/ggml/src/ggml-metal/ggml-metal-ops.h
@@ -56,6 +56,7 @@ int ggml_metal_op_sum_rows          (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_cumsum            (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_get_rows          (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_set_rows          (ggml_metal_op_t ctx, int idx);
+int ggml_metal_op_diag              (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_soft_max          (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_ssm_conv          (ggml_metal_op_t ctx, int idx);
 int ggml_metal_op_ssm_scan          (ggml_metal_op_t ctx, int idx);
diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal
index c09a54e661..e54cdab39d 100644
--- a/ggml/src/ggml-metal/ggml-metal.metal
+++ b/ggml/src/ggml-metal/ggml-metal.metal
@@ -8815,6 +8815,26 @@ kernel void kernel_set_rows_f(
     }
 }
 
+kernel void kernel_diag_f32(
+        constant ggml_metal_kargs_diag & args,
+        device   const char * src0,
+        device         char * dst,
+        uint3  tgpig[[threadgroup_position_in_grid]],
+        ushort tiitg[[thread_index_in_threadgroup]]) {
+    constexpr short NW = N_SIMDWIDTH;
+
+    const int32_t i3 = tgpig.z;
+    const int32_t i2 = tgpig.y;
+    const int32_t i1 = tgpig.x;
+
+    device const float * src0_ptr = (device const float *)(src0 +                i2*args.nb02 + i3*args.nb03);
+    device       float * dst_ptr  = (device       float *)(dst  + i1*args.nb01 + i2*args.nb2  + i3*args.nb3);
+
+    for (int i0 = tiitg; i0 < args.ne0; i0 += NW) {
+        dst_ptr[i0] = i0 == i1 ? src0_ptr[i0] : 0.0f;
+    }
+}
+
 constant bool FC_mul_mm_bc_inp [[function_constant(FC_MUL_MM + 0)]];
 constant bool FC_mul_mm_bc_out [[function_constant(FC_MUL_MM + 1)]];
 

From a4ea7a188f3f777da665d73fe297fb7bb716e526 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= 
Date: Thu, 5 Feb 2026 09:53:35 +0100
Subject: [PATCH 131/206] vendor : update BoringSSL to 0.20260204.0 (#19333)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Adrien Gallouët 
---
 vendor/cpp-httplib/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vendor/cpp-httplib/CMakeLists.txt b/vendor/cpp-httplib/CMakeLists.txt
index 18974d64ca..a8a59e02f4 100644
--- a/vendor/cpp-httplib/CMakeLists.txt
+++ b/vendor/cpp-httplib/CMakeLists.txt
@@ -39,7 +39,7 @@ if (LLAMA_BUILD_BORINGSSL)
     set(FIPS OFF CACHE BOOL "Enable FIPS (BoringSSL)")
 
     set(BORINGSSL_GIT "https://boringssl.googlesource.com/boringssl" CACHE STRING "BoringSSL git repository")
-    set(BORINGSSL_VERSION "0.20251002.0" CACHE STRING "BoringSSL version")
+    set(BORINGSSL_VERSION "0.20260204.0" CACHE STRING "BoringSSL version")
 
     message(STATUS "Fetching BoringSSL version ${BORINGSSL_VERSION}")
 

From b828e18c75137e29fbfd3f3daa38281172d6a636 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= 
Date: Thu, 5 Feb 2026 11:10:39 +0100
Subject: [PATCH 132/206] docker : fix vulkan build (#19352)

---
 .devops/vulkan.Dockerfile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/.devops/vulkan.Dockerfile b/.devops/vulkan.Dockerfile
index 9797c5e0f3..5d6c87ed6b 100644
--- a/.devops/vulkan.Dockerfile
+++ b/.devops/vulkan.Dockerfile
@@ -54,6 +54,7 @@ RUN apt-get update \
     build-essential \
     git \
     python3 \
+    python3-dev \
     python3-pip \
     python3-wheel \
     && pip install --break-system-packages --upgrade setuptools \

From 3795cc1e89e16fbc145f8a5457ea30abd86e0d1d Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Thu, 5 Feb 2026 14:34:07 +0200
Subject: [PATCH 133/206] benches : update models + numbers (#19359)

* bench : update script

* benches : update numbers
---
 benches/dgx-spark/dgx-spark.md       | 371 +++++++++++++++------------
 benches/mac-m2-ultra/mac-m2-ultra.md | 298 +++++++++++++++++++++
 scripts/bench-models.sh              |  60 +++--
 3 files changed, 541 insertions(+), 188 deletions(-)
 create mode 100644 benches/mac-m2-ultra/mac-m2-ultra.md
 mode change 100644 => 100755 scripts/bench-models.sh

diff --git a/benches/dgx-spark/dgx-spark.md b/benches/dgx-spark/dgx-spark.md
index ec6c20d8a0..fd5c4e2c78 100644
--- a/benches/dgx-spark/dgx-spark.md
+++ b/benches/dgx-spark/dgx-spark.md
@@ -8,7 +8,7 @@ g++ --version
 g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
 
 nvidia-smi
-Sun Nov  2 10:43:25 2025
+Thu Feb  5 13:49:40 2026
 +-----------------------------------------------------------------------------------------+
 | NVIDIA-SMI 580.95.05              Driver Version: 580.95.05      CUDA Version: 13.0     |
 +-----------------------------------------+------------------------+----------------------+
@@ -17,7 +17,7 @@ Sun Nov  2 10:43:25 2025
 |                                         |                        |               MIG M. |
 |=========================================+========================+======================|
 |   0  NVIDIA GB10                    On  |   0000000F:01:00.0 Off |                  N/A |
-| N/A   35C    P8              4W /  N/A  | Not Supported          |      0%      Default |
+| N/A   47C    P0             13W /  N/A  | Not Supported          |      0%      Default |
 |                                         |                        |                  N/A |
 +-----------------------------------------+------------------------+----------------------+
 ```
@@ -29,46 +29,46 @@ Model: https://huggingface.co/ggml-org/gpt-oss-20b-GGUF
 - `llama-batched-bench`
 
 
-main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
 
 |    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
 |-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
-|   512 |     32 |    1 |    544 |    0.374 |  1369.01 |    0.383 |    83.64 |    0.757 |   719.01 |
-|   512 |     32 |    2 |   1088 |    0.274 |  3741.35 |    0.659 |    97.14 |    0.933 |  1166.66 |
-|   512 |     32 |    4 |   2176 |    0.526 |  3896.47 |    0.817 |   156.73 |    1.342 |  1621.08 |
-|   512 |     32 |    8 |   4352 |    1.044 |  3925.10 |    0.987 |   259.44 |    2.030 |  2143.56 |
-|   512 |     32 |   16 |   8704 |    2.076 |  3945.84 |    1.248 |   410.32 |    3.324 |  2618.60 |
-|   512 |     32 |   32 |  17408 |    4.170 |  3929.28 |    1.630 |   628.40 |    5.799 |  3001.76 |
-|  4096 |     32 |    1 |   4128 |    1.083 |  3782.66 |    0.394 |    81.21 |    1.477 |  2795.13 |
-|  4096 |     32 |    2 |   8256 |    2.166 |  3782.72 |    0.725 |    88.28 |    2.891 |  2856.14 |
-|  4096 |     32 |    4 |  16512 |    4.333 |  3780.88 |    0.896 |   142.82 |    5.230 |  3157.38 |
-|  4096 |     32 |    8 |  33024 |    8.618 |  3802.14 |    1.155 |   221.69 |    9.773 |  3379.08 |
-|  4096 |     32 |   16 |  66048 |   17.330 |  3781.73 |    1.598 |   320.34 |   18.928 |  3489.45 |
-|  4096 |     32 |   32 | 132096 |   34.671 |  3780.48 |    2.336 |   438.35 |   37.007 |  3569.51 |
-|  8192 |     32 |    1 |   8224 |    2.233 |  3668.56 |    0.438 |    72.98 |    2.671 |  3078.44 |
-|  8192 |     32 |    2 |  16448 |    4.425 |  3702.95 |    0.756 |    84.66 |    5.181 |  3174.95 |
-|  8192 |     32 |    4 |  32896 |    8.859 |  3698.64 |    0.967 |   132.38 |    9.826 |  3347.72 |
-|  8192 |     32 |    8 |  65792 |   17.714 |  3699.57 |    1.277 |   200.52 |   18.991 |  3464.35 |
-|  8192 |     32 |   16 | 131584 |   35.494 |  3692.84 |    1.841 |   278.12 |   37.335 |  3524.46 |
-|  8192 |     32 |   32 | 263168 |   70.949 |  3694.82 |    2.798 |   365.99 |   73.747 |  3568.53 |
+|   512 |     32 |    1 |    544 |    0.270 |  1895.57 |    0.399 |    80.13 |    0.669 |   812.60 |
+|   512 |     32 |    2 |   1088 |    0.230 |  4451.23 |    0.583 |   109.71 |    0.813 |  1337.56 |
+|   512 |     32 |    4 |   2176 |    0.437 |  4688.87 |    0.820 |   156.03 |    1.257 |  1730.91 |
+|   512 |     32 |    8 |   4352 |    0.863 |  4744.23 |    0.942 |   271.79 |    1.805 |  2410.73 |
+|   512 |     32 |   16 |   8704 |    1.725 |  4748.19 |    1.173 |   436.38 |    2.899 |  3002.85 |
+|   512 |     32 |   32 |  17408 |    3.437 |  4767.38 |    1.503 |   681.49 |    4.939 |  3524.40 |
+|  4096 |     32 |    1 |   4128 |    0.907 |  4513.91 |    0.407 |    78.54 |    1.315 |  3139.56 |
+|  4096 |     32 |    2 |   8256 |    1.796 |  4560.42 |    0.625 |   102.37 |    2.422 |  3409.45 |
+|  4096 |     32 |    4 |  16512 |    3.596 |  4555.66 |    0.888 |   144.11 |    4.485 |  3681.93 |
+|  4096 |     32 |    8 |  33024 |    7.184 |  4561.44 |    1.098 |   233.11 |    8.282 |  3987.51 |
+|  4096 |     32 |   16 |  66048 |   14.369 |  4560.82 |    1.503 |   340.74 |   15.872 |  4161.30 |
+|  4096 |     32 |   32 | 132096 |   28.760 |  4557.52 |    2.162 |   473.59 |   30.922 |  4271.95 |
+|  8192 |     32 |    1 |   8224 |    1.859 |  4405.59 |    0.430 |    74.36 |    2.290 |  3591.61 |
+|  8192 |     32 |    2 |  16448 |    3.698 |  4430.02 |    0.656 |    97.59 |    4.354 |  3777.47 |
+|  8192 |     32 |    4 |  32896 |    7.403 |  4426.10 |    0.957 |   133.82 |    8.360 |  3934.97 |
+|  8192 |     32 |    8 |  65792 |   14.802 |  4427.63 |    1.222 |   209.44 |   16.024 |  4105.87 |
+|  8192 |     32 |   16 | 131584 |   29.596 |  4428.67 |    1.741 |   294.13 |   31.337 |  4199.00 |
+|  8192 |     32 |   32 | 263168 |   59.169 |  4430.42 |    2.619 |   390.92 |   61.789 |  4259.17 |
 
 
 - `llama-bench`
 
-| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap |            test |                  t/s |
-| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --------------: | -------------------: |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |          pp2048 |      3714.25 ± 20.36 |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |            tg32 |         86.58 ± 0.43 |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d4096 |      3445.17 ± 17.85 |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d4096 |         81.72 ± 0.53 |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d8192 |      3218.78 ± 11.34 |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d8192 |         74.86 ± 0.64 |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d16384 |       2732.83 ± 7.17 |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d16384 |         71.57 ± 0.51 |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d32768 |      2119.75 ± 12.81 |
-| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d32768 |         62.33 ± 0.24 |
+| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap | dio |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --: | --------------: | -------------------: |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |          pp2048 |      4505.82 ± 12.90 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |            tg32 |         83.43 ± 0.59 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d4096 |      4158.34 ± 18.84 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d4096 |         79.22 ± 0.60 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d8192 |      3993.81 ± 17.55 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d8192 |         75.22 ± 1.05 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d16384 |      3449.98 ± 12.13 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d16384 |         70.36 ± 0.37 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d32768 |      2689.42 ± 18.89 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d32768 |         61.65 ± 0.30 |
 
-build: eeee367de (6989)
+build: 11fb327bf (7941)
 
 ## ggml-org/gpt-oss-120b-GGUF
 
@@ -77,46 +77,46 @@ Model: https://huggingface.co/ggml-org/gpt-oss-120b-GGUF
 - `llama-batched-bench`
 
 
-main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
 
 |    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
 |-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
-|   512 |     32 |    1 |    544 |    0.571 |   897.18 |    0.543 |    58.96 |    1.113 |   488.60 |
-|   512 |     32 |    2 |   1088 |    0.593 |  1725.37 |    1.041 |    61.45 |    1.635 |   665.48 |
-|   512 |     32 |    4 |   2176 |    1.043 |  1963.15 |    1.334 |    95.95 |    2.377 |   915.36 |
-|   512 |     32 |    8 |   4352 |    2.099 |  1951.63 |    1.717 |   149.07 |    3.816 |  1140.45 |
-|   512 |     32 |   16 |   8704 |    4.207 |  1947.12 |    2.311 |   221.56 |    6.518 |  1335.35 |
-|   512 |     32 |   32 |  17408 |    8.422 |  1945.36 |    3.298 |   310.46 |   11.720 |  1485.27 |
-|  4096 |     32 |    1 |   4128 |    2.138 |  1915.88 |    0.571 |    56.09 |    2.708 |  1524.12 |
-|  4096 |     32 |    2 |   8256 |    4.266 |  1920.25 |    1.137 |    56.27 |    5.404 |  1527.90 |
-|  4096 |     32 |    4 |  16512 |    8.564 |  1913.02 |    1.471 |    86.99 |   10.036 |  1645.29 |
-|  4096 |     32 |    8 |  33024 |   17.092 |  1917.19 |    1.979 |   129.33 |   19.071 |  1731.63 |
-|  4096 |     32 |   16 |  66048 |   34.211 |  1915.65 |    2.850 |   179.66 |   37.061 |  1782.15 |
-|  4096 |     32 |   32 | 132096 |   68.394 |  1916.44 |    4.381 |   233.72 |   72.775 |  1815.13 |
-|  8192 |     32 |    1 |   8224 |    4.349 |  1883.45 |    0.620 |    51.65 |    4.969 |  1655.04 |
-|  8192 |     32 |    2 |  16448 |    8.674 |  1888.83 |    1.178 |    54.33 |    9.852 |  1669.48 |
-|  8192 |     32 |    4 |  32896 |   17.351 |  1888.55 |    1.580 |    81.01 |   18.931 |  1737.68 |
-|  8192 |     32 |    8 |  65792 |   34.743 |  1886.31 |    2.173 |   117.80 |   36.916 |  1782.20 |
-|  8192 |     32 |   16 | 131584 |   69.413 |  1888.29 |    3.297 |   155.28 |   72.710 |  1809.70 |
-|  8192 |     32 |   32 | 263168 |  138.903 |  1887.24 |    5.004 |   204.63 |  143.907 |  1828.73 |
+|   512 |     32 |    1 |    544 |    0.445 |  1151.80 |    0.560 |    57.14 |    1.005 |   541.53 |
+|   512 |     32 |    2 |   1088 |    0.472 |  2169.85 |    0.874 |    73.27 |    1.345 |   808.65 |
+|   512 |     32 |    4 |   2176 |    0.826 |  2480.33 |    1.299 |    98.51 |    2.125 |  1023.94 |
+|   512 |     32 |    8 |   4352 |    1.644 |  2491.67 |    1.608 |   159.18 |    3.252 |  1338.20 |
+|   512 |     32 |   16 |   8704 |    3.292 |  2488.35 |    2.117 |   241.85 |    5.409 |  1609.13 |
+|   512 |     32 |   32 |  17408 |    6.604 |  2481.07 |    2.898 |   353.31 |    9.502 |  1832.04 |
+|  4096 |     32 |    1 |   4128 |    1.698 |  2412.65 |    0.580 |    55.21 |    2.277 |  1812.66 |
+|  4096 |     32 |    2 |   8256 |    3.399 |  2409.88 |    0.934 |    68.53 |    4.333 |  1905.27 |
+|  4096 |     32 |    4 |  16512 |    6.823 |  2401.21 |    1.411 |    90.72 |    8.234 |  2005.30 |
+|  4096 |     32 |    8 |  33024 |   13.574 |  2413.97 |    1.841 |   139.07 |   15.415 |  2142.31 |
+|  4096 |     32 |   16 |  66048 |   27.176 |  2411.52 |    2.609 |   196.26 |   29.785 |  2217.49 |
+|  4096 |     32 |   32 | 132096 |   54.359 |  2411.23 |    3.905 |   262.20 |   58.264 |  2267.19 |
+|  8192 |     32 |    1 |   8224 |    3.491 |  2346.81 |    0.613 |    52.23 |    4.103 |  2004.21 |
+|  8192 |     32 |    2 |  16448 |    6.939 |  2361.03 |    0.981 |    65.21 |    7.921 |  2076.56 |
+|  8192 |     32 |    4 |  32896 |   13.888 |  2359.40 |    1.511 |    84.71 |   15.399 |  2136.21 |
+|  8192 |     32 |    8 |  65792 |   27.756 |  2361.18 |    2.034 |   125.86 |   29.790 |  2208.56 |
+|  8192 |     32 |   16 | 131584 |   55.554 |  2359.34 |    3.021 |   169.49 |   58.575 |  2246.41 |
+|  8192 |     32 |   32 | 263168 |  111.036 |  2360.89 |    4.537 |   225.72 |  115.573 |  2277.08 |
 
 
 - `llama-bench`
 
-| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap |            test |                  t/s |
-| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --------------: | -------------------: |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |          pp2048 |       1919.36 ± 5.01 |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |            tg32 |         60.40 ± 0.30 |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d4096 |       1825.30 ± 6.37 |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d4096 |         56.94 ± 0.29 |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d8192 |       1739.19 ± 6.00 |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d8192 |         52.51 ± 0.42 |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d16384 |       1536.75 ± 4.27 |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d16384 |         49.33 ± 0.27 |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d32768 |       1255.85 ± 3.26 |
-| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d32768 |         42.99 ± 0.18 |
+| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap | dio |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --: | --------------: | -------------------: |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |          pp2048 |       2443.91 ± 7.47 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |            tg32 |         58.72 ± 0.20 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d4096 |       2309.84 ± 3.63 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d4096 |         55.67 ± 0.35 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d8192 |      2216.68 ± 10.16 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d8192 |         52.87 ± 0.43 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d16384 |       1956.31 ± 6.39 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d16384 |         49.45 ± 0.20 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d32768 |      1567.08 ± 11.79 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d32768 |         42.76 ± 0.14 |
 
-build: eeee367de (6989)
+build: 11fb327bf (7941)
 
 ## ggml-org/Qwen3-Coder-30B-A3B-Instruct-Q8_0-GGUF
 
@@ -125,46 +125,46 @@ Model: https://huggingface.co/ggml-org/Qwen3-Coder-30B-A3B-Instruct-Q8_0-GGUF
 - `llama-batched-bench`
 
 
-main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
 
 |    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
 |-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
-|   512 |     32 |    1 |    544 |    0.398 |  1285.90 |    0.530 |    60.41 |    0.928 |   586.27 |
-|   512 |     32 |    2 |   1088 |    0.386 |  2651.65 |    0.948 |    67.50 |    1.334 |   815.38 |
-|   512 |     32 |    4 |   2176 |    0.666 |  3076.37 |    1.209 |   105.87 |    1.875 |  1160.71 |
-|   512 |     32 |    8 |   4352 |    1.325 |  3091.39 |    1.610 |   158.98 |    2.935 |  1482.65 |
-|   512 |     32 |   16 |   8704 |    2.664 |  3075.58 |    2.150 |   238.19 |    4.813 |  1808.39 |
-|   512 |     32 |   32 |  17408 |    5.336 |  3070.31 |    2.904 |   352.59 |    8.240 |  2112.50 |
-|  4096 |     32 |    1 |   4128 |    1.444 |  2836.81 |    0.581 |    55.09 |    2.025 |  2038.81 |
-|  4096 |     32 |    2 |   8256 |    2.872 |  2852.14 |    1.084 |    59.06 |    3.956 |  2086.99 |
-|  4096 |     32 |    4 |  16512 |    5.744 |  2852.32 |    1.440 |    88.90 |    7.184 |  2298.47 |
-|  4096 |     32 |    8 |  33024 |   11.463 |  2858.68 |    2.068 |   123.78 |   13.531 |  2440.65 |
-|  4096 |     32 |   16 |  66048 |   22.915 |  2859.95 |    3.018 |   169.67 |   25.933 |  2546.90 |
-|  4096 |     32 |   32 | 132096 |   45.956 |  2852.10 |    4.609 |   222.18 |   50.565 |  2612.39 |
-|  8192 |     32 |    1 |   8224 |    3.063 |  2674.72 |    0.693 |    46.20 |    3.755 |  2189.92 |
-|  8192 |     32 |    2 |  16448 |    6.109 |  2681.87 |    1.214 |    52.71 |    7.323 |  2245.98 |
-|  8192 |     32 |    4 |  32896 |   12.197 |  2686.63 |    1.682 |    76.11 |   13.878 |  2370.30 |
-|  8192 |     32 |    8 |  65792 |   24.409 |  2684.94 |    2.556 |   100.17 |   26.965 |  2439.95 |
-|  8192 |     32 |   16 | 131584 |   48.753 |  2688.50 |    3.994 |   128.20 |   52.747 |  2494.64 |
-|  8192 |     32 |   32 | 263168 |   97.508 |  2688.42 |    6.528 |   156.86 |  104.037 |  2529.57 |
+|   512 |     32 |    1 |    544 |    0.393 |  1303.73 |    0.548 |    58.36 |    0.941 |   578.10 |
+|   512 |     32 |    2 |   1088 |    0.387 |  2648.68 |    0.910 |    70.35 |    1.296 |   839.27 |
+|   512 |     32 |    4 |   2176 |    0.659 |  3107.63 |    1.302 |    98.33 |    1.961 |  1109.77 |
+|   512 |     32 |    8 |   4352 |    1.322 |  3099.35 |    1.669 |   153.42 |    2.990 |  1455.43 |
+|   512 |     32 |   16 |   8704 |    2.639 |  3104.63 |    2.212 |   231.44 |    4.851 |  1794.32 |
+|   512 |     32 |   32 |  17408 |    5.284 |  3100.80 |    2.955 |   346.53 |    8.239 |  2112.93 |
+|  4096 |     32 |    1 |   4128 |    1.417 |  2890.36 |    0.598 |    53.51 |    2.015 |  2048.45 |
+|  4096 |     32 |    2 |   8256 |    2.829 |  2895.62 |    1.019 |    62.82 |    3.848 |  2145.60 |
+|  4096 |     32 |    4 |  16512 |    5.656 |  2896.96 |    1.528 |    83.79 |    7.183 |  2298.71 |
+|  4096 |     32 |    8 |  33024 |   11.338 |  2890.02 |    2.127 |   120.36 |   13.465 |  2452.53 |
+|  4096 |     32 |   16 |  66048 |   22.709 |  2885.96 |    3.104 |   164.97 |   25.812 |  2558.79 |
+|  4096 |     32 |   32 | 132096 |   45.301 |  2893.35 |    4.723 |   216.80 |   50.024 |  2640.63 |
+|  8192 |     32 |    1 |   8224 |    3.022 |  2711.09 |    0.678 |    47.20 |    3.700 |  2222.89 |
+|  8192 |     32 |    2 |  16448 |    6.039 |  2713.01 |    1.149 |    55.70 |    7.188 |  2288.21 |
+|  8192 |     32 |    4 |  32896 |   12.050 |  2719.35 |    1.785 |    71.69 |   13.835 |  2377.67 |
+|  8192 |     32 |    8 |  65792 |   24.113 |  2717.90 |    2.629 |    97.39 |   26.741 |  2460.31 |
+|  8192 |     32 |   16 | 131584 |   48.178 |  2720.58 |    4.099 |   124.91 |   52.277 |  2517.06 |
+|  8192 |     32 |   32 | 263168 |   96.401 |  2719.31 |    6.696 |   152.93 |  103.097 |  2552.63 |
 
 
 - `llama-bench`
 
-| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap |            test |                  t/s |
-| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --------------: | -------------------: |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |          pp2048 |       2925.55 ± 4.25 |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |            tg32 |         62.80 ± 0.27 |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d4096 |       2531.01 ± 6.79 |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d4096 |         55.86 ± 0.33 |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d8192 |       2244.39 ± 5.33 |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d8192 |         45.95 ± 0.33 |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d16384 |       1783.17 ± 3.68 |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d16384 |         39.07 ± 0.10 |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d32768 |       1241.90 ± 3.13 |
-| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d32768 |         29.92 ± 0.06 |
+| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap | dio |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --: | --------------: | -------------------: |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |          pp2048 |      2986.97 ± 18.87 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |            tg32 |         61.06 ± 0.23 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d4096 |       2633.45 ± 6.26 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d4096 |         54.77 ± 0.28 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d8192 |       2354.14 ± 3.84 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d8192 |         48.02 ± 0.40 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d16384 |       1908.86 ± 4.25 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d16384 |         40.23 ± 0.10 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d32768 |       1348.17 ± 2.00 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d32768 |         30.21 ± 0.04 |
 
-build: eeee367de (6989)
+build: 11fb327bf (7941)
 
 ## ggml-org/Qwen2.5-Coder-7B-Q8_0-GGUF
 
@@ -173,46 +173,46 @@ Model: https://huggingface.co/ggml-org/Qwen2.5-Coder-7B-Q8_0-GGUF
 - `llama-batched-bench`
 
 
-main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
 
 |    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
 |-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
-|   512 |     32 |    1 |    544 |    0.211 |  2421.57 |    1.055 |    30.33 |    1.266 |   429.57 |
-|   512 |     32 |    2 |   1088 |    0.419 |  2441.34 |    1.130 |    56.65 |    1.549 |   702.32 |
-|   512 |     32 |    4 |   2176 |    0.873 |  2345.54 |    1.174 |   108.99 |    2.048 |  1062.74 |
-|   512 |     32 |    8 |   4352 |    1.727 |  2371.85 |    1.254 |   204.22 |    2.980 |  1460.19 |
-|   512 |     32 |   16 |   8704 |    3.452 |  2373.22 |    1.492 |   343.16 |    4.944 |  1760.56 |
-|   512 |     32 |   32 |  17408 |    6.916 |  2368.93 |    1.675 |   611.51 |    8.591 |  2026.36 |
-|  4096 |     32 |    1 |   4128 |    1.799 |  2277.26 |    1.084 |    29.51 |    2.883 |  1431.91 |
-|  4096 |     32 |    2 |   8256 |    3.577 |  2290.01 |    1.196 |    53.50 |    4.774 |  1729.51 |
-|  4096 |     32 |    4 |  16512 |    7.172 |  2284.36 |    1.313 |    97.50 |    8.485 |  1946.00 |
-|  4096 |     32 |    8 |  33024 |   14.341 |  2284.96 |    1.520 |   168.46 |   15.860 |  2082.18 |
-|  4096 |     32 |   16 |  66048 |   28.675 |  2285.44 |    1.983 |   258.21 |   30.658 |  2154.33 |
-|  4096 |     32 |   32 | 132096 |   57.354 |  2285.32 |    2.640 |   387.87 |   59.994 |  2201.82 |
-|  8192 |     32 |    1 |   8224 |    3.701 |  2213.75 |    1.119 |    28.59 |    4.820 |  1706.34 |
-|  8192 |     32 |    2 |  16448 |    7.410 |  2211.19 |    1.272 |    50.31 |    8.682 |  1894.56 |
-|  8192 |     32 |    4 |  32896 |   14.802 |  2213.83 |    1.460 |    87.68 |   16.261 |  2022.96 |
-|  8192 |     32 |    8 |  65792 |   29.609 |  2213.35 |    1.781 |   143.74 |   31.390 |  2095.93 |
-|  8192 |     32 |   16 | 131584 |   59.229 |  2212.96 |    2.495 |   205.17 |   61.725 |  2131.79 |
-|  8192 |     32 |   32 | 263168 |  118.449 |  2213.15 |    3.714 |   275.75 |  122.162 |  2154.25 |
+|   512 |     32 |    1 |    544 |    0.212 |  2420.12 |    1.100 |    29.10 |    1.311 |   414.85 |
+|   512 |     32 |    2 |   1088 |    0.428 |  2393.89 |    1.185 |    54.00 |    1.613 |   674.56 |
+|   512 |     32 |    4 |   2176 |    0.894 |  2290.41 |    1.229 |   104.17 |    2.123 |  1025.02 |
+|   512 |     32 |    8 |   4352 |    1.758 |  2330.36 |    1.319 |   194.15 |    3.076 |  1414.70 |
+|   512 |     32 |   16 |   8704 |    3.508 |  2335.21 |    1.543 |   331.90 |    5.051 |  1723.33 |
+|   512 |     32 |   32 |  17408 |    7.035 |  2328.93 |    1.738 |   589.21 |    8.773 |  1984.29 |
+|  4096 |     32 |    1 |   4128 |    1.831 |  2237.25 |    1.125 |    28.44 |    2.956 |  1396.42 |
+|  4096 |     32 |    2 |   8256 |    3.642 |  2249.48 |    1.253 |    51.07 |    4.895 |  1686.64 |
+|  4096 |     32 |    4 |  16512 |    7.274 |  2252.26 |    1.380 |    92.72 |    8.655 |  1907.81 |
+|  4096 |     32 |    8 |  33024 |   14.576 |  2248.09 |    1.617 |   158.29 |   16.193 |  2039.37 |
+|  4096 |     32 |   16 |  66048 |   29.138 |  2249.17 |    2.081 |   246.01 |   31.219 |  2115.63 |
+|  4096 |     32 |   32 | 132096 |   58.275 |  2249.19 |    2.814 |   363.87 |   61.089 |  2162.34 |
+|  8192 |     32 |    1 |   8224 |    3.757 |  2180.26 |    1.184 |    27.03 |    4.941 |  1664.37 |
+|  8192 |     32 |    2 |  16448 |    7.522 |  2178.05 |    1.341 |    47.73 |    8.863 |  1855.77 |
+|  8192 |     32 |    4 |  32896 |   15.043 |  2178.25 |    1.548 |    82.69 |   16.591 |  1982.74 |
+|  8192 |     32 |    8 |  65792 |   30.111 |  2176.49 |    1.937 |   132.13 |   32.048 |  2052.90 |
+|  8192 |     32 |   16 | 131584 |   60.405 |  2169.90 |    2.706 |   189.21 |   63.111 |  2084.97 |
+|  8192 |     32 |   32 | 263168 |  120.439 |  2176.58 |    3.993 |   256.46 |  124.432 |  2114.96 |
 
 
 - `llama-bench`
 
-| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap |            test |                  t/s |
-| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --------------: | -------------------: |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |          pp2048 |       2272.74 ± 4.68 |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |            tg32 |         30.66 ± 0.02 |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d4096 |       2107.80 ± 9.55 |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d4096 |         29.71 ± 0.05 |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d8192 |       1937.80 ± 6.75 |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d8192 |         28.86 ± 0.04 |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d16384 |       1641.12 ± 1.78 |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d16384 |         27.24 ± 0.04 |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d32768 |       1296.02 ± 2.67 |
-| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d32768 |         23.78 ± 0.03 |
+| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap | dio |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --: | --------------: | -------------------: |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |          pp2048 |       2250.28 ± 6.41 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |            tg32 |         29.43 ± 0.02 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d4096 |       2100.19 ± 8.96 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d4096 |         28.61 ± 0.02 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d8192 |       2007.56 ± 4.16 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d8192 |         27.38 ± 0.09 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d16384 |       1779.11 ± 6.42 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d16384 |         25.72 ± 0.03 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d32768 |       1471.23 ± 1.71 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d32768 |         22.51 ± 0.02 |
 
-build: eeee367de (6989)
+build: 11fb327bf (7941)
 
 ## ggml-org/gemma-3-4b-it-qat-GGUF
 
@@ -221,44 +221,91 @@ Model: https://huggingface.co/ggml-org/gemma-3-4b-it-qat-GGUF
 - `llama-batched-bench`
 
 
-main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
 
 |    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
 |-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
-|   512 |     32 |    1 |    544 |    0.094 |  5434.73 |    0.394 |    81.21 |    0.488 |  1114.15 |
-|   512 |     32 |    2 |   1088 |    0.168 |  6091.68 |    0.498 |   128.52 |    0.666 |  1633.41 |
-|   512 |     32 |    4 |   2176 |    0.341 |  6010.68 |    0.542 |   236.37 |    0.882 |  2466.43 |
-|   512 |     32 |    8 |   4352 |    0.665 |  6161.46 |    0.678 |   377.74 |    1.342 |  3241.72 |
-|   512 |     32 |   16 |   8704 |    1.323 |  6193.19 |    0.902 |   567.41 |    2.225 |  3911.74 |
-|   512 |     32 |   32 |  17408 |    2.642 |  6202.03 |    1.231 |   832.03 |    3.872 |  4495.36 |
-|  4096 |     32 |    1 |   4128 |    0.701 |  5840.49 |    0.439 |    72.95 |    1.140 |  3621.23 |
-|  4096 |     32 |    2 |   8256 |    1.387 |  5906.82 |    0.574 |   111.48 |    1.961 |  4210.12 |
-|  4096 |     32 |    4 |  16512 |    2.758 |  5940.33 |    0.651 |   196.58 |    3.409 |  4843.33 |
-|  4096 |     32 |    8 |  33024 |    5.491 |  5967.56 |    0.876 |   292.40 |    6.367 |  5187.12 |
-|  4096 |     32 |   16 |  66048 |   10.978 |  5969.58 |    1.275 |   401.69 |   12.253 |  5390.38 |
-|  4096 |     32 |   32 | 132096 |   21.944 |  5972.93 |    1.992 |   514.16 |   23.936 |  5518.73 |
-|  8192 |     32 |    1 |   8224 |    1.402 |  5841.91 |    0.452 |    70.73 |    1.855 |  4434.12 |
-|  8192 |     32 |    2 |  16448 |    2.793 |  5865.34 |    0.637 |   100.55 |    3.430 |  4795.51 |
-|  8192 |     32 |    4 |  32896 |    5.564 |  5889.64 |    0.770 |   166.26 |    6.334 |  5193.95 |
-|  8192 |     32 |    8 |  65792 |   11.114 |  5896.44 |    1.122 |   228.07 |   12.237 |  5376.51 |
-|  8192 |     32 |   16 | 131584 |   22.210 |  5901.38 |    1.789 |   286.15 |   24.000 |  5482.74 |
-|  8192 |     32 |   32 | 263168 |   44.382 |  5906.56 |    3.044 |   336.38 |   47.426 |  5549.02 |
+|   512 |     32 |    1 |    544 |    0.092 |  5566.97 |    0.412 |    77.63 |    0.504 |  1078.95 |
+|   512 |     32 |    2 |   1088 |    0.161 |  6345.67 |    0.522 |   122.70 |    0.683 |  1593.06 |
+|   512 |     32 |    4 |   2176 |    0.325 |  6309.87 |    0.562 |   227.68 |    0.887 |  2453.87 |
+|   512 |     32 |    8 |   4352 |    0.643 |  6374.42 |    0.685 |   373.67 |    1.328 |  3277.94 |
+|   512 |     32 |   16 |   8704 |    1.277 |  6413.64 |    0.915 |   559.47 |    2.192 |  3970.01 |
+|   512 |     32 |   32 |  17408 |    2.518 |  6506.57 |    1.249 |   819.61 |    3.767 |  4620.64 |
+|  4096 |     32 |    1 |   4128 |    0.674 |  6079.68 |    0.453 |    70.60 |    1.127 |  3662.88 |
+|  4096 |     32 |    2 |   8256 |    1.335 |  6137.82 |    0.627 |   102.03 |    1.962 |  4208.11 |
+|  4096 |     32 |    4 |  16512 |    2.657 |  6167.35 |    0.749 |   170.92 |    3.405 |  4848.71 |
+|  4096 |     32 |    8 |  33024 |    5.307 |  6173.91 |    0.974 |   262.89 |    6.281 |  5257.53 |
+|  4096 |     32 |   16 |  66048 |   10.610 |  6176.96 |    1.379 |   371.42 |   11.988 |  5509.40 |
+|  4096 |     32 |   32 | 132096 |   21.213 |  6178.89 |    2.122 |   482.50 |   23.335 |  5660.82 |
+|  8192 |     32 |    1 |   8224 |    1.359 |  6027.34 |    0.467 |    68.52 |    1.826 |  4503.48 |
+|  8192 |     32 |    2 |  16448 |    2.699 |  6069.68 |    0.653 |    98.03 |    3.352 |  4906.68 |
+|  8192 |     32 |    4 |  32896 |    5.366 |  6106.74 |    0.818 |   156.55 |    6.184 |  5319.96 |
+|  8192 |     32 |    8 |  65792 |   10.755 |  6093.50 |    1.174 |   218.04 |   11.929 |  5515.22 |
+|  8192 |     32 |   16 | 131584 |   21.484 |  6100.82 |    1.829 |   279.90 |   23.314 |  5644.11 |
+|  8192 |     32 |   32 | 263168 |   42.950 |  6103.40 |    3.058 |   334.91 |   46.008 |  5720.05 |
 
 
 - `llama-bench`
 
-| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap |            test |                  t/s |
-| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --------------: | -------------------: |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |          pp2048 |      5810.04 ± 21.71 |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |            tg32 |         84.54 ± 0.18 |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d4096 |       5288.04 ± 3.54 |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d4096 |         78.82 ± 1.37 |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |  pp2048 @ d8192 |      4960.43 ± 16.64 |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |    tg32 @ d8192 |         74.13 ± 0.30 |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d16384 |      4495.92 ± 31.11 |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d16384 |         72.37 ± 0.29 |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 | pp2048 @ d32768 |      3746.90 ± 40.01 |
-| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   tg32 @ d32768 |         63.02 ± 0.20 |
+| model                          |       size |     params | backend    | ngl | n_ubatch | fa | mmap | dio |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | ---: | --: | --------------: | -------------------: |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |          pp2048 |      5948.74 ± 10.61 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |            tg32 |         81.05 ± 0.20 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d4096 |      5652.69 ± 34.29 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d4096 |         76.37 ± 0.58 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |  pp2048 @ d8192 |      5509.57 ± 40.69 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |    tg32 @ d8192 |         71.61 ± 0.80 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d16384 |      5340.86 ± 36.92 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d16384 |         70.89 ± 0.34 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 | pp2048 @ d32768 |      5023.30 ± 13.52 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | CUDA       |  99 |     2048 |  1 |    0 |   1 |   tg32 @ d32768 |         62.28 ± 0.30 |
 
-build: eeee367de (6989)
+build: 11fb327bf (7941)
 
+## ggml-org/GLM-4.7-Flash-GGUF
+
+Model: https://huggingface.co/ggml-org/GLM-4.7-Flash-GGUF
+
+- `llama-batched-bench`
+
+
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 20, n_threads_batch = 20
+
+|    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
+|-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
+|   512 |     32 |    1 |    544 |    0.433 |  1181.83 |    0.693 |    46.16 |    1.126 |   482.94 |
+|   512 |     32 |    2 |   1088 |    0.439 |  2334.46 |    1.034 |    61.89 |    1.473 |   738.75 |
+|   512 |     32 |    4 |   2176 |    0.772 |  2654.46 |    1.459 |    87.76 |    2.230 |   975.77 |
+|   512 |     32 |    8 |   4352 |    1.541 |  2658.78 |    2.043 |   125.31 |    3.583 |  1214.47 |
+|   512 |     32 |   16 |   8704 |    3.083 |  2656.91 |    2.675 |   191.42 |    5.758 |  1511.62 |
+|   512 |     32 |   32 |  17408 |    6.159 |  2660.12 |    3.615 |   283.24 |    9.774 |  1780.98 |
+|  4096 |     32 |    1 |   4128 |    1.915 |  2139.30 |    0.725 |    44.14 |    2.640 |  1563.83 |
+|  4096 |     32 |    2 |   8256 |    3.834 |  2136.40 |    1.119 |    57.21 |    4.953 |  1666.81 |
+|  4096 |     32 |    4 |  16512 |    7.636 |  2145.72 |    1.631 |    78.49 |    9.266 |  1781.93 |
+|  4096 |     32 |    8 |  33024 |   15.295 |  2142.40 |    2.344 |   109.21 |   17.639 |  1872.20 |
+|  4096 |     32 |   16 |  66048 |   30.573 |  2143.62 |    3.773 |   135.70 |   34.346 |  1923.04 |
+|  4096 |     32 |   32 | 132096 |   61.282 |  2138.82 |    5.795 |   176.71 |   67.077 |  1969.31 |
+|  8192 |     32 |    1 |   8224 |    4.510 |  1816.24 |    0.760 |    42.11 |    5.270 |  1560.44 |
+|  8192 |     32 |    2 |  16448 |    9.036 |  1813.19 |    1.206 |    53.06 |   10.242 |  1605.91 |
+|  8192 |     32 |    4 |  32896 |   18.070 |  1813.43 |    1.783 |    71.80 |   19.852 |  1657.03 |
+|  8192 |     32 |    8 |  65792 |   36.125 |  1814.15 |    2.635 |    97.14 |   38.760 |  1697.41 |
+|  8192 |     32 |   16 | 131584 |   72.367 |  1811.20 |    4.954 |   103.34 |   77.322 |  1701.77 |
+|  8192 |     32 |   32 | 263168 |  144.501 |  1814.13 |    8.103 |   126.37 |  152.604 |  1724.51 |
+
+
+- `llama-bench`
+
+| model                          |       size |     params | backend    | ngl | n_ubatch | fa | dio |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | --: | -------: | -: | --: | --------------: | -------------------: |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 |          pp2048 |      2364.18 ± 11.43 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 |            tg32 |         48.68 ± 0.12 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 |  pp2048 @ d4096 |       1684.13 ± 1.24 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 |    tg32 @ d4096 |         44.62 ± 0.22 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 |  pp2048 @ d8192 |       1314.68 ± 1.41 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 |    tg32 @ d8192 |         42.59 ± 0.11 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 | pp2048 @ d16384 |        914.05 ± 3.32 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 |   tg32 @ d16384 |         38.72 ± 0.13 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 | pp2048 @ d32768 |        567.20 ± 0.90 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | CUDA       |  99 |     2048 |  1 |   1 |   tg32 @ d32768 |         32.65 ± 0.09 |
+
+build: 11fb327bf (7941)
diff --git a/benches/mac-m2-ultra/mac-m2-ultra.md b/benches/mac-m2-ultra/mac-m2-ultra.md
new file mode 100644
index 0000000000..cf8a953388
--- /dev/null
+++ b/benches/mac-m2-ultra/mac-m2-ultra.md
@@ -0,0 +1,298 @@
+## System info
+
+```bash
+uname -a
+Darwin gg-studio 25.2.0 Darwin Kernel Version 25.2.0: Tue Nov 18 21:07:05 PST 2025; root:xnu-12377.61.12~1/RELEASE_ARM64_T6020 arm64
+
+g++ --version
+Apple clang version 17.0.0 (clang-1700.3.19.1)
+Target: arm64-apple-darwin25.2.0
+```
+
+## ggml-org/gpt-oss-20b-GGUF
+
+Model: https://huggingface.co/ggml-org/gpt-oss-20b-GGUF
+
+- `llama-batched-bench`
+
+
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 16, n_threads_batch = 16
+
+|    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
+|-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
+|   512 |     32 |    1 |    544 |    0.215 |  2381.35 |    0.245 |   130.45 |    0.460 |  1181.81 |
+|   512 |     32 |    2 |   1088 |    0.379 |  2701.43 |    0.382 |   167.56 |    0.761 |  1429.67 |
+|   512 |     32 |    4 |   2176 |    0.721 |  2839.27 |    0.604 |   211.76 |    1.326 |  1641.32 |
+|   512 |     32 |    8 |   4352 |    1.433 |  2858.30 |    1.033 |   247.75 |    2.466 |  1764.57 |
+|   512 |     32 |   16 |   8704 |    2.853 |  2871.12 |    1.570 |   326.11 |    4.423 |  1967.77 |
+|   512 |     32 |   32 |  17408 |    5.699 |  2874.95 |    1.910 |   536.15 |    7.609 |  2287.88 |
+|  4096 |     32 |    1 |   4128 |    1.552 |  2638.56 |    0.334 |    95.72 |    1.887 |  2188.00 |
+|  4096 |     32 |    2 |   8256 |    3.084 |  2655.88 |    0.404 |   158.54 |    3.488 |  2366.86 |
+|  4096 |     32 |    4 |  16512 |    6.151 |  2663.78 |    0.652 |   196.39 |    6.802 |  2427.37 |
+|  4096 |     32 |    8 |  33024 |   12.288 |  2666.77 |    1.135 |   225.47 |   13.423 |  2460.27 |
+|  4096 |     32 |   16 |  66048 |   24.563 |  2668.12 |    1.762 |   290.55 |   26.325 |  2508.97 |
+|  4096 |     32 |   32 | 132096 |   49.114 |  2668.73 |    2.398 |   426.94 |   51.512 |  2564.35 |
+|  8192 |     32 |    1 |   8224 |    3.345 |  2448.78 |    0.275 |   116.46 |    3.620 |  2271.76 |
+|  8192 |     32 |    2 |  16448 |    6.665 |  2458.11 |    0.425 |   150.71 |    7.090 |  2319.91 |
+|  8192 |     32 |    4 |  32896 |   13.315 |  2460.92 |    0.691 |   185.21 |   14.006 |  2348.63 |
+|  8192 |     32 |    8 |  65792 |   26.611 |  2462.73 |    1.212 |   211.16 |   27.823 |  2364.62 |
+|  8192 |     32 |   16 | 131584 |   53.232 |  2462.27 |    1.919 |   266.83 |   55.151 |  2385.88 |
+|  8192 |     32 |   32 | 263168 |  110.455 |  2373.30 |    2.752 |   372.03 |  113.208 |  2324.64 |
+
+
+- `llama-bench`
+
+| model                          |       size |     params | backend    | threads | n_ubatch | fa |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | ------: | -------: | -: | --------------: | -------------------: |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 |          pp2048 |       2713.40 ± 3.56 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 |            tg32 |        129.97 ± 3.90 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d4096 |       2324.59 ± 3.01 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d4096 |        123.38 ± 0.17 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d8192 |      1989.82 ± 30.11 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d8192 |        117.39 ± 0.33 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d16384 |       1556.54 ± 6.22 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d16384 |        109.75 ± 0.42 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d32768 |       1122.63 ± 1.45 |
+| gpt-oss 20B MXFP4 MoE          |  11.27 GiB |    20.91 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d32768 |         98.25 ± 0.08 |
+
+build: b828e18c7 (7948)
+
+## ggml-org/gpt-oss-120b-GGUF
+
+Model: https://huggingface.co/ggml-org/gpt-oss-120b-GGUF
+
+- `llama-batched-bench`
+
+
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 16, n_threads_batch = 16
+
+|    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
+|-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
+|   512 |     32 |    1 |    544 |    0.426 |  1200.92 |    0.361 |    88.56 |    0.788 |   690.64 |
+|   512 |     32 |    2 |   1088 |    0.683 |  1500.14 |    0.545 |   117.35 |    1.228 |   886.02 |
+|   512 |     32 |    4 |   2176 |    1.204 |  1701.56 |    0.847 |   151.19 |    2.050 |  1061.34 |
+|   512 |     32 |    8 |   4352 |    2.402 |  1705.20 |    1.455 |   176.00 |    3.857 |  1128.45 |
+|   512 |     32 |   16 |   8704 |    4.802 |  1705.90 |    2.349 |   217.93 |    7.152 |  1217.08 |
+|   512 |     32 |   32 |  17408 |    9.593 |  1707.85 |    3.665 |   279.42 |   13.258 |  1313.01 |
+|  4096 |     32 |    1 |   4128 |    2.581 |  1587.08 |    0.390 |    82.12 |    2.970 |  1389.67 |
+|  4096 |     32 |    2 |   8256 |    5.124 |  1598.79 |    0.589 |   108.62 |    5.713 |  1445.10 |
+|  4096 |     32 |    4 |  16512 |   10.231 |  1601.47 |    0.928 |   137.98 |   11.158 |  1479.80 |
+|  4096 |     32 |    8 |  33024 |   20.468 |  1600.94 |    1.606 |   159.38 |   22.074 |  1496.04 |
+|  4096 |     32 |   16 |  66048 |   40.924 |  1601.42 |    2.639 |   193.99 |   43.563 |  1516.15 |
+|  4096 |     32 |   32 | 132096 |   81.819 |  1601.98 |    4.466 |   229.29 |   86.284 |  1530.94 |
+|  8192 |     32 |    1 |   8224 |    5.517 |  1484.74 |    0.409 |    78.16 |    5.927 |  1387.58 |
+|  8192 |     32 |    2 |  16448 |   11.008 |  1488.43 |    0.622 |   102.92 |   11.629 |  1414.34 |
+|  8192 |     32 |    4 |  32896 |   22.002 |  1489.29 |    0.987 |   129.66 |   22.990 |  1430.90 |
+|  8192 |     32 |    8 |  65792 |   46.051 |  1423.11 |    1.858 |   137.79 |   47.909 |  1373.27 |
+|  8192 |     32 |   16 | 131584 |   97.680 |  1341.85 |    2.872 |   178.28 |  100.552 |  1308.62 |
+|  8192 |     32 |   32 | 263168 |  176.407 |  1486.02 |    5.048 |   202.85 |  181.455 |  1450.32 |
+
+
+- `llama-bench`
+
+| model                          |       size |     params | backend    | threads | n_ubatch | fa |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | ------: | -------: | -: | --------------: | -------------------: |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 |          pp2048 |       1648.69 ± 1.80 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 |            tg32 |         85.60 ± 0.52 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d4096 |       1429.86 ± 1.01 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d4096 |         82.03 ± 0.12 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d8192 |       1257.90 ± 1.81 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d8192 |         78.23 ± 0.33 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d16384 |       1013.49 ± 0.70 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d16384 |         73.20 ± 0.28 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d32768 |        721.11 ± 0.58 |
+| gpt-oss 120B MXFP4 MoE         |  59.02 GiB |   116.83 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d32768 |         65.52 ± 0.10 |
+
+build: b828e18c7 (7948)
+
+## ggml-org/Qwen3-Coder-30B-A3B-Instruct-Q8_0-GGUF
+
+Model: https://huggingface.co/ggml-org/Qwen3-Coder-30B-A3B-Instruct-Q8_0-GGUF
+
+- `llama-batched-bench`
+
+
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 16, n_threads_batch = 16
+
+|    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
+|-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
+|   512 |     32 |    1 |    544 |    0.243 |  2109.23 |    0.419 |    76.34 |    0.662 |   821.84 |
+|   512 |     32 |    2 |   1088 |    0.406 |  2521.40 |    0.575 |   111.36 |    0.981 |  1109.27 |
+|   512 |     32 |    4 |   2176 |    0.744 |  2751.65 |    0.841 |   152.22 |    1.585 |  1372.71 |
+|   512 |     32 |    8 |   4352 |    1.479 |  2770.20 |    1.330 |   192.48 |    2.809 |  1549.53 |
+|   512 |     32 |   16 |   8704 |    2.951 |  2776.20 |    2.572 |   199.05 |    5.523 |  1575.93 |
+|   512 |     32 |   32 |  17408 |    5.899 |  2777.64 |    2.603 |   393.34 |    8.502 |  2047.54 |
+|  4096 |     32 |    1 |   4128 |    1.901 |  2154.15 |    0.474 |    67.58 |    2.375 |  1738.14 |
+|  4096 |     32 |    2 |   8256 |    3.788 |  2162.89 |    0.652 |    98.17 |    4.439 |  1859.69 |
+|  4096 |     32 |    4 |  16512 |    7.564 |  2166.18 |    0.990 |   129.24 |    8.554 |  1930.34 |
+|  4096 |     32 |    8 |  33024 |   15.121 |  2166.98 |    1.632 |   156.82 |   16.754 |  1971.12 |
+|  4096 |     32 |   16 |  66048 |   30.241 |  2167.09 |    3.166 |   161.72 |   33.407 |  1977.04 |
+|  4096 |     32 |   32 | 132096 |   60.474 |  2167.42 |    3.780 |   270.93 |   64.254 |  2055.86 |
+|  8192 |     32 |    1 |   8224 |    4.733 |  1730.92 |    0.483 |    66.29 |    5.215 |  1576.85 |
+|  8192 |     32 |    2 |  16448 |    9.459 |  1732.09 |    0.722 |    88.58 |   10.182 |  1615.46 |
+|  8192 |     32 |    4 |  32896 |   18.912 |  1732.65 |    1.120 |   114.26 |   20.032 |  1642.14 |
+|  8192 |     32 |    8 |  65792 |   37.797 |  1733.91 |    1.873 |   136.67 |   39.670 |  1658.49 |
+|  8192 |     32 |   16 | 131584 |   84.133 |  1557.92 |    3.718 |   137.72 |   87.850 |  1497.82 |
+|  8192 |     32 |   32 | 263168 |  157.550 |  1663.88 |    4.854 |   210.98 |  162.403 |  1620.46 |
+
+
+- `llama-bench`
+
+| model                          |       size |     params | backend    | threads | n_ubatch | fa |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | ------: | -------: | -: | --------------: | -------------------: |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 |          pp2048 |       2453.11 ± 1.70 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 |            tg32 |         78.97 ± 0.46 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d4096 |       1569.46 ± 1.97 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d4096 |         71.18 ± 0.37 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d8192 |       1145.51 ± 1.16 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d8192 |         65.11 ± 0.36 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d16384 |        741.04 ± 0.74 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d16384 |         56.87 ± 0.14 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d32768 |        431.31 ± 0.31 |
+| qwen3moe 30B.A3B Q8_0          |  30.25 GiB |    30.53 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d32768 |         45.26 ± 0.11 |
+
+build: b828e18c7 (7948)
+
+## ggml-org/Qwen2.5-Coder-7B-Q8_0-GGUF
+
+Model: https://huggingface.co/ggml-org/Qwen2.5-Coder-7B-Q8_0-GGUF
+
+- `llama-batched-bench`
+
+
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 16, n_threads_batch = 16
+
+|    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
+|-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
+|   512 |     32 |    1 |    544 |    0.339 |  1509.22 |    0.409 |    78.17 |    0.749 |   726.67 |
+|   512 |     32 |    2 |   1088 |    0.646 |  1584.93 |    0.483 |   132.45 |    1.129 |   963.45 |
+|   512 |     32 |    4 |   2176 |    1.258 |  1627.50 |    0.585 |   218.67 |    1.844 |  1180.21 |
+|   512 |     32 |    8 |   4352 |    2.506 |  1634.41 |    1.005 |   254.83 |    3.511 |  1239.64 |
+|   512 |     32 |   16 |   8704 |    5.007 |  1635.99 |    1.595 |   321.07 |    6.602 |  1318.38 |
+|   512 |     32 |   32 |  17408 |   10.007 |  1637.19 |    1.676 |   611.12 |   11.683 |  1490.03 |
+|  4096 |     32 |    1 |   4128 |    2.730 |  1500.46 |    0.431 |    74.31 |    3.160 |  1306.12 |
+|  4096 |     32 |    2 |   8256 |    5.446 |  1504.33 |    0.524 |   122.04 |    5.970 |  1382.91 |
+|  4096 |     32 |    4 |  16512 |   10.875 |  1506.59 |    0.662 |   193.45 |   11.537 |  1431.28 |
+|  4096 |     32 |    8 |  33024 |   21.749 |  1506.61 |    1.158 |   221.11 |   22.907 |  1441.64 |
+|  4096 |     32 |   16 |  66048 |   43.477 |  1507.36 |    1.901 |   269.32 |   45.378 |  1455.49 |
+|  4096 |     32 |   32 | 132096 |   86.954 |  1507.37 |    2.325 |   440.42 |   89.279 |  1479.59 |
+|  8192 |     32 |    1 |   8224 |    5.940 |  1379.21 |    0.449 |    71.20 |    6.389 |  1287.20 |
+|  8192 |     32 |    2 |  16448 |   11.865 |  1380.84 |    0.559 |   114.59 |   12.424 |  1323.92 |
+|  8192 |     32 |    4 |  32896 |   23.723 |  1381.25 |    0.728 |   175.80 |   24.452 |  1345.35 |
+|  8192 |     32 |    8 |  65792 |   47.434 |  1381.63 |    1.279 |   200.09 |   48.713 |  1350.60 |
+|  8192 |     32 |   16 | 131584 |   94.864 |  1381.69 |    2.198 |   232.97 |   97.061 |  1355.68 |
+|  8192 |     32 |   32 | 263168 |  189.743 |  1381.57 |    3.052 |   335.50 |  192.795 |  1365.01 |
+
+
+- `llama-bench`
+
+| model                          |       size |     params | backend    | threads | n_ubatch | fa |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | ------: | -------: | -: | --------------: | -------------------: |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 |          pp2048 |       1565.91 ± 0.86 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 |            tg32 |         79.68 ± 0.39 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d4096 |       1317.41 ± 1.02 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d4096 |         74.70 ± 0.04 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d8192 |       1134.65 ± 0.76 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d8192 |         71.31 ± 0.12 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d16384 |        886.46 ± 0.78 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d16384 |         65.93 ± 0.06 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d32768 |        612.21 ± 0.30 |
+| qwen2 7B Q8_0                  |   7.54 GiB |     7.62 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d32768 |         56.83 ± 0.02 |
+
+build: b828e18c7 (7948)
+
+## ggml-org/gemma-3-4b-it-qat-GGUF
+
+Model: https://huggingface.co/ggml-org/gemma-3-4b-it-qat-GGUF
+
+- `llama-batched-bench`
+
+
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 16, n_threads_batch = 16
+
+|    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
+|-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
+|   512 |     32 |    1 |    544 |    0.186 |  2748.06 |    0.235 |   136.28 |    0.421 |  1291.78 |
+|   512 |     32 |    2 |   1088 |    0.342 |  2990.95 |    0.312 |   204.99 |    0.655 |  1662.15 |
+|   512 |     32 |    4 |   2176 |    0.662 |  3092.69 |    0.404 |   316.97 |    1.066 |  2041.21 |
+|   512 |     32 |    8 |   4352 |    1.317 |  3110.41 |    0.579 |   441.80 |    1.896 |  2294.97 |
+|   512 |     32 |   16 |   8704 |    2.625 |  3120.23 |    1.207 |   424.08 |    3.833 |  2270.93 |
+|   512 |     32 |   32 |  17408 |    5.242 |  3125.34 |    1.299 |   788.23 |    6.541 |  2661.19 |
+|  4096 |     32 |    1 |   4128 |    1.408 |  2909.90 |    0.296 |   108.07 |    1.704 |  2422.95 |
+|  4096 |     32 |    2 |   8256 |    2.793 |  2933.40 |    0.325 |   197.00 |    3.118 |  2648.25 |
+|  4096 |     32 |    4 |  16512 |    5.567 |  2943.22 |    0.440 |   291.07 |    6.006 |  2749.05 |
+|  4096 |     32 |    8 |  33024 |   11.114 |  2948.23 |    0.640 |   400.26 |   11.754 |  2809.59 |
+|  4096 |     32 |   16 |  66048 |   22.217 |  2949.76 |    1.327 |   385.83 |   23.544 |  2805.26 |
+|  4096 |     32 |   32 | 132096 |   44.420 |  2950.77 |    1.553 |   659.30 |   45.973 |  2873.36 |
+|  8192 |     32 |    1 |   8224 |    2.860 |  2864.58 |    0.250 |   127.90 |    3.110 |  2644.42 |
+|  8192 |     32 |    2 |  16448 |    5.702 |  2873.63 |    0.335 |   191.07 |    6.036 |  2724.77 |
+|  8192 |     32 |    4 |  32896 |   11.383 |  2878.69 |    0.456 |   280.72 |   11.839 |  2778.63 |
+|  8192 |     32 |    8 |  65792 |   22.750 |  2880.75 |    0.671 |   381.48 |   23.421 |  2809.14 |
+|  8192 |     32 |   16 | 131584 |   45.484 |  2881.74 |    1.406 |   364.04 |   46.890 |  2806.22 |
+|  8192 |     32 |   32 | 263168 |   90.956 |  2882.10 |    1.793 |   570.98 |   92.749 |  2837.41 |
+
+
+- `llama-bench`
+
+| model                          |       size |     params | backend    | threads | n_ubatch | fa |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | ------: | -------: | -: | --------------: | -------------------: |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 |          pp2048 |       2923.59 ± 3.10 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 |            tg32 |        134.28 ± 1.29 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d4096 |       2748.21 ± 3.05 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d4096 |        133.11 ± 0.08 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d8192 |       2641.45 ± 2.31 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d8192 |        125.85 ± 0.35 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d16384 |       2446.20 ± 2.94 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d16384 |        125.00 ± 0.12 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d32768 |       2129.18 ± 7.43 |
+| gemma3 4B Q4_0                 |   2.35 GiB |     3.88 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d32768 |        113.14 ± 0.10 |
+
+build: b828e18c7 (7948)
+
+## ggml-org/GLM-4.7-Flash-GGUF
+
+Model: https://huggingface.co/ggml-org/GLM-4.7-Flash-GGUF
+
+- `llama-batched-bench`
+
+
+main: n_kv_max = 270336, n_batch = 2048, n_ubatch = 2048, flash_attn = 1, is_pp_shared = 0, is_tg_separate = 0, n_gpu_layers = -1, n_threads = 16, n_threads_batch = 16
+
+|    PP |     TG |    B |   N_KV |   T_PP s | S_PP t/s |   T_TG s | S_TG t/s |      T s |    S t/s |
+|-------|--------|------|--------|----------|----------|----------|----------|----------|----------|
+|   512 |     32 |    1 |    544 |    0.326 |  1568.69 |    0.522 |    61.28 |    0.849 |   641.09 |
+|   512 |     32 |    2 |   1088 |    0.528 |  1939.42 |    0.744 |    86.07 |    1.272 |   855.63 |
+|   512 |     32 |    4 |   2176 |    0.968 |  2114.85 |    1.105 |   115.85 |    2.073 |  1049.56 |
+|   512 |     32 |    8 |   4352 |    1.928 |  2124.62 |    1.684 |   151.99 |    3.612 |  1204.82 |
+|   512 |     32 |   16 |   8704 |    3.844 |  2131.34 |    3.141 |   162.99 |    6.985 |  1246.11 |
+|   512 |     32 |   32 |  17408 |    7.683 |  2132.38 |    3.924 |   260.95 |   11.608 |  1499.71 |
+|  4096 |     32 |    1 |   4128 |    3.280 |  1248.75 |    0.723 |    44.29 |    4.003 |  1031.33 |
+|  4096 |     32 |    2 |   8256 |    6.545 |  1251.63 |    0.930 |    68.85 |    7.475 |  1104.53 |
+|  4096 |     32 |    4 |  16512 |   13.080 |  1252.64 |    1.454 |    88.03 |   14.534 |  1136.12 |
+|  4096 |     32 |    8 |  33024 |   26.154 |  1252.90 |    2.388 |   107.20 |   28.542 |  1157.04 |
+|  4096 |     32 |   16 |  66048 |   52.297 |  1253.14 |    4.724 |   108.37 |   57.022 |  1158.30 |
+|  4096 |     32 |   32 | 132096 |  104.578 |  1253.34 |    7.266 |   140.93 |  111.844 |  1181.08 |
+|  8192 |     32 |    1 |   8224 |    9.623 |   851.31 |    0.767 |    41.72 |   10.390 |   791.54 |
+|  8192 |     32 |    2 |  16448 |   20.916 |   783.32 |    1.148 |    55.74 |   22.064 |   745.45 |
+|  8192 |     32 |    4 |  32896 |   43.509 |   753.14 |    1.833 |    69.82 |   45.342 |   725.51 |
+|  8192 |     32 |    8 |  65792 |   79.621 |   823.10 |    3.180 |    80.50 |   82.801 |   794.58 |
+|  8192 |     32 |   16 | 131584 |  153.770 |   852.39 |    6.502 |    78.74 |  160.272 |   821.00 |
+|  8192 |     32 |   32 | 263168 |  307.539 |   852.39 |   10.839 |    94.48 |  318.378 |   826.59 |
+
+
+- `llama-bench`
+
+| model                          |       size |     params | backend    | threads | n_ubatch | fa |            test |                  t/s |
+| ------------------------------ | ---------: | ---------: | ---------- | ------: | -------: | -: | --------------: | -------------------: |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 |          pp2048 |       1629.33 ± 0.27 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 |            tg32 |         59.58 ± 0.13 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d4096 |        732.67 ± 0.42 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d4096 |         47.44 ± 0.15 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 |  pp2048 @ d8192 |        474.33 ± 0.33 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 |    tg32 @ d8192 |         40.20 ± 0.20 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d16384 |        277.46 ± 0.09 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d16384 |         31.50 ± 0.93 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 | pp2048 @ d32768 |        151.44 ± 0.05 |
+| deepseek2 30B.A3B Q8_0         |  29.65 GiB |    29.94 B | MTL,BLAS   |      16 |     2048 |  1 |   tg32 @ d32768 |         21.81 ± 0.01 |
+
+build: b828e18c7 (7948)
diff --git a/scripts/bench-models.sh b/scripts/bench-models.sh
old mode 100644
new mode 100755
index 744b0de359..c241013040
--- a/scripts/bench-models.sh
+++ b/scripts/bench-models.sh
@@ -7,47 +7,54 @@ ARGS_BB="-c 270336 -npp 512,4096,8192 -npl 1,2,4,8,16,32 -ntg 32"
 ARGS_B="-d 0,4096,8192,16384,32768 -p 2048 -n 32"
 
 QUICK=0
+DIO=0
 while (( "$#" )); do
-  case "$1" in
-    --quick) QUICK=1; shift ;;
-    *) shift ;;
-  esac
+    case "$1" in
+        --quick) QUICK=1; shift ;;
+        --dio) DIO=1; shift ;;
+        *) shift ;;
+    esac
 done
 
 if (( QUICK )); then
-  ARGS_BB="-c 20480 -npp 512,4096 -npl 1,2,4 -ntg 32"
-  ARGS_B="-d 0 -p 2048 -n 32"
+    ARGS_BB="-c 20480 -npp 512,4096 -npl 1,2,4 -ntg 32"
+    ARGS_B="-d 0 -p 2048 -n 32"
+fi
+
+if (( DIO )); then
+    ARGS_BB="${ARGS_BB} --no-mmap --direct-io"
+    ARGS_B="${ARGS_B} -mmp 0 -dio 1"
 fi
 
 run_model() {
-  local HFR=$1
-  local HFF=$2
+    local HFR=$1
+    local HFF=$2
 
-  printf "## ${HFR}\n" | tee -a "$RESULTS"
-  printf "\n" | tee -a "$RESULTS"
-  printf "Model: https://huggingface.co/${HFR}\n" | tee -a "$RESULTS"
-  printf "\n" | tee -a "$RESULTS"
+    printf "## ${HFR}\n" | tee -a "$RESULTS"
+    printf "\n" | tee -a "$RESULTS"
+    printf "Model: https://huggingface.co/${HFR}\n" | tee -a "$RESULTS"
+    printf "\n" | tee -a "$RESULTS"
 
-  printf -- "- \`llama-batched-bench\`\n" | tee -a "$RESULTS"
-  printf "\n" | tee -a "$RESULTS"
+    printf -- "- \`llama-batched-bench\`\n" | tee -a "$RESULTS"
+    printf "\n" | tee -a "$RESULTS"
 
-  ./bin/llama-batched-bench \
-    -hfr "${HFR}" -hff "${HFF}" \
-    -m "${HFF}" -fa 1 -ub 2048 --no-mmap \
-    ${ARGS_BB} | tee -a "$RESULTS"
+    ./bin/llama-batched-bench \
+        -hfr "${HFR}" -hff "${HFF}" \
+        -m "${HFF}" -fa 1 -ub 2048 \
+        ${ARGS_BB} | tee -a "$RESULTS"
 
-  printf "\n" | tee -a "$RESULTS"
+    printf "\n" | tee -a "$RESULTS"
 
-  printf -- "- \`llama-bench\`\n" | tee -a "$RESULTS"
-  printf "\n" | tee -a "$RESULTS"
+    printf -- "- \`llama-bench\`\n" | tee -a "$RESULTS"
+    printf "\n" | tee -a "$RESULTS"
 
-  ./bin/llama-bench \
-    -m "${HFF}" -fa 1 -ub 2048 -mmp 0 \
-    ${ARGS_B} | tee -a "$RESULTS"
+    ./bin/llama-bench \
+        -m "${HFF}" -fa 1 -ub 2048 \
+        ${ARGS_B} | tee -a "$RESULTS"
 
-  printf "\n" | tee -a "$RESULTS"
+    printf "\n" | tee -a "$RESULTS"
 
-  printf "\n"
+    printf "\n"
 }
 
 run_model "ggml-org/gpt-oss-20b-GGUF"                       "gpt-oss-20b-mxfp4.gguf"
@@ -55,6 +62,7 @@ run_model "ggml-org/gpt-oss-120b-GGUF"                      "gpt-oss-120b-mxfp4-
 run_model "ggml-org/Qwen3-Coder-30B-A3B-Instruct-Q8_0-GGUF" "qwen3-coder-30b-a3b-instruct-q8_0.gguf"
 run_model "ggml-org/Qwen2.5-Coder-7B-Q8_0-GGUF"             "qwen2.5-coder-7b-q8_0.gguf"
 run_model "ggml-org/gemma-3-4b-it-qat-GGUF"                 "gemma-3-4b-it-qat-Q4_0.gguf"
+run_model "ggml-org/GLM-4.7-Flash-GGUF"                     "GLM-4.7-Flash-Q8_0.gguf"
 
 if [[ -f models-extra.txt ]]; then
     while read -r HFR HFF; do

From 449ec2ab0751fc713fe338da2ced153125b5c674 Mon Sep 17 00:00:00 2001
From: Jeff Bolz 
Date: Thu, 5 Feb 2026 09:26:38 -0600
Subject: [PATCH 134/206] vulkan: Preprocess FA mask to detect all-neg-inf and
 all-zero. (#19281)

Write out a 2-bit code per block and avoid loading the mask when it
matches these two common cases.

Apply this optimization when the mask is relatively large (i.e. prompt
processing).
---
 ggml/src/ggml-vulkan/ggml-vulkan.cpp          | 109 +++++++++++---
 .../vulkan-shaders/flash_attn.comp            |  39 ++---
 .../vulkan-shaders/flash_attn_base.glsl       |   6 +
 .../vulkan-shaders/flash_attn_cm1.comp        | 112 +++++++-------
 .../vulkan-shaders/flash_attn_cm2.comp        |  63 ++++----
 .../vulkan-shaders/flash_attn_mask_opt.comp   | 142 ++++++++++++++++++
 .../vulkan-shaders/vulkan-shaders-gen.cpp     |   2 +
 tests/test-backend-ops.cpp                    |  10 +-
 8 files changed, 360 insertions(+), 123 deletions(-)
 create mode 100644 ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_mask_opt.comp

diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
index ff9cb7355c..4357da24d4 100644
--- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp
+++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
@@ -402,18 +402,19 @@ enum FaCodePath {
 };
 
 struct vk_fa_pipeline_state {
-    vk_fa_pipeline_state(uint32_t HSK, uint32_t HSV, bool small_rows, bool small_cache, FaCodePath path, bool aligned, bool f32acc)
-        : HSK(HSK), HSV(HSV), small_rows(small_rows), small_cache(small_cache), path(path), aligned(aligned), f32acc(f32acc) {}
+    vk_fa_pipeline_state(uint32_t HSK, uint32_t HSV, bool small_rows, bool small_cache, FaCodePath path, bool aligned, bool f32acc, bool use_mask_opt)
+        : HSK(HSK), HSV(HSV), small_rows(small_rows), small_cache(small_cache), path(path), aligned(aligned), f32acc(f32acc), use_mask_opt(use_mask_opt) {}
 
     uint32_t HSK, HSV;
     bool small_rows, small_cache;
     FaCodePath path;
     bool aligned;
     bool f32acc;
+    bool use_mask_opt;
 
     bool operator<(const vk_fa_pipeline_state &b) const {
-        return std::tie(HSK, HSV, small_rows, small_cache, path, aligned, f32acc) <
-               std::tie(b.HSK, b.HSV, b.small_rows, b.small_cache, b.path, b.aligned, b.f32acc);
+        return std::tie(HSK, HSV, small_rows, small_cache, path, aligned, f32acc, use_mask_opt) <
+               std::tie(b.HSK, b.HSV, b.small_rows, b.small_cache, b.path, b.aligned, b.f32acc, b.use_mask_opt);
     }
 };
 
@@ -820,6 +821,8 @@ struct vk_device_struct {
 
     std::map pipeline_flash_attn_f32_f16[GGML_TYPE_COUNT];
 
+    std::map, vk_pipeline> pipeline_fa_mask_opt;
+
     vk_pipeline pipeline_flash_attn_split_k_reduce;
     vk_pipeline pipeline_count_experts;
 
@@ -1549,6 +1552,18 @@ struct vk_op_flash_attn_split_k_reduce_push_constants {
     uint32_t sinks;
 };
 
+struct vk_op_flash_attn_mask_opt_push_constants {
+    uint32_t nem0;
+    uint32_t nem1;
+    uint32_t nem2;
+    uint32_t nbm1;
+    uint32_t nbm2;
+    uint32_t nbm3;
+    uint32_t nbd1;
+    uint32_t nbd2;
+    uint32_t nbd3;
+};
+
 // Allow pre-recording command buffers
 struct vk_staging_memcpy {
     vk_staging_memcpy(void * _dst, const void * _src, size_t _n) : dst(_dst), src(_src), n(_n) {}
@@ -1757,6 +1772,7 @@ class vk_perf_logger {
                 " k(" << k->ne[0] << "," << k->ne[1] << "," << k->ne[2] << "," << k->ne[3] << "), " <<
                 " v(" << v->ne[0] << "," << v->ne[1] << "," << v->ne[2] << "," << v->ne[3] << "), " <<
                 " m(" << (m?m->ne[0]:0) << "," << (m?m->ne[1]:0) << "," << (m?m->ne[2]:0) << "," << (m?m->ne[3]:0) << ")";
+            *n_flops = 2ull * q->ne[1] * q->ne[2] * (k->ne[0] + v->ne[0]) * k->ne[1] * q->ne[3];
             return name.str();
         }
         if (node->op == GGML_OP_TOP_K) {
@@ -3177,7 +3193,7 @@ static void ggml_vk_load_shaders(vk_device& device) {
         return {fa_rows_cols(path, hsk, hsv, clamp, type, small_rows, small_cache)[0], 1, 1};
     };
 
-    auto const &fa_spec_constants = [&](FaCodePath path, uint32_t hsk, uint32_t hsv, uint32_t clamp, ggml_type type, bool small_rows, bool small_cache) -> std::vector {
+    auto const &fa_spec_constants = [&](FaCodePath path, uint32_t hsk, uint32_t hsv, uint32_t clamp, ggml_type type, bool small_rows, bool small_cache, bool use_mask_opt) -> std::vector {
         // For large number of rows, 128 invocations seems to work best.
         // For small number of rows (e.g. N==1), 256 works better. But matrix granularity for 256 is 32, so we
         // can't use 256 for D==80.
@@ -3209,7 +3225,7 @@ static void ggml_vk_load_shaders(vk_device& device) {
         // AMD prefers loading K directly from global memory
         const uint32_t k_load_shmem = device->vendor_id == VK_VENDOR_ID_NVIDIA && hsk < 256 ? 1 : 0;
 
-        return {wg_size, rows_cols[0], rows_cols[1], hsk, hsv, clamp, D_split, device->subgroup_size, k_load_shmem};
+        return {wg_size, rows_cols[0], rows_cols[1], hsk, hsv, clamp, D_split, device->subgroup_size, k_load_shmem, use_mask_opt};
     };
 
 #define CREATE_FA(TYPE, NAMELC, FAPATH, SUFFIX) \
@@ -3221,18 +3237,19 @@ static void ggml_vk_load_shaders(vk_device& device) {
             FaCodePath path = fa.first.path; \
             bool aligned = fa.first.aligned; \
             bool f32acc = fa.first.f32acc; \
+            bool use_mask_opt = fa.first.use_mask_opt; \
             if (path == FAPATH) { \
                 if (aligned) { \
                     if (f32acc) { \
-                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f32acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _data,  "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
+                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f32acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache,use_mask_opt), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
                     } else { \
-                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f16acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data,  "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
+                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f16acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache,use_mask_opt), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
                     } \
                 } else { \
                     if (f32acc) { \
-                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f32acc"         #NAMELC, flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _data,  "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), 1,                                        true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
+                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f32acc"         #NAMELC, flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache,use_mask_opt), 1,                                        true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
                     } else { \
-                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f16acc"         #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data,  "main", 6, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), 1,                                        true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
+                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f16acc"         #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache,use_mask_opt), 1,                                        true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
                     } \
                 } \
             } \
@@ -4028,6 +4045,11 @@ static void ggml_vk_load_shaders(vk_device& device) {
     ggml_vk_create_pipeline(device, device->pipeline_matmul_split_k_reduce, "split_k_reduce", split_k_reduce_len, split_k_reduce_data, "main", 2, 2 * sizeof(uint32_t), {256 * 4, 1, 1}, {}, 1);
     ggml_vk_create_pipeline(device, device->pipeline_flash_attn_split_k_reduce, "fa_split_k_reduce", fa_split_k_reduce_len, fa_split_k_reduce_data, "main", 3, sizeof(vk_op_flash_attn_split_k_reduce_push_constants), {1, device->subgroup_size, 1}, {device->subgroup_size}, 1, true);
 
+    for (auto &it : device->pipeline_fa_mask_opt) {
+        auto BrBc = it.first;
+        ggml_vk_create_pipeline(device, it.second, "fa_mask_opt", fa_mask_opt_len, fa_mask_opt_data, "main", 2, sizeof(vk_op_flash_attn_mask_opt_push_constants), {1, 1, 1}, {128, 128 / device->subgroup_size, BrBc.first, BrBc.second}, 1, true, true, device->subgroup_size);
+    }
+
     if (device->subgroup_clustered && device->subgroup_require_full_support) {
         ggml_vk_create_pipeline(device, device->pipeline_quantize_q8_1_x4, "quantize_q8_1_x4", quantize_q8_1_x4_subgroup_len, quantize_q8_1_x4_subgroup_data, "main", 2, sizeof(vk_quantize_q8_1_push_constants), {32 * device->subgroup_size / 8, 1, 1}, { device->subgroup_size }, 1, true, true);
     } else {
@@ -8400,8 +8422,6 @@ static bool ggml_vk_flash_attn_coopmat_shmem_support(const vk_device& device, co
     const uint32_t acctype = f32acc ? 4 : 2;
     const uint32_t f16vec4 = 8;
 
-    const uint32_t tmpsh = (Bc / MatBc) * sizeof(float);
-
     const uint32_t qstride = hsk_pad / 4 + 2;
     const uint32_t Qf = Br * qstride * f16vec4;
 
@@ -8418,7 +8438,7 @@ static bool ggml_vk_flash_attn_coopmat_shmem_support(const vk_device& device, co
 
     const uint32_t slope = Br * acctype;
 
-    const uint32_t total_size = tmpsh + Qf + Psh + sfsh + ksh + slope;
+    const uint32_t total_size = Qf + Psh + sfsh + ksh + slope;
     const bool supported = total_size <= device->properties.limits.maxComputeSharedMemorySize;
 
     VK_LOG_DEBUG("ggml_vk_flash_attn_coopmat_shmem_support(HSK=" << hsk << ", HSV=" << hsv << ", f32acc=" << f32acc << ", kv_type=" << kv_type << ", total_size=" << total_size << ", supported=" << supported);
@@ -8445,6 +8465,7 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
     GGML_TENSOR_LOCALS(int64_t, ne,  dst, ne)
     GGML_TENSOR_LOCALS(size_t,  nb,  dst, nb)
 
+    const uint32_t nem0 = mask ? mask->ne[0] : 0;
     const uint32_t nem1 = mask ? mask->ne[1] : 0;
     const uint32_t nem2 = mask ? mask->ne[2] : 0;
     const uint32_t nem3 = mask ? mask->ne[3] : 0;
@@ -8574,7 +8595,10 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
 
     bool f32acc = path == FA_SCALAR || dst->op_params[3] == GGML_PREC_F32;
 
-    vk_fa_pipeline_state fa_pipeline_state(HSK, HSV, small_rows, small_cache, path, aligned, f32acc);
+    // Only use mask opt when the mask is fairly large. This hasn't been tuned extensively.
+    bool use_mask_opt = mask && nem1 >= 32 && nem0 * nem1 > 32768;
+
+    vk_fa_pipeline_state fa_pipeline_state(HSK, HSV, small_rows, small_cache, path, aligned, f32acc, use_mask_opt);
 
     vk_pipeline pipeline = nullptr;
 
@@ -8625,10 +8649,32 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
         ggml_vk_preallocate_buffers(ctx, subctx);
     }
 
-    {
-        // Request descriptor sets
-        if (split_k > 1) {
-            ggml_pipeline_request_descriptor_sets(ctx, ctx->device->pipeline_flash_attn_split_k_reduce, 1);
+    auto rows_cols = fa_rows_cols(path, HSK, HSV, !aligned, k->type, small_rows, small_cache);
+    const uint32_t Br = rows_cols[0];
+    const uint32_t Bc = rows_cols[1];
+
+    const uint32_t mask_opt_num_dwords = CEIL_DIV(nem0, 16 * Bc);
+    const uint64_t mask_opt_size = sizeof(uint32_t) * mask_opt_num_dwords * CEIL_DIV(nem1, Br) * nem2 * nem3;
+
+    vk_pipeline pipeline_fa_mask_opt = nullptr;
+    if (use_mask_opt) {
+        std::lock_guard guard(ctx->device->mutex);
+        auto &pipelines = ctx->device->pipeline_fa_mask_opt;
+        auto it = pipelines.find({Br, Bc});
+        if (it != pipelines.end()) {
+            pipeline_fa_mask_opt = it->second;
+        } else {
+            pipelines[{Br, Bc}] = pipeline_fa_mask_opt = std::make_shared();
+        }
+        assert(pipeline_fa_mask_opt);
+        ggml_pipeline_request_descriptor_sets(ctx, pipeline_fa_mask_opt, 1);
+
+        if (ctx->prealloc_size_y < mask_opt_size) {
+            ctx->prealloc_size_y = mask_opt_size;
+            ggml_vk_preallocate_buffers(ctx, subctx);
+        }
+        if (ctx->prealloc_y_need_sync) {
+            ggml_vk_sync_buffers(ctx, subctx);
         }
     }
 
@@ -8655,9 +8701,30 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
     vk_subbuffer dst_buf = ggml_vk_tensor_subbuffer(ctx, dst);
     vk_subbuffer mask_buf = mask ? ggml_vk_tensor_subbuffer(ctx, mask) : q_buf;
     vk_subbuffer sinks_buf = sinks ? ggml_vk_tensor_subbuffer(ctx, sinks) : q_buf;
+    vk_subbuffer mask_opt_buf = use_mask_opt ? ggml_vk_subbuffer(ctx, ctx->prealloc_y, 0) : q_buf;
 
     uint32_t mask_n_head_log2 = ((sinks != nullptr) << 24) | ((mask != nullptr) << 16) | n_head_log2;
 
+    if (use_mask_opt)
+    {
+        const vk_op_flash_attn_mask_opt_push_constants opt_pc = {
+            nem0,
+            nem1,
+            nem2,
+            (uint32_t)(mask->nb[1] / sizeof(ggml_fp16_t)),
+            (uint32_t)(mask->nb[2] / sizeof(ggml_fp16_t)),
+            (uint32_t)(mask->nb[3] / sizeof(ggml_fp16_t)),
+            mask_opt_num_dwords,
+            mask_opt_num_dwords * CEIL_DIV(nem1, Br),
+            mask_opt_num_dwords * CEIL_DIV(nem1, Br) * nem2,
+        };
+
+        ggml_vk_dispatch_pipeline(ctx, subctx, pipeline_fa_mask_opt,
+                                  { mask_buf, mask_opt_buf }, opt_pc,
+                                  { mask_opt_num_dwords, CEIL_DIV(nem1, Br), nem2 * nem3 });
+        ggml_vk_sync_buffers(ctx, subctx);
+    }
+
     const vk_flash_attn_push_constants pc = { N, KV,
                                               (uint32_t)ne1, (uint32_t)ne2, (uint32_t)ne3,
                                               (uint32_t)neq2, (uint32_t)neq3,
@@ -8672,13 +8739,15 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
                                               gqa_ratio, split_kv, split_k };
 
     if (split_k > 1) {
+        ggml_pipeline_request_descriptor_sets(ctx, ctx->device->pipeline_flash_attn_split_k_reduce, 1);
+
         if (ctx->prealloc_split_k_need_sync) {
             ggml_vk_sync_buffers(ctx, subctx);
         }
         workgroups_x *= pipeline->wg_denoms[0];
         vk_subbuffer split_k_buf = ggml_vk_subbuffer(ctx, ctx->prealloc_split_k, 0);
         ggml_vk_dispatch_pipeline(ctx, subctx, pipeline,
-                                    {q_buf, k_buf, v_buf, mask_buf, sinks_buf, split_k_buf},
+                                    {q_buf, k_buf, v_buf, mask_buf, sinks_buf, split_k_buf, mask_opt_buf},
                                     // We only use split_k when group query attention is enabled, which means
                                     // there's no more than one tile of rows (i.e. workgroups_x would have been
                                     // one). We reuse workgroups_x to mean the number of splits, so we need to
@@ -8697,7 +8766,7 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
             workgroups_x *= pipeline->wg_denoms[0];
         }
         ggml_vk_dispatch_pipeline(ctx, subctx, pipeline,
-                                    {q_buf, k_buf, v_buf, mask_buf, sinks_buf, dst_buf},
+                                    {q_buf, k_buf, v_buf, mask_buf, sinks_buf, dst_buf, mask_opt_buf},
                                     pc, { workgroups_x, workgroups_y, workgroups_z });
     }
 }
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp
index 3ce8d07be8..49a3c530cb 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp
@@ -94,6 +94,10 @@ void main() {
         }
     }
 
+    const uint32_t mo_stride = CEIL_DIV(KV, 16 * Bc);
+    // mo_offset will point to the tile starting at row i*Br and col 0
+    uint32_t mo_offset = mo_stride * i;
+
 #if BLOCK_SIZE > 1
     uint32_t k_offset = (ik2*p.nb12 + ik3*p.nb13) / BLOCK_BYTE_SIZE;
     uint32_t v_offset = (iv2*p.nb22 + iv3*p.nb23) / BLOCK_BYTE_SIZE;
@@ -104,15 +108,28 @@ void main() {
     uint32_t m_offset = gqa_iq1*KV;
     if (p.nem2 != 1 || p.nem3 != 1) {
         m_offset += ((iq3 % p.nem3) * p.nem2 + (iq2 % p.nem2)) * p.nem1 * KV;
+        mo_offset += ((iq3 % p.nem3) * p.nem2 + (iq2 % p.nem2)) * CEIL_DIV(p.nem1, Br) * mo_stride;
     }
 
+    uint32_t mask_opt = 0;
+    uint32_t mask_opt_idx = ~0;
+
     [[dont_unroll]]
     for (uint32_t j = start_j; j < end_j; ++j) {
 
-        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) {
+        if (USE_MASK_OPT && mask_opt_idx != j / 16) {
+            mask_opt_idx = j / 16;
+            mask_opt = data_mask_opt[mo_offset + mask_opt_idx];
+        }
+        uint32_t mask_opt_bits = (mask_opt >> ((j % 16) * 2)) & 0x3;
+        if (mask_opt_bits == MASK_OPT_ALL_NEG_INF) {
+            // skip this block
+            continue;
+        }
+        // Only load if the block is not all zeros
+        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0 && mask_opt_bits != MASK_OPT_ALL_ZERO) {
             bool nem1_bounds_check = !(p.gqa_ratio > 1) && (p.nem1 % Br) != 0;
 
-            float max_mask = NEG_FLT_MAX_OVER_2;
             [[unroll]] for (uint32_t idx = 0; idx < Bc * Br; idx += gl_WorkGroupSize.x) {
                 uint32_t c = (idx + tid) % Bc;
                 uint32_t r = (idx + tid) / Bc;
@@ -120,25 +137,12 @@ void main() {
                     if ((!KV_bounds_check || j * Bc + c < KV) && (!nem1_bounds_check || i * Br + r < p.nem1)) {
                         float m = float(data_m[m_offset + (i * Br + r) * m_stride + (j * Bc + c)]);
                         masksh[c][r] = m;
-                        max_mask = max(max_mask, m);
                     } else {
                         masksh[c][r] = float(0);
                     }
                 }
             }
-            // skip the block if the mask is entirely -inf
-            bool all_less = subgroupAll(max_mask <= NEG_FLT_MAX_OVER_2);
             barrier();
-            if (gl_SubgroupInvocationID == 0) {
-                tmpsh[gl_SubgroupID] = all_less ? NEG_FLT_MAX_OVER_2 : 0.0f;
-            }
-            barrier();
-            [[unroll]] for (uint s = 0; s < gl_NumSubgroups; ++s) {
-                max_mask = max(max_mask, tmpsh[s]);
-            }
-            if (max_mask <= NEG_FLT_MAX_OVER_2) {
-                continue;
-            }
         }
 
         float Sf[Br][cols_per_thread];
@@ -185,7 +189,7 @@ void main() {
             }
         }
 
-        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) {
+        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0 && mask_opt_bits != MASK_OPT_ALL_ZERO) {
             [[unroll]] for (uint32_t c = 0; c < cols_per_thread; ++c) {
                 [[unroll]] for (uint32_t r = 0; r < Br; ++r) {
                     float mvf = masksh[c * cols_per_iter + col_tid][r];
@@ -256,9 +260,6 @@ void main() {
         barrier();
     }
 
-    // prevent race on tmpsh
-    barrier();
-
     // reduce across threads
 
     [[unroll]] for (uint32_t r = 0; r < Br; ++r) {
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl
index 23a4d2c005..252451101a 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl
@@ -10,6 +10,7 @@ layout (constant_id = 5) const uint32_t Clamp = 0;
 layout (constant_id = 6) const uint32_t D_split = 16;
 layout (constant_id = 7) const uint32_t SubGroupSize = 32;
 layout (constant_id = 8) const uint32_t K_LOAD_SHMEM = 0;
+layout (constant_id = 9) const bool     USE_MASK_OPT = false;
 
 // Round up head sizes to a multiple of 16, for coopmat1/coopmat2 paths
 const uint32_t HSK_pad = (HSK + 15) & ~15;
@@ -66,6 +67,11 @@ layout (binding = 4) readonly buffer S {float data_s[];};
 
 layout (binding = 5) writeonly buffer O {D_TYPE data_o[];};
 
+layout (binding = 6) readonly buffer MO {uint32_t data_mask_opt[];};
+
+#define MASK_OPT_ALL_NEG_INF 1
+#define MASK_OPT_ALL_ZERO 2
+
 #define BINDING_IDX_K 0
 #define BINDING_IDX_V 1
 #if defined(DATA_A_F32)
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp
index 83d52d19d6..89af3697e1 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp
@@ -42,8 +42,6 @@ D_TYPE perElemOpGqaStore(const in uint32_t r, const in uint32_t c, const in D_TY
     return elem;
 }
 
-shared float tmpsh[row_split];
-
 const uint32_t qstride = HSK_pad / 4 + 2; // in units of f16vec4
 shared f16vec4 Qf[Br * qstride];
 
@@ -134,6 +132,10 @@ void main() {
         }
     }
 
+    const uint32_t mo_stride = CEIL_DIV(KV, 16 * Bc);
+    // mo_offset will point to the tile starting at row i*Br and col 0
+    uint32_t mo_offset = mo_stride * i;
+
 #if BLOCK_SIZE > 1
     uint32_t k_offset = (ik2*p.nb12 + ik3*p.nb13) / BLOCK_BYTE_SIZE;
     uint32_t v_offset = (iv2*p.nb22 + iv3*p.nb23) / BLOCK_BYTE_SIZE;
@@ -144,66 +146,74 @@ void main() {
     uint32_t m_offset = gqa_iq1*KV;
     if (p.nem2 != 1 || p.nem3 != 1) {
         m_offset += ((iq3 % p.nem3) * p.nem2 + (iq2 % p.nem2)) * p.nem1 * KV;
+        mo_offset += ((iq3 % p.nem3) * p.nem2 + (iq2 % p.nem2)) * CEIL_DIV(p.nem1, Br) * mo_stride;
     }
 
+    uint32_t mask_opt = 0;
+    uint32_t mask_opt_idx = ~0;
+
     [[dont_unroll]]
     for (uint32_t j = start_j; j < end_j; ++j) {
 
         f16vec4 mask_cache[Bc * Br / 4 / WorkGroupSize];
-        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) {
-            bool nem1_bounds_check = !(p.gqa_ratio > 1) && (p.nem1 % Br) != 0;
+        [[unroll]] for (uint32_t idx = 0; idx < mask_cache.length(); ++idx) {
+            mask_cache[idx] = f16vec4(0);
+        }
 
-            float max_mask = NEG_FLT_MAX_OVER_2;
-            [[unroll]] for (uint32_t idx = 0; idx < Bc * Br / 4; idx += gl_WorkGroupSize.x) {
-                uint32_t c = (idx + tid) / (Br / 4);
-                uint32_t r = (idx + tid) % (Br / 4);
-                if (idx + tid < Bc * Br / 4 || idx + gl_WorkGroupSize.x <= Bc * Br / 4) {
-                    if ((!KV_bounds_check || j * Bc + c < KV)) {
-                        f16vec4 m;
-                        if (!nem1_bounds_check || i * Br + r * 4 + 3 < p.nem1) {
-                            m = f16vec4(data_m[m_offset + (i * Br + r * 4    ) * m_stride + (j * Bc + c)],
-                                        data_m[m_offset + (i * Br + r * 4 + 1) * m_stride + (j * Bc + c)],
-                                        data_m[m_offset + (i * Br + r * 4 + 2) * m_stride + (j * Bc + c)],
-                                        data_m[m_offset + (i * Br + r * 4 + 3) * m_stride + (j * Bc + c)]);
-                            max_mask = max(max(max(max(max_mask, float(m[0])), float(m[1])), float(m[2])), float(m[3]));
-                        } else if (i * Br + r * 4 + 2 < p.nem1) {
-                            m = f16vec4(data_m[m_offset + (i * Br + r * 4    ) * m_stride + (j * Bc + c)],
-                                        data_m[m_offset + (i * Br + r * 4 + 1) * m_stride + (j * Bc + c)],
-                                        data_m[m_offset + (i * Br + r * 4 + 2) * m_stride + (j * Bc + c)],
-                                        0.0);
-                            max_mask = max(max(max(max_mask, float(m[0])), float(m[1])), float(m[2]));
-                        } else if (i * Br + r * 4 + 1 < p.nem1) {
-                            m = f16vec4(data_m[m_offset + (i * Br + r * 4    ) * m_stride + (j * Bc + c)],
-                                        data_m[m_offset + (i * Br + r * 4 + 1) * m_stride + (j * Bc + c)],
-                                        0.0,
-                                        0.0);
-                            max_mask = max(max(max_mask, float(m[0])), float(m[1]));
-                        } else if (i * Br + r * 4 < p.nem1) {
-                            m = f16vec4(data_m[m_offset + (i * Br + r * 4    ) * m_stride + (j * Bc + c)],
-                                        0.0,
-                                        0.0,
-                                        0.0);
-                            max_mask = max(max_mask, float(m[0]));
-                        } else {
-                            m = f16vec4(0.0);
+        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) {
+
+            if (USE_MASK_OPT && mask_opt_idx != j / 16) {
+                mask_opt_idx = j / 16;
+                mask_opt = data_mask_opt[mo_offset + mask_opt_idx];
+            }
+            uint32_t mask_opt_bits = (mask_opt >> ((j % 16) * 2)) & 0x3;
+            if (mask_opt_bits == MASK_OPT_ALL_NEG_INF) {
+                // skip this block
+                continue;
+            }
+            // Only load if the block is not all zeros
+            if (mask_opt_bits != MASK_OPT_ALL_ZERO) {
+                bool nem1_bounds_check = !(p.gqa_ratio > 1) && (p.nem1 % Br) != 0;
+
+                float max_mask = NEG_FLT_MAX_OVER_2;
+                [[unroll]] for (uint32_t idx = 0; idx < Bc * Br / 4; idx += gl_WorkGroupSize.x) {
+                    uint32_t c = (idx + tid) / (Br / 4);
+                    uint32_t r = (idx + tid) % (Br / 4);
+                    if (idx + tid < Bc * Br / 4 || idx + gl_WorkGroupSize.x <= Bc * Br / 4) {
+                        if ((!KV_bounds_check || j * Bc + c < KV)) {
+                            f16vec4 m;
+                            if (!nem1_bounds_check || i * Br + r * 4 + 3 < p.nem1) {
+                                m = f16vec4(data_m[m_offset + (i * Br + r * 4    ) * m_stride + (j * Bc + c)],
+                                            data_m[m_offset + (i * Br + r * 4 + 1) * m_stride + (j * Bc + c)],
+                                            data_m[m_offset + (i * Br + r * 4 + 2) * m_stride + (j * Bc + c)],
+                                            data_m[m_offset + (i * Br + r * 4 + 3) * m_stride + (j * Bc + c)]);
+                                max_mask = max(max(max(max(max_mask, float(m[0])), float(m[1])), float(m[2])), float(m[3]));
+                            } else if (i * Br + r * 4 + 2 < p.nem1) {
+                                m = f16vec4(data_m[m_offset + (i * Br + r * 4    ) * m_stride + (j * Bc + c)],
+                                            data_m[m_offset + (i * Br + r * 4 + 1) * m_stride + (j * Bc + c)],
+                                            data_m[m_offset + (i * Br + r * 4 + 2) * m_stride + (j * Bc + c)],
+                                            0.0);
+                                max_mask = max(max(max(max_mask, float(m[0])), float(m[1])), float(m[2]));
+                            } else if (i * Br + r * 4 + 1 < p.nem1) {
+                                m = f16vec4(data_m[m_offset + (i * Br + r * 4    ) * m_stride + (j * Bc + c)],
+                                            data_m[m_offset + (i * Br + r * 4 + 1) * m_stride + (j * Bc + c)],
+                                            0.0,
+                                            0.0);
+                                max_mask = max(max(max_mask, float(m[0])), float(m[1]));
+                            } else if (i * Br + r * 4 < p.nem1) {
+                                m = f16vec4(data_m[m_offset + (i * Br + r * 4    ) * m_stride + (j * Bc + c)],
+                                            0.0,
+                                            0.0,
+                                            0.0);
+                                max_mask = max(max_mask, float(m[0]));
+                            } else {
+                                m = f16vec4(0.0);
+                            }
+                            mask_cache[idx / WorkGroupSize] = m;
                         }
-                        mask_cache[idx / WorkGroupSize] = m;
                     }
                 }
             }
-            // skip the block if the mask is entirely -inf
-            bool all_less = subgroupAll(max_mask <= NEG_FLT_MAX_OVER_2);
-            barrier();
-            if (gl_SubgroupInvocationID == 0) {
-                tmpsh[gl_SubgroupID] = all_less ? NEG_FLT_MAX_OVER_2 : 0.0f;
-            }
-            barrier();
-            [[unroll]] for (uint s = 0; s < gl_NumSubgroups; ++s) {
-                max_mask = max(max_mask, tmpsh[s]);
-            }
-            if (max_mask <= NEG_FLT_MAX_OVER_2) {
-                continue;
-            }
         }
 
         if (K_LOAD_SHMEM != 0) {
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
index 54f1b0b622..47b110621b 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
@@ -138,48 +138,53 @@ void main() {
         coopMatPerElementNV(slopeMat, slopeMat, perElemOpComputeSlope, iq2);
     }
 
+    const uint32_t mo_stride = CEIL_DIV(KV, 16 * Bc);
+    // mo_offset will point to the tile starting at row i*Br and col 0
+    uint32_t mo_offset = mo_stride * i;
+
     uint32_t m_offset = gqa_iq1*KV * 2 /*sizeof(float16_t)*/;
     if (p.nem2 != 1 || p.nem3 != 1) {
         m_offset += ((iq3 % p.nem3) * p.nem2 + (iq2 % p.nem2)) * p.nem1 * KV * 2 /*sizeof(float16_t)*/;
+        mo_offset += ((iq3 % p.nem3) * p.nem2 + (iq2 % p.nem2)) * CEIL_DIV(p.nem1, Br) * mo_stride;
     }
 
+    uint32_t mask_opt = 0;
+    uint32_t mask_opt_idx = ~0;
+
     [[dont_unroll]]
     for (uint32_t j = start_j; j < end_j; ++j) {
 
-        coopmat mv;
+        coopmat mv = coopmat(0);
         if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) {
-            bool nem1_bounds_check = !(p.gqa_ratio > 1) && (p.nem1 % Br) != 0;
 
-            if (nem1_bounds_check) {
-                tensorLayoutNV<2, gl_CooperativeMatrixClampModeConstantNV> tensorLayoutM = createTensorLayoutNV(2, gl_CooperativeMatrixClampModeConstantNV);
-                tensorLayoutM = setTensorLayoutDimensionNV(tensorLayoutM, p.nem1, KV);
-                tensorLayoutM = setTensorLayoutStrideNV(tensorLayoutM, m_stride, 1);
-                tensorLayoutM = setTensorLayoutClampValueNV(tensorLayoutM, 0xfc00); // -inf in float16_t
+            if (USE_MASK_OPT && mask_opt_idx != j / 16) {
+                mask_opt_idx = j / 16;
+                mask_opt = data_mask_opt[mo_offset + mask_opt_idx];
+            }
+            uint32_t mask_opt_bits = (mask_opt >> ((j % 16) * 2)) & 0x3;
+            if (mask_opt_bits == MASK_OPT_ALL_NEG_INF) {
+                // skip this block
+                continue;
+            }
+            // Only load if the block is not all zeros
+            if (mask_opt_bits != MASK_OPT_ALL_ZERO) {
+                bool nem1_bounds_check = !(p.gqa_ratio > 1) && (p.nem1 % Br) != 0;
 
-                coopmat mvmax;
+                if (nem1_bounds_check) {
+                    tensorLayoutNV<2, gl_CooperativeMatrixClampModeConstantNV> tensorLayoutM = createTensorLayoutNV(2, gl_CooperativeMatrixClampModeConstantNV);
+                    tensorLayoutM = setTensorLayoutDimensionNV(tensorLayoutM, p.nem1, KV);
+                    tensorLayoutM = setTensorLayoutStrideNV(tensorLayoutM, m_stride, 1);
+                    tensorLayoutM = setTensorLayoutClampValueNV(tensorLayoutM, 0xfc00); // -inf in float16_t
 
-                coopMatLoadTensorNV(mv, data_m, m_offset, sliceTensorLayoutNV(tensorLayoutM, i * Br, Br, j * Bc, Bc));
+                    coopMatLoadTensorNV(mv, data_m, m_offset, sliceTensorLayoutNV(tensorLayoutM, i * Br, Br, j * Bc, Bc));
+                } else {
+                    tensorLayoutNV<2, Clamp> tensorLayoutM = createTensorLayoutNV(2, Clamp);
+                    // Don't clamp against nem1 when GQA is enabled
+                    uint32_t m_height = p.gqa_ratio > 1 ? ~0 : p.nem1;
+                    tensorLayoutM = setTensorLayoutDimensionNV(tensorLayoutM, m_height, KV);
+                    tensorLayoutM = setTensorLayoutStrideNV(tensorLayoutM, m_stride, 1);
 
-                // skip the block if the mask is entirely -inf
-                coopMatReduceNV(mvmax, mv, gl_CooperativeMatrixReduceRowAndColumnNV, maxReduceFp16);
-                if (mvmax[0] <= NEG_FLT_MAX_OVER_2) {
-                    continue;
-                }
-            } else {
-                tensorLayoutNV<2, Clamp> tensorLayoutM = createTensorLayoutNV(2, Clamp);
-                // Don't clamp against nem1 when GQA is enabled
-                uint32_t m_height = p.gqa_ratio > 1 ? ~0 : p.nem1;
-                tensorLayoutM = setTensorLayoutDimensionNV(tensorLayoutM, m_height, KV);
-                tensorLayoutM = setTensorLayoutStrideNV(tensorLayoutM, m_stride, 1);
-
-                coopmat mvmax;
-
-                coopMatLoadTensorNV(mv, data_m, m_offset, sliceTensorLayoutNV(tensorLayoutM, i * Br, Br, j * Bc, Bc));
-
-                // skip the block if the mask is entirely -inf
-                coopMatReduceNV(mvmax, mv, gl_CooperativeMatrixReduceRowAndColumnNV, maxReduceFp16);
-                if (mvmax[0] <= NEG_FLT_MAX_OVER_2) {
-                    continue;
+                    coopMatLoadTensorNV(mv, data_m, m_offset, sliceTensorLayoutNV(tensorLayoutM, i * Br, Br, j * Bc, Bc));
                 }
             }
         }
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_mask_opt.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_mask_opt.comp
new file mode 100644
index 0000000000..8c92c1adcd
--- /dev/null
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_mask_opt.comp
@@ -0,0 +1,142 @@
+#version 450
+
+#extension GL_EXT_control_flow_attributes : enable
+#extension GL_EXT_shader_16bit_storage : enable
+#extension GL_KHR_shader_subgroup_arithmetic : enable
+
+layout (constant_id = 0) const uint BLOCK_SIZE = 128;
+layout (constant_id = 1) const uint NUM_SUBGROUPS = 4;
+layout (constant_id = 2) const uint Br = 32;
+layout (constant_id = 3) const uint Bc = 32;
+
+layout(local_size_x_id = 0, local_size_y = 1, local_size_z = 1) in;
+
+layout (binding = 0) readonly buffer A {float16_t data_a[];};
+layout (binding = 0) readonly buffer Av4 {f16vec4 data_av4[];};
+layout (binding = 1) writeonly buffer D {uint data_d[];};
+
+layout (push_constant) uniform parameter {
+    uint nem0;
+    uint nem1;
+    uint nem2;
+    uint nbm1;
+    uint nbm2;
+    uint nbm3;
+    uint nbd1;
+    uint nbd2;
+    uint nbd3;
+};
+
+#define MASK_OPT_ALL_NEG_INF 1
+#define MASK_OPT_ALL_ZERO 2
+
+shared float minsh[NUM_SUBGROUPS];
+shared float maxsh[NUM_SUBGROUPS];
+
+// For each Br x Bc block of the mask (input) buffer, read all values and check
+// if it's all -inf or all zero. Write out a two-bit code indicating which it is
+// (or zero for neither). Each workgroup processes 16 tiles and writes out a
+// 32-bit result mask.
+//
+// TODO: This is a lot of work per workgroup, might make sense to split this into
+// more workgroups in the future.
+void main() {
+    // Each workgroup handles a row
+    const uint tid = gl_LocalInvocationIndex;
+    const uint i0 = gl_WorkGroupID.x;
+    const uint i1 = gl_WorkGroupID.y;
+    const uint i2 = gl_WorkGroupID.z % nem2;
+    const uint i3 = gl_WorkGroupID.z / nem2;
+
+    float FLT_MAX_OVER_2 = uintBitsToFloat(0x7EFFFFFF);
+
+    uint result = 0;
+
+    // Fast path for fully in-bounds blocks where we can do f16vec4 loads
+    if ((nem0 % Bc) == 0 && (nem1 % Br) == 0 &&
+        ((Br * Bc) % (BLOCK_SIZE * 4)) == 0) {
+        [[unroll]] for (uint block_x = 0; block_x < 16; ++block_x) {
+            float min_v = FLT_MAX_OVER_2;
+            float max_v = -FLT_MAX_OVER_2;
+            [[unroll]] for (uint i = 0; i < Br * Bc / 4; i += BLOCK_SIZE) {
+                uint j0 = (i + tid) % (Bc / 4);
+                uint j1 = (i + tid) / (Bc / 4);
+
+                j0 *= 4;
+                j0 += (i0 * 16 + block_x) * Bc;
+                j1 += i1 * Br;
+
+                vec4 f = vec4(data_av4[(j0 + j1 * nbm1 + i2 * nbm2 + i3 * nbm3) / 4]);
+                [[unroll]] for (int c = 0; c < 4; ++c) {
+                    min_v = min(min_v, f[c]);
+                    max_v = max(max_v, f[c]);
+                }
+            }
+            min_v = subgroupMin(min_v);
+            max_v = subgroupMax(max_v);
+            if (gl_SubgroupInvocationID == 0) {
+                minsh[gl_SubgroupID] = min_v;
+                maxsh[gl_SubgroupID] = max_v;
+            }
+            barrier();
+            if (tid == 0) {
+                [[unroll]] for (uint i = 0; i < NUM_SUBGROUPS; ++i) {
+                    min_v = min(min_v, minsh[i]);
+                    max_v = max(max_v, maxsh[i]);
+                }
+                if (max_v <= -FLT_MAX_OVER_2) {
+                    result |= 1 << (2*block_x);
+                }
+                if (min_v == 0.0f && max_v == 0.0f) {
+                    result |= 2 << (2*block_x);
+                }
+            }
+            barrier();
+        }
+    } else {
+        [[unroll]] for (uint block_x = 0; block_x < 16; ++block_x) {
+            float min_v = FLT_MAX_OVER_2;
+            float max_v = -FLT_MAX_OVER_2;
+            [[unroll]] for (uint i = 0; i < Br * Bc; i += BLOCK_SIZE) {
+                if ((Br * Bc % BLOCK_SIZE) != 0 && i + tid >= Br * Bc) {
+                    continue;
+                }
+                uint j0 = (i + tid) % Bc;
+                uint j1 = (i + tid) / Bc;
+
+                j0 += (i0 * 16 + block_x) * Bc;
+                j1 += i1 * Br;
+
+                if (j0 < nem0 && j1 < nem1) {
+                    float f = float(data_a[j0 + j1 * nbm1 + i2 * nbm2 + i3 * nbm3]);
+                    min_v = min(min_v, f);
+                    max_v = max(max_v, f);
+                }
+            }
+            min_v = subgroupMin(min_v);
+            max_v = subgroupMax(max_v);
+            if (gl_SubgroupInvocationID == 0) {
+                minsh[gl_SubgroupID] = min_v;
+                maxsh[gl_SubgroupID] = max_v;
+            }
+            barrier();
+            if (tid == 0) {
+                [[unroll]] for (uint i = 0; i < NUM_SUBGROUPS; ++i) {
+                    min_v = min(min_v, minsh[i]);
+                    max_v = max(max_v, maxsh[i]);
+                }
+                if (max_v <= -FLT_MAX_OVER_2) {
+                    result |= 1 << (2*block_x);
+                }
+                if (min_v == 0.0f && max_v == 0.0f) {
+                    result |= 2 << (2*block_x);
+                }
+            }
+            barrier();
+        }
+    }
+
+    if (tid == 0) {
+        data_d[i0 + i1 * nbd1 + i2 * nbd2 + i3 * nbd3] = result;
+    }
+}
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp b/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp
index ca486a288a..42ebc21e2a 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp
@@ -790,6 +790,8 @@ void process_shaders() {
     string_to_spv("split_k_reduce", "mul_mat_split_k_reduce.comp", {});
     string_to_spv("fa_split_k_reduce", "flash_attn_split_k_reduce.comp", {});
 
+    string_to_spv("fa_mask_opt", "flash_attn_mask_opt.comp", {});
+
     string_to_spv("quantize_q8_1", "quantize_q8_1.comp", {});
     string_to_spv("quantize_q8_1_subgroup", "quantize_q8_1.comp", {{"USE_SUBGROUPS", "1"}});
 
diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp
index cecdf47038..fbe23037cc 100644
--- a/tests/test-backend-ops.cpp
+++ b/tests/test-backend-ops.cpp
@@ -169,20 +169,22 @@ static void init_tensor_kq_mask(ggml_tensor * tensor, float min = -1.0f, float m
     const int blck0 = 128;
     const int blck1 = 64;
 
-    // number of INF blocks
-    const int n_inf_blocks = 0.1*(ne0*ne1*ne2*ne3)/(blck0*blck1);
+    // number of INF/zero blocks
+    const int n_inf_zero_blocks = 0.2*(ne0*ne1*ne2*ne3)/(blck0*blck1);
 
-    for (int b = 0; b < n_inf_blocks; b++) {
+    for (int b = 0; b < n_inf_zero_blocks; b++) {
         const int p3 = (rd() % ne3);
         const int p2 = (rd() % ne2);
         const int p1 = (rd() % ne1);
         const int p0 = (rd() % ne0);
 
+        bool inf = rd() & 1;
+
         for (int i1 = 0; i1 < blck1 && p1 + i1 < ne1; i1++) {
             const int idx = p3*ne2*ne1*ne0 + p2*ne1*ne0 + (p1 + i1)*ne0 + p0;
 
             for (int i0 = 0; i0 < blck0 && p0 + i0 < ne0; i0++) {
-                data_f32[idx + i0] = -INFINITY;
+                data_f32[idx + i0] = inf ? -INFINITY : 0.0f;
             }
         }
     }

From 22cae832188a1f08d18bd0a707a4ba5cd03c7349 Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Thu, 5 Feb 2026 19:07:22 +0200
Subject: [PATCH 135/206] metal : adaptive CPU/GPU interleave based on number
 of nodes (#19369)

---
 ggml/src/ggml-metal/ggml-metal-context.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ggml/src/ggml-metal/ggml-metal-context.m b/ggml/src/ggml-metal/ggml-metal-context.m
index a412d70aed..c7e8ebd3f3 100644
--- a/ggml/src/ggml-metal/ggml-metal-context.m
+++ b/ggml/src/ggml-metal/ggml-metal-context.m
@@ -415,7 +415,7 @@ bool ggml_metal_cpy_tensor_async(ggml_metal_t ctx_src, ggml_metal_t ctx_dst, con
 
 enum ggml_status ggml_metal_graph_compute(ggml_metal_t ctx, struct ggml_cgraph * gf) {
     // number of nodes encoded by the main thread (empirically determined)
-    const int n_main = 64;
+    const int n_main = MAX(64, 0.1*gf->n_nodes);
 
     // number of threads in addition to the main thread
     const int n_cb = ctx->n_cb;

From 3e2164766603eca8531f7a06af284811e7457788 Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Fri, 6 Feb 2026 07:55:06 +0200
Subject: [PATCH 136/206] cuda : cuda graphs now compare all node params
 (#19383)

---
 ggml/src/ggml-cuda/ggml-cuda.cu | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu
index eeb8625dbe..9e77c231c8 100644
--- a/ggml/src/ggml-cuda/ggml-cuda.cu
+++ b/ggml/src/ggml-cuda/ggml-cuda.cu
@@ -2979,8 +2979,7 @@ static bool ggml_cuda_graph_node_properties_match(ggml_tensor * node, ggml_cuda_
         }
     }
 
-    if ((node->op == GGML_OP_SCALE || node->op == GGML_OP_GLU) &&
-        memcmp(props->op_params, node->op_params, GGML_MAX_OP_PARAMS) != 0) {
+    if (memcmp(props->op_params, node->op_params, GGML_MAX_OP_PARAMS) != 0) {
         return false;
     }
 

From e696cfc0168ba9616a8bd7d09d6284a1b0fec82b Mon Sep 17 00:00:00 2001
From: Daniel Bevenius 
Date: Fri, 6 Feb 2026 07:26:54 +0100
Subject: [PATCH 137/206] llama : rename llama-sampling to llama-sampler
 (#19363)

This commit addresses the TODO in llama-sampling.h to rename that header
and the implementation to llama-sampler.
---
 src/CMakeLists.txt                            | 2 +-
 src/llama-grammar.cpp                         | 2 +-
 src/{llama-sampling.cpp => llama-sampler.cpp} | 2 +-
 src/{llama-sampling.h => llama-sampler.h}     | 2 --
 4 files changed, 3 insertions(+), 5 deletions(-)
 rename src/{llama-sampling.cpp => llama-sampler.cpp} (99%)
 rename src/{llama-sampling.h => llama-sampler.h} (92%)

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f337afd6b3..bedfa1bc3d 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -31,7 +31,7 @@ add_library(llama
             llama-model-saver.cpp
             llama-model.cpp
             llama-quant.cpp
-            llama-sampling.cpp
+            llama-sampler.cpp
             llama-vocab.cpp
             unicode-data.cpp
             unicode.cpp
diff --git a/src/llama-grammar.cpp b/src/llama-grammar.cpp
index 64ea2fd00a..2d55070cec 100644
--- a/src/llama-grammar.cpp
+++ b/src/llama-grammar.cpp
@@ -2,7 +2,7 @@
 
 #include "llama-impl.h"
 #include "llama-vocab.h"
-#include "llama-sampling.h"
+#include "llama-sampler.h"
 
 #include 
 #include 
diff --git a/src/llama-sampling.cpp b/src/llama-sampler.cpp
similarity index 99%
rename from src/llama-sampling.cpp
rename to src/llama-sampler.cpp
index 515d6c163b..9bbc5dbde2 100644
--- a/src/llama-sampling.cpp
+++ b/src/llama-sampler.cpp
@@ -1,4 +1,4 @@
-#include "llama-sampling.h"
+#include "llama-sampler.h"
 
 #include "llama-impl.h"
 #include "llama-vocab.h"
diff --git a/src/llama-sampling.h b/src/llama-sampler.h
similarity index 92%
rename from src/llama-sampling.h
rename to src/llama-sampler.h
index 6a963c0bb7..b9bfc20d25 100644
--- a/src/llama-sampling.h
+++ b/src/llama-sampler.h
@@ -1,7 +1,5 @@
 #pragma once
 
-// TODO: rename llama-sampling.h/.cpp to llama-sampler.h/.cpp ?
-
 #include "llama.h"
 
 #include 

From 7fcf1ef45d37f7af07f23407e1979be679532959 Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Fri, 6 Feb 2026 09:25:11 +0200
Subject: [PATCH 138/206] metal : skip loading all-zero mask (#19337)

* metal : skip loading all-zero mask

* cont : minor
---
 ggml/src/ggml-metal/ggml-metal.metal | 63 +++++++++++++++++-----------
 1 file changed, 39 insertions(+), 24 deletions(-)

diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal
index e54cdab39d..612a42a1ea 100644
--- a/ggml/src/ggml-metal/ggml-metal.metal
+++ b/ggml/src/ggml-metal/ggml-metal.metal
@@ -5285,6 +5285,7 @@ constant int32_t FC_flash_attn_ext_blk_ncpsg [[function_constant(FC_FLASH_ATTN_E
 // scan the blocks of the mask that are not masked
 // 0 -     masked (i.e. full of -INF, skip)
 // 1 - not masked (i.e. at least one element of the mask is not -INF)
+// 2 - all zero
 kernel void kernel_flash_attn_ext_blk(
         constant ggml_metal_kargs_flash_attn_ext_blk & args,
         device const char * mask,
@@ -5306,27 +5307,29 @@ kernel void kernel_flash_attn_ext_blk(
 
     device const half * mask_src = (device const half *) (mask + (i1*Q)*args.nb31 + i2*args.nb32 + i3*args.nb33) + i0*C + tiisg;
 
-    // fast route
-    if (res == 0) {
-        if (simd_max(*mask_src) > -MAXHALF/2) {
-            res = 1;
-        }
-    }
-
     // detailed check of the elements of the block
     if ((C > NW || Q > 1) && res == 0) {
-        half m = -MAXHALF;
+        half mmin =  MAXHALF;
+        half mmax = -MAXHALF;
 
         FOR_UNROLL (short j = 0; j < Q; ++j) {
             FOR_UNROLL (short ii = 0; ii < C/NW; ++ii) {
-                m = max(m, mask_src[ii*NW]);
+                mmin = min(mmin, mask_src[ii*NW]);
+                mmax = max(mmax, mask_src[ii*NW]);
             }
 
             mask_src += args.nb31/2;
         }
 
-        if (simd_max(m) > -MAXHALF/2) {
-            res = 1;
+        mmin = simd_min(mmin);
+        mmax = simd_max(mmax);
+
+        if (mmax > -MAXHALF) {
+            if (mmin == 0.0 && mmax == 0.0) {
+                res = 2;
+            } else {
+                res = 1;
+            }
         }
     }
 
@@ -5568,9 +5571,13 @@ void kernel_flash_attn_ext_impl(
                 ic = 0;
             }
 
+            char blk_cur = 1;
+
             // read the mask into shared mem
             if (FC_flash_attn_ext_has_mask) {
-                if (blk[ic0] == 0) {
+                blk_cur = blk[ic0];
+
+                if (blk_cur == 0) {
                     FOR_UNROLL (short jj = 0; jj < NQ; ++jj) {
                         pm2[jj] += NW;
                     }
@@ -5578,16 +5585,22 @@ void kernel_flash_attn_ext_impl(
                     continue;
                 }
 
-                FOR_UNROLL (short jj = 0; jj < NQ; ++jj) {
-                    const short j = jj*NSG + sgitg;
+                if (blk_cur == 1) {
+                    FOR_UNROLL (short jj = 0; jj < NQ; ++jj) {
+                        const short j = jj*NSG + sgitg;
 
-                    if (FC_flash_attn_ext_bc_mask) {
-                        sm2[j*SH + tiisg] = (iq1 + j) < args.ne31 ? pm2[jj][tiisg] : half2(-MAXHALF, -MAXHALF);
-                    } else {
-                        sm2[j*SH + tiisg] = pm2[jj][tiisg];
+                        if (FC_flash_attn_ext_bc_mask) {
+                            sm2[j*SH + tiisg] = (iq1 + j) < args.ne31 ? pm2[jj][tiisg] : half2(-MAXHALF, -MAXHALF);
+                        } else {
+                            sm2[j*SH + tiisg] = pm2[jj][tiisg];
+                        }
+
+                        pm2[jj] += NW;
+                    }
+                } else if (blk_cur == 2) {
+                    FOR_UNROLL (short jj = 0; jj < NQ; ++jj) {
+                        pm2[jj] += NW;
                     }
-
-                    pm2[jj] += NW;
                 }
 
 #if 0
@@ -5752,10 +5765,12 @@ void kernel_flash_attn_ext_impl(
                 }
 
                 // mqk = mqk + slope*mask
-                if (FC_flash_attn_ext_has_bias) {
-                    s2 += s2_t(sm2[j*SH + tiisg])*slope;
-                } else {
-                    s2 += s2_t(sm2[j*SH + tiisg]);
+                if (blk_cur != 2) {
+                    if (FC_flash_attn_ext_has_bias) {
+                        s2 += s2_t(sm2[j*SH + tiisg])*slope;
+                    } else {
+                        s2 += s2_t(sm2[j*SH + tiisg]);
+                    }
                 }
 
                 M[jj] = simd_max(max(M[jj], max(s2[0], s2[1])));

From f9bd518a6bac615e1060dcc44f3f302f9e7ae0e8 Mon Sep 17 00:00:00 2001
From: Jeff Bolz 
Date: Fri, 6 Feb 2026 01:49:58 -0600
Subject: [PATCH 139/206] vulkan: make FA mask/softcap enables spec constants
 (#19309)

* vulkan: make FA mask/softcap enables spec constants

* don't specialize for sinks

* bump timeout a little bit
---
 .github/workflows/build.yml                   |  2 +-
 ggml/src/ggml-vulkan/ggml-vulkan.cpp          | 56 ++++++++++---------
 .../vulkan-shaders/flash_attn.comp            |  6 +-
 .../vulkan-shaders/flash_attn_base.glsl       |  7 ++-
 .../vulkan-shaders/flash_attn_cm1.comp        |  6 +-
 .../vulkan-shaders/flash_attn_cm2.comp        |  6 +-
 6 files changed, 45 insertions(+), 38 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8ce679bd9a..51a3dc76e9 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -468,7 +468,7 @@ jobs:
           export GGML_VK_VISIBLE_DEVICES=0
           export GGML_VK_DISABLE_F16=1
           # This is using llvmpipe and runs slower than other backends
-          ctest -L main --verbose --timeout 4200
+          ctest -L main --verbose --timeout 4800
 
   ubuntu-24-cmake-webgpu:
     runs-on: ubuntu-24.04
diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
index 4357da24d4..72097ffd0f 100644
--- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp
+++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp
@@ -402,19 +402,19 @@ enum FaCodePath {
 };
 
 struct vk_fa_pipeline_state {
-    vk_fa_pipeline_state(uint32_t HSK, uint32_t HSV, bool small_rows, bool small_cache, FaCodePath path, bool aligned, bool f32acc, bool use_mask_opt)
-        : HSK(HSK), HSV(HSV), small_rows(small_rows), small_cache(small_cache), path(path), aligned(aligned), f32acc(f32acc), use_mask_opt(use_mask_opt) {}
+    vk_fa_pipeline_state(uint32_t HSK, uint32_t HSV, bool small_rows, bool small_cache, FaCodePath path, bool aligned, bool f32acc, uint32_t flags)
+        : HSK(HSK), HSV(HSV), small_rows(small_rows), small_cache(small_cache), path(path), aligned(aligned), f32acc(f32acc), flags(flags) {}
 
     uint32_t HSK, HSV;
     bool small_rows, small_cache;
     FaCodePath path;
     bool aligned;
     bool f32acc;
-    bool use_mask_opt;
+    uint32_t flags;
 
     bool operator<(const vk_fa_pipeline_state &b) const {
-        return std::tie(HSK, HSV, small_rows, small_cache, path, aligned, f32acc, use_mask_opt) <
-               std::tie(b.HSK, b.HSV, b.small_rows, b.small_cache, b.path, b.aligned, b.f32acc, b.use_mask_opt);
+        return std::tie(HSK, HSV, small_rows, small_cache, path, aligned, f32acc, flags) <
+               std::tie(b.HSK, b.HSV, b.small_rows, b.small_cache, b.path, b.aligned, b.f32acc, b.flags);
     }
 };
 
@@ -3193,7 +3193,7 @@ static void ggml_vk_load_shaders(vk_device& device) {
         return {fa_rows_cols(path, hsk, hsv, clamp, type, small_rows, small_cache)[0], 1, 1};
     };
 
-    auto const &fa_spec_constants = [&](FaCodePath path, uint32_t hsk, uint32_t hsv, uint32_t clamp, ggml_type type, bool small_rows, bool small_cache, bool use_mask_opt) -> std::vector {
+    auto const &fa_spec_constants = [&](FaCodePath path, uint32_t hsk, uint32_t hsv, uint32_t clamp, ggml_type type, bool small_rows, bool small_cache, uint32_t flags) -> std::vector {
         // For large number of rows, 128 invocations seems to work best.
         // For small number of rows (e.g. N==1), 256 works better. But matrix granularity for 256 is 32, so we
         // can't use 256 for D==80.
@@ -3225,7 +3225,7 @@ static void ggml_vk_load_shaders(vk_device& device) {
         // AMD prefers loading K directly from global memory
         const uint32_t k_load_shmem = device->vendor_id == VK_VENDOR_ID_NVIDIA && hsk < 256 ? 1 : 0;
 
-        return {wg_size, rows_cols[0], rows_cols[1], hsk, hsv, clamp, D_split, device->subgroup_size, k_load_shmem, use_mask_opt};
+        return {wg_size, rows_cols[0], rows_cols[1], hsk, hsv, clamp, D_split, device->subgroup_size, k_load_shmem, flags};
     };
 
 #define CREATE_FA(TYPE, NAMELC, FAPATH, SUFFIX) \
@@ -3237,19 +3237,19 @@ static void ggml_vk_load_shaders(vk_device& device) {
             FaCodePath path = fa.first.path; \
             bool aligned = fa.first.aligned; \
             bool f32acc = fa.first.f32acc; \
-            bool use_mask_opt = fa.first.use_mask_opt; \
+            uint32_t flags = fa.first.flags; \
             if (path == FAPATH) { \
                 if (aligned) { \
                     if (f32acc) { \
-                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f32acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache,use_mask_opt), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
+                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f32acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache,flags), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
                     } else { \
-                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f16acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache,use_mask_opt), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
+                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_aligned_f16acc" #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,0,TYPE,small_rows,small_cache,flags), fa_align(FAPATH,HSK,HSV,TYPE,small_rows,small_cache), true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
                     } \
                 } else { \
                     if (f32acc) { \
-                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f32acc"         #NAMELC, flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache,use_mask_opt), 1,                                        true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
+                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f32acc"         #NAMELC, flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ##            SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache,flags), 1,                                        true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
                     } else { \
-                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f16acc"         #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache,use_mask_opt), 1,                                        true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
+                        ggml_vk_create_pipeline(device, fa.second, "flash_attn_f32_f16_f16acc"         #NAMELC, flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _len,  flash_attn_f32_f16_ ## NAMELC ## _f16acc ## SUFFIX ## _data,  "main", 7, sizeof(vk_flash_attn_push_constants), fa_wg_denoms(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache), fa_spec_constants(FAPATH, HSK,HSV,1,TYPE,small_rows,small_cache,flags), 1,                                        true, FAPATH==FA_COOPMAT1, (FAPATH==FA_COOPMAT1 ? device->subgroup_size : 0));     \
                     } \
                 } \
             } \
@@ -8595,10 +8595,26 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
 
     bool f32acc = path == FA_SCALAR || dst->op_params[3] == GGML_PREC_F32;
 
+    float scale         = 1.0f;
+    float max_bias      = 0.0f;
+    float logit_softcap = 0.0f;
+
+    memcpy(&scale,         (const float *) dst->op_params + 0, sizeof(float));
+    memcpy(&max_bias,      (const float *) dst->op_params + 1, sizeof(float));
+    memcpy(&logit_softcap, (const float *) dst->op_params + 2, sizeof(float));
+
+    if (logit_softcap != 0) {
+        scale /= logit_softcap;
+    }
+
     // Only use mask opt when the mask is fairly large. This hasn't been tuned extensively.
     bool use_mask_opt = mask && nem1 >= 32 && nem0 * nem1 > 32768;
 
-    vk_fa_pipeline_state fa_pipeline_state(HSK, HSV, small_rows, small_cache, path, aligned, f32acc, use_mask_opt);
+    uint32_t flags = (use_mask_opt       ? 1 : 0) |
+                     (mask != nullptr    ? 2 : 0) |
+                     (logit_softcap != 0 ? 4 : 0);
+
+    vk_fa_pipeline_state fa_pipeline_state(HSK, HSV, small_rows, small_cache, path, aligned, f32acc, flags);
 
     vk_pipeline pipeline = nullptr;
 
@@ -8678,18 +8694,6 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
         }
     }
 
-    float scale         = 1.0f;
-    float max_bias      = 0.0f;
-    float logit_softcap = 0.0f;
-
-    memcpy(&scale,         (const float *) dst->op_params + 0, sizeof(float));
-    memcpy(&max_bias,      (const float *) dst->op_params + 1, sizeof(float));
-    memcpy(&logit_softcap, (const float *) dst->op_params + 2, sizeof(float));
-
-    if (logit_softcap != 0) {
-        scale /= logit_softcap;
-    }
-
     const uint32_t n_head_kv   = neq2;
     const uint32_t n_head_log2 = 1u << (uint32_t) floorf(log2f((float) n_head_kv));
     const float m0 = powf(2.0f, -(max_bias       ) / n_head_log2);
@@ -8703,7 +8707,7 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx
     vk_subbuffer sinks_buf = sinks ? ggml_vk_tensor_subbuffer(ctx, sinks) : q_buf;
     vk_subbuffer mask_opt_buf = use_mask_opt ? ggml_vk_subbuffer(ctx, ctx->prealloc_y, 0) : q_buf;
 
-    uint32_t mask_n_head_log2 = ((sinks != nullptr) << 24) | ((mask != nullptr) << 16) | n_head_log2;
+    uint32_t mask_n_head_log2 = ((sinks != nullptr) << 24) | n_head_log2;
 
     if (use_mask_opt)
     {
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp
index 49a3c530cb..914f131c96 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn.comp
@@ -127,7 +127,7 @@ void main() {
             continue;
         }
         // Only load if the block is not all zeros
-        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0 && mask_opt_bits != MASK_OPT_ALL_ZERO) {
+        if (MASK_ENABLE && mask_opt_bits != MASK_OPT_ALL_ZERO) {
             bool nem1_bounds_check = !(p.gqa_ratio > 1) && (p.nem1 % Br) != 0;
 
             [[unroll]] for (uint32_t idx = 0; idx < Bc * Br; idx += gl_WorkGroupSize.x) {
@@ -181,7 +181,7 @@ void main() {
             }
         }
 
-        if (p.logit_softcap != 0.0f) {
+        if (LOGIT_SOFTCAP) {
             [[unroll]] for (uint32_t r = 0; r < Br; ++r) {
                 [[unroll]] for (uint32_t c = 0; c < cols_per_thread; ++c) {
                     Sf[r][c] = p.logit_softcap * tanh(Sf[r][c]);
@@ -189,7 +189,7 @@ void main() {
             }
         }
 
-        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0 && mask_opt_bits != MASK_OPT_ALL_ZERO) {
+        if (MASK_ENABLE && mask_opt_bits != MASK_OPT_ALL_ZERO) {
             [[unroll]] for (uint32_t c = 0; c < cols_per_thread; ++c) {
                 [[unroll]] for (uint32_t r = 0; r < Br; ++r) {
                     float mvf = masksh[c * cols_per_iter + col_tid][r];
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl
index 252451101a..74005cffb3 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl
@@ -10,7 +10,11 @@ layout (constant_id = 5) const uint32_t Clamp = 0;
 layout (constant_id = 6) const uint32_t D_split = 16;
 layout (constant_id = 7) const uint32_t SubGroupSize = 32;
 layout (constant_id = 8) const uint32_t K_LOAD_SHMEM = 0;
-layout (constant_id = 9) const bool     USE_MASK_OPT = false;
+layout (constant_id = 9) const uint32_t Flags = 0;
+
+const bool USE_MASK_OPT  = (Flags & 1) != 0;
+const bool MASK_ENABLE   = (Flags & 2) != 0;
+const bool LOGIT_SOFTCAP = (Flags & 4) != 0;
 
 // Round up head sizes to a multiple of 16, for coopmat1/coopmat2 paths
 const uint32_t HSK_pad = (HSK + 15) & ~15;
@@ -60,7 +64,6 @@ layout (push_constant) uniform parameter {
 } p;
 
 #define SINK_ENABLE_BIT (1<<24)
-#define MASK_ENABLE_BIT (1<<16)
 #define N_LOG2_MASK 0xFFFF
 
 layout (binding = 4) readonly buffer S {float data_s[];};
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp
index 89af3697e1..b317773823 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp
@@ -160,7 +160,7 @@ void main() {
             mask_cache[idx] = f16vec4(0);
         }
 
-        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) {
+        if (MASK_ENABLE) {
 
             if (USE_MASK_OPT && mask_opt_idx != j / 16) {
                 mask_opt_idx = j / 16;
@@ -303,7 +303,7 @@ void main() {
         coopMatStore(SfMat, sfsh, coord, sfshstride, gl_CooperativeMatrixLayoutRowMajor);
         barrier();
 
-        if (p.logit_softcap != 0.0f) {
+        if (LOGIT_SOFTCAP) {
             [[unroll]] for (uint32_t idx = 0; idx < Bc * Br / 4; idx += gl_WorkGroupSize.x) {
                 uint32_t c = (idx + tid) / (Br / 4);
                 uint32_t r = (idx + tid) % (Br / 4);
@@ -314,7 +314,7 @@ void main() {
             barrier();
         }
 
-        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) {
+        if (MASK_ENABLE) {
             [[unroll]] for (uint32_t idx = 0; idx < Bc * Br / 4; idx += gl_WorkGroupSize.x) {
                 uint32_t c = (idx + tid) / (Br / 4);
                 uint32_t r = (idx + tid) % (Br / 4);
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
index 47b110621b..b07c21f6e5 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
@@ -155,7 +155,7 @@ void main() {
     for (uint32_t j = start_j; j < end_j; ++j) {
 
         coopmat mv = coopmat(0);
-        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) {
+        if (MASK_ENABLE) {
 
             if (USE_MASK_OPT && mask_opt_idx != j / 16) {
                 mask_opt_idx = j / 16;
@@ -197,14 +197,14 @@ void main() {
         coopMatLoadTensorNV(K_T, data_k, k_offset, sliceTensorLayoutNV(tensorLayoutK, j * Bc, Bc, 0, HSK_pad), tensorViewTranspose DECODEFUNC);
         S = coopMatMulAdd(Qf16, K_T, S);
 
-        if (p.logit_softcap != 0.0f) {
+        if (LOGIT_SOFTCAP) {
             [[unroll]]
             for (int k = 0; k < S.length(); ++k) {
                 S[k] = ACC_TYPE(p.logit_softcap)*tanh(S[k]);
             }
         }
 
-        if ((p.mask_n_head_log2 & MASK_ENABLE_BIT) != 0) {
+        if (MASK_ENABLE) {
             S += slopeMat*coopmat(mv);
         }
 

From 1946e46f4c29da7b9294d702756969839e922bb8 Mon Sep 17 00:00:00 2001
From: Jeff Bolz 
Date: Fri, 6 Feb 2026 02:15:13 -0600
Subject: [PATCH 140/206] vulkan: For coopmat2 FA, use fp16 accumulators for
 the final result (#19376)

The cpu and cuda backends use fp16 for the VKQ accumulator type, this change
does the same for vulkan. This helps particularly with large head sizes which
are very register-limited.

I tried this for the coopmat1 path and it slowed down a bit. I didn't try for
scalar.

I applied the softmax bias that the cuda backend uses to avoid overflow,
although I was not able to reproduce the original bug without it.
---
 .../vulkan-shaders/flash_attn_base.glsl       |  4 ++++
 .../vulkan-shaders/flash_attn_cm2.comp        | 20 +++++++++----------
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl
index 74005cffb3..4142c1e6ea 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_base.glsl
@@ -240,3 +240,7 @@ void init_indices()
     // and breaking the alignment detection.
     m_stride = (p.gqa_ratio > 1) ? (p.gqa_ratio >> 16) : KV;
 }
+
+// Bias applied to softmax to stay in fp16 range.
+// Based on ggml-cuda issue https://github.com/ggml-org/llama.cpp/issues/18606
+const float FATTN_KQ_MAX_OFFSET = 3.0f*0.6931f;
diff --git a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
index b07c21f6e5..39f0c4d23b 100644
--- a/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
+++ b/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
@@ -117,7 +117,7 @@ void main() {
     Qf16 = coopmat(Q);
     Qf16 *= float16_t(p.scale);
 
-    coopmat O = coopmat(0);
+    coopmat O = coopmat(0);
 
     coopmat L, M;
 
@@ -223,6 +223,8 @@ void main() {
 
         coopMatReduceNV(rowmax, S, gl_CooperativeMatrixReduceRowNV, maxReduce);
 
+        rowmax += coopmat(FATTN_KQ_MAX_OFFSET);
+
         coopmat Mold = M;
 
         // M = max(rowmax, Mold)
@@ -265,11 +267,8 @@ void main() {
         // resize eM by using smear/reduce
         coopMatReduceNV(eMdiag, eM, gl_CooperativeMatrixReduceRowNV, smearReduce);
 
-        // multiply with fp16 accumulation, then add to O.
-        coopmat PV = coopmat(0);
-        PV = coopMatMulAdd(P_A, V, PV);
-
-        O = eMdiag * O + coopmat(PV);
+        O *= coopmat(eMdiag);
+        O = coopMatMulAdd(P_A, V, O);
     }
 
     // If there is split_k, then the split_k resolve shader does the final
@@ -311,7 +310,7 @@ void main() {
             if (sink > Mr[i]) {
                 ms = exp(Mr[i] - sink);
 
-                O[i] *= ms;
+                O[i] *= float16_t(ms);
             } else {
                 vs = exp(sink - Mr[i]);
             }
@@ -325,15 +324,16 @@ void main() {
         Ldiag[k] = (Ldiag[k] == 0.0) ? ACC_TYPE(0.0) : (ACC_TYPE(1.0) / Ldiag[k]);
     }
 
-    O = Ldiag*O;
+    coopmat O_D = coopmat(O);
+
+    O_D = coopmat(Ldiag)*O_D;
 
 #if defined(ACC_TYPE_MAX)
-    [[unroll]] for (uint i = 0; i < O.length(); ++i) { O[i] = clamp(O[i], -ACC_TYPE_MAX, ACC_TYPE_MAX); }
+    [[unroll]] for (uint i = 0; i < O_D.length(); ++i) { O_D[i] = clamp(O_D[i], D_TYPE(-ACC_TYPE_MAX), D_TYPE(ACC_TYPE_MAX)); }
 #endif
 
     uint32_t o_offset = gqa_iq1*p.ne1*HSV + iq3*p.ne2*p.ne1*HSV;
 
-    coopmat O_D = coopmat(O);
     if (p.gqa_ratio > 1) {
         coopMatPerElementNV(O_D, O_D, perElemOpGqaStore, o_offset, iq2, N);
     } else {

From 3688c4f504f8e336663157bcc6e0af78d617420c Mon Sep 17 00:00:00 2001
From: ymcki <84055651+ymcki@users.noreply.github.com>
Date: Fri, 6 Feb 2026 18:39:58 +0800
Subject: [PATCH 141/206] Kimi-Linear support (backend agnostic + MLA KV cache)
 (#18755)

* kimi linear model implementation

* kimi linear convert_hf_to_gguf

* kimi linear constants.py tensor_mapping.py

* Kimi Linear ggml.h

* kimi linear ggml-cpu

* Kimi Linear ggml-cuda

* Kimi Linear ggml.c

* kimi linear src/llama

* remove "const int64_t n_seq_tokens = q->ne[2];" to get rid of unused variable warning

* remove type mismatch warning

* read MoE params

* removed some hard coded code

* removed all hard code

* use DeepseekV2 tokenizer

* removed unnecessary internal methods called by the old set_vocab of KimiLinear

* rewrite get_vocab for KimiLinear. Removed all kda_scan code

* removed all traces of kda_scan

* reduce OP count by 1 due to removal of kda_scan

* Move KIMI_LINEAR to llm_arch_is_hybrid to enable KV cache

* set n_embd_head_k/v to ensure kv cache works

* don't quantize conv1d of Kimi Linear

* Kimi Linear backend agnostic

* removed LOG_INFO

* naive chunking form implemented

* fixed some comments

* add Kimi-K2 specific tokens to be recognized as EOG

* build_kda_autoregressive is implemented to replace build_kda_recurrent for faster inference. sync'd to b7682

* replaced Akk and Aqk with mul_mat and clamp

* no clamp version

* Moved Aqk computation out of the loop

* fixed typo and split wkv_b into wk_b and wv_b

* MLA KV cache support

* fix trailing spaces

* moved const llama_model & model; around to follow qwen3next format and see if it cna pass the -Wunused-private-field error

* fix trailing whitespace

* removed traling whitespaces in empty line + make sure indentation is multiple of 4

* try to make lint happy

* remove blank lines to make lint happy

* removed at least blank line containing white space

* fixed flake8 complaints locally

* return ggml_tensor * pair in kda_autoregressive and kda_chunking as in ngxson's Qwen3Next improvement

* removed Kimi-Linear specific change that causes failure at server-windows

* removed private: from kimi_linear to make build checks happy

* removed unnecessary ggml_cont before ggml_reshape

* created static function causal_conv1d to abtract similar code for q/k/v

* merged dt_bias to SSM_DT. Do -exp(log_A) in convert_hf_to_gguf.py.

* reverted to original

* fixed find_hparam calls. Fixed e_score_correction_bias to use bias instead of weight. Removed all ssm_conv bias terms.

* remove DT_B from constants.py. remove one comment line in llama-model.cpp

* new class llm_graph_input_mem_hybrid_k to get around the new MLA change. switch the concat order of ggml_concat calls in kimi-linear.cpp to accommodate MLA changes. Removed support for exp_probs_b.weight

* remove ssm_o_norm_b

* remove ssm_o_norm_b

* changed hparams.kda_head_dim to hparams.n_embd_head_kda. added TODO comment for class llama_graph_mem_hybrid_k

* removed all ggml_cont b4 ggml_reshape_4d

* Whitespace

* replaced all hparams.get with find_hparams

* added new names for n_experts, n_experts_used and score_func in TextModel and removed their code in KimiLinear in convert_hf_to_gguf.py. Removed unnecessary ggml_cont and GGML_ASSERT in kimi-linear.cpp

* use is_mla to switch between different mem_hybrid types

* fixed logical errors in convert_hf_to_gguf.py pointed out by CISC

* removed if else for required parameters kv_lora_rank and qk_rope_head_dim

* add back ggml_cont for Vcur

* minor changes

* removed extra line in llama-vocab.cpp. Added back the comment in llama-graph.cpp

* f16 gguf cannot run without context length

* made a mistake of adding back n_ctx parsing

---------

Co-authored-by: Piotr Wilkin (ilintar) 
---
 convert_hf_to_gguf.py          | 225 +++++++++-
 gguf-py/gguf/constants.py      |  65 +++
 gguf-py/gguf/gguf_writer.py    |   3 +
 gguf-py/gguf/tensor_mapping.py |  32 ++
 src/CMakeLists.txt             |   1 +
 src/llama-arch.cpp             |  70 +++
 src/llama-arch.h               |  12 +
 src/llama-context.cpp          |   2 +-
 src/llama-graph.cpp            |  55 +++
 src/llama-graph.h              |  29 ++
 src/llama-hparams.cpp          |  14 +
 src/llama-hparams.h            |   3 +
 src/llama-model.cpp            | 172 ++++++++
 src/llama-model.h              |  13 +
 src/llama-quant.cpp            |   4 +-
 src/llama-vocab.cpp            |  45 +-
 src/models/kimi-linear.cpp     | 772 +++++++++++++++++++++++++++++++++
 src/models/models.h            |  27 ++
 18 files changed, 1521 insertions(+), 23 deletions(-)
 create mode 100644 src/models/kimi-linear.cpp

diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py
index eb43520f98..c167de8a46 100755
--- a/convert_hf_to_gguf.py
+++ b/convert_hf_to_gguf.py
@@ -586,6 +586,10 @@ class ModelBase:
                             gguf.MODEL_TENSOR.A_ENC_EMBD_POS,
                             gguf.MODEL_TENSOR.ALTUP_CORRECT_COEF,
                             gguf.MODEL_TENSOR.ALTUP_PREDICT_COEF,
+                            # Kimi KDA conv weights should be F32
+                            gguf.MODEL_TENSOR.SSM_CONV1D_Q,
+                            gguf.MODEL_TENSOR.SSM_CONV1D_K,
+                            gguf.MODEL_TENSOR.SSM_CONV1D_V,
                         )
                     )
                     or new_name[-7:] not in (".weight", ".lora_a", ".lora_b")
@@ -903,10 +907,10 @@ class TextModel(ModelBase):
         if (f_norm_eps := self.find_hparam(["layer_norm_eps", "layer_norm_epsilon", "norm_epsilon"], optional=True)) is not None:
             self.gguf_writer.add_layer_norm_eps(f_norm_eps)
             logger.info(f"gguf: layer norm epsilon = {f_norm_eps}")
-        if (n_experts := self.hparams.get("num_local_experts")) is not None:
+        if (n_experts := self.find_hparam(["num_local_experts", "num_experts"], optional=True)) is not None:
             self.gguf_writer.add_expert_count(n_experts)
             logger.info(f"gguf: expert count = {n_experts}")
-        if (n_experts_used := self.hparams.get("num_experts_per_tok")) is not None:
+        if (n_experts_used := self.find_hparam(["num_experts_per_tok", "num_experts_per_token"], optional=True)) is not None:
             self.gguf_writer.add_expert_used_count(n_experts_used)
             logger.info(f"gguf: experts used count = {n_experts_used}")
         if (n_expert_groups := self.hparams.get("n_group")) is not None:
@@ -916,7 +920,7 @@ class TextModel(ModelBase):
             self.gguf_writer.add_expert_group_used_count(n_group_used)
             logger.info(f"gguf: expert groups used count = {n_group_used}")
 
-        if (score_func := self.find_hparam(["score_function", "scoring_func", "score_func"], optional=True)) is not None:
+        if (score_func := self.find_hparam(["score_function", "scoring_func", "score_func", "moe_router_activation_func"], optional=True)) is not None:
             if score_func == "sigmoid":
                 self.gguf_writer.add_expert_gating_func(gguf.ExpertGatingFuncType.SIGMOID)
             elif score_func == "softmax":
@@ -5013,6 +5017,221 @@ class CodeShellModel(TextModel):
         self.gguf_writer.add_rope_scaling_factor(1.0)
 
 
+@ModelBase.register("KimiLinearModel", "KimiLinearForCausalLM")
+class KimiLinearModel(TextModel):
+    """Kimi-Linear model with hybrid MLA+KDA architecture"""
+    model_arch = gguf.MODEL_ARCH.KIMI_LINEAR
+
+    _experts: list[dict[str, Tensor]] | None = None
+
+    def set_vocab(self):
+        try:
+            self._set_vocab_gpt2()
+            return
+        except Exception:
+            pass
+
+        from transformers import AutoTokenizer
+        tokenizer = AutoTokenizer.from_pretrained(self.dir_model, trust_remote_code=True)
+        tokpre = self.get_vocab_base_pre(tokenizer)
+
+        if tokpre == "kimi-k2":
+            # Build merges list using the approach similar to HunYuanMoE
+            merges = []
+            vocab = {}
+            mergeable_ranks = tokenizer.model._mergeable_ranks
+            for token, rank in mergeable_ranks.items():
+                vocab[QwenModel.token_bytes_to_string(token)] = rank
+                if len(token) == 1:
+                    continue
+                merged = QwenModel.bpe(mergeable_ranks, token, max_rank=rank)
+                if len(merged) == 2:
+                    merges.append(' '.join(map(QwenModel.token_bytes_to_string, merged)))
+            # Build token list
+            vocab_size = self.hparams["vocab_size"]
+            special_tokens = tokenizer.special_tokens
+            reverse_vocab = {id_ : encoded_tok for encoded_tok, id_ in {**vocab, **special_tokens}.items()}
+            tokens: list[str] = []
+            toktypes: list[int] = []
+
+            for i in range(vocab_size):
+                if i not in reverse_vocab:
+                    tokens.append(f"[PAD{i}]")
+                    toktypes.append(gguf.TokenType.UNUSED)
+                else:
+                    token = reverse_vocab[i]
+                    tokens.append(token)
+                    if i in special_tokens.values():
+                        toktypes.append(gguf.TokenType.CONTROL)
+                    else:
+                        toktypes.append(gguf.TokenType.NORMAL)
+
+            self.gguf_writer.add_tokenizer_model("gpt2")
+            self.gguf_writer.add_tokenizer_pre(tokpre)
+            self.gguf_writer.add_token_list(tokens)
+            self.gguf_writer.add_token_types(toktypes)
+            self.gguf_writer.add_token_merges(merges)
+
+            special_vocab = gguf.SpecialVocab(self.dir_model, load_merges=False)
+            special_vocab.add_to_gguf(self.gguf_writer)
+            # override eos id in config.json with tiktoken eos id
+            self.gguf_writer.add_eos_token_id(tokenizer.eos_id)
+        else:
+            raise NotImplementedError(f"Deepseek pre-tokenizer {tokpre!r} is not supported yet!")
+
+    def set_gguf_parameters(self):
+        # note: To enable MLA KV cache, attention needs to be converted into MQA (ie: GQA with 1 group)
+        self.hparams["num_key_value_heads"] = 1
+
+        super().set_gguf_parameters()
+        self.gguf_writer.add_vocab_size(self.hparams["vocab_size"])
+
+        # KDA & MLA params
+        # Get ssm_d_conv from linear_attn_config.short_conv_kernel_size or ssm_d_conv
+        linear_attn_config = self.hparams["linear_attn_config"]
+        # n_head == 0 for KDA layers, n_head > 0 for MLA layers
+        # full_attention_layers list will be used to distingush layer type
+        _num_kv_heads = list()
+        _full_attn_layers = linear_attn_config["full_attn_layers"]
+        for il in range(self.hparams["num_hidden_layers"]):
+            if il + 1 in _full_attn_layers:
+                _num_kv_heads.append(self.hparams["num_key_value_heads"])
+            else:
+                _num_kv_heads.append(0)
+        assert len(_num_kv_heads) == self.hparams["num_hidden_layers"]
+        self.gguf_writer.add_head_count_kv(_num_kv_heads)
+
+        if (ssm_d_conv := linear_attn_config.get("short_conv_kernel_size")) is not None:
+            self.gguf_writer.add_ssm_conv_kernel(ssm_d_conv)
+        if (kda_head_dim := linear_attn_config.get("head_dim")) is not None:
+            self.gguf_writer.add_kda_head_dim(kda_head_dim)
+
+        # MLA params - use add_* methods that handle arch substitution
+        # Support both HuggingFace naming (q_lora_rank, kv_lora_rank) and internal naming (n_lora_q, n_lora_kv)
+        if (q_lora_rank := self.find_hparam(["q_lora_rank", "n_lora_q"], optional=True)) is not None:
+            self.gguf_writer.add_q_lora_rank(q_lora_rank)
+        # To enable MLA KV cache, MLA needs to be converted into MQA with larger heads, then decompresses to MHA
+        kv_lora_rank = self.find_hparam(["kv_lora_rank", "n_lora_kv"], optional=False)
+        self.gguf_writer.add_kv_lora_rank(kv_lora_rank)
+
+        # MLA head dimensions
+        # Support HuggingFace naming: qk_nope_head_dim, qk_rope_head_dim, v_head_dim
+        qk_nope_head_dim = self.hparams.get("qk_nope_head_dim")
+        # Rotation - use qk_rope_head_dim for Kimi
+        qk_rope_head_dim = self.find_hparam(["qk_rope_head_dim", "n_rot"], optional=False)
+        self.gguf_writer.add_rope_dimension_count(qk_rope_head_dim)
+        self.gguf_writer.add_key_length(kv_lora_rank + qk_rope_head_dim)
+        v_head_dim = self.hparams.get("v_head_dim")
+
+        # Calculate n_embd_head_k_mla = qk_nope_head_dim + qk_rope_head_dim
+        if (n_embd_head_k_mla := self.find_hparam(["n_embd_head_k_mla"], optional=True)) is not None:
+            self.gguf_writer.add_key_length_mla(n_embd_head_k_mla)
+        elif qk_nope_head_dim is not None:
+            n_embd_head_k_mla = qk_nope_head_dim + qk_rope_head_dim
+            self.gguf_writer.add_key_length_mla(n_embd_head_k_mla)
+
+        # n_embd_head_v_mla = v_head_dim
+        if (n_embd_head_v_mla := self.hparams.get("n_embd_head_v_mla")) is not None:
+            self.gguf_writer.add_value_length_mla(n_embd_head_v_mla)
+        elif v_head_dim is not None:
+            self.gguf_writer.add_value_length_mla(v_head_dim)
+
+        # moe_intermediate_size (1024 for Kimi)
+        self.gguf_writer.add_expert_feed_forward_length(self.hparams["moe_intermediate_size"])
+        # num_shared_experts (1 for Kimi)
+        self.gguf_writer.add_expert_shared_count(self.hparams["num_shared_experts"])
+        # first_k_dense_replace (1 for Kimi - first layer uses dense MLP)
+        self.gguf_writer.add_leading_dense_block_count(self.hparams["first_k_dense_replace"])
+        # Routed scaling factor (expert_weights_scale = 2.446 for Kimi)
+        self.gguf_writer.add_expert_weights_scale(self.hparams["routed_scaling_factor"])
+
+    def prepare_tensors(self):
+        super().prepare_tensors()
+        if self._experts is not None:
+            experts = [k for d in self._experts for k in d.keys()]
+            if len(experts) > 0:
+                raise ValueError(f"Unprocessed experts: {experts}")
+
+    def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]:
+        logger.info(f"Processing {name}: shape before = {tuple(data_torch.shape)}")
+
+        # Handle KDA conv1d weights
+        # HuggingFace/vLLM stores as [d_inner, d_conv] (2D), memory layout: conv_step changes fastest
+        # llama.cpp expects ggml ne = [d_conv, 1, d_inner, 1], memory layout: ne[0]=d_conv changes fastest
+        # GGUF reverses numpy shape when writing, so numpy (1, d_inner, 1, d_conv) -> ggml ne = [d_conv, 1, d_inner, 1]
+        # Memory layouts match: both have conv_step (d_conv) changing fastest
+        if name.endswith((".q_conv1d.weight", ".k_conv1d.weight", ".v_conv1d.weight")):
+            # HF shape: [d_inner, d_conv] e.g. [4096, 4]
+            # Target numpy shape: (1, d_inner, 1, d_conv) -> ggml ne = [d_conv, 1, d_inner, 1]
+            if data_torch.ndim == 2:
+                d_inner, d_conv = data_torch.shape
+                # Reshape to (1, d_inner, 1, d_conv) - memory layout preserved (d_conv fastest)
+                data_torch = data_torch.reshape(1, d_inner, 1, d_conv)
+                logger.info(f"Reshaped conv1d weight {name}: [d_inner={d_inner}, d_conv={d_conv}] -> numpy {tuple(data_torch.shape)} -> ggml ne=[{d_conv}, 1, {d_inner}, 1]")
+            elif data_torch.ndim == 3:
+                # Already 3D [d_inner, 1, d_conv] from unsqueeze
+                d_inner, _, d_conv = data_torch.shape
+                data_torch = data_torch.reshape(1, d_inner, 1, d_conv)
+                logger.info(f"Reshaped conv1d weight {name}: [d_inner={d_inner}, 1, d_conv={d_conv}] -> numpy {tuple(data_torch.shape)} -> ggml ne=[{d_conv}, 1, {d_inner}, 1]")
+
+        # Kimi specific bias
+        if name.endswith("e_score_correction_bias"):
+            name = name.replace("e_score_correction_bias", "e_score_correction.bias")
+
+        # Handle A_log: iHF stores as [1, 1, num_heads, 1]
+        # llama.cpp expects ggml ne = [1, num_heads, 1, 1]
+        # GGUF reverses numpy shape: numpy (1, 1, num_heads, 1) -> ggml ne = [1, num_heads, 1, 1]
+        if name.endswith(".A_log"):
+            data_torch = -torch.exp(data_torch)
+        if name.endswith(".dt_bias"):
+            name = name.rpartition(".dt_bias")[0] + ".dt_proj.bias"
+            logger.info("Changed dt_bias to dt_proj.bias")
+
+        # process the experts separately
+        if name.find("block_sparse_moe.experts") != -1:
+            n_experts = self.find_hparam(["num_local_experts", "num_experts"], optional=False)
+            assert bid is not None
+
+            if self._experts is None:
+                self._experts = [{} for _ in range(self.block_count)]
+
+            self._experts[bid][name] = data_torch
+
+            if len(self._experts[bid]) >= n_experts * 3:
+                # merge the experts into a single 3d tensor
+                # w1: gate, w2: down, w3: up
+                for wid, tname in [("w1", gguf.MODEL_TENSOR.FFN_GATE_EXP),
+                                   ("w2", gguf.MODEL_TENSOR.FFN_DOWN_EXP),
+                                   ("w3", gguf.MODEL_TENSOR.FFN_UP_EXP)]:
+                    datas: list[Tensor] = []
+                    for xid in range(n_experts):
+                        ename = f"model.layers.{bid}.block_sparse_moe.experts.{xid}.{wid}.weight"
+                        datas.append(self._experts[bid][ename])
+                        del self._experts[bid][ename]
+                    data_torch = torch.stack(datas, dim=0)
+                    new_name = self.format_tensor_name(tname, bid)
+                    yield from super().modify_tensors(data_torch, new_name, bid)
+            return
+
+        # note: MLA with the absorption optimization, needs these two split and k_b_proj transposed
+        if name.endswith("kv_b_proj.weight"):
+            name_kb = name.replace("kv_b_proj", "k_b_proj")
+            name_vb = name.replace("kv_b_proj", "v_b_proj")
+            n_head_kv = self.hparams["num_key_value_heads"]
+            v_head_dim = self.find_hparam(["n_embd_head_v_mla", "v_head_dim"], optional=False)
+            qk_nope_head_dim = self.hparams["qk_nope_head_dim"]
+            logger.info("Split kv_b n_head_kv %d\n" % n_head_kv)
+            assert data_torch.shape[0] == n_head_kv * (v_head_dim + qk_nope_head_dim)
+            kv_b = data_torch.view(n_head_kv, v_head_dim + qk_nope_head_dim, data_torch.shape[-1])
+            k_b, v_b = torch.split(kv_b, [qk_nope_head_dim, v_head_dim], dim=1)
+            k_b = k_b.transpose(1, 2)
+            yield from super().modify_tensors(k_b, name_kb, bid)
+            yield from super().modify_tensors(v_b, name_vb, bid)
+            return
+
+        yield from super().modify_tensors(data_torch, name, bid)
+
+
 @ModelBase.register("InternLM2ForCausalLM")
 class InternLM2Model(TextModel):
     model_arch = gguf.MODEL_ARCH.INTERNLM2
diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py
index 6f56d36c59..3ddbc73d1c 100644
--- a/gguf-py/gguf/constants.py
+++ b/gguf-py/gguf/constants.py
@@ -207,6 +207,9 @@ class Keys:
         GROUP_COUNT    = "{arch}.ssm.group_count"
         DT_B_C_RMS     = "{arch}.ssm.dt_b_c_rms"
 
+    class KDA:
+        HEAD_DIM = "{arch}.kda.head_dim"
+
     class WKV:
         HEAD_SIZE = "{arch}.wkv.head_size"
 
@@ -461,6 +464,7 @@ class MODEL_ARCH(IntEnum):
     MIMO2            = auto()
     LLAMA_EMBED      = auto()
     MAINCODER        = auto()
+    KIMI_LINEAR      = auto()
 
 
 class VISION_PROJECTOR_TYPE(IntEnum):
@@ -551,6 +555,14 @@ class MODEL_TENSOR(IntEnum):
     SSM_NORM             = auto()
     SSM_OUT              = auto()
     SSM_BETA_ALPHA       = auto() # qwen3next
+    SSM_CONV1D_Q         = auto() # Kimi Linear
+    SSM_CONV1D_K         = auto() # Kimi Linear
+    SSM_CONV1D_V         = auto() # Kimi Linear
+    SSM_F_A              = auto() # Kimi Linear
+    SSM_F_B              = auto() # Kimi Linear
+    SSM_BETA             = auto() # Kimi Linear
+    SSM_G_A              = auto() # Kimi Linear
+    SSM_G_B              = auto() # Kimi Linear
     TIME_MIX_W0          = auto()
     TIME_MIX_W1          = auto()
     TIME_MIX_W2          = auto()
@@ -882,6 +894,7 @@ MODEL_ARCH_NAMES: dict[MODEL_ARCH, str] = {
     MODEL_ARCH.MIMO2:            "mimo2",
     MODEL_ARCH.LLAMA_EMBED:      "llama-embed",
     MODEL_ARCH.MAINCODER:        "maincoder",
+    MODEL_ARCH.KIMI_LINEAR:      "kimi-linear",
 }
 
 VISION_PROJECTOR_TYPE_NAMES: dict[VISION_PROJECTOR_TYPE, str] = {
@@ -969,6 +982,14 @@ TENSOR_NAMES: dict[MODEL_TENSOR, str] = {
     MODEL_TENSOR.SSM_NORM:                  "blk.{bid}.ssm_norm",
     MODEL_TENSOR.SSM_OUT:                   "blk.{bid}.ssm_out",
     MODEL_TENSOR.SSM_BETA_ALPHA:            "blk.{bid}.ssm_ba",
+    MODEL_TENSOR.SSM_CONV1D_Q:              "blk.{bid}.ssm_conv1d_q",         # Kimi Linear
+    MODEL_TENSOR.SSM_CONV1D_K:              "blk.{bid}.ssm_conv1d_k",         # Kimi Linear
+    MODEL_TENSOR.SSM_CONV1D_V:              "blk.{bid}.ssm_conv1d_v",         # Kimi Linear
+    MODEL_TENSOR.SSM_F_A:                   "blk.{bid}.ssm_f_a",              # Kimi Linear
+    MODEL_TENSOR.SSM_F_B:                   "blk.{bid}.ssm_f_b",              # Kimi Linear
+    MODEL_TENSOR.SSM_BETA:                  "blk.{bid}.ssm_beta",             # Kimi Linear
+    MODEL_TENSOR.SSM_G_A:                   "blk.{bid}.ssm_g_a",              # Kimi Linear
+    MODEL_TENSOR.SSM_G_B:                   "blk.{bid}.ssm_g_b",              # Kimi Linear
     MODEL_TENSOR.TIME_MIX_W0:               "blk.{bid}.time_mix_w0",
     MODEL_TENSOR.TIME_MIX_W1:               "blk.{bid}.time_mix_w1",
     MODEL_TENSOR.TIME_MIX_W2:               "blk.{bid}.time_mix_w2",
@@ -3379,6 +3400,47 @@ MODEL_TENSORS: dict[MODEL_ARCH, list[MODEL_TENSOR]] = {
         MODEL_TENSOR.FFN_DOWN,
         MODEL_TENSOR.FFN_UP,
     ],
+    MODEL_ARCH.KIMI_LINEAR: [
+        MODEL_TENSOR.TOKEN_EMBD,
+        MODEL_TENSOR.OUTPUT_NORM,
+        MODEL_TENSOR.OUTPUT,
+        MODEL_TENSOR.ATTN_NORM,
+        MODEL_TENSOR.ATTN_Q,
+        MODEL_TENSOR.ATTN_K,
+        MODEL_TENSOR.ATTN_V,
+        MODEL_TENSOR.ATTN_OUT,
+        MODEL_TENSOR.ATTN_Q_A,
+        MODEL_TENSOR.ATTN_Q_B,
+        MODEL_TENSOR.ATTN_KV_A_MQA,
+        MODEL_TENSOR.ATTN_KV_B,
+        MODEL_TENSOR.ATTN_K_B,
+        MODEL_TENSOR.ATTN_V_B,
+        MODEL_TENSOR.ATTN_Q_A_NORM,
+        MODEL_TENSOR.ATTN_KV_A_NORM,
+        MODEL_TENSOR.FFN_NORM,
+        MODEL_TENSOR.FFN_GATE,
+        MODEL_TENSOR.FFN_DOWN,
+        MODEL_TENSOR.FFN_UP,
+        MODEL_TENSOR.FFN_GATE_INP,
+        MODEL_TENSOR.FFN_GATE_EXP,
+        MODEL_TENSOR.FFN_DOWN_EXP,
+        MODEL_TENSOR.FFN_UP_EXP,
+        MODEL_TENSOR.SSM_CONV1D_Q,
+        MODEL_TENSOR.SSM_CONV1D_K,
+        MODEL_TENSOR.SSM_CONV1D_V,
+        MODEL_TENSOR.SSM_F_A,
+        MODEL_TENSOR.SSM_F_B,
+        MODEL_TENSOR.SSM_BETA,
+        MODEL_TENSOR.SSM_A,
+        MODEL_TENSOR.SSM_G_A,
+        MODEL_TENSOR.SSM_G_B,
+        MODEL_TENSOR.SSM_DT,
+        MODEL_TENSOR.SSM_NORM,
+        MODEL_TENSOR.FFN_EXP_PROBS_B,
+        MODEL_TENSOR.FFN_GATE_SHEXP,
+        MODEL_TENSOR.FFN_DOWN_SHEXP,
+        MODEL_TENSOR.FFN_UP_SHEXP,
+    ],
     # TODO
 }
 
@@ -3706,6 +3768,9 @@ KEY_SSM_TIME_STEP_RANK = Keys.SSM.TIME_STEP_RANK
 KEY_SSM_GROUP_COUNT    = Keys.SSM.GROUP_COUNT
 KEY_SSM_DT_B_C_RMS     = Keys.SSM.DT_B_C_RMS
 
+# KDA
+KEY_KDA_HEAD_DIM       = Keys.KDA.HEAD_DIM
+
 # tokenization
 KEY_TOKENIZER_MODEL      = Keys.Tokenizer.MODEL
 KEY_TOKENIZER_PRE        = Keys.Tokenizer.PRE
diff --git a/gguf-py/gguf/gguf_writer.py b/gguf-py/gguf/gguf_writer.py
index 0b9c650161..f720aa2d54 100644
--- a/gguf-py/gguf/gguf_writer.py
+++ b/gguf-py/gguf/gguf_writer.py
@@ -980,6 +980,9 @@ class GGUFWriter:
     def add_ssm_dt_b_c_rms(self, value: bool) -> None:
         self.add_bool(Keys.SSM.DT_B_C_RMS.format(arch=self.arch), value)
 
+    def add_kda_head_dim(self, value: int) -> None:
+        self.add_uint32(Keys.KDA.HEAD_DIM.format(arch=self.arch), value)
+
     def add_tokenizer_model(self, model: str) -> None:
         self.add_string(Keys.Tokenizer.MODEL, model)
 
diff --git a/gguf-py/gguf/tensor_mapping.py b/gguf-py/gguf/tensor_mapping.py
index 84aa868809..e16c06c2a3 100644
--- a/gguf-py/gguf/tensor_mapping.py
+++ b/gguf-py/gguf/tensor_mapping.py
@@ -438,6 +438,7 @@ class TensorNameMap:
             "model.layers.{bid}.block_sparse_moe.e_score_correction",       # minimax-m2
             "backbone.layers.{bid}.mixer.gate.e_score_correction",          # nemotron-h-moe
             "model.layers.{bid}.mlp.e_score_correction",                    # exaone-moe
+            "model.layers.{bid}.block_sparse_moe.gate.e_score_correction",  # kimi
         ),
 
         # Feed-forward up
@@ -502,6 +503,7 @@ class TensorNameMap:
             "model.layers.{bid}.mlp.shared_mlp.up_proj",             # hunyuan
             "layers.{bid}.shared_experts.w3",                        # mistral-large
             "backbone.layers.{bid}.mixer.shared_experts.up_proj",    # nemotron-h-moe
+            "model.layers.{bid}.block_sparse_moe.shared_experts.up_proj", # kimi
         ),
 
         MODEL_TENSOR.FFN_UP_CHEXP: (
@@ -549,6 +551,7 @@ class TensorNameMap:
             "model.layers.{bid}.feed_forward.shared_expert.gate_proj", # llama4
             "model.layers.{bid}.mlp.shared_mlp.gate_proj",             # hunyuan
             "layers.{bid}.shared_experts.w1",                          # mistral-large
+            "model.layers.{bid}.block_sparse_moe.shared_experts.gate_proj", # kimi
         ),
 
         MODEL_TENSOR.FFN_GATE_CHEXP: (
@@ -613,6 +616,7 @@ class TensorNameMap:
             "model.layers.{bid}.mlp.shared_mlp.down_proj",             # hunyuan
             "layers.{bid}.shared_experts.w2",                          # mistral-large
             "backbone.layers.{bid}.mixer.shared_experts.down_proj",    # nemotron-h-moe
+            "model.layers.{bid}.block_sparse_moe.shared_experts.down_proj", # kimi
         ),
 
         MODEL_TENSOR.FFN_DOWN_CHEXP: (
@@ -759,6 +763,7 @@ class TensorNameMap:
             "model.layers.layers.{bid}.mixer.dt_proj",  # plamo2
             "model.layers.{bid}.linear_attn.dt_proj",   # qwen3next
             "backbone.layers.{bid}.mixer.dt",           # nemotron-h-moe
+            "model.layers.{bid}.self_attn.dt_proj",     # kimi
         ),
 
         MODEL_TENSOR.SSM_DT_NORM: (
@@ -772,6 +777,7 @@ class TensorNameMap:
             "model.layers.{bid}.mamba.A_log",         # jamba falcon-h1 granite-hybrid
             "model.layers.layers.{bid}.mixer.A_log",  # plamo2
             "model.layers.{bid}.linear_attn.A_log",   # qwen3next
+            "model.layers.{bid}.self_attn.A_log",     # kimi
         ),
 
         MODEL_TENSOR.SSM_B_NORM: (
@@ -797,6 +803,7 @@ class TensorNameMap:
             "model.layers.{bid}.mamba.norm",        # falcon-h1 granite-hybrid
             "model.layers.{bid}.linear_attn.norm",  # qwen3next
             "backbone.layers.{bid}.mixer.norm",     # mamba2
+            "model.layers.{bid}.self_attn.o_norm",  # kimi
         ),
 
         MODEL_TENSOR.SSM_OUT: (
@@ -811,6 +818,31 @@ class TensorNameMap:
             "model.layers.{bid}.linear_attn.in_proj_ba",  # qwen3next
         ),
 
+        # Kimi Linear KDA (using SSM_ prefix for consistency)
+        MODEL_TENSOR.SSM_CONV1D_Q: (
+            "model.layers.{bid}.self_attn.q_conv1d",
+        ),
+        MODEL_TENSOR.SSM_CONV1D_K: (
+            "model.layers.{bid}.self_attn.k_conv1d",
+        ),
+        MODEL_TENSOR.SSM_CONV1D_V: (
+            "model.layers.{bid}.self_attn.v_conv1d",
+        ),
+        MODEL_TENSOR.SSM_F_A: (
+            "model.layers.{bid}.self_attn.f_a_proj",
+        ),
+        MODEL_TENSOR.SSM_F_B: (
+            "model.layers.{bid}.self_attn.f_b_proj",
+        ),
+        MODEL_TENSOR.SSM_BETA: (
+            "model.layers.{bid}.self_attn.b_proj",
+        ),
+        MODEL_TENSOR.SSM_G_A: (
+            "model.layers.{bid}.self_attn.g_a_proj",
+        ),
+        MODEL_TENSOR.SSM_G_B: (
+            "model.layers.{bid}.self_attn.g_b_proj",
+        ),
         MODEL_TENSOR.TIME_MIX_W0: (
             "model.layers.{bid}.attention.w0",            # rwkv7
         ),
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index bedfa1bc3d..5238a5e934 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -84,6 +84,7 @@ add_library(llama
             models/internlm2.cpp
             models/jais.cpp
             models/jamba.cpp
+            models/kimi-linear.cpp
             models/lfm2.cpp
             models/llada-moe.cpp
             models/llada.cpp
diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp
index a54bc1956a..a8bf1c9b80 100644
--- a/src/llama-arch.cpp
+++ b/src/llama-arch.cpp
@@ -120,6 +120,7 @@ static const std::map LLM_ARCH_NAMES = {
     { LLM_ARCH_MIMO2,            "mimo2"           },
     { LLM_ARCH_LLAMA_EMBED,      "llama-embed"      },
     { LLM_ARCH_MAINCODER,        "maincoder"        },
+    { LLM_ARCH_KIMI_LINEAR,      "kimi-linear"      },
     { LLM_ARCH_UNKNOWN,          "(unknown)"        },
 };
 
@@ -246,6 +247,8 @@ static const std::map LLM_KV_NAMES = {
     { LLM_KV_SSM_GROUP_COUNT,    "%s.ssm.group_count"    },
     { LLM_KV_SSM_DT_B_C_RMS,     "%s.ssm.dt_b_c_rms"     },
 
+    { LLM_KV_KDA_HEAD_DIM, "%s.kda.head_dim" },
+
     { LLM_KV_WKV_HEAD_SIZE, "%s.wkv.head_size" },
 
     { LLM_KV_POSNET_EMBEDDING_LENGTH, "%s.posnet.embedding_length" },
@@ -371,6 +374,15 @@ static const std::map LLM_TENSOR_NAMES = {
     { LLM_TENSOR_SSM_DT_NORM,                            "blk.%d.ssm_dt_norm" },
     { LLM_TENSOR_SSM_B_NORM,                             "blk.%d.ssm_b_norm" },
     { LLM_TENSOR_SSM_C_NORM,                             "blk.%d.ssm_c_norm" },
+    { LLM_TENSOR_SSM_CONV1D_Q,                           "blk.%d.ssm_conv1d_q" },
+    { LLM_TENSOR_SSM_CONV1D_K,                           "blk.%d.ssm_conv1d_k" },
+    { LLM_TENSOR_SSM_CONV1D_V,                           "blk.%d.ssm_conv1d_v" },
+    { LLM_TENSOR_SSM_F_A,                                "blk.%d.ssm_f_a" },
+    { LLM_TENSOR_SSM_F_B,                                "blk.%d.ssm_f_b" },
+    { LLM_TENSOR_SSM_BETA,                               "blk.%d.ssm_beta" },
+    { LLM_TENSOR_SSM_G_A,                                "blk.%d.ssm_g_a" },
+    { LLM_TENSOR_SSM_G_B,                                "blk.%d.ssm_g_b" },
+    { LLM_TENSOR_SSM_NORM,                               "blk.%d.ssm_norm" },
     { LLM_TENSOR_ATTN_Q_A_NORM,                          "blk.%d.attn_q_a_norm" },
     { LLM_TENSOR_ATTN_KV_A_NORM,                         "blk.%d.attn_kv_a_norm" },
     { LLM_TENSOR_ATTN_Q_A,                               "blk.%d.attn_q_a" },
@@ -2289,6 +2301,54 @@ static std::set llm_get_tensor_names(llm_arch arch) {
                 LLM_TENSOR_FFN_DOWN,
                 LLM_TENSOR_FFN_UP,
             };
+        case LLM_ARCH_KIMI_LINEAR:
+            return {
+                LLM_TENSOR_TOKEN_EMBD,
+                LLM_TENSOR_OUTPUT_NORM,
+                LLM_TENSOR_OUTPUT,
+                LLM_TENSOR_ROPE_FREQS,
+                LLM_TENSOR_ATTN_NORM,
+                LLM_TENSOR_ATTN_Q,
+                LLM_TENSOR_ATTN_K,
+                LLM_TENSOR_ATTN_V,
+                LLM_TENSOR_ATTN_OUT,
+                LLM_TENSOR_FFN_NORM,
+                // Dense FFN (layer 0 only)
+                LLM_TENSOR_FFN_GATE,
+                LLM_TENSOR_FFN_DOWN,
+                LLM_TENSOR_FFN_UP,
+                // MoE FFN (layers 1+)
+                LLM_TENSOR_FFN_GATE_INP,
+                LLM_TENSOR_FFN_GATE_EXPS,
+                LLM_TENSOR_FFN_DOWN_EXPS,
+                LLM_TENSOR_FFN_UP_EXPS,
+                LLM_TENSOR_FFN_EXP_PROBS_B,
+                // Shared experts
+                LLM_TENSOR_FFN_GATE_SHEXP,
+                LLM_TENSOR_FFN_DOWN_SHEXP,
+                LLM_TENSOR_FFN_UP_SHEXP,
+                // KDA (using SSM_ enum prefix, keeping GGUF names for backward compat)
+                LLM_TENSOR_SSM_CONV1D_Q,
+                LLM_TENSOR_SSM_CONV1D_K,
+                LLM_TENSOR_SSM_CONV1D_V,
+                LLM_TENSOR_SSM_F_A,
+                LLM_TENSOR_SSM_F_B,
+                LLM_TENSOR_SSM_BETA,
+                LLM_TENSOR_SSM_A,
+                LLM_TENSOR_SSM_G_A,
+                LLM_TENSOR_SSM_G_B,
+                LLM_TENSOR_SSM_DT,
+                LLM_TENSOR_SSM_NORM,
+                // MLA
+                LLM_TENSOR_ATTN_Q_A,
+                LLM_TENSOR_ATTN_Q_B,
+                LLM_TENSOR_ATTN_Q_A_NORM,
+                LLM_TENSOR_ATTN_KV_A_MQA,
+                LLM_TENSOR_ATTN_KV_B,
+                LLM_TENSOR_ATTN_K_B,
+                LLM_TENSOR_ATTN_V_B,
+                LLM_TENSOR_ATTN_KV_A_NORM,
+            };
         default:
             GGML_ABORT("unknown architecture for tensor mapping");
     }
@@ -2392,6 +2452,15 @@ static const std::map LLM_TENSOR_INFOS = {
     {LLM_TENSOR_SSM_C_NORM,                 {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}},
     {LLM_TENSOR_SSM_D,                      {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}},
     {LLM_TENSOR_SSM_NORM,                   {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}},
+    // Kimi KDA - Conv tensors are 4D [d_conv, 1, d_inner, 1], reshaped to 2D at runtime
+    {LLM_TENSOR_SSM_CONV1D_Q,               {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}},
+    {LLM_TENSOR_SSM_CONV1D_K,               {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}},
+    {LLM_TENSOR_SSM_CONV1D_V,               {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}},
+    {LLM_TENSOR_SSM_F_A,                    {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}},
+    {LLM_TENSOR_SSM_F_B,                    {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}},
+    {LLM_TENSOR_SSM_BETA,                   {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}},
+    {LLM_TENSOR_SSM_G_A,                    {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}},
+    {LLM_TENSOR_SSM_G_B,                    {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}},
     {LLM_TENSOR_TIME_MIX_LERP_X,            {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}},
     {LLM_TENSOR_TIME_MIX_LN,                {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}},
     {LLM_TENSOR_CHANNEL_MIX_LERP_K,         {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL}},
@@ -2573,6 +2642,7 @@ bool llm_arch_is_hybrid(const llm_arch & arch) {
         case LLM_ARCH_NEMOTRON_H:
         case LLM_ARCH_NEMOTRON_H_MOE:
         case LLM_ARCH_QWEN3NEXT:
+        case LLM_ARCH_KIMI_LINEAR:
             return true;
         default:
             return false;
diff --git a/src/llama-arch.h b/src/llama-arch.h
index 270d28b16a..f092f72834 100644
--- a/src/llama-arch.h
+++ b/src/llama-arch.h
@@ -124,6 +124,7 @@ enum llm_arch {
     LLM_ARCH_MIMO2,
     LLM_ARCH_LLAMA_EMBED,
     LLM_ARCH_MAINCODER,
+    LLM_ARCH_KIMI_LINEAR,
     LLM_ARCH_UNKNOWN,
 };
 
@@ -250,6 +251,8 @@ enum llm_kv {
     LLM_KV_SSM_GROUP_COUNT,
     LLM_KV_SSM_DT_B_C_RMS,
 
+    LLM_KV_KDA_HEAD_DIM,
+
     LLM_KV_WKV_HEAD_SIZE,
 
     LLM_KV_TOKENIZER_MODEL,
@@ -398,6 +401,15 @@ enum llm_tensor {
     LLM_TENSOR_SSM_NORM,
     LLM_TENSOR_SSM_OUT,
     LLM_TENSOR_SSM_BETA_ALPHA,      // qwen3next
+    // Kimi Linear KDA (using SSM_ prefix for consistency)
+    LLM_TENSOR_SSM_CONV1D_Q,        // kimi: Q conv1d weight
+    LLM_TENSOR_SSM_CONV1D_K,        // kimi: K conv1d weight
+    LLM_TENSOR_SSM_CONV1D_V,        // kimi: V conv1d weight
+    LLM_TENSOR_SSM_F_A,             // kimi: forget gate projection A
+    LLM_TENSOR_SSM_F_B,             // kimi: forget gate projection B
+    LLM_TENSOR_SSM_BETA,            // kimi: beta mixing coefficient
+    LLM_TENSOR_SSM_G_A,             // kimi: output gate projection A
+    LLM_TENSOR_SSM_G_B,             // kimi: output gate projection B
     LLM_TENSOR_TIME_MIX_W0,
     LLM_TENSOR_TIME_MIX_W1,
     LLM_TENSOR_TIME_MIX_W2,
diff --git a/src/llama-context.cpp b/src/llama-context.cpp
index 95b207e9e1..a6df893a31 100644
--- a/src/llama-context.cpp
+++ b/src/llama-context.cpp
@@ -2013,7 +2013,7 @@ void llama_context::output_reorder() {
 //
 
 uint32_t llama_context::graph_max_nodes(uint32_t n_tokens) const {
-    if (model.arch == LLM_ARCH_QWEN3NEXT) {
+    if (model.arch == LLM_ARCH_QWEN3NEXT || model.arch == LLM_ARCH_KIMI_LINEAR) {
         return std::max(n_tokens * 40, 32u * model.n_tensors());
     }
     uint32_t res = std::max(1024u, 8u*model.n_tensors());
diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp
index 54f4ed2481..165cbc0a7d 100644
--- a/src/llama-graph.cpp
+++ b/src/llama-graph.cpp
@@ -533,6 +533,50 @@ bool llm_graph_input_mem_hybrid::can_reuse(const llm_graph_params & params) {
     return res;
 }
 
+// TODO: Hybrid input classes are a bit redundant.
+// Instead of creating a hybrid input, the graph can simply create 2 separate inputs.
+// Refactoring is required in the future.
+void llm_graph_input_mem_hybrid_k::set_input(const llama_ubatch * ubatch) {
+    mctx->get_attn()->set_input_k_idxs(inp_attn->self_k_idxs, ubatch);
+
+    mctx->get_attn()->set_input_kq_mask(inp_attn->self_kq_mask, ubatch, cparams.causal_attn);
+
+    const int64_t n_rs = mctx->get_recr()->get_n_rs();
+
+    if (inp_rs->s_copy) {
+        GGML_ASSERT(ggml_backend_buffer_is_host(inp_rs->s_copy->buffer));
+        int32_t * data = (int32_t *) inp_rs->s_copy->data;
+
+        // assuming copy destinations ALWAYS happen ONLY on the cells between head and head+n
+        for (uint32_t i = 0; i < n_rs; ++i) {
+            data[i] = mctx->get_recr()->s_copy(i);
+        }
+    }
+}
+
+bool llm_graph_input_mem_hybrid_k::can_reuse(const llm_graph_params & params) {
+    const auto * mctx = static_cast(params.mctx);
+
+    this->mctx = mctx;
+
+    bool res = true;
+
+    res &= inp_attn->self_k_idxs->ne[0] == params.ubatch.n_tokens;
+
+    res &= inp_attn->self_kq_mask->ne[0] == mctx->get_attn()->get_n_kv();
+    res &= inp_attn->self_kq_mask->ne[1] == params.ubatch.n_tokens;
+
+    res &= inp_rs->s_copy->ne[0] == mctx->get_recr()->get_n_rs();
+
+    res &= inp_rs->s_copy_main->ne[0]  == params.ubatch.n_seqs;
+    res &= inp_rs->s_copy_extra->ne[0] == mctx->get_recr()->get_n_rs() - params.ubatch.n_seqs;
+
+    res &= inp_rs->head == mctx->get_recr()->get_head();
+    res &= inp_rs->rs_z == mctx->get_recr()->get_rs_z();
+
+    return res;
+}
+
 void llm_graph_input_mem_hybrid_iswa::set_input(const llama_ubatch * ubatch) {
     const auto * attn_ctx = mctx->get_attn();
 
@@ -2268,6 +2312,17 @@ llm_graph_input_mem_hybrid * llm_graph_context::build_inp_mem_hybrid() const {
     return (llm_graph_input_mem_hybrid *) res->add_input(std::move(inp));
 }
 
+llm_graph_input_mem_hybrid_k * llm_graph_context::build_inp_mem_hybrid_k() const {
+    const auto * mctx_cur = static_cast(mctx);
+
+    auto inp_rs   = build_rs_inp_impl     (ctx0, ubatch, mctx_cur->get_recr());
+    auto inp_attn = build_attn_inp_k_impl(ctx0, ubatch, hparams, cparams, mctx_cur->get_attn());
+
+    auto inp = std::make_unique(cparams, std::move(inp_attn), std::move(inp_rs), mctx_cur);
+
+    return (llm_graph_input_mem_hybrid_k *) res->add_input(std::move(inp));
+}
+
 llm_graph_input_mem_hybrid_iswa * llm_graph_context::build_inp_mem_hybrid_iswa() const {
     const auto * mctx_cur = static_cast(mctx);
 
diff --git a/src/llama-graph.h b/src/llama-graph.h
index 4090d8116c..1d69ff1a6f 100644
--- a/src/llama-graph.h
+++ b/src/llama-graph.h
@@ -433,6 +433,34 @@ public:
     const llama_memory_hybrid_context * mctx;
 };
 
+class llm_graph_input_mem_hybrid_k : public llm_graph_input_i {
+public:
+    llm_graph_input_mem_hybrid_k(
+            const llama_cparams & cparams,
+            std::unique_ptr inp_attn,
+            std::unique_ptr      inp_rs,
+            const llama_memory_hybrid_context *      mctx) :
+        inp_attn(std::move(inp_attn)),
+        inp_rs(std::move(inp_rs)),
+        cparams(cparams),
+        mctx(mctx) { }
+    virtual ~llm_graph_input_mem_hybrid_k() = default;
+
+    void set_input(const llama_ubatch * ubatch) override;
+
+    bool can_reuse(const llm_graph_params & params) override;
+
+    std::unique_ptr inp_attn;
+    std::unique_ptr      inp_rs;
+
+    llm_graph_input_attn_k * get_attn() const { return inp_attn.get(); }
+    llm_graph_input_rs      * get_recr() const { return inp_rs.get(); }
+
+    const llama_cparams cparams;
+
+    const llama_memory_hybrid_context * mctx;
+};
+
 class llm_graph_input_mem_hybrid_iswa : public llm_graph_input_i {
 public:
     llm_graph_input_mem_hybrid_iswa(
@@ -960,6 +988,7 @@ struct llm_graph_context {
     //
 
     llm_graph_input_mem_hybrid * build_inp_mem_hybrid() const;
+    llm_graph_input_mem_hybrid_k * build_inp_mem_hybrid_k() const;
 
     llm_graph_input_mem_hybrid_iswa * build_inp_mem_hybrid_iswa() const;
 
diff --git a/src/llama-hparams.cpp b/src/llama-hparams.cpp
index 392f9160ce..756dda1a7a 100644
--- a/src/llama-hparams.cpp
+++ b/src/llama-hparams.cpp
@@ -139,6 +139,13 @@ uint32_t llama_hparams::n_embd_r() const {
         return n_embd * (n_shortconv_l_cache - 1);
     }
 
+    if (n_embd_head_kda != 0) {
+        // for Kimi KDA layers
+        // Conv state for Q, K, V: 3 * (d_conv - 1) * n_head * head_dim
+        const uint32_t d_inner = n_head() * n_embd_head_kda;  // 32 * 128 = 4096
+        return 3 * (ssm_d_conv > 0 ? ssm_d_conv - 1 : 3) * d_inner;
+    }
+
     // TODO: maybe support other convolution strides than 1
     // NOTE: since the first column of the conv_state is shifted out each time, it's not actually needed
     // Corresponds to Mamba's conv_states size
@@ -151,6 +158,13 @@ uint32_t llama_hparams::n_embd_s() const {
         return n_embd * wkv_head_size;
     }
 
+    if (n_embd_head_kda != 0) {
+        // for Kimi KDA layers
+        // Full recurrent state: head_dim * head_dim * n_head
+        // h tensor shape for delta attention: [head_dim, head_dim, n_head]
+        return n_embd_head_kda * n_embd_head_kda * n_head();  // 128 * 128 * 32 = 524288
+    }
+
     // corresponds to Mamba's ssm_states size
     return ssm_d_state * ssm_d_inner;
 }
diff --git a/src/llama-hparams.h b/src/llama-hparams.h
index dfbc7d95e9..a435043cfe 100644
--- a/src/llama-hparams.h
+++ b/src/llama-hparams.h
@@ -137,6 +137,9 @@ struct llama_hparams {
     uint32_t ssm_dt_rank = 0;
     uint32_t ssm_n_group = 0;
 
+    // for Kimi Linear KDA
+    uint32_t n_embd_head_kda = 0;
+
     // for hybrid state space models
     std::array recurrent_layer_arr;
 
diff --git a/src/llama-model.cpp b/src/llama-model.cpp
index 72490a89b5..765e4de2e4 100644
--- a/src/llama-model.cpp
+++ b/src/llama-model.cpp
@@ -125,6 +125,7 @@ const char * llm_type_name(llm_type type) {
         case LLM_TYPE_21B_A3B:       return "21B.A3B";
         case LLM_TYPE_30B_A3B:       return "30B.A3B";
         case LLM_TYPE_31B_A3_5B:     return "31B.A3.5B";
+        case LLM_TYPE_48B_A3B:       return "48B.A3B";
         case LLM_TYPE_80B_A3B:       return "80B.A3B";
         case LLM_TYPE_100B_A6B:      return "100B.A6B";
         case LLM_TYPE_102B_A12B:     return "102B.A12B";
@@ -2450,6 +2451,37 @@ void llama_model::load_hparams(llama_model_loader & ml) {
                     default: type = LLM_TYPE_UNKNOWN;
                 }
             } break;
+        case LLM_ARCH_KIMI_LINEAR:
+            {
+                ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps);
+                ml.get_key(LLM_KV_ATTENTION_KEY_LENGTH_MLA,    hparams.n_embd_head_k_mla_impl);
+                ml.get_key(LLM_KV_ATTENTION_VALUE_LENGTH_MLA,  hparams.n_embd_head_v_mla_impl);
+                ml.get_key(LLM_KV_ATTENTION_KV_LORA_RANK,      hparams.n_lora_kv);
+                ml.get_key(LLM_KV_ROPE_DIMENSION_COUNT,        hparams.n_rot);
+                ml.get_key(LLM_KV_SSM_CONV_KERNEL,             hparams.ssm_d_conv);
+                ml.get_key(LLM_KV_KDA_HEAD_DIM,                hparams.n_embd_head_kda);
+
+                // MLA qk_rope_head_dim (for reference)
+                // qk_rope_head_dim = 64, qk_nope_head_dim = 128, qk_head_dim = 192
+
+                // Mark KDA layers as recurrent using n_head_kv pattern (like Jamba)
+                // Set n_head_kv = 0 for KDA layers (recurrent), n_head_kv = n_head for MLA layers (attention)
+                for (uint32_t i = 0; i < hparams.n_layer; ++i) {
+                    hparams.recurrent_layer_arr[i] = hparams.n_head_kv(i) == 0;  // KDA layers are recurrent
+                }
+
+                // MoE parameters - Kimi uses moe_intermediate_size = 1024
+                ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH,        hparams.n_ff_exp);
+                ml.get_key(LLM_KV_EXPERT_SHARED_COUNT,               hparams.n_expert_shared);
+                ml.get_key(LLM_KV_LEADING_DENSE_BLOCK_COUNT,         hparams.n_layer_dense_lead);
+                ml.get_key(LLM_KV_EXPERT_WEIGHTS_SCALE,              hparams.expert_weights_scale);
+                ml.get_key(LLM_KV_EXPERT_GATING_FUNC,                hparams.expert_gating_func);
+
+                switch (hparams.n_layer) {
+                    case 27: type = LLM_TYPE_48B_A3B; break; // Kimi-Linear-48B-A3B
+                    default: type = LLM_TYPE_UNKNOWN;
+                }
+            } break;
         default: throw std::runtime_error("unsupported model architecture");
     }
 
@@ -6752,6 +6784,141 @@ bool llama_model::load_tensors(llama_model_loader & ml) {
                         layer.ffn_exp_probs_b = create_tensor(tn(LLM_TENSOR_FFN_EXP_PROBS_B, "bias", i), {n_expert}, 0);
                     }
                 } break;
+            case LLM_ARCH_KIMI_LINEAR:
+                {
+                    tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, 0);
+
+                    // output
+                    output_norm = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "weight"), {n_embd}, 0);
+                    output      = create_tensor(tn(LLM_TENSOR_OUTPUT,      "weight"), {n_embd, n_vocab}, 0);
+
+                    for (int i = 0; i < n_layer; ++i) {
+                        auto & layer = layers[i];
+
+                        layer.attn_norm = create_tensor(tn(LLM_TENSOR_ATTN_NORM, "weight", i), {n_embd}, 0);
+
+                        // Check for KDA specific tensors to determine layer type or if it's a mixed model
+                        // Assuming KDA layer if KDA tensors are present
+
+                        // KDA uses head_dim = 128 (from linear_attn_config.head_dim)
+                        const int64_t n_embd_head_k_kda = hparams.n_embd_head_kda;
+                        const int64_t n_embd_head_v_kda = hparams.n_embd_head_kda;
+                        const int64_t ssm_d_conv = hparams.ssm_d_conv;
+
+                        // Try loading KDA specific tensors (using SSM_ prefix)
+                        // Conv1d weights: try 4D first, then 3D (quantization may remove trailing 1)
+                        // 4D: [d_conv, 1, d_inner, 1], 3D: [d_conv, 1, d_inner]
+                        layer.ssm_q_conv = create_tensor(tn(LLM_TENSOR_SSM_CONV1D_Q, "weight", i), {ssm_d_conv, 1, n_embd_head_k_kda * n_head, 1}, TENSOR_NOT_REQUIRED);
+                        if (!layer.ssm_q_conv) {
+                            layer.ssm_q_conv = create_tensor(tn(LLM_TENSOR_SSM_CONV1D_Q, "weight", i), {ssm_d_conv, 1, n_embd_head_k_kda * n_head}, TENSOR_NOT_REQUIRED);
+                        }
+
+                        if (layer.ssm_q_conv) {
+                             // KDA Layer - Conv1d weights may be 3D or 4D
+                             layer.ssm_k_conv = create_tensor(tn(LLM_TENSOR_SSM_CONV1D_K, "weight", i), {ssm_d_conv, 1, n_embd_head_k_kda * n_head, 1}, TENSOR_NOT_REQUIRED);
+                             if (!layer.ssm_k_conv) {
+                                 layer.ssm_k_conv = create_tensor(tn(LLM_TENSOR_SSM_CONV1D_K, "weight", i), {ssm_d_conv, 1, n_embd_head_k_kda * n_head}, 0);
+                             }
+                             layer.ssm_v_conv = create_tensor(tn(LLM_TENSOR_SSM_CONV1D_V, "weight", i), {ssm_d_conv, 1, n_embd_head_v_kda * n_head, 1}, TENSOR_NOT_REQUIRED);
+                             if (!layer.ssm_v_conv) {
+                                 layer.ssm_v_conv = create_tensor(tn(LLM_TENSOR_SSM_CONV1D_V, "weight", i), {ssm_d_conv, 1, n_embd_head_v_kda * n_head}, 0);
+                             }
+
+                             // q, k, v projections
+                             // Python: q_proj, k_proj, v_proj
+                             layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q, "weight", i), {n_embd, n_embd_head_k_kda * n_head}, 0);
+                             layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K, "weight", i), {n_embd, n_embd_head_k_kda * n_head}, 0);
+                             layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V, "weight", i), {n_embd, n_embd_head_v_kda * n_head}, 0);
+
+                             // KDA specific projections
+                             // f_a_proj, f_b_proj
+                             layer.ssm_f_a = create_tensor(tn(LLM_TENSOR_SSM_F_A, "weight", i), {n_embd, n_embd_head_k_kda}, 0); // head_dim
+                             layer.ssm_f_b = create_tensor(tn(LLM_TENSOR_SSM_F_B, "weight", i), {n_embd_head_k_kda, n_embd_head_k_kda * n_head}, 0); // projection_size
+
+                             // b_proj (beta mixing coefficient)
+                             layer.ssm_beta = create_tensor(tn(LLM_TENSOR_SSM_BETA, "weight", i), {n_embd, n_head}, 0);
+
+                             // A_log - Shape in GGUF: [1, num_heads, 1, 1] (4D) or [1, num_heads] (2D after quantization) Note: -exp(A_log) is applied in convert_hf_to_gguf.py
+                             layer.ssm_a = create_tensor(tn(LLM_TENSOR_SSM_A, i), {1, n_head, 1, 1}, TENSOR_NOT_REQUIRED);
+                             if (!layer.ssm_a) {
+                                 layer.ssm_a = create_tensor(tn(LLM_TENSOR_SSM_A, i), {1, n_head}, 0);
+                             }
+
+                             // dt_bias - shape [n_embd_head_k_kda * n_head] = [4096]
+                             layer.ssm_dt_b = create_tensor(tn(LLM_TENSOR_SSM_DT, "bias", i), {n_embd_head_k_kda * n_head}, 0);
+
+                             // g_a_proj, g_b_proj (output gate)
+                             layer.ssm_g_a = create_tensor(tn(LLM_TENSOR_SSM_G_A, "weight", i), {n_embd, n_embd_head_k_kda}, 0);
+                             layer.ssm_g_b = create_tensor(tn(LLM_TENSOR_SSM_G_B, "weight", i), {n_embd_head_k_kda, n_embd_head_k_kda * n_head}, 0);
+
+                             // o_norm (reusing SSM_NORM)
+                             layer.ssm_o_norm = create_tensor(tn(LLM_TENSOR_SSM_NORM, "weight", i), {n_embd_head_k_kda}, 0); // FusedRMSNormGated
+
+                             // o_proj
+                             layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), {n_embd_head_v_kda * n_head, n_embd}, 0);
+
+                        } else {
+                             // MLA Layer - use MLA-specific head dimensions
+                             const int64_t q_lora_rank  = hparams.n_lora_q;
+                             const int64_t kv_lora_rank = hparams.n_lora_kv;
+                             const int64_t n_embd_head_k_mla = hparams.n_embd_head_k_mla();
+                             const int64_t n_embd_head_v_mla = hparams.n_embd_head_v_mla();
+
+                             layer.attn_q_a_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_A_NORM, "weight", i), {q_lora_rank}, TENSOR_NOT_REQUIRED);
+                             layer.attn_kv_a_norm = create_tensor(tn(LLM_TENSOR_ATTN_KV_A_NORM, "weight", i), {kv_lora_rank}, 0);
+
+                             if (layer.attn_q_a_norm) {
+                                 layer.wq_a = create_tensor(tn(LLM_TENSOR_ATTN_Q_A, "weight", i), {n_embd, q_lora_rank}, 0);
+                                 layer.wq_b = create_tensor(tn(LLM_TENSOR_ATTN_Q_B, "weight", i), {q_lora_rank, n_head * n_embd_head_k_mla}, 0);
+                             } else {
+                                 // Kimi MLA without Q compression: wq = [n_embd, n_head * n_embd_head_k_mla]
+                                 layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q, "weight", i), {n_embd, n_head * n_embd_head_k_mla}, 0);
+                             }
+
+                             // Kimi: qk_rope_head_dim = 64 (actual RoPE dimension for MLA)
+                             // Note: hparams.n_rot may be 72 (from conversion) but actual is 64
+                             const int64_t qk_rope_head_dim = hparams.n_rot;  // From config: qk_rope_head_dim
+                             layer.wkv_a_mqa = create_tensor(tn(LLM_TENSOR_ATTN_KV_A_MQA, "weight", i), {n_embd, kv_lora_rank + qk_rope_head_dim}, 0);
+                             // Support Legacy GGUFs that don't split wkv_b (MLA KV cache disabled)
+                             layer.wkv_b = create_tensor(tn(LLM_TENSOR_ATTN_KV_B, "weight", i), {kv_lora_rank, n_head * (n_embd_head_k_mla - qk_rope_head_dim + n_embd_head_v_mla)}, TENSOR_NOT_REQUIRED);
+                             if (!layer.wkv_b) { // MLA KV cache enabled
+                                 layer.wk_b = create_tensor(tn(LLM_TENSOR_ATTN_K_B, "weight", i), {n_embd_head_k_mla - qk_rope_head_dim, kv_lora_rank, n_head}, 0);
+                                 layer.wv_b = create_tensor(tn(LLM_TENSOR_ATTN_V_B, "weight", i), {kv_lora_rank, n_embd_head_v_mla, n_head}, 0);
+                             }
+                             layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), {n_head * n_embd_head_v_mla, n_embd}, 0);
+                        }
+
+                        layer.ffn_norm = create_tensor(tn(LLM_TENSOR_FFN_NORM, "weight", i), {n_embd}, 0);
+
+                        // MoE intermediate size (different from dense FFN)
+                        const int64_t n_ff_exp = hparams.n_ff_exp;
+
+                        // Kimi uses n_layer_dense_lead to determine which layers use dense FFN vs MoE
+                        // first_k_dense_replace = 1 means layer 0 uses dense FFN, layers 1+ use MoE
+                        if (i < (int) hparams.n_layer_dense_lead) {
+                            // Dense FFN layer - use normal n_ff
+                            layer.ffn_gate = create_tensor(tn(LLM_TENSOR_FFN_GATE, "weight", i), {n_embd, n_ff}, 0);
+                            layer.ffn_down = create_tensor(tn(LLM_TENSOR_FFN_DOWN, "weight", i), {n_ff, n_embd}, 0);
+                            layer.ffn_up   = create_tensor(tn(LLM_TENSOR_FFN_UP,   "weight", i), {n_embd, n_ff}, 0);
+                        } else {
+                            // MoE layer - use n_ff_exp (1024) instead of n_ff (9216)
+                            layer.ffn_gate_inp = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP, "weight", i), {n_embd, n_expert}, 0);
+                            layer.ffn_gate_exps = create_tensor(tn(LLM_TENSOR_FFN_GATE_EXPS, "weight", i), {n_embd, n_ff_exp, n_expert}, 0);
+                            layer.ffn_down_exps = create_tensor(tn(LLM_TENSOR_FFN_DOWN_EXPS, "weight", i), {n_ff_exp, n_embd, n_expert}, 0);
+                            layer.ffn_up_exps   = create_tensor(tn(LLM_TENSOR_FFN_UP_EXPS,   "weight", i), {n_embd, n_ff_exp, n_expert}, 0);
+
+                            // Shared experts use moe_intermediate_size * num_shared_experts
+                            // Kimi: shared_expert_intermediate_size = 1024 * 1 = 1024
+                            // Tensors are 2D: [n_embd, n_ff_shexp] or [n_ff_shexp, n_embd]
+                            const int64_t n_ff_shexp_actual = n_ff_exp * (hparams.n_expert_shared > 0 ? hparams.n_expert_shared : 1);
+                            layer.ffn_gate_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_SHEXP, "weight", i), {n_embd, n_ff_shexp_actual}, TENSOR_NOT_REQUIRED);
+                            layer.ffn_down_shexp = create_tensor(tn(LLM_TENSOR_FFN_DOWN_SHEXP, "weight", i), {n_ff_shexp_actual, n_embd}, TENSOR_NOT_REQUIRED);
+                            layer.ffn_up_shexp   = create_tensor(tn(LLM_TENSOR_FFN_UP_SHEXP,   "weight", i), {n_embd, n_ff_shexp_actual}, TENSOR_NOT_REQUIRED);
+
+                            layer.ffn_exp_probs_b = create_tensor(tn(LLM_TENSOR_FFN_EXP_PROBS_B, "bias", i), {n_expert}, 0);
+                        }
+                    }
+                } break;
             case LLM_ARCH_COGVLM:
                 {
                     tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, 0);
@@ -8086,6 +8253,10 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const {
             {
                 llm = std::make_unique(*this, params);
             } break;
+        case LLM_ARCH_KIMI_LINEAR:
+            {
+                llm = std::make_unique(*this, params);
+            } break;
         default:
             GGML_ABORT("fatal error");
     }
@@ -8235,6 +8406,7 @@ llama_rope_type llama_model_rope_type(const llama_model * model) {
         case LLM_ARCH_WAVTOKENIZER_DEC:
         case LLM_ARCH_NEMOTRON_H:
         case LLM_ARCH_NEMOTRON_H_MOE:
+        case LLM_ARCH_KIMI_LINEAR:
             return LLAMA_ROPE_TYPE_NONE;
 
         // use what we call a normal RoPE, operating on pairs of consecutive head values
diff --git a/src/llama-model.h b/src/llama-model.h
index d1de16e3f2..5b408bcea2 100644
--- a/src/llama-model.h
+++ b/src/llama-model.h
@@ -118,6 +118,7 @@ enum llm_type {
     LLM_TYPE_21B_A3B, // Ernie MoE small
     LLM_TYPE_30B_A3B,
     LLM_TYPE_31B_A3_5B,
+    LLM_TYPE_48B_A3B, // Kimi Linear
     LLM_TYPE_80B_A3B, // Qwen3 Next
     LLM_TYPE_100B_A6B,
     LLM_TYPE_102B_A12B, // Solar-Open
@@ -411,6 +412,18 @@ struct llama_layer {
     struct ggml_tensor * ffn_act_beta    = nullptr;
     struct ggml_tensor * ffn_act_eps     = nullptr;
 
+    // Kimi Linear KDA (using ssm_ prefix for consistency)
+    // Note: ssm_dt_b already exists above (mamba bias), reused for Kimi dt_bias
+    struct ggml_tensor * ssm_q_conv = nullptr;
+    struct ggml_tensor * ssm_k_conv = nullptr;
+    struct ggml_tensor * ssm_v_conv = nullptr;
+    struct ggml_tensor * ssm_f_a    = nullptr;
+    struct ggml_tensor * ssm_f_b    = nullptr;
+    struct ggml_tensor * ssm_beta   = nullptr;
+    struct ggml_tensor * ssm_g_a    = nullptr;
+    struct ggml_tensor * ssm_g_b    = nullptr;
+    struct ggml_tensor * ssm_o_norm = nullptr;
+
     struct llama_layer_posnet posnet;
 
     struct llama_layer_convnext convnext;
diff --git a/src/llama-quant.cpp b/src/llama-quant.cpp
index 776222cb6f..a7891647c3 100644
--- a/src/llama-quant.cpp
+++ b/src/llama-quant.cpp
@@ -787,9 +787,9 @@ static void llama_model_quantize_impl(const std::string & fname_inp, const std::
         quantize &= name != LLM_TN(model.arch)(LLM_TENSOR_POS_EMBD,    "weight");
         quantize &= name != LLM_TN(model.arch)(LLM_TENSOR_TOKEN_TYPES, "weight");
 
-        // do not quantize Mamba's small yet 2D weights
+        // do not quantize Mamba /Kimi's small conv1d weights
         // NOTE: can't use LLM_TN here because the layer number is not known
-        quantize &= name.find("ssm_conv1d.weight") == std::string::npos;
+        quantize &= name.find("ssm_conv1d") == std::string::npos;
         quantize &= name.find("shortconv.conv.weight") == std::string::npos;
 
         // do not quantize RWKV's small yet 2D weights
diff --git a/src/llama-vocab.cpp b/src/llama-vocab.cpp
index 38d03a8c39..6d6bdfa090 100644
--- a/src/llama-vocab.cpp
+++ b/src/llama-vocab.cpp
@@ -1752,26 +1752,33 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
 
             // read bpe merges and populate bpe ranks
             const int merges_keyidx = gguf_find_key(ctx, kv(LLM_KV_TOKENIZER_MERGES).c_str());
+            // Kimi-K2 uses custom tokenization without traditional BPE merges
+            const bool is_kimi_k2 = (tokenizer_pre == "kimi-k2");
+
             if (merges_keyidx == -1) {
-                throw std::runtime_error("cannot find tokenizer merges in model file\n");
-            }
-
-            const int n_merges = gguf_get_arr_n(ctx, merges_keyidx);
-            for (int i = 0; i < n_merges; i++) {
-                const std::string word = gguf_get_arr_str(ctx, merges_keyidx, i);
-                //GGML_ASSERT(unicode_cpts_from_utf8(word).size() > 0);
-
-                std::string first;
-                std::string second;
-
-                const size_t pos = word.find(' ', 1);
-
-                if (pos != std::string::npos) {
-                    first  = word.substr(0, pos);
-                    second = word.substr(pos + 1);
+                if (!is_kimi_k2) {
+                    throw std::runtime_error("cannot find tokenizer merges in model file\n");
                 }
+                // Kimi-K2 doesn't need merges, skip
+                LLAMA_LOG_INFO("%s: Kimi-K2 tokenizer detected, skipping BPE merges\n", __func__);
+            } else {
+                const int n_merges = gguf_get_arr_n(ctx, merges_keyidx);
+                for (int i = 0; i < n_merges; i++) {
+                    const std::string word = gguf_get_arr_str(ctx, merges_keyidx, i);
+                    //GGML_ASSERT(unicode_cpts_from_utf8(word).size() > 0);
 
-                bpe_ranks.emplace(std::make_pair(first, second), i);
+                    std::string first;
+                    std::string second;
+
+                    const size_t pos = word.find(' ', 1);
+
+                    if (pos != std::string::npos) {
+                        first  = word.substr(0, pos);
+                        second = word.substr(pos + 1);
+                    }
+
+                    bpe_ranks.emplace(std::make_pair(first, second), i);
+                }
             }
 
             // default special tokens
@@ -2226,6 +2233,7 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
                         || t.first == "<|end_of_text|>" // granite
                         || t.first == ""
                         || t.first == "_"
+                        || t.first == "[EOT]" // Kimi-K2
                         || t.first == "<|end▁of▁sentence|>" // DeepSeek
                         || t.first == "" // smoldocling
                    ) {
@@ -2322,6 +2330,7 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
                         || t.first == ""
                         || t.first == ""   // Granite
                         || t.first == ""
+                        || t.first == "[PAD]" // Kimi-K2
                         ) {
                     special_fim_pad_id = t.second;
                     if ((attr & LLAMA_TOKEN_ATTR_CONTROL) == 0) {
@@ -2424,6 +2433,8 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) {
                     || t.first == "<|eom_id|>"
                     || t.first == ""
                     || t.first == "_"
+                    || t.first == "[EOT]" // Kimi-K2
+                    || t.first == "[EOS]" // Kimi-K2
                     || t.first == "<|end_of_text|>"
                     || t.first == "" // smoldocling
                ) {
diff --git a/src/models/kimi-linear.cpp b/src/models/kimi-linear.cpp
new file mode 100644
index 0000000000..0f037d1a39
--- /dev/null
+++ b/src/models/kimi-linear.cpp
@@ -0,0 +1,772 @@
+#include "models.h"
+#include "ggml.h"
+
+#define CHUNK_SIZE 64
+
+// Causal Conv1d function for Q,K,V
+// When qkv is 0, it is Q, 1 is K, 2 is V
+static ggml_tensor * causal_conv1d(ggml_cgraph * gf, ggml_context * ctx0, ggml_tensor * conv_states_all, ggml_tensor * conv_state_all, int64_t qkv, ggml_tensor * x, ggml_tensor * proj_w, ggml_tensor * conv_w, int64_t d_conv, int64_t head_dim, int64_t n_head, int64_t n_seq_tokens, int64_t n_seqs, int64_t n_tokens, int64_t kv_head) {
+    const int64_t d_inner = head_dim * n_head;
+    const int64_t conv_state_size = (d_conv - 1) * d_inner;
+    const int64_t n_embd_r_total = 3 * conv_state_size;  // Q + K + V
+
+    // conv_state_all is [n_embd_r_total, n_seqs], split into Q, K, V
+    // Each conv state is [(d_conv-1) * d_inner] per sequence, need to reshape to [d_conv-1, d_inner, n_seqs]
+    // Memory layout: for each seq, Q state is first conv_state_size elements, then K, then V
+    // conv_state_all has stride: nb[0] = element_size, nb[1] = n_embd_r_total * element_size
+    // View Q conv state: offset 0, size conv_state_size per seq
+    // conv_state_all is [n_embd_r_total, n_seqs] with memory layout:
+    //   state[i + seq * n_embd_r_total] where i = conv_step + channel * (d_conv-1) + {0, conv_state_size, 2*conv_state_size} for Q/K/V
+    // We want [d_conv-1, d_inner, n_seqs] view:
+    //   nb1 = (d_conv-1) * element_size (stride between channels)
+    //   nb2 = n_embd_r_total * element_size (stride between seqs)
+    ggml_tensor * conv_state_x = ggml_view_3d(ctx0, conv_state_all, d_conv - 1, d_inner, n_seqs,
+        (d_conv - 1) * ggml_element_size(conv_state_all),  // nb1: stride between channels
+        n_embd_r_total * ggml_element_size(conv_state_all),  // nb2: stride between seqs
+        qkv * conv_state_size * ggml_element_size(conv_state_all));
+
+// Causal Conv1d function for Q,K,V
+// When qkv is 0, it is Q, 1 is K, 2 is V
+    // Step 1: Q, K, V projections -> [d_inner, n_tokens]
+    ggml_tensor * x_proj = ggml_mul_mat(ctx0, proj_w, x);
+
+    // Reshape input: {d_inner, n_tokens} -> {d_inner, n_seq_tokens, n_seqs}
+    ggml_tensor * x_3d = ggml_reshape_3d(ctx0, x_proj, d_inner, n_seq_tokens, n_seqs);
+
+    // Concat Q conv state and current input: {d_conv-1 + n_seq_tokens, d_inner, n_seqs}
+    ggml_tensor * conv_x = ggml_concat(ctx0, conv_state_x, ggml_transpose(ctx0, x_3d), 0);
+
+    // Save last (d_conv-1) columns back to Q conv state
+    ggml_tensor * last_conv_x = ggml_view_3d(ctx0, conv_x, d_conv - 1, d_inner, n_seqs,
+        conv_x->nb[1], conv_x->nb[2], n_seq_tokens * conv_x->nb[0]);
+    ggml_build_forward_expand(gf,
+        ggml_cpy(ctx0, last_conv_x,
+            ggml_view_1d(ctx0, conv_states_all, conv_state_size * n_seqs,
+                (kv_head * n_embd_r_total + qkv * conv_state_size) * ggml_element_size(conv_states_all))));
+    // Reshape conv weight: GGUF [d_conv, 1, d_inner, 1] -> ggml_ssm_conv expects [d_conv, d_inner]
+    // GGUF stores as [d_conv, 1, d_inner, 1] with memory layout w[conv_step + channel * d_conv]
+    // vLLM stores as [d_inner, d_conv] with memory layout w[channel * d_conv + conv_step]
+    // ggml_ssm_conv computes: c[conv_step + channel * d_conv]
+    // GGUF layout: [d_conv, 1, d_inner] or [d_conv, 1, d_inner, 1] -> reshape to [d_conv, d_inner]
+    // Reshape conv weight from [d_conv, 1, d_inner, 1] to [d_conv, d_inner] for ggml_ssm_conv
+    ggml_tensor * conv_weight = ggml_reshape_2d(ctx0, conv_w, d_conv, d_inner);
+
+    // Apply conv1d
+    // ggml_ssm_conv output: {d_inner, n_seq_tokens, n_seqs}
+    ggml_tensor * Xcur = ggml_ssm_conv(ctx0, conv_x, conv_weight);
+    // Reshape to 2D for bias add: {d_inner, n_tokens}
+    Xcur = ggml_reshape_2d(ctx0, Xcur, d_inner, n_tokens);
+    Xcur = ggml_silu(ctx0, Xcur);
+
+    return ggml_reshape_4d(ctx0, Xcur, head_dim, n_head, n_seq_tokens, n_seqs);
+}
+
+llm_build_kimi_linear::llm_build_kimi_linear(const llama_model & model, const llm_graph_params & params) :
+    llm_graph_context_mamba(params), model(model) {
+    ggml_tensor * cur;
+    ggml_tensor * inpL;
+
+    inpL = build_inp_embd(model.tok_embd);
+    cb(inpL, "model.embed_tokens", -1);
+
+    // Note: Kimi MLA does NOT use RoPE (rotary_emb=None in vLLM)
+    // So we don't need inp_pos
+
+    auto * inp_kv = !hparams.is_mla() ? build_inp_mem_hybrid() : nullptr;
+    auto * inp_k = hparams.is_mla() ? build_inp_mem_hybrid_k() : nullptr;
+    auto * inp_rs = hparams.is_mla() ? inp_k->get_recr() : inp_kv->get_recr();
+    auto * inp_attn_kv = !hparams.is_mla() ? inp_kv->get_attn() : nullptr;
+    auto * inp_attn_k = hparams.is_mla() ? inp_k->get_attn() : nullptr;
+
+    // Output ids for selecting which tokens to output
+    ggml_tensor * inp_out_ids = build_inp_out_ids();
+
+    ggml_tensor * chunked_causal_mask =
+        ggml_tri(ctx0, ggml_fill_inplace(ctx0, ggml_new_tensor_2d(ctx0, GGML_TYPE_F32, CHUNK_SIZE, CHUNK_SIZE), 1.0f),
+                    GGML_TRI_TYPE_LOWER);
+
+    ggml_tensor * chunked_identity = ggml_diag(ctx0, ggml_fill_inplace(ctx0, ggml_new_tensor_1d(ctx0, GGML_TYPE_F32, CHUNK_SIZE), 1.0f));
+    ggml_tensor * chunked_diag_mask = ggml_add(ctx0, chunked_causal_mask, chunked_identity);
+
+    ggml_build_forward_expand(gf, chunked_causal_mask);
+    ggml_build_forward_expand(gf, chunked_identity);
+    ggml_build_forward_expand(gf, chunked_diag_mask);
+
+    // Kimi dimension constants
+    const int64_t n_head = hparams.n_head();
+    const int64_t head_dim = hparams.n_embd_head_kda;
+    const int64_t d_conv = hparams.ssm_d_conv;
+    const int64_t d_inner = n_head * head_dim;  // 32 * 128 = 4096
+    const int64_t n_seqs = ubatch.n_seqs;
+    const int64_t n_seq_tokens = ubatch.n_seq_tokens;
+
+    // Verify batch consistency for recurrent layers
+    GGML_ASSERT(n_seqs != 0);
+    GGML_ASSERT(ubatch.equal_seqs());
+    GGML_ASSERT(ubatch.n_tokens == n_seq_tokens * n_seqs);
+
+    // MLA params
+    const int64_t n_embd_head_k_mla = hparams.n_embd_head_k_mla();
+    const int64_t n_embd_head_v_mla = hparams.n_embd_head_v_mla();
+    const int64_t kv_lora_rank = hparams.n_lora_kv;
+    // qk_rope_head_dim = 64 (from Kimi config) which is hparams.n_rot
+    // Confirmed from tensor shape: wkv_a_mqa [2304, 576] = [n_embd, kv_lora_rank + qk_rope_head_dim]
+    const int64_t n_embd_head_qk_rope = hparams.n_rot;  // config.qk_rope_head_dim
+    const int64_t n_embd_head_qk_nope = n_embd_head_k_mla - n_embd_head_qk_rope;  // 192 - 64 = 128
+    // Attention scale for MLA
+    const float kq_scale_mla = 1.0f / sqrtf((float)n_embd_head_k_mla);
+
+    for (int il = 0; il < n_layer; ++il) {
+        const auto & layer = model.layers[il];
+        ggml_tensor * inpSA = inpL;
+
+        // Attention Norm
+        cur = build_norm(inpL, layer.attn_norm, NULL, LLM_NORM_RMS, il);
+        cb(cur, "attn_norm", il);
+
+        // Check layer type by checking which tensors exist
+        // KDA layers have ssm_a_log tensor, MLA layers have wkv_a_mqa tensor
+        bool is_kda = (layer.ssm_a != nullptr);
+        bool is_mla = (layer.wkv_a_mqa != nullptr);
+
+        if (is_kda) {
+            // === KDA Layer (Kimi Delta Attention) with Recurrent State ===
+            // Reference: vLLM kda.py
+            const auto * mctx_cur = inp_rs->mctx;
+            const auto kv_head = mctx_cur->get_head();
+
+            // Get conv states from r_l tensor (Q, K, V each have separate state)
+            ggml_tensor * conv_states_all = mctx_cur->get_r_l(il);
+            cb(conv_states_all, "conv_states_all", il);
+            ggml_tensor * conv_state_all = build_rs(inp_rs, conv_states_all, hparams.n_embd_r(), n_seqs);
+            ggml_tensor * Qcur = causal_conv1d(gf, ctx0, conv_states_all, conv_state_all, 0, cur, layer.wq, layer.ssm_q_conv, d_conv, head_dim, n_head, n_seq_tokens, n_seqs, n_tokens, kv_head);
+            ggml_tensor * Kcur = causal_conv1d(gf, ctx0, conv_states_all, conv_state_all, 1, cur, layer.wk, layer.ssm_k_conv, d_conv, head_dim, n_head, n_seq_tokens, n_seqs, n_tokens, kv_head);
+            ggml_tensor * Vcur = causal_conv1d(gf, ctx0, conv_states_all, conv_state_all, 2, cur, layer.wv, layer.ssm_v_conv, d_conv, head_dim, n_head, n_seq_tokens, n_seqs, n_tokens, kv_head);
+
+            // g1 = -exp(A_log) * softplus(f_b(f_a(x)) + dt_bias)
+            ggml_tensor * f_a = ggml_mul_mat(ctx0, layer.ssm_f_a, cur);
+            ggml_tensor * g1 = ggml_mul_mat(ctx0, layer.ssm_f_b, f_a);
+            cb(g1, "g1 f_b(f_a(cur))", il);
+            g1 = ggml_add(ctx0, g1, layer.ssm_dt_b);
+            g1 = ggml_softplus(ctx0, g1);
+            g1 = ggml_reshape_3d(ctx0, g1, head_dim, n_head, n_tokens);
+
+            // A_log shape is [1, n_head] or [1, n_head, 1, 1], need to broadcast to [head_dim, n_head, n_tokens]. No need to -exp(a_log) because it was done in convert_hf_to_gguf.py
+            // Reshape to [1, n_head, 1] for broadcasting with g1 [head_dim, n_head, n_tokens]
+            ggml_tensor * A = ggml_reshape_3d(ctx0, layer.ssm_a, 1, n_head, 1);
+            g1 = ggml_mul(ctx0, g1, A);
+            cb(g1, "kda_g1", il);
+
+            // Compute beta (mixing coefficient)
+            ggml_tensor * beta = ggml_mul_mat(ctx0, layer.ssm_beta, cur);
+            beta = ggml_reshape_4d(ctx0, beta, n_head, 1, n_seq_tokens, n_seqs);
+            cb(beta, "kda_beta", il);
+
+            // Reshape for KDA recurrence
+            // {n_embd, n_tokens} -> {n_embd, n_seq_tokens, n_seqs}
+            cur = ggml_reshape_3d(ctx0, cur, cur->ne[0], n_seq_tokens, n_seqs);
+
+            g1 = ggml_reshape_4d(ctx0, g1, head_dim, n_head, n_seq_tokens, n_seqs);
+
+            // Get SSM state and compute KDA recurrence using ggml_kda_scan
+            ggml_tensor * ssm_states_all = mctx_cur->get_s_l(il);
+            ggml_tensor * state = build_rs(inp_rs, ssm_states_all, hparams.n_embd_s(), n_seqs);
+            state = ggml_reshape_4d(ctx0, state, head_dim, head_dim, n_head, n_seqs);
+            // Choose between build_kda_chunking and build_kda_recurrent based on n_tokens
+            std::pair attn_out = n_seq_tokens == 1 ?
+                build_kda_autoregressive(Qcur, Kcur, Vcur, g1, beta, state, il) :
+                build_kda_chunking(Qcur, Kcur, Vcur, g1, beta, state, chunked_causal_mask, chunked_identity, chunked_diag_mask, il);
+
+            ggml_tensor * output = attn_out.first;
+            ggml_tensor * new_state = attn_out.second;
+            cb(output, "attn_output", il);
+            cb(new_state, "new_state", il);
+
+            // Update the recurrent states
+            ggml_build_forward_expand(gf,
+                                     ggml_cpy(ctx0, new_state,
+                                              ggml_view_1d(ctx0, ssm_states_all, hparams.n_embd_s() * n_seqs,
+                                                           kv_head * hparams.n_embd_s() * ggml_element_size(ssm_states_all))));
+
+            // Output gating g2 = g_b(g_a(x))
+            ggml_tensor * cur_2d = ggml_reshape_2d(ctx0, cur, cur->ne[0], n_seq_tokens * n_seqs);
+            ggml_tensor * g_a = ggml_mul_mat(ctx0, layer.ssm_g_a, cur_2d);
+            ggml_tensor * g2 = ggml_mul_mat(ctx0, layer.ssm_g_b, g_a);
+            cb(g2, "g2 g_b(g_a(cur_2d))", il);
+            g2 = ggml_reshape_3d(ctx0, g2, head_dim, n_head, n_seq_tokens * n_seqs);
+
+            // Apply o_norm with sigmoid gating
+            // Note: Kimi model uses sigmoid gating, not SiLU (despite FusedRMSNormGated default being swish)
+            // Formula: output = RMSNorm(x) * sigmoid(g)
+            ggml_tensor * attn_out_final = ggml_reshape_3d(ctx0, output, head_dim, n_head,  n_seq_tokens * n_seqs);
+            ggml_tensor * normed = build_norm(attn_out_final, layer.ssm_o_norm, nullptr, LLM_NORM_RMS, il);
+            cb(normed, "kda_normed", il);
+            ggml_tensor * gate = ggml_sigmoid(ctx0, g2);
+            ggml_tensor * gated = ggml_mul(ctx0, normed, gate);
+
+            // Output projection
+            gated = ggml_cont_2d(ctx0, gated, d_inner, n_tokens);
+            cur = ggml_mul_mat(ctx0, layer.wo, gated);
+            cb(cur, "kda_out", il);
+
+        } else if (is_mla) {
+            // === MLA Layer (Multi-head Latent Attention) without KV Cache ===
+            // Reference: vLLM mla.py
+            // Step 1: Q projection and reshape
+            // vLLM Kimi: q = q_proj(hidden_states), then view as [n_tokens, n_head, qk_head_dim]
+            // Note: Kimi MLA does NOT use RoPE (rotary_emb=None in vLLM)
+            ggml_tensor * Qcur = ggml_mul_mat(ctx0, layer.wq, cur);
+
+            // Step 2: KV compression
+            // kv_cmpr_pe = kv_a_proj_with_mqa(hidden_states) -> [kv_lora_rank + qk_rope_head_dim, n_tokens]
+            ggml_tensor * kv_cmpr_pe = ggml_mul_mat(ctx0, layer.wkv_a_mqa, cur);
+
+            // Split: kv_cmpr = kv_lora[:kv_lora_rank], k_pe = kv_lora[kv_lora_rank:]
+            ggml_tensor * kv_cmpr = ggml_view_2d(ctx0, kv_cmpr_pe, kv_lora_rank, n_tokens,
+                ggml_row_size(kv_cmpr_pe->type, kv_lora_rank + n_embd_head_qk_rope), 0);
+            ggml_tensor * k_pe = ggml_view_3d(ctx0, kv_cmpr_pe, n_embd_head_qk_rope, 1, n_tokens,
+                ggml_row_size(kv_cmpr_pe->type, kv_lora_rank + n_embd_head_qk_rope),
+                ggml_row_size(kv_cmpr_pe->type, kv_lora_rank + n_embd_head_qk_rope),
+                ggml_row_size(kv_cmpr_pe->type, kv_lora_rank));
+            // Note: Kimi MLA does NOT apply RoPE (rotary_emb=None in vLLM)
+            // k_pe is used directly without RoPE
+            // Normalize kv_c
+            kv_cmpr = build_norm(kv_cmpr, layer.attn_kv_a_norm, nullptr, LLM_NORM_RMS, il);
+
+            if (layer.wk_b && layer.wv_b) { // MLA KV cache enabled
+                // extract q_nope
+                ggml_tensor * q_nope =
+                    ggml_view_3d(ctx0, Qcur, n_embd_head_qk_nope, n_head, n_tokens, ggml_row_size(Qcur->type, n_embd_head_k_mla),
+                                 ggml_row_size(Qcur->type, n_embd_head_k_mla) * n_head, 0);
+                cb(q_nope, "q_nope", il);
+
+                // and {n_embd_head_qk_rope, n_head, n_tokens}
+                ggml_tensor * q_pe = ggml_view_3d(
+                    ctx0, Qcur, n_embd_head_qk_rope, n_head, n_tokens, ggml_row_size(Qcur->type, n_embd_head_k_mla),
+                    ggml_row_size(Qcur->type, n_embd_head_k_mla) * n_head, ggml_row_size(Qcur->type, n_embd_head_qk_nope));
+                cb(q_pe, "q_pe", il);
+
+                // {n_embd_head_qk_nope, n_tokens, n_head}
+                q_nope = ggml_permute(ctx0, q_nope, 0, 2, 1, 3);
+                cb(q_nope, "q_nope_perm", il);
+
+                // {n_embd_head_qk_nope, kv_lora_rank, n_head} x {n_embd_head_qk_nope, n_tokens, n_head}
+                ggml_tensor * q_nope_absorbed = ggml_mul_mat(ctx0, layer.wk_b, q_nope);
+                cb(q_nope_absorbed, "q_nope_absorbed", il);
+
+                // {kv_lora_rank, n_head, n_tokens}
+                q_nope_absorbed = ggml_permute(ctx0, q_nope_absorbed, 0, 2, 1, 3);
+                cb(q_nope_absorbed, "q_nope_absorbed_perm", il);
+
+                // {n_embd_head_qk_rope + kv_lora_rank, n_head, n_tokens}
+                // note: rope must go first for in-place context shifting in build_rope_shift()
+                Qcur = ggml_concat(ctx0, q_nope_absorbed, q_pe, 0);
+                cb(Qcur, "Qcur", il);
+
+                kv_cmpr = ggml_reshape_3d(ctx0, kv_cmpr, kv_lora_rank, 1, n_tokens);
+                cb(kv_cmpr, "kv_cmpr_reshape", il);
+
+                // {n_embd_head_qk_rope + kv_lora_rank, 1, n_tokens}
+                ggml_tensor * Kcur = ggml_concat(ctx0, kv_cmpr, k_pe, 0);
+                cb(Kcur, "Kcur", il);
+
+                // {kv_lora_rank, 1, n_tokens}
+                ggml_tensor * Vcur = kv_cmpr;
+                cb(Vcur, "Vcur", il);
+
+                cur = build_attn(inp_attn_k, layer.wo, NULL, Qcur, Kcur, Vcur, nullptr, nullptr, layer.wv_b, kq_scale_mla, il);
+                cb(cur, "mla_out", il);
+            } else { // MLA KV cache disabled. Fall back to MHA KV cache.
+                Qcur = ggml_reshape_3d(ctx0, Qcur, n_embd_head_k_mla, n_head, n_tokens);
+                cb(Qcur, "mla_Q", il);
+                // KV decompression: kv = kv_b_proj(kv_c_normed)
+                ggml_tensor * kv = ggml_mul_mat(ctx0, layer.wkv_b, kv_cmpr);
+                const int64_t kv_per_head = n_embd_head_qk_nope + n_embd_head_v_mla;
+
+                // Split kv into k_nope and v
+                ggml_tensor * k_nope = ggml_view_3d(ctx0, kv, n_embd_head_qk_nope, n_head, n_tokens,
+                    ggml_row_size(kv->type, kv_per_head),
+                    ggml_row_size(kv->type, kv_per_head * n_head), 0);
+                ggml_tensor * Vcur = ggml_view_3d(ctx0, kv, n_embd_head_v_mla, n_head, n_tokens,
+                    ggml_row_size(kv->type, kv_per_head),
+                    ggml_row_size(kv->type, kv_per_head * n_head),
+                    ggml_row_size(kv->type, n_embd_head_qk_nope));
+                Vcur = ggml_cont(ctx0, Vcur);
+                cb(Vcur, "mla_V", il);
+
+                // Concatenate k_nope + k_pe (broadcast k_pe to all heads)
+                // K = [k_nope, k_pe] where k_nope is [qk_nope_head_dim, n_head, n_tokens]
+                // and k_pe is [qk_rope_head_dim, 1, n_tokens] broadcast to all heads
+                // Need to broadcast k_pe from [qk_rope, 1, n_tokens] to [qk_rope, n_head, n_tokens]
+                ggml_tensor * k_pe_target = ggml_new_tensor_3d(ctx0, k_pe->type, n_embd_head_qk_rope, n_head, n_tokens);
+                ggml_tensor * k_pe_repeated = ggml_repeat(ctx0, k_pe, k_pe_target);
+                ggml_tensor * Kcur = ggml_concat(ctx0, k_pe_repeated, k_nope, 0);
+                cb(Kcur, "mla_K", il);
+
+                // Direct softmax attention (with MHA KV cache)
+                // Use build_attn with inp_attn for proper mask handling
+                cur = build_attn(inp_attn_kv, layer.wo, NULL, Qcur, Kcur, Vcur, nullptr, nullptr, nullptr, kq_scale_mla, il);
+                cb(cur, "mla_out", il);
+            }
+        } else {
+            // Unknown layer type - this should not happen
+            GGML_ABORT("Kimi layer is neither KDA nor MLA - missing required tensors");
+        }
+
+        // On last layer, select only the output tokens
+        if (il == n_layer - 1 && inp_out_ids) {
+            cur   = ggml_get_rows(ctx0, cur,   inp_out_ids);
+            inpSA = ggml_get_rows(ctx0, inpSA, inp_out_ids);
+        }
+
+        // Residual
+        ggml_tensor * ffn_inp = ggml_add(ctx0, cur, inpSA);
+        cb(ffn_inp, "ffn_inp", il);
+
+        // FFN Norm
+        cur = build_norm(ffn_inp, layer.ffn_norm, NULL, LLM_NORM_RMS, il);
+        cb(cur, "ffn_norm", il);
+
+        if ((uint32_t) il < hparams.n_layer_dense_lead) {
+            // Dense FFN layer
+            cur = build_ffn(cur,
+                layer.ffn_up, NULL, NULL,
+                layer.ffn_gate, NULL, NULL,
+                layer.ffn_down, NULL, NULL,
+                NULL, LLM_FFN_SILU, LLM_FFN_PAR, il);
+            cb(cur, "ffn_out", il);
+        } else {
+            // MoE layer
+            // Kimi uses moe_renormalize=True and routed_scaling_factor (stored as expert_weights_scale) = 2.446
+            ggml_tensor * moe_out = build_moe_ffn(cur,
+                layer.ffn_gate_inp,
+                layer.ffn_up_exps,
+                layer.ffn_gate_exps,
+                layer.ffn_down_exps,
+                layer.ffn_exp_probs_b,
+                hparams.n_expert,
+                hparams.n_expert_used,
+                LLM_FFN_SILU, true,
+                true, hparams.expert_weights_scale,
+                (llama_expert_gating_func_type) hparams.expert_gating_func,
+                il);
+            cb(moe_out, "ffn_moe_out", il);
+
+            // Shared expert
+            {
+                ggml_tensor * ffn_shexp = build_ffn(cur,
+                        layer.ffn_up_shexp, NULL, NULL,
+                        layer.ffn_gate_shexp, NULL, NULL,
+                        layer.ffn_down_shexp, NULL, NULL,
+                        NULL, LLM_FFN_SILU, LLM_FFN_PAR, il);
+                cb(ffn_shexp, "ffn_shexp", il);
+
+                cur = ggml_add(ctx0, moe_out, ffn_shexp);
+                cb(cur, "ffn_out", il);
+            }
+        }
+        // Residual
+        cur = ggml_add(ctx0, cur, ffn_inp);
+
+        cur = build_cvec(cur, il);
+        cb(cur, "l_out", il);
+
+        inpL = cur;
+    }
+    cur = inpL;
+
+    // Final Norm
+    cur = build_norm(cur, model.output_norm, NULL, LLM_NORM_RMS, -1);
+
+    cb(cur, "result_norm", -1);
+    res->t_embd = cur;
+
+    // Output
+    cur = ggml_mul_mat(ctx0, model.output, cur);
+    cb(cur, "result_output", -1);
+    res->t_logits = cur;
+
+    ggml_build_forward_expand(gf, cur);
+}
+
+/*
+    This is a ggml implementation of the naive_chunk_kda function of
+    https://github.com/fla-org/flash-linear-attention/blob/main/fla/ops/kda/naive.py
+*/
+std::pair llm_build_kimi_linear::build_kda_chunking(
+        ggml_tensor * q,
+        ggml_tensor * k,
+        ggml_tensor * v,
+        ggml_tensor * gk,
+        ggml_tensor * beta,
+        ggml_tensor * state,
+        ggml_tensor * causal_mask,
+        ggml_tensor * identity,
+        ggml_tensor * diag_mask,
+        int           il) {
+    GGML_ASSERT(ggml_is_contiguous(state));
+
+    const int64_t S_k      = q->ne[0];
+    const int64_t H_k      = q->ne[1];
+    const int64_t n_tokens = q->ne[2];
+    const int64_t n_seqs   = q->ne[3];
+
+    const int64_t S_v = v->ne[0];
+    const int64_t H_v = v->ne[1];
+
+    GGML_ASSERT(v->ne[2] == n_tokens);
+    GGML_ASSERT(k->ne[2] == n_tokens);
+    GGML_ASSERT(gk->ne[0] == S_v && gk->ne[1] == H_v && gk->ne[2] == n_tokens && gk->ne[3] == n_seqs);
+    GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs);
+    GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v && state->ne[2] == H_v && state->ne[3] == n_seqs);
+
+    GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs);
+    GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs);
+
+    GGML_ASSERT(H_k == H_v);  // we did a repeat to make sure this is the case
+
+    // TODO: can this ever be false?
+    const bool use_qk_l2norm = true;
+
+    if (use_qk_l2norm) {
+        const float eps_norm = hparams.f_norm_rms_eps;
+
+        q = ggml_l2_norm(ctx0, q, eps_norm);
+        k = ggml_l2_norm(ctx0, k, eps_norm);
+    }
+
+    const float scale = 1.0f / sqrtf(S_v);
+
+    beta = ggml_sigmoid(ctx0, beta);
+
+    cb(q, "q_in", il);
+    cb(k, "k_in", il);
+    cb(v, "v_in", il);
+    cb(beta, "beta_in", il);
+    cb(gk, "gk_in", il);
+
+    q = ggml_cont_4d(ctx0, ggml_permute(ctx0, q, 0, 2, 1, 3), S_k, n_tokens, H_k, n_seqs);
+    k = ggml_cont_4d(ctx0, ggml_permute(ctx0, k, 0, 2, 1, 3), S_k, n_tokens, H_k, n_seqs);
+    v = ggml_cont_4d(ctx0, ggml_permute(ctx0, v, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs);
+    gk = ggml_cont_4d(ctx0, ggml_permute(ctx0, gk, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs);
+
+    beta  = ggml_cont(ctx0, ggml_permute(ctx0, beta, 2, 0, 1, 3));
+    state = ggml_reshape_4d(ctx0, state, S_v, S_v, H_v, n_seqs);
+
+    cb(q, "q_perm", il);
+    cb(k, "k_perm", il);
+    cb(v, "v_perm", il);
+    cb(beta, "beta_perm", il);
+    cb(gk, "gk_perm", il);
+    cb(state, "state_in", il);
+
+    GGML_ASSERT(q->ne[1] == n_tokens && q->ne[0] == S_k && q->ne[2] == H_k && q->ne[3] == n_seqs);
+    GGML_ASSERT(k->ne[1] == n_tokens && k->ne[0] == S_k && k->ne[2] == H_k && k->ne[3] == n_seqs);
+    GGML_ASSERT(v->ne[1] == n_tokens && v->ne[0] == S_v && v->ne[2] == H_k && v->ne[3] == n_seqs);
+    GGML_ASSERT(beta->ne[1] == n_tokens && beta->ne[2] == H_k && beta->ne[0] == 1 && beta->ne[3] == n_seqs);
+
+    // Do padding
+    const int64_t chunk_size = CHUNK_SIZE;
+
+    const int64_t pad = (chunk_size - n_tokens % chunk_size) % chunk_size;
+    const int64_t n_chunks = (n_tokens + pad) / chunk_size;
+
+    q = ggml_pad(ctx0, q, 0, pad, 0, 0);
+    k = ggml_pad(ctx0, k, 0, pad, 0, 0);
+    v = ggml_pad(ctx0, v, 0, pad, 0, 0);
+    gk = ggml_pad(ctx0, gk, 0, pad, 0, 0);
+    beta = ggml_pad(ctx0, beta, 0, pad, 0, 0);
+
+    cb(q, "q_pad", il);
+    cb(k, "k_pad", il);
+    cb(v, "v_pad", il);
+    cb(beta, "beta_pad", il);
+    cb(gk, "gk_pad", il);
+
+    ggml_tensor * v_beta = ggml_mul(ctx0, v, beta);
+    ggml_tensor * k_beta = ggml_mul(ctx0, k, beta);
+
+    cb(v_beta, "v_beta", il);
+    cb(k_beta, "k_beta", il);
+
+    const int64_t HB = H_k * n_seqs;
+
+    q      = ggml_cont_4d(ctx0, q,      S_k, chunk_size, n_chunks, HB);
+    k      = ggml_cont_4d(ctx0, k,      S_k, chunk_size, n_chunks, HB);
+    k_beta = ggml_cont_4d(ctx0, k_beta, S_k, chunk_size, n_chunks, HB);
+    v      = ggml_cont_4d(ctx0, v,      S_v, chunk_size, n_chunks, HB);
+    v_beta = ggml_cont_4d(ctx0, v_beta, S_v, chunk_size, n_chunks, HB);
+
+    gk    = ggml_cont_4d(ctx0, gk, S_k, chunk_size, n_chunks, HB);
+    beta = ggml_cont_4d(ctx0, beta, 1, chunk_size, n_chunks, HB);
+
+    // switch for cumsum
+    gk = ggml_cont_4d(ctx0, ggml_permute(ctx0, gk, 1, 0, 2, 3), chunk_size, S_k, n_chunks, HB);
+    cb(gk, "gk", il);
+    ggml_tensor * gk_cumsum = ggml_cumsum(ctx0, gk);
+    cb(gk_cumsum, "gk_cumsum", il);
+
+/*
+    Compute Akk and Aqk loop together
+    Akk loop:
+    for i in range(BT):
+        k_i = k[..., i, :] # k_i [B,H,NT,S]
+        g_i = g[..., i:i+1, :] # g_i [B,H,NT,1,S]
+        A[..., i] = torch.einsum('... c d, ... d -> ... c', k * (g - g_i).exp(), k_i)
+    Aqk loop:
+    for j in range(BT):
+        k_j = k[:, :, i, j]
+        g_j = g[:, :, i, j:j+1, :]
+        A[..., j] = torch.einsum('... c d, ... d -> ... c', q_i * (g_i - g_j).exp(), k_j)
+*/
+    const int64_t CHB = n_chunks * H_k * n_seqs;
+    ggml_tensor * gkcs_i = ggml_reshape_4d(ctx0, gk_cumsum, chunk_size, 1, S_k, CHB);  // [chunk_size, 1, S_k, CHB]
+    ggml_tensor * gkcs_j = ggml_reshape_4d(ctx0, gkcs_i, 1, chunk_size, S_k, CHB);  // [1, chunk_size, S_k, CHB]
+
+    ggml_tensor * gkcs_j_bc = ggml_repeat_4d(ctx0, gkcs_j, chunk_size, chunk_size, S_k, CHB);  // [1, chunk_size, S_k, CHB] -> [chunk_size, chunk_size, S_k, CHB]
+    // decay_mask [chunk_size,chunk_size,S_k,CHB]
+    ggml_tensor * decay_mask = ggml_sub(ctx0, gkcs_j_bc, gkcs_i);
+    cb(decay_mask, "decay_mask", il);
+
+    decay_mask = ggml_mul(ctx0, decay_mask, diag_mask);
+    cb(decay_mask, "decay_masked", il);
+    decay_mask = ggml_exp(ctx0, decay_mask);
+    decay_mask = ggml_mul(ctx0, decay_mask, diag_mask);
+
+    // decay_mask [S_k,BT_j,BT_i,CHB] *Note* second and third chunk_sizes are switched
+    decay_mask = ggml_cont_4d(ctx0, ggml_permute(ctx0, decay_mask, 2, 1, 0, 3), S_k, chunk_size, chunk_size, CHB);
+
+    ggml_tensor * k_i = ggml_reshape_4d(ctx0, k, S_k, chunk_size, 1, CHB);
+    ggml_tensor * k_j = ggml_reshape_4d(ctx0, k, S_k, 1, chunk_size, CHB);
+    ggml_tensor * q_i = ggml_reshape_4d(ctx0, q, S_k, chunk_size, 1, CHB);
+
+    ggml_tensor * decay_k_i = ggml_mul(ctx0, decay_mask, k_i);
+    ggml_tensor * decay_q_i = ggml_mul(ctx0, decay_mask, q_i);
+
+    // decay_k_i [S.BT,BT,CHB] @ k_j [S,1,BT,CHB] = Akk [BT,1,BT,CHB]
+    ggml_tensor * Akk = ggml_mul_mat(ctx0, decay_k_i, k_j);
+    ggml_tensor * Aqk = ggml_mul_mat(ctx0, decay_q_i, k_j);
+    Akk = ggml_cont(ctx0, ggml_transpose(ctx0, ggml_reshape_4d(ctx0, Akk, chunk_size, chunk_size, n_chunks, HB)));
+    Aqk = ggml_cont(ctx0, ggml_transpose(ctx0, ggml_reshape_4d(ctx0, Aqk, chunk_size, chunk_size, n_chunks, HB)));
+    cb(Akk, "Akk", il);
+    cb(Aqk, "Aqk", il);
+
+    Akk = ggml_mul(ctx0, Akk, beta);
+    Akk = ggml_neg(ctx0, ggml_mul(ctx0, Akk, causal_mask));
+    cb(Akk, "attn_pre_solve", il);
+
+    Aqk = ggml_mul(ctx0, Aqk, diag_mask);
+    Aqk = ggml_scale(ctx0, Aqk, scale); // scale q
+    cb(Aqk, "Aqk_masked", il);
+
+    // for i in range(1, chunk_size):
+    //          row = attn[..., i, :i].clone()
+    //          sub = attn[..., :i, :i].clone()
+    //          attn[..., i, :i] = row + (row.unsqueeze(-1) * sub).sum(-2)
+    // attn = attn + torch.eye(chunk_size, dtype=attn.dtype, device=attn.device)
+    //
+    // We reduce this to a linear triangular solve: AX = B, where B = attn, A = I - tril(A)
+    ggml_tensor * attn_lower = ggml_mul(ctx0, Akk, causal_mask);
+    ggml_tensor * lhs        = ggml_sub(ctx0, ggml_repeat(ctx0, identity, attn_lower), attn_lower);
+
+    ggml_tensor * lin_solve  = ggml_solve_tri(ctx0, lhs, Akk, true, true, false);
+    Akk                      = ggml_mul(ctx0, lin_solve, causal_mask);
+    Akk                      = ggml_add(ctx0, Akk, identity);
+
+    cb(Akk, "attn_solved", il);
+
+    // switch back for downstream
+    gk_cumsum = ggml_cont_4d(ctx0, ggml_permute(ctx0, gk_cumsum, 1, 0, 2, 3), S_k, chunk_size, n_chunks, HB);
+    ggml_tensor * gkexp      = ggml_exp(ctx0, gk_cumsum);
+    cb(gk_cumsum, "gk_cumsum", il);
+
+    // u = (A*beta[..., None, :]) @ v  aka U_[t]
+    ggml_tensor * vb = ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_beta)), Akk);
+
+    ggml_tensor * kbeta_gkexp = ggml_mul(ctx0, k_beta, gkexp);
+    cb(kbeta_gkexp, "kbeta_gkexp", il);
+
+    ggml_tensor * k_cumdecay = ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, kbeta_gkexp)), Akk);
+    cb(k_cumdecay, "k_cumdecay", il);
+
+    ggml_tensor * core_attn_out = nullptr;
+    ggml_tensor * new_state = ggml_dup(ctx0, state);
+
+    cb(new_state, "new_state", il);
+
+    for (int64_t chunk = 0; chunk < n_chunks; chunk++) {
+// extract one chunk worth of data
+        auto chunkify = [=](ggml_tensor * t) {
+                    return ggml_cont(ctx0, ggml_view_4d(ctx0, t, t->ne[0], chunk_size, 1, t->ne[3],
+                t->nb[1], t->nb[2], t->nb[3], t->nb[2] * chunk));
+        };
+        auto chunkify_A = [=](ggml_tensor * t) {
+                    return ggml_cont(ctx0, ggml_view_4d(ctx0, t, chunk_size, chunk_size, 1, t->ne[3],
+                t->nb[1], t->nb[2], t->nb[3], t->nb[2] * chunk));
+        };
+
+
+// k [S,BT,NT,H*B] => k_chunk [S,BT,1,H*B]
+        ggml_tensor * k_chunk = chunkify(k);
+        ggml_tensor * q_chunk = chunkify(q);
+        ggml_tensor * vb_chunk = chunkify(vb);
+
+// gk_cumsum [S,BT,NT,H*B] => gk_cs_chunk [S,BT,1,H*B]
+        ggml_tensor * gk_cs_chunk = chunkify(gk_cumsum);
+        ggml_tensor * k_cumdecay_chunk = chunkify(k_cumdecay);
+        ggml_tensor * gkexp_chunk = ggml_exp(ctx0, gk_cs_chunk);
+        ggml_tensor * Aqk_chunk = chunkify_A(Aqk);
+
+        ggml_tensor * state_t = ggml_cont_4d(ctx0, ggml_permute(ctx0, new_state, 1, 0, 2, 3), S_v, S_v, 1, H_v * n_seqs);
+
+        // new_state [S,S,1,H*B] k_cumdecay_chunk [S,BT,1,H*B]
+        // v_prime = (k_cumdecay[:, :, i]) @ last_recurrent_state or W_[t] @ S_[t]
+        ggml_tensor * v_prime = ggml_mul_mat(ctx0, state_t, k_cumdecay_chunk);
+
+        // v_new = v_i - v_prime or U_[t] - W_[t]*S_[t]
+        ggml_tensor * v_new = ggml_sub(ctx0, ggml_repeat(ctx0, vb_chunk, v_prime), v_prime);
+        ggml_tensor * v_new_t = ggml_cont(ctx0, ggml_transpose(ctx0, v_new));
+
+        // q_chunk [S,BT,1,H*B] gkexp_chunk [S,BT,1,H*B]
+        // attn_inter = (q_i * g[:, :, i, :, None].exp()) @ last_recurrent_state
+        // or Gamma_[t]*Q_]t] @ S
+        ggml_tensor * q_gk_exp   = ggml_mul(ctx0, q_chunk, gkexp_chunk);
+        ggml_tensor * attn_inter = ggml_mul_mat(ctx0, state_t, q_gk_exp);
+        attn_inter = ggml_scale(ctx0, attn_inter, scale); // scale q
+
+        // v_new_t [S,BT,1,H*B] Aqk [BT,BT,1,H*B]
+        // core_attn_out[:, :, i] = attn_inter + attn @ v_new or A' @ (U_[t] - W_[t]*S_[t])
+        ggml_tensor * v_attn = ggml_mul_mat(ctx0, v_new_t, Aqk_chunk);
+
+        // o[:, :, i] = (q_i * g_i.exp()) @ S + A @ v_i
+        ggml_tensor * core_attn_out_chunk = ggml_add(ctx0, attn_inter, v_attn);
+
+        core_attn_out = core_attn_out == nullptr ? core_attn_out_chunk : ggml_concat(ctx0, core_attn_out, core_attn_out_chunk, 1);
+
+        ggml_tensor * gk_cum_last =
+            ggml_cont(ctx0, ggml_view_4d(ctx0, gk_cs_chunk, gk_cs_chunk->ne[0], 1, gk_cs_chunk->ne[2], gk_cs_chunk->ne[3],
+                                        gk_cs_chunk->nb[1], gk_cs_chunk->nb[2], gk_cs_chunk->nb[3],
+                                        gk_cs_chunk->nb[1] * (gk_cs_chunk->ne[1] - 1)));
+
+        ggml_tensor * gkexp_last = ggml_exp(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, gk_cum_last)));
+
+        ggml_tensor * gk_diff = ggml_neg(ctx0, ggml_sub(ctx0, gk_cs_chunk, gk_cum_last));
+
+        ggml_tensor * gk_diff_exp = ggml_exp(ctx0, gk_diff);
+
+        ggml_tensor * key_gkdiff = ggml_mul(ctx0, k_chunk, gk_diff_exp);
+
+        // rearrange((g_i[:,:,-1:] - g_i).exp()*k_i, 'b h c k -> b h k c') @ (U_[t] - W_[t] @ S)
+        ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, v_new_t, ggml_cont(ctx0, ggml_transpose(ctx0, key_gkdiff)));
+
+        new_state = ggml_add(ctx0,
+            ggml_mul(ctx0, new_state, ggml_reshape_4d(ctx0, gkexp_last, gkexp_last->ne[0], gkexp_last->ne[1], H_v, n_seqs)),
+            ggml_reshape_4d(ctx0, kgdmulvnew, kgdmulvnew->ne[0], kgdmulvnew->ne[1], H_v, n_seqs));
+    }
+
+    core_attn_out = ggml_cont_4d(ctx0, core_attn_out, S_v, chunk_size * n_chunks, H_v, n_seqs);
+
+    // truncate padded tokens
+    ggml_tensor * output_tokens = ggml_view_4d(ctx0, core_attn_out,
+            S_v, n_tokens, H_v, n_seqs,
+            ggml_row_size(core_attn_out->type, S_v),
+            ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks),
+            ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks * H_v), 0);
+    output_tokens = ggml_cont(ctx0, output_tokens);
+    // permute back to (S_v, H_v, n_tokens, n_seqs)
+    output_tokens = ggml_permute(ctx0, output_tokens, 0, 2, 1, 3);
+    output_tokens = ggml_cont(ctx0, output_tokens);
+
+    cb(new_state, "output_state", il);
+
+    return {output_tokens, new_state};
+}
+
+std::pair llm_build_kimi_linear::build_kda_autoregressive(
+    ggml_tensor * q,
+    ggml_tensor * k,
+    ggml_tensor * v,
+    ggml_tensor * gk,
+    ggml_tensor * beta,
+    ggml_tensor * state,
+    int il) {
+    GGML_ASSERT(ggml_is_contiguous(v));
+    GGML_ASSERT(ggml_is_contiguous(gk));
+
+    const int64_t S_k      = q->ne[0];
+    const int64_t H_k      = q->ne[1];
+    const int64_t n_tokens = q->ne[2];
+    const int64_t n_seqs   = q->ne[3];
+
+    const int64_t S_v = v->ne[0];
+    const int64_t H_v = v->ne[1];
+
+    GGML_ASSERT(n_tokens == 1);
+    GGML_ASSERT(v->ne[2] == n_tokens);
+    GGML_ASSERT(k->ne[2] == n_tokens);
+    GGML_ASSERT(gk->ne[0] == S_k && gk->ne[1] == H_k && gk->ne[2] == n_tokens && gk->ne[3] == n_seqs);
+    GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs);
+    GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_k && state->ne[2] == H_v && state->ne[3] == n_seqs);
+
+    GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs);
+    GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs);
+
+    GGML_ASSERT(H_k == H_v);  // we did a repeat to make sure this is the case
+
+    const float eps_norm = hparams.f_norm_rms_eps;
+
+    q = ggml_l2_norm(ctx0, q, eps_norm);
+    k = ggml_l2_norm(ctx0, k, eps_norm);
+
+    const float scale = 1.0f / sqrtf(S_v);
+
+    q    = ggml_scale(ctx0, q, scale);
+    beta = ggml_sigmoid(ctx0, beta);
+
+    cb(q, "q_in", il);
+    cb(k, "k_in", il);
+    cb(v, "v_in", il);
+    cb(beta, "beta_in", il);
+    cb(gk, "gk_in", il);
+
+// g [H,1,B,1] g_t [1,H,B,1] => [1,1,H,B]
+// gk [S,H,1,B] => [S,1,H,B] gk_t [1,S,H,B]
+// beta [H,1,1,B] beta_t [1,H,1,B] => [1,1,H,B]
+    gk = ggml_reshape_4d(ctx0, gk, S_k, 1, H_k, n_seqs);
+    ggml_tensor * gk_t = ggml_cont(ctx0, ggml_transpose(ctx0, gk));
+    ggml_tensor * beta_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, beta), 1, 1, H_k, n_seqs);
+
+    // Apply exponential to gk_t
+    gk_t = ggml_exp(ctx0, gk_t);
+    // Apply the gated delta rule for the single timestep
+    // last_recurrent_state = last_recurrent_state * gk_t
+    // S = S * g_i[..., None].exp()
+    state = ggml_mul(ctx0, state, gk_t);
+
+    ggml_tensor * state_t = ggml_cont(ctx0, ggml_transpose(ctx0, state));
+
+// state [S,S,H,B] k [S,1,H,B] k_state [S_v,1,H,B]
+    k = ggml_reshape_4d(ctx0, k, S_k, 1, H_k, n_seqs);
+    ggml_tensor * k_state = ggml_mul_mat(ctx0, state_t, k);
+
+    // v_i - (k_i[..., None] * S).sum(-2)
+    v = ggml_reshape_4d(ctx0, v, S_v, 1, H_v, n_seqs);
+    ggml_tensor * v_diff = ggml_sub(ctx0, v, k_state);
+
+    // b_i[..., None] * k_i
+    ggml_tensor * k_beta = ggml_mul(ctx0, k, beta_t);
+
+    // S = S + torch.einsum('b h k, b h v -> b h k v', b_i[..., None] * k_i, v_i - (k_i[..., None] * S).sum(-2))
+    // v_diff_t [1,S_v,H,B] k_beta_t [1,S_k,H,B] state [S_v,S_k,H,B]
+    state = ggml_add(ctx0, state, ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_diff)), ggml_cont(ctx0, ggml_transpose(ctx0, k_beta))));
+
+    q = ggml_reshape_4d(ctx0, q, S_k, 1, H_k, n_seqs);
+    state_t = ggml_cont(ctx0, ggml_transpose(ctx0, state));
+    ggml_tensor * core_attn_out = ggml_mul_mat(ctx0, state_t, q);
+    // core_attn_out should be [S_v, 1, H_v, n_seqs] after this
+    cb(core_attn_out, "output_tokens", il);
+    cb(state, "new_state", il);
+
+    return {core_attn_out, state};
+}
+
diff --git a/src/models/models.h b/src/models/models.h
index 3a44f7f140..71c1fe8108 100644
--- a/src/models/models.h
+++ b/src/models/models.h
@@ -288,6 +288,33 @@ struct llm_build_jamba : public llm_graph_context_mamba {
     llm_build_jamba(const llama_model & model, const llm_graph_params & params);
 };
 
+struct llm_build_kimi_linear : public llm_graph_context_mamba {
+    llm_build_kimi_linear(const llama_model & model, const llm_graph_params & params);
+
+    std::pair build_kda_autoregressive(
+                ggml_tensor * q,
+                ggml_tensor * k,
+                ggml_tensor * v,
+                ggml_tensor * gk,
+                ggml_tensor * beta,
+                ggml_tensor * state,
+                        int   il);
+
+    std::pair build_kda_chunking(
+                ggml_tensor * q,
+                ggml_tensor * k,
+                ggml_tensor * v,
+                ggml_tensor * gk,
+                ggml_tensor * beta,
+                ggml_tensor * state,
+                ggml_tensor * causal_mask,
+                ggml_tensor * identity,
+                ggml_tensor * diag_mask,
+                        int   il);
+
+    const llama_model & model;
+};
+
 struct llm_build_lfm2 : public llm_graph_context {
     const llama_model & model;
 

From 06bf3796f48ddd88d984218acee306ccb8638a3e Mon Sep 17 00:00:00 2001
From: Lasse Lauwerys <65569591+Iemand005@users.noreply.github.com>
Date: Fri, 6 Feb 2026 14:56:13 +0100
Subject: [PATCH 142/206] unicode : MSVC regex fix (#19340)

* Fix model loading regex error

* Change comments

* Use const_iterator and remove specializations

---------

Co-authored-by: Alde Rojas 
---
 src/unicode.cpp | 49 +++++++++++++------------------------------------
 1 file changed, 13 insertions(+), 36 deletions(-)

diff --git a/src/unicode.cpp b/src/unicode.cpp
index b47dcbe619..adfc489d1f 100644
--- a/src/unicode.cpp
+++ b/src/unicode.cpp
@@ -497,49 +497,26 @@ static std::vector unicode_regex_split_custom_llama3(const std::string &
     return bpe_offsets;
 }
 
-// use std::wregex to split the text
-static std::vector unicode_regex_split_stl(const std::wstring & wtext, const std::wstring & regex_expr, const std::vector & offsets) {
-    std::wregex expr(regex_expr, std::regex_constants::optimize | std::regex_constants::nosubs);
+template 
+static std::vector unicode_regex_split_stl(const std::basic_string & text, const std::basic_string & regex, const std::vector & offsets) {
+    using BidirIt = typename std::basic_string::const_iterator;
+#ifdef _MSC_VER
+    // Bypass bug in MSVC: https://github.com/ggml-org/llama.cpp/issues/17830
+    constexpr auto regex_flags = std::regex_constants::ECMAScript;
+#else
+    constexpr auto regex_flags = std::regex_constants::optimize | std::regex_constants::nosubs;
+#endif
+    std::basic_regex expr(regex, regex_flags);
     std::vector bpe_offsets; // store the offset of each word
     bpe_offsets.reserve(offsets.size()); // Reserve memory for the approximate size
     size_t start = 0;
     for (auto offset : offsets) {
-        std::wcregex_iterator it(wtext.data() + start, wtext.data() + start + offset, expr);
-        std::wcregex_iterator end;
+        std::regex_iterator it(text.begin() + start, text.begin() + start + offset, expr);
+        std::regex_iterator end;
 
         int64_t start_idx = 0;
         while (it != end) {
-            std::wcmatch match = *it;
-            if (match.position() > start_idx) {
-                bpe_offsets.emplace_back(match.position() - start_idx);
-            }
-            bpe_offsets.emplace_back(match.length());
-            start_idx = match.position() + match.length();
-            ++it;
-        }
-
-        if (start_idx < (int64_t) offset) {
-            bpe_offsets.emplace_back(offset - start_idx);
-        }
-        start += offset;
-    }
-
-    return bpe_offsets;
-}
-
-// use std::regex to split the text
-static std::vector unicode_regex_split_stl(const std::string & text, const std::string & regex_expr, const std::vector & offsets) {
-    std::regex expr(regex_expr, std::regex_constants::optimize | std::regex_constants::nosubs);
-    std::vector bpe_offsets; // store the offset of each word
-    bpe_offsets.reserve(offsets.size()); // Reserve memory for the approximate size
-    size_t start = 0;
-    for (auto offset : offsets) {
-        std::cregex_iterator it(text.data() + start, text.data() + start + offset, expr);
-        std::cregex_iterator end;
-
-        int64_t start_idx = 0;
-        while (it != end) {
-            std::cmatch match = *it;
+            std::match_results match = *it;
             if (match.position() > start_idx) {
                 bpe_offsets.emplace_back(match.position() - start_idx);
             }

From dfde5993eaed8c2e7b609ab21f7e24d137d40b79 Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Fri, 6 Feb 2026 16:47:22 +0200
Subject: [PATCH 143/206] common : add common_speculative_is_compat() (#19270)

* llama : add llama_memory_can_rm_suffix()

* Revert "llama : add llama_memory_can_rm_suffix()"

This reverts commit d30e59b62a15ef4266a6503e3f4eba770aec001b.

* spec : check if the target context is compatible for spec decoding
---
 common/speculative.cpp          | 36 +++++++++++++++++++++++++++++++++
 common/speculative.h            |  4 ++++
 tools/server/server-context.cpp |  7 ++++++-
 3 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/common/speculative.cpp b/common/speculative.cpp
index c99b19dbfd..84d2556ceb 100644
--- a/common/speculative.cpp
+++ b/common/speculative.cpp
@@ -805,6 +805,42 @@ enum common_speculative_type common_speculative_type_from_name(const std::string
     return it->second;
 }
 
+bool common_speculative_is_compat(llama_context * ctx_tgt) {
+    auto * mem = llama_get_memory(ctx_tgt);
+    if (mem == nullptr) {
+        return false;
+    }
+
+    bool res = true;
+
+    llama_memory_clear(mem, true);
+
+    // eval 2 tokens to check if the context is compatible
+    std::vector tmp;
+    tmp.push_back(0);
+    tmp.push_back(0);
+
+    int ret = llama_decode(ctx_tgt, llama_batch_get_one(tmp.data(), tmp.size()));
+    if (ret != 0) {
+        LOG_ERR("%s: llama_decode() failed: %d\n", __func__, ret);
+        res = false;
+        goto done;
+    }
+
+    // try to remove the last tokens
+    if (!llama_memory_seq_rm(mem, 0, 1, -1)) {
+        LOG_WRN("%s: the target context does not support partial sequence removal\n", __func__);
+        res = false;
+        goto done;
+    }
+
+done:
+    llama_memory_clear(mem, true);
+    llama_synchronize(ctx_tgt);
+
+    return res;
+}
+
 // initialization of the speculative decoding system
 //
 common_speculative * common_speculative_init(
diff --git a/common/speculative.h b/common/speculative.h
index 76fe6bb7bc..876cde3d18 100644
--- a/common/speculative.h
+++ b/common/speculative.h
@@ -14,6 +14,10 @@ enum common_speculative_type common_speculative_type_from_name(const std::string
 // convert type to string
 std::string common_speculative_type_to_str(enum common_speculative_type type);
 
+// check if the llama_context is compatible for speculative decoding
+// note: clears the memory of the context
+bool common_speculative_is_compat(llama_context * ctx_tgt);
+
 common_speculative * common_speculative_init(
         common_params_speculative & params,
         llama_context             * ctx_tgt);
diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp
index 7f9c3c566b..b71d496eeb 100644
--- a/tools/server/server-context.cpp
+++ b/tools/server/server-context.cpp
@@ -740,6 +740,11 @@ private:
 
         slots.clear();
 
+        const bool can_spec = common_speculative_is_compat(ctx);
+        if (!can_spec) {
+            SRV_WRN("%s", "speculative decoding not supported by this context\n");
+        }
+
         // initialize slots
         for (int i = 0; i < params_base.n_parallel; i++) {
             server_slot slot;
@@ -752,7 +757,7 @@ private:
             slot.prompt.tokens.has_mtmd = mctx != nullptr;
 
             // try speculative decoding
-            {
+            if (can_spec) {
                 slot.spec = common_speculative_init(params_base.speculative, slot.ctx);
                 if (slot.spec) {
                     if (mctx) {

From db6adb3c88a96845b7d6863f451a54484a9f5a7e Mon Sep 17 00:00:00 2001
From: Jeff Bolz 
Date: Fri, 6 Feb 2026 08:50:30 -0600
Subject: [PATCH 144/206] tests: reduce number of FA test permutations (#19381)

Only test non-F16 for head size 64 and 72 (one a multiple of QK, one not).
---
 tests/test-backend-ops.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp
index fbe23037cc..6fe1780f3b 100644
--- a/tests/test-backend-ops.cpp
+++ b/tests/test-backend-ops.cpp
@@ -8231,6 +8231,7 @@ static std::vector> make_test_cases_eval() {
                                                 for (ggml_prec prec : {GGML_PREC_F32, GGML_PREC_DEFAULT}) {
                                                     if (hsk != 128 && prec == GGML_PREC_DEFAULT) continue;
                                                     for (ggml_type type_KV : {GGML_TYPE_F32, GGML_TYPE_F16, GGML_TYPE_BF16, GGML_TYPE_Q8_0, GGML_TYPE_Q4_0}) {
+                                                        if (type_KV != GGML_TYPE_F16 && hsk != 64 && hsk != 72) continue;
                                                         test_cases.emplace_back(new test_flash_attn_ext(
                                                                     hsk, hsv, nh, {nr2, nr3}, kv, nb, mask, sinks, max_bias, logit_softcap, prec, type_KV));
                                                         // run fewer test cases permuted

From 537eadb1b9e664aa23bf19f7215c1876fc8e5fb9 Mon Sep 17 00:00:00 2001
From: Nechama Krashinski 
Date: Fri, 6 Feb 2026 17:13:44 +0200
Subject: [PATCH 145/206] sycl: add F16 support for GGML_OP_CEIL (#19306)

* Fix SYCL CEIL operator

* sycl: implement GGML_OP_CEIL
---
 docs/ops.md                         |  2 +-
 docs/ops/SYCL.csv                   |  8 ++++----
 ggml/src/ggml-sycl/element_wise.cpp | 13 +++----------
 ggml/src/ggml-sycl/ggml-sycl.cpp    |  2 +-
 4 files changed, 9 insertions(+), 16 deletions(-)

diff --git a/docs/ops.md b/docs/ops.md
index ef1ebff8b0..5754b0a96c 100644
--- a/docs/ops.md
+++ b/docs/ops.md
@@ -22,7 +22,7 @@ Legend:
 |                           ARANGE | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
 |                           ARGMAX | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
 |                          ARGSORT | ❌ | ✅ | ✅ | ✅ | ✅ | 🟡 | 🟡 | ✅ | ✅ | ❌ | ❌ |
-|                             CEIL | ❌ | ❌ | ✅ | 🟡 | ❌ | ❌ | 🟡 | 🟡 | ✅ | ❌ | ❌ |
+|                             CEIL | ❌ | ❌ | ✅ | 🟡 | ❌ | ❌ | ✅ | 🟡 | ✅ | ❌ | ❌ |
 |                            CLAMP | ❌ | ✅ | ✅ | ✅ | 🟡 | 🟡 | ✅ | 🟡 | ✅ | ❌ | ❌ |
 |                           CONCAT | ❌ | ✅ | ✅ | 🟡 | ✅ | 🟡 | ✅ | ✅ | ❌ | ❌ | ❌ |
 |                             CONT | ❌ | 🟡 | ✅ | ✅ | ✅ | 🟡 | 🟡 | ✅ | 🟡 | ❌ | ❌ |
diff --git a/docs/ops/SYCL.csv b/docs/ops/SYCL.csv
index 2aa51304b3..c1622cc6f0 100644
--- a/docs/ops/SYCL.csv
+++ b/docs/ops/SYCL.csv
@@ -77,8 +77,8 @@
 "SYCL0","GELU_ERF","type=f16,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL"
 "SYCL0","FLOOR","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","SYCL"
 "SYCL0","FLOOR","type=f16,ne_a=[5,7,11,13],v=1","support","0","no","SYCL"
-"SYCL0","CEIL","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","SYCL"
-"SYCL0","CEIL","type=f16,ne_a=[5,7,11,13],v=1","support","0","no","SYCL"
+"SYCL0","CEIL","type=f16,ne_a=[128,2,2,2],v=1","support","1","yes","SYCL"
+"SYCL0","CEIL","type=f16,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL"
 "SYCL0","ROUND","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","SYCL"
 "SYCL0","ROUND","type=f16,ne_a=[5,7,11,13],v=1","support","0","no","SYCL"
 "SYCL0","TRUNC","type=f16,ne_a=[128,2,2,2],v=1","support","0","no","SYCL"
@@ -161,8 +161,8 @@
 "SYCL0","GELU_ERF","type=f32,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL"
 "SYCL0","FLOOR","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","SYCL"
 "SYCL0","FLOOR","type=f32,ne_a=[5,7,11,13],v=1","support","0","no","SYCL"
-"SYCL0","CEIL","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","SYCL"
-"SYCL0","CEIL","type=f32,ne_a=[5,7,11,13],v=1","support","0","no","SYCL"
+"SYCL0","CEIL","type=f32,ne_a=[128,2,2,2],v=1","support","1","yes","SYCL"
+"SYCL0","CEIL","type=f32,ne_a=[5,7,11,13],v=1","support","1","yes","SYCL"
 "SYCL0","ROUND","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","SYCL"
 "SYCL0","ROUND","type=f32,ne_a=[5,7,11,13],v=1","support","0","no","SYCL"
 "SYCL0","TRUNC","type=f32,ne_a=[128,2,2,2],v=1","support","0","no","SYCL"
diff --git a/ggml/src/ggml-sycl/element_wise.cpp b/ggml/src/ggml-sycl/element_wise.cpp
index 651b875b63..00d54b83f8 100644
--- a/ggml/src/ggml-sycl/element_wise.cpp
+++ b/ggml/src/ggml-sycl/element_wise.cpp
@@ -836,16 +836,9 @@ static inline void ggml_sycl_op_floor(ggml_backend_sycl_context & ctx, ggml_tens
 }
 
 static inline void ggml_sycl_op_ceil(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
-    ggml_sycl_detail::dispatch_ggml_sycl_op_unary(ctx, dst,
-        [](const auto* src, auto* dst_ptr, int k_elements, queue_ptr stream) {
-            const int num_blocks = ceil_div(k_elements, 256);
-            stream->parallel_for(
-                sycl::nd_range<1>(sycl::range<1>(num_blocks) * sycl::range<1>(256),
-                                  sycl::range<1>(256)),
-                [=](sycl::nd_item<1> item_ct1) {
-                    unary_op_ceil_kernel(src, dst_ptr, k_elements, item_ct1);
-                });
-        });
+    ggml_sycl_detail::ggml_sycl_op_unary(ctx, dst, [](auto x) {
+        return op_ceil(x);
+    });
 }
 
 static inline void ggml_sycl_op_round(ggml_backend_sycl_context & ctx, ggml_tensor * dst) {
diff --git a/ggml/src/ggml-sycl/ggml-sycl.cpp b/ggml/src/ggml-sycl/ggml-sycl.cpp
index a03d26d7f2..0614d7e8f3 100644
--- a/ggml/src/ggml-sycl/ggml-sycl.cpp
+++ b/ggml/src/ggml-sycl/ggml-sycl.cpp
@@ -4591,9 +4591,9 @@ static bool ggml_backend_sycl_device_supports_op(ggml_backend_dev_t dev, const g
                 case GGML_UNARY_OP_EXP:
                 case GGML_UNARY_OP_SOFTPLUS:
                 case GGML_UNARY_OP_ELU:
+                case GGML_UNARY_OP_CEIL:
                     return true;
                 case GGML_UNARY_OP_FLOOR:
-                case GGML_UNARY_OP_CEIL:
                 case GGML_UNARY_OP_ROUND:
                 case GGML_UNARY_OP_TRUNC:
 #if defined (GGML_SYCL_F16)

From 7fbd36c50c1a439a485486729faf20b47a0e6d8c Mon Sep 17 00:00:00 2001
From: Abhijit Ramesh 
Date: Fri, 6 Feb 2026 10:33:30 -0800
Subject: [PATCH 146/206] ggml-webgpu: JIT compile binary operators and handle
 binding overlaps (#19310)

* ggml webgpu: port binary operators to use pre-wgsl

* Add binary.wgsl: unified shader with conditionals for all 4 ops

* Add gen_binary_shaders.cpp: build tool for using pre_wgsl preprocessor

* Remove bin_op.tmpl.wgsl and binary.wgsl (Python template)

* Update CMake to generate binary operator shaders at build time

* ggml-webgpu: migrate binary ops to JIT compilation with overlap handling

* port binary operators from AOT to pre-wgsl JIT compilation

* add src1=dst overlap handling for binary ops

* use compile-time workgroup size defines instead of runtime overrides

* ggml-webgpu: complete overlap handling for binary ops

* add support for inplace & overlap case in binding setup

* restructure conditional logic to handle all overlap cases

* ensure all buffer bindings are correctly assigned for edge cases

* ggml-webgpu: remove unused binary overlap cases

Remove src0==src1 binary overlap case that never occurs in practice.

* keep INPLACE (src0==dst), OVERLAP (src1==dst), DEFAULT

* remove unused src0==src1 and all-same variant

* refactor wgsl to eliminate duplication
---
 .../ggml-webgpu/ggml-webgpu-shader-lib.hpp    |  69 +++++++
 ggml/src/ggml-webgpu/ggml-webgpu.cpp          | 178 ++++++++---------
 .../ggml-webgpu/wgsl-shaders/bin_op.tmpl.wgsl | 188 ------------------
 ggml/src/ggml-webgpu/wgsl-shaders/binary.wgsl | 107 ++++++++++
 .../ggml-webgpu/wgsl-shaders/binary_head.tmpl |  45 -----
 5 files changed, 257 insertions(+), 330 deletions(-)
 delete mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/bin_op.tmpl.wgsl
 create mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/binary.wgsl
 delete mode 100644 ggml/src/ggml-webgpu/wgsl-shaders/binary_head.tmpl

diff --git a/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp b/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp
index 84d88e81d4..6997f6bdd3 100644
--- a/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp
+++ b/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp
@@ -465,4 +465,73 @@ inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_unary_shader(
     return result;
 }
 
+/** Binary **/
+
+struct ggml_webgpu_binary_pipeline_key {
+    int  type;
+    int  op;
+    bool inplace;
+    bool overlap;
+
+    bool operator==(const ggml_webgpu_binary_pipeline_key & other) const {
+        return type == other.type && op == other.op && inplace == other.inplace && overlap == other.overlap;
+    }
+};
+
+struct ggml_webgpu_binary_pipeline_key_hash {
+    size_t operator()(const ggml_webgpu_binary_pipeline_key & key) const {
+        size_t seed = 0;
+        ggml_webgpu_hash_combine(seed, key.type);
+        ggml_webgpu_hash_combine(seed, key.op);
+        ggml_webgpu_hash_combine(seed, key.inplace);
+        ggml_webgpu_hash_combine(seed, key.overlap);
+        return seed;
+    }
+};
+
+struct ggml_webgpu_binary_shader_lib_context {
+    ggml_webgpu_binary_pipeline_key key;
+    uint32_t                        max_wg_size;
+};
+
+inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_binary_shader(
+    pre_wgsl::Preprocessor &                      preprocessor,
+    const char *                                  shader_src,
+    const ggml_webgpu_binary_shader_lib_context & context) {
+    std::vector defines;
+    std::string              op_name = ggml_op_name((ggml_op) context.key.op);
+    std::string              variant = op_name;
+
+    defines.push_back(std::string("OP_") + op_name);
+
+    switch (context.key.type) {
+        case GGML_TYPE_F32:
+            defines.push_back("TYPE_F32");
+            variant += "_f32";
+            break;
+        case GGML_TYPE_F16:
+            defines.push_back("TYPE_F16");
+            variant += "_f16";
+            break;
+        default:
+            GGML_ABORT("Unsupported type for binary shader");
+    }
+
+    if (context.key.inplace) {
+        defines.push_back("INPLACE");
+        variant += "_inplace";
+    } else if (context.key.overlap) {
+        defines.push_back("OVERLAP");
+        variant += "_overlap";
+    }
+
+    defines.push_back(std::string("WG_SIZE=") + std::to_string(context.max_wg_size));
+    ggml_webgpu_processed_shader result;
+    result.wgsl                                      = preprocessor.preprocess(shader_src, defines);
+    result.variant                                   = variant;
+    ggml_webgpu_generic_shader_decisions * decisions = new ggml_webgpu_generic_shader_decisions();
+    decisions->wg_size                               = context.max_wg_size;
+    result.decisions                                 = decisions;
+    return result;
+}
 #endif  // GGML_WEBGPU_SHADER_LIB_HPP
diff --git a/ggml/src/ggml-webgpu/ggml-webgpu.cpp b/ggml/src/ggml-webgpu/ggml-webgpu.cpp
index 4ef50e365e..f7ceca1121 100644
--- a/ggml/src/ggml-webgpu/ggml-webgpu.cpp
+++ b/ggml/src/ggml-webgpu/ggml-webgpu.cpp
@@ -348,13 +348,12 @@ struct webgpu_context_struct {
 
     std::unordered_map
                                                   set_rows_pipelines;
-    std::map> get_rows_pipelines;                 // src_type, vectorized
+    std::map> get_rows_pipelines;  // src_type, vectorized
 
-    std::map> cpy_pipelines;                      // src_type, dst_type
-    std::map> add_pipelines;                      // type, inplace
-    std::map> sub_pipelines;                      // type, inplace
-    std::map> mul_pipelines;                      // type, inplace
-    std::map> div_pipelines;                      // type, inplace
+    std::map> cpy_pipelines;       // src_type, dst_type
+
+    std::unordered_map
+        binary_pipelines;
 
     std::map                               rms_norm_pipelines;  // inplace
     std::map>> rope_pipelines;      // type, ff, inplace
@@ -823,6 +822,28 @@ static bool ggml_webgpu_tensor_equal(ggml_tensor * a, ggml_tensor * b) {
            (ggml_webgpu_tensor_offset(a) == ggml_webgpu_tensor_offset(b));
 }
 
+// Used to determine if two tensors share the same buffer and their byte ranges overlap,
+static bool ggml_webgpu_tensor_overlap(ggml_tensor * a, ggml_tensor * b) {
+    return (ggml_webgpu_tensor_buf(a).Get() == ggml_webgpu_tensor_buf(b).Get()) &&
+           ggml_webgpu_tensor_offset(a) < (ggml_webgpu_tensor_offset(b) + ggml_nbytes(b)) &&
+           ggml_webgpu_tensor_offset(b) < (ggml_webgpu_tensor_offset(a) + ggml_nbytes(a));
+}
+
+struct binary_overlap_flags {
+    bool inplace;  // src0 == dst
+    bool overlap;  // src1 == dst
+};
+
+static binary_overlap_flags ggml_webgpu_detect_binary_overlap(ggml_tensor * src0,
+                                                              ggml_tensor * src1,
+                                                              ggml_tensor * dst) {
+    binary_overlap_flags flags = {};
+    flags.inplace              = ggml_webgpu_tensor_equal(src0, dst);
+    flags.overlap              = ggml_webgpu_tensor_overlap(src1, dst);
+
+    return flags;
+}
+
 static webgpu_command ggml_webgpu_cpy(webgpu_context & ctx, ggml_tensor * src, ggml_tensor * dst) {
     uint32_t ne = (uint32_t) ggml_nelements(dst);
 
@@ -1375,14 +1396,42 @@ static webgpu_command ggml_webgpu_unary_op(webgpu_context & ctx, ggml_tensor * s
     return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x);
 }
 
-static webgpu_command ggml_webgpu_binary_op(webgpu_context &  ctx,
-                                            ggml_tensor *     src0,
-                                            ggml_tensor *     src1,
-                                            ggml_tensor *     dst,
-                                            webgpu_pipeline & pipeline,
-                                            bool              inplace) {
+static webgpu_command ggml_webgpu_binary_op(webgpu_context & ctx,
+                                            ggml_tensor *    src0,
+                                            ggml_tensor *    src1,
+                                            ggml_tensor *    dst) {
+    binary_overlap_flags flags = ggml_webgpu_detect_binary_overlap(src0, src1, dst);
+
+    ggml_webgpu_binary_pipeline_key pipeline_key = {
+        .type    = dst->type,
+        .op      = dst->op,
+        .inplace = flags.inplace,
+        .overlap = flags.overlap,
+    };
+    ggml_webgpu_binary_shader_lib_context shader_lib_ctx = {
+        .key = pipeline_key, .max_wg_size = ctx->global_ctx->capabilities.limits.maxComputeInvocationsPerWorkgroup
+    };
+
+    webgpu_pipeline pipeline;
+    auto            it = ctx->binary_pipelines.find(pipeline_key);
+    if (it != ctx->binary_pipelines.end()) {
+        pipeline = it->second;
+    } else {
+        ggml_webgpu_processed_shader processed =
+            ggml_webgpu_preprocess_binary_shader(ctx->p, wgsl_binary, shader_lib_ctx);
+        pipeline =
+            ggml_webgpu_create_pipeline(ctx->global_ctx->device, processed.wgsl.c_str(), processed.variant.c_str());
+        pipeline.context = processed.decisions;
+        ctx->binary_pipelines.emplace(pipeline_key, pipeline);
+    }
+
+    ggml_webgpu_generic_shader_decisions decisions =
+        *static_cast(pipeline.context);
+
+    uint32_t ne = (uint32_t) ggml_nelements(dst);
+
     std::vector params = {
-        (uint32_t) ggml_nelements(dst),
+        ne,
         (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src0) / ggml_type_size(src0->type)),
         (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, src1) / ggml_type_size(src1->type)),
         (uint32_t) (ggml_webgpu_tensor_misalignment(ctx, dst) / ggml_type_size(dst->type)),
@@ -1399,24 +1448,30 @@ static webgpu_command ggml_webgpu_binary_op(webgpu_context &  ctx,
         (uint32_t) src1->ne[3],
     };
 
-    std::vector entries = {
-        { .binding = 0,
-         .buffer  = ggml_webgpu_tensor_buf(src0),
-         .offset  = ggml_webgpu_tensor_align_offset(ctx, src0),
-         .size    = ggml_webgpu_tensor_binding_size(ctx, src0) },
-        { .binding = 1,
-         .buffer  = ggml_webgpu_tensor_buf(src1),
-         .offset  = ggml_webgpu_tensor_align_offset(ctx, src1),
-         .size    = ggml_webgpu_tensor_binding_size(ctx, src1) }
-    };
-    if (!inplace) {
+    std::vector entries;
+
+    entries.push_back({
+        .binding = 0,
+        .buffer  = ggml_webgpu_tensor_buf(src0),
+        .offset  = ggml_webgpu_tensor_align_offset(ctx, src0),
+        .size    = ggml_webgpu_tensor_binding_size(ctx, src0),
+    });
+
+    entries.push_back({
+        .binding = 1,
+        .buffer  = ggml_webgpu_tensor_buf(src1),
+        .offset  = ggml_webgpu_tensor_align_offset(ctx, src1),
+        .size    = ggml_webgpu_tensor_binding_size(ctx, src1),
+    });
+
+    if (!flags.inplace && !flags.overlap) {
         entries.push_back({ .binding = 2,
                             .buffer  = ggml_webgpu_tensor_buf(dst),
                             .offset  = ggml_webgpu_tensor_align_offset(ctx, dst),
                             .size    = ggml_webgpu_tensor_binding_size(ctx, dst) });
     }
 
-    uint32_t wg_x = CEIL_DIV(ggml_nelements(dst), WEBGPU_MAX_WG_SIZE);
+    uint32_t wg_x = CEIL_DIV(ne, decisions.wg_size);
     return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x);
 }
 
@@ -2038,25 +2093,10 @@ static std::optional ggml_webgpu_encode_node(webgpu_context ctx,
             return std::nullopt;
 #endif
         case GGML_OP_ADD:
-            {
-                int inplace = ggml_webgpu_tensor_equal(src0, node);
-                return ggml_webgpu_binary_op(ctx, src0, src1, node, ctx->add_pipelines[node->type][inplace], inplace);
-            }
         case GGML_OP_SUB:
-            {
-                int inplace = ggml_webgpu_tensor_equal(src0, node);
-                return ggml_webgpu_binary_op(ctx, src0, src1, node, ctx->sub_pipelines[node->type][inplace], inplace);
-            }
         case GGML_OP_MUL:
-            {
-                int inplace = ggml_webgpu_tensor_equal(src0, node);
-                return ggml_webgpu_binary_op(ctx, src0, src1, node, ctx->mul_pipelines[node->type][inplace], inplace);
-            }
         case GGML_OP_DIV:
-            {
-                int inplace = ggml_webgpu_tensor_equal(src0, node);
-                return ggml_webgpu_binary_op(ctx, src0, src1, node, ctx->div_pipelines[node->type][inplace], inplace);
-            }
+            return ggml_webgpu_binary_op(ctx, src0, src1, node);
         case GGML_OP_RMS_NORM:
             return ggml_webgpu_rms_norm(ctx, src0, node);
         case GGML_OP_ROPE:
@@ -2665,58 +2705,6 @@ static void ggml_webgpu_init_cpy_pipeline(webgpu_context & webgpu_ctx) {
         ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_cpy_f16_f16, "cpy_f16_f16", constants);
 }
 
-static void ggml_webgpu_init_add_pipeline(webgpu_context & webgpu_ctx) {
-    std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE);
-
-    webgpu_ctx->add_pipelines[GGML_TYPE_F32][0] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_add_f32, "add_f32", constants);
-    webgpu_ctx->add_pipelines[GGML_TYPE_F16][0] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_add_f16, "add_f16", constants);
-    webgpu_ctx->add_pipelines[GGML_TYPE_F32][1] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_add_f32_inplace, "add_f32_inplace", constants);
-    webgpu_ctx->add_pipelines[GGML_TYPE_F16][1] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_add_f16_inplace, "add_f16_inplace", constants);
-}
-
-static void ggml_webgpu_init_sub_pipeline(webgpu_context & webgpu_ctx) {
-    std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE);
-
-    webgpu_ctx->sub_pipelines[GGML_TYPE_F32][0] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_sub_f32, "sub_f32", constants);
-    webgpu_ctx->sub_pipelines[GGML_TYPE_F16][0] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_sub_f16, "sub_f16", constants);
-    webgpu_ctx->sub_pipelines[GGML_TYPE_F32][1] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_sub_f32_inplace, "sub_f32_inplace", constants);
-    webgpu_ctx->sub_pipelines[GGML_TYPE_F16][1] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_sub_f16_inplace, "sub_f16_inplace", constants);
-}
-
-static void ggml_webgpu_init_mul_pipeline(webgpu_context & webgpu_ctx) {
-    std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE);
-
-    webgpu_ctx->mul_pipelines[GGML_TYPE_F32][0] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_f32, "mul_f32", constants);
-    webgpu_ctx->mul_pipelines[GGML_TYPE_F16][0] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_f16, "mul_f16", constants);
-    webgpu_ctx->mul_pipelines[GGML_TYPE_F32][1] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_f32_inplace, "mul_f32_inplace", constants);
-    webgpu_ctx->mul_pipelines[GGML_TYPE_F16][1] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_mul_f16_inplace, "mul_f16_inplace", constants);
-}
-
-static void ggml_webgpu_init_div_pipeline(webgpu_context & webgpu_ctx) {
-    std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_MAX_WG_SIZE);
-
-    webgpu_ctx->div_pipelines[GGML_TYPE_F32][0] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_div_f32, "div_f32", constants);
-    webgpu_ctx->div_pipelines[GGML_TYPE_F16][0] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_div_f16, "div_f16", constants);
-    webgpu_ctx->div_pipelines[GGML_TYPE_F32][1] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_div_f32_inplace, "div_f32_inplace", constants);
-    webgpu_ctx->div_pipelines[GGML_TYPE_F16][1] =
-        ggml_webgpu_create_pipeline(webgpu_ctx->global_ctx->device, wgsl_div_f16_inplace, "div_f16_inplace", constants);
-}
-
 static void ggml_webgpu_init_rms_norm_pipeline(webgpu_context & webgpu_ctx) {
     std::vector constants = ggml_webgpu_wg_size_entry(WEBGPU_ROW_SPLIT_WG_SIZE);
 
@@ -3018,10 +3006,6 @@ static webgpu_context initialize_webgpu_context(ggml_backend_dev_t dev) {
     ggml_webgpu_init_mul_mat_pipeline(webgpu_ctx);
     ggml_webgpu_init_get_rows_pipeline(webgpu_ctx);
     ggml_webgpu_init_cpy_pipeline(webgpu_ctx);
-    ggml_webgpu_init_add_pipeline(webgpu_ctx);
-    ggml_webgpu_init_sub_pipeline(webgpu_ctx);
-    ggml_webgpu_init_mul_pipeline(webgpu_ctx);
-    ggml_webgpu_init_div_pipeline(webgpu_ctx);
     ggml_webgpu_init_rms_norm_pipeline(webgpu_ctx);
     ggml_webgpu_init_rope_pipeline(webgpu_ctx);
     ggml_webgpu_init_glu_pipeline(webgpu_ctx);
diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/bin_op.tmpl.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/bin_op.tmpl.wgsl
deleted file mode 100644
index 1ce4d83fa8..0000000000
--- a/ggml/src/ggml-webgpu/wgsl-shaders/bin_op.tmpl.wgsl
+++ /dev/null
@@ -1,188 +0,0 @@
-#define(VARIANTS)
-
-[
-  {
-    "SHADER_NAME": "add_f32",
-    "REPLS": {
-      "TYPE" : "f32",
-      "OP": "+"
-    },
-    "DECLS": ["NOT_INPLACE"]
-  },
-  {
-    "SHADER_NAME": "add_f16",
-    "REPLS": {
-      "TYPE" : "f16",
-      "OP": "+"
-    },
-    "DECLS": ["NOT_INPLACE"]
-  },
-  {
-    "SHADER_NAME": "add_f32_inplace",
-    "REPLS": {
-      "TYPE" : "f32",
-      "OP": "+"
-    },
-    "DECLS": ["INPLACE"]
-  },
-  {
-    "SHADER_NAME": "add_f16_inplace",
-    "REPLS": {
-      "TYPE" : "f16",
-      "OP": "+"
-    },
-    "DECLS": ["INPLACE"]
-  },
-  {
-    "SHADER_NAME": "mul_f32",
-    "REPLS": {
-      "TYPE" : "f32",
-      "OP": "*"
-    },
-    "DECLS": ["NOT_INPLACE"]
-  },
-  {
-    "SHADER_NAME": "mul_f16",
-    "REPLS": {
-      "TYPE" : "f16",
-      "OP": "*"
-    },
-    "DECLS": ["NOT_INPLACE"]
-  },
-  {
-    "SHADER_NAME": "mul_f32_inplace",
-    "REPLS": {
-      "TYPE" : "f32",
-      "OP": "*"
-    },
-    "DECLS": ["INPLACE"]
-  },
-  {
-    "SHADER_NAME": "mul_f16_inplace",
-    "REPLS": {
-      "TYPE" : "f16",
-      "OP": "*"
-    },
-    "DECLS": ["INPLACE"]
-  },
-  {
-    "SHADER_NAME": "sub_f32",
-    "REPLS": {
-      "TYPE" : "f32",
-      "OP": "-"
-    },
-    "DECLS": ["NOT_INPLACE"]
-  },
-  {
-    "SHADER_NAME": "sub_f16",
-    "REPLS": {
-      "TYPE" : "f16",
-      "OP": "-"
-    },
-    "DECLS": ["NOT_INPLACE"]
-  },
-  {
-    "SHADER_NAME": "sub_f32_inplace",
-    "REPLS": {
-      "TYPE" : "f32",
-      "OP": "-"
-    },
-    "DECLS": ["INPLACE"]
-  },
-  {
-    "SHADER_NAME": "sub_f16_inplace",
-    "REPLS": {
-      "TYPE" : "f16",
-      "OP": "-"
-    },
-    "DECLS": ["INPLACE"]
-  },
-  {
-    "SHADER_NAME": "div_f32",
-    "REPLS": {
-      "TYPE" : "f32",
-      "OP": "/"
-    },
-    "DECLS": ["NOT_INPLACE"]
-  },
-  {
-    "SHADER_NAME": "div_f16",
-    "REPLS": {
-      "TYPE" : "f16",
-      "OP": "/"
-    },
-    "DECLS": ["NOT_INPLACE"]
-  },
-  {
-    "SHADER_NAME": "div_f32_inplace",
-    "REPLS": {
-      "TYPE" : "f32",
-      "OP": "/"
-    },
-    "DECLS": ["INPLACE"]
-  },
-  {
-    "SHADER_NAME": "div_f16_inplace",
-    "REPLS": {
-      "TYPE" : "f16",
-      "OP": "/"
-    },
-    "DECLS": ["INPLACE"]
-  }
-]
-
-#end(VARIANTS)
-
-#define(DECLS)
-
-#decl(NOT_INPLACE)
-
-fn update(dst_i: u32, src0_i: u32, src1_i: u32) {
-    dst[dst_i] = src0[src0_i] {{OP}} src1[src1_i];
-}
-
-@group(0) @binding(2)
-var dst: array<{{TYPE}}>;
-
-@group(0) @binding(3)
-var params: Params;
-
-#enddecl(NOT_INPLACE)
-
-#decl(INPLACE)
-
-fn update(dst_i: u32, src0_i: u32, src1_i: u32) {
-    src0[dst_i] = src0[src0_i] {{OP}} src1[src1_i];
-}
-
-@group(0) @binding(2)
-var params: Params;
-
-#enddecl(INPLACE)
-
-#end(DECLS)
-
-
-#define(SHADER)
-
-enable f16;
-
-#include "binary_head.tmpl"
-
-@group(0) @binding(0)
-var src0: array<{{TYPE}}>;
-
-@group(0) @binding(1)
-var src1: array<{{TYPE}}>;
-
-DECLS
-
-override wg_size: u32;
-@compute @workgroup_size(wg_size)
-fn main(@builtin(global_invocation_id) gid: vec3) {
-    if (gid.x < params.ne) {
-        update(params.offset_dst + gid.x, params.offset_src0 + gid.x, params.offset_src1 + src1_index(gid.x));
-    }
-}
-
-#end(SHADER)
diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/binary.wgsl b/ggml/src/ggml-webgpu/wgsl-shaders/binary.wgsl
new file mode 100644
index 0000000000..55dd66408a
--- /dev/null
+++ b/ggml/src/ggml-webgpu/wgsl-shaders/binary.wgsl
@@ -0,0 +1,107 @@
+enable f16;
+
+struct Params {
+    ne: u32,
+
+    // offsets in elements
+    offset_src0: u32,
+    offset_src1: u32,
+    offset_dst: u32,
+
+    stride_src1_0: u32,
+    stride_src1_1: u32,
+    stride_src1_2: u32,
+    stride_src1_3: u32,
+
+    a_ne0: u32,
+    a_ne1: u32,
+    a_ne2: u32,
+
+    b_ne0: u32,
+    b_ne1: u32,
+    b_ne2: u32,
+    b_ne3: u32,
+};
+
+fn src1_index(_i: u32) -> u32 {
+    var i = _i;
+    let a_i3 = i / (params.a_ne2 * params.a_ne1 * params.a_ne0);
+    i = i % (params.a_ne2 * params.a_ne1 * params.a_ne0);
+    let a_i2 = i / (params.a_ne1 * params.a_ne0);
+    i = i % (params.a_ne1 * params.a_ne0);
+    let a_i1 = i / params.a_ne0;
+    let a_i0 = i % params.a_ne0;
+
+    // handle repetition of b
+    // index loops back to the beginning and repeats after elements are exhausted = modulo
+    let b_i0 = a_i0 % params.b_ne0;
+    let b_i1 = a_i1 % params.b_ne1;
+    let b_i2 = a_i2 % params.b_ne2;
+    let b_i3 = a_i3 % params.b_ne3;
+
+    // compute index for position in b's flat array
+    return b_i0 * params.stride_src1_0 +
+           b_i1 * params.stride_src1_1 +
+           b_i2 * params.stride_src1_2 +
+           b_i3 * params.stride_src1_3;
+}
+
+#ifdef TYPE_F32
+#define DataType f32
+#endif
+#ifdef TYPE_F16
+#define DataType f16
+#endif
+
+@group(0) @binding(0)
+var src0: array;
+
+@group(0) @binding(1)
+var src1 : array;
+
+#ifdef INPLACE
+@group(0) @binding(2)
+var params: Params;
+
+#elif defined(OVERLAP)
+@group(0) @binding(2)
+var params: Params;
+
+#else
+@group(0) @binding(2)
+var dst: array;
+
+@group(0) @binding(3)
+var params: Params;
+#endif
+
+fn op(a: DataType, b: DataType) -> DataType {
+#ifdef OP_ADD
+    return a + b;
+#elif defined(OP_SUB)
+    return a - b;
+#elif defined(OP_MUL)
+    return a * b;
+#elif defined(OP_DIV)
+    return a / b;
+#endif
+}
+
+fn update(dst_i: u32, src0_i: u32, src1_i: u32){
+    let result = op(src0[src0_i], src1[src1_i]);
+
+#ifdef INPLACE
+    src0[dst_i] = result;
+#elif defined(OVERLAP)
+    src1[dst_i] = result;
+#else
+    dst[dst_i] = result;
+#endif
+}
+
+@compute @workgroup_size(WG_SIZE)
+fn main(@builtin(global_invocation_id) gid: vec3) {
+    if (gid.x < params.ne) {
+        update(params.offset_dst + gid.x, params.offset_src0 + gid.x, params.offset_src1 + src1_index(gid.x));
+    }
+}
diff --git a/ggml/src/ggml-webgpu/wgsl-shaders/binary_head.tmpl b/ggml/src/ggml-webgpu/wgsl-shaders/binary_head.tmpl
deleted file mode 100644
index 4b254f468d..0000000000
--- a/ggml/src/ggml-webgpu/wgsl-shaders/binary_head.tmpl
+++ /dev/null
@@ -1,45 +0,0 @@
-struct Params {
-    ne: u32,
-
-    // offsets in elements
-    offset_src0: u32,
-    offset_src1: u32,
-    offset_dst: u32,
-
-    stride_src1_0: u32,
-    stride_src1_1: u32,
-    stride_src1_2: u32,
-    stride_src1_3: u32,
-
-    a_ne0: u32,
-    a_ne1: u32,
-    a_ne2: u32,
-
-    b_ne0: u32,
-    b_ne1: u32,
-    b_ne2: u32,
-    b_ne3: u32,
-};
-
-fn src1_index(_i: u32) -> u32 {
-    var i = _i;
-    let a_i3 = i / (params.a_ne2 * params.a_ne1 * params.a_ne0);
-    i = i % (params.a_ne2 * params.a_ne1 * params.a_ne0);
-    let a_i2 = i / (params.a_ne1 * params.a_ne0);
-    i = i % (params.a_ne1 * params.a_ne0);
-    let a_i1 = i / params.a_ne0;
-    let a_i0 = i % params.a_ne0;
-
-    // handle repetition of b
-    // index loops back to the beginning and repeats after elements are exhausted = modulo
-    let b_i0 = a_i0 % params.b_ne0;
-    let b_i1 = a_i1 % params.b_ne1;
-    let b_i2 = a_i2 % params.b_ne2;
-    let b_i3 = a_i3 % params.b_ne3;
-
-    // compute index for position in b's flat array
-    return b_i0 * params.stride_src1_0 +
-           b_i1 * params.stride_src1_1 +
-           b_i2 * params.stride_src1_2 +
-           b_i3 * params.stride_src1_3;
-}

From 3228e7728789e0456d0458ce38d20d0b1d60a9aa Mon Sep 17 00:00:00 2001
From: Alex Trotta <44127594+Ahajha@users.noreply.github.com>
Date: Fri, 6 Feb 2026 15:05:19 -0500
Subject: [PATCH 147/206] gguf-py : bump sentencepiece version (#19319)

* gguf-py: Bump sentencepiece version

There's a new version that's been out for a while that addresses the issues mentioned in https://github.com/ggml-org/llama.cpp/pull/14200. There's a long chain of reasons I would like this change, but the short version is that it allows people who use both `sentencepiece` and `gguf` to take advantage of these fixes. On conda-forge, currently, it locks the version (since there is no notion of optional dependencies).

Regardless, I don't think this should be too controversial.

* review feedback
---
 gguf-py/pyproject.toml                             | 2 +-
 pyproject.toml                                     | 2 +-
 requirements/requirements-convert_legacy_llama.txt | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/gguf-py/pyproject.toml b/gguf-py/pyproject.toml
index f6c4cd14e7..48693ae3e3 100644
--- a/gguf-py/pyproject.toml
+++ b/gguf-py/pyproject.toml
@@ -23,7 +23,7 @@ numpy = ">=1.17"
 tqdm = ">=4.27"
 pyyaml = ">=5.1"
 requests = ">=2.25"
-sentencepiece = { version = ">=0.1.98,<=0.2.0", optional = true }
+sentencepiece = { version = ">=0.1.98,<0.3.0", optional = true }
 PySide6 = { version = "^6.9", python = ">=3.9,<3.14", optional = true }
 
 [tool.poetry.dev-dependencies]
diff --git a/pyproject.toml b/pyproject.toml
index 3d71b055a8..422f53c7c7 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -17,7 +17,7 @@ classifiers = [
 [tool.poetry.dependencies]
 python = ">=3.9"
 numpy = "^1.25.0"
-sentencepiece = ">=0.1.98,<=0.2.0"
+sentencepiece = ">=0.1.98,<0.3.0"
 transformers = ">=4.35.2,<5.0.0"
 protobuf = ">=4.21.0,<5.0.0"
 gguf = { path = "./gguf-py" }
diff --git a/requirements/requirements-convert_legacy_llama.txt b/requirements/requirements-convert_legacy_llama.txt
index dbab3b9508..4898bf7ee2 100644
--- a/requirements/requirements-convert_legacy_llama.txt
+++ b/requirements/requirements-convert_legacy_llama.txt
@@ -1,5 +1,5 @@
 numpy~=1.26.4
-sentencepiece~=0.2.0
+sentencepiece>=0.1.98,<0.3.0
 
 transformers>=4.57.1,<5.0.0
 

From b83111815e9a79949257e9d4b087206b320a3063 Mon Sep 17 00:00:00 2001
From: forforever73 <63285796+forforever73@users.noreply.github.com>
Date: Sat, 7 Feb 2026 04:06:14 +0800
Subject: [PATCH 148/206] model : support Step3.5-Flash (#19283)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Support Step3.5-Flash

* fix: norm.weight + 1 (HF zero_centered=true)

* step35: simplify GGUF conversion + drop redundant rope KVs

* Address review feedback

* rename limits -> clamp

* Apply suggestions from code review

Co-authored-by: Sigbjørn Skjæret 

* Apply suggestion from @CISC

Co-authored-by: Sigbjørn Skjæret 

* rename swiglu limits -> swiglu clamp in LLM_KV

* avoid CI fail

* Apply suggestions from code review

* Apply suggestions from code review

* disabled KV shifting for LLM_ARCH_STEP35

* Apply suggestions from code review

* mistakenly removed cmath

* add model size && apply missed suggestion

* assert partial_rotary_factors

* fix CI errors:

* load freq_base_swa

---------

Co-authored-by: lvyichen 
Co-authored-by: Sigbjørn Skjæret 
---
 convert_hf_to_gguf.py          | 131 ++++++++++++++++++++++++-
 gguf-py/gguf/constants.py      |  70 ++++++++++----
 gguf-py/gguf/gguf_writer.py    |   6 ++
 gguf-py/gguf/tensor_mapping.py |   9 ++
 src/CMakeLists.txt             |   1 +
 src/llama-arch.cpp             |  64 +++++++++----
 src/llama-arch.h               |   3 +
 src/llama-graph.cpp            |  41 ++++++++
 src/llama-hparams.h            |   5 +
 src/llama-kv-cache-iswa.cpp    |   4 +-
 src/llama-kv-cache.cpp         |   4 +
 src/llama-model.cpp            | 103 ++++++++++++++++++++
 src/llama-model.h              |   1 +
 src/models/models.h            |   4 +
 src/models/step35-iswa.cpp     | 168 +++++++++++++++++++++++++++++++++
 15 files changed, 576 insertions(+), 38 deletions(-)
 create mode 100644 src/models/step35-iswa.cpp

diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py
index c167de8a46..843c00a896 100755
--- a/convert_hf_to_gguf.py
+++ b/convert_hf_to_gguf.py
@@ -920,7 +920,7 @@ class TextModel(ModelBase):
             self.gguf_writer.add_expert_group_used_count(n_group_used)
             logger.info(f"gguf: expert groups used count = {n_group_used}")
 
-        if (score_func := self.find_hparam(["score_function", "scoring_func", "score_func", "moe_router_activation_func"], optional=True)) is not None:
+        if (score_func := self.find_hparam(["score_function", "scoring_func", "score_func", "moe_router_activation", "moe_router_activation_func"], optional=True)) is not None:
             if score_func == "sigmoid":
                 self.gguf_writer.add_expert_gating_func(gguf.ExpertGatingFuncType.SIGMOID)
             elif score_func == "softmax":
@@ -7912,6 +7912,135 @@ class MimoV2Model(TextModel):
                 raise ValueError(f"Unprocessed experts: {experts}")
 
 
+@ModelBase.register("Step3p5ForCausalLM")
+class Step35Model(TextModel):
+    model_arch = gguf.MODEL_ARCH.STEP35
+
+    def set_gguf_parameters(self):
+        rope_theta = self.hparams.get("rope_theta")
+        if isinstance(rope_theta, list):
+            self.hparams["rope_theta"] = float(rope_theta[0])
+            self.hparams["local_rope_theta"] = float(rope_theta[1])
+            self.rope_parameters["rope_theta"] = self.hparams["rope_theta"]
+            self.rope_parameters["sliding_attention"] = {"rope_theta": self.hparams["local_rope_theta"]}
+
+        super().set_gguf_parameters()
+
+        layer_types = self.hparams.get("layer_types") or []
+        partial_rotary_factors = self.hparams.get("partial_rotary_factors") or []
+        attn_other = self.hparams.get("attention_other_setting") or {}
+
+        n_head_base = self.hparams["num_attention_heads"]
+        n_kv_base = self.hparams["num_attention_groups"]
+
+        n_head_swa = attn_other.get("num_attention_heads", n_head_base)
+        n_kv_swa = attn_other.get("num_attention_groups", n_kv_base)
+
+        layer_types = layer_types[: self.block_count]
+        partial_rotary_factors = partial_rotary_factors[: self.block_count]
+        assert [1.0 if lt == "sliding_attention" else 0.5 for lt in layer_types] == partial_rotary_factors
+        head_arr = [n_head_swa if lt == "sliding_attention" else n_head_base for lt in layer_types]
+        kv_arr = [n_kv_swa if lt == "sliding_attention" else n_kv_base for lt in layer_types]
+        swa_pat = [lt == "sliding_attention" for lt in layer_types]
+
+        self.gguf_writer.add_head_count(head_arr)
+        self.gguf_writer.add_head_count_kv(kv_arr)
+
+        self.gguf_writer.add_sliding_window(self.hparams["sliding_window"])
+        self.gguf_writer.add_sliding_window_pattern(swa_pat)
+
+        self.gguf_writer.add_value_length(self.hparams["head_dim"])
+
+        # MoE params
+        self.gguf_writer.add_expert_count(self.hparams["moe_num_experts"])
+        self.gguf_writer.add_expert_used_count(self.hparams["moe_top_k"])
+        self.gguf_writer.add_expert_feed_forward_length(self.hparams["moe_intermediate_size"])
+        self.gguf_writer.add_expert_shared_feed_forward_length(self.hparams["share_expert_dim"])
+
+        if (moe_router_scaling_factor := self.hparams.get("moe_router_scaling_factor")) is not None:
+            self.gguf_writer.add_expert_weights_scale(moe_router_scaling_factor)
+        if (norm_expert_weight := self.hparams.get("norm_expert_weight")) is not None:
+            self.gguf_writer.add_expert_weights_norm(norm_expert_weight)
+
+        # leading dense blocks
+        leading_dense = 0
+        moe_layers_enum = self.hparams.get("moe_layers_enum")
+        if isinstance(moe_layers_enum, str) and moe_layers_enum.strip():
+            moe_layers = sorted(int(i) for i in moe_layers_enum.strip().split(","))
+            if moe_layers:
+                leading_dense = max(0, moe_layers[0])
+        self.gguf_writer.add_leading_dense_block_count(leading_dense)
+        self.gguf_writer.add_moe_every_n_layers(int(self.hparams.get("moe_every_n_layer", 1)))
+
+        self.gguf_writer.add_layer_norm_rms_eps(self.hparams.get("rms_norm_eps", 1e-5))
+
+        # Optional per-layer SwiGLU clamps.
+        if (limits := self.hparams.get("swiglu_limits")) is not None:
+            limits_f = [0.0 if v is None else float(v) for v in limits[: self.block_count]]
+            self.gguf_writer.add_swiglu_clamp_exp(limits_f)
+        if (limits_shared := self.hparams.get("swiglu_limits_shared")) is not None:
+            limits_shared_f = [0.0 if v is None else float(v) for v in limits_shared[: self.block_count]]
+            self.gguf_writer.add_swiglu_clamp_shexp(limits_shared_f)
+
+    def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None):
+        # remove mtp layers
+        if (m := re.match(r"model\.layers\.(\d+)\.", name)) is not None:
+            il = int(m.group(1))
+            n_main = int(self.hparams.get("num_hidden_layers", self.block_count))
+            if il >= n_main:
+                return
+        if name.endswith("norm.weight"):
+            data_torch += 1.0
+        # Map router bias (expert selection bias) to a GGUF bias tensor
+        if name.endswith(".moe.router_bias"):
+            name += ".bias"
+
+        if name.endswith((".self_attn.g_proj.weight", ".moe.gate.weight", ".moe.up_proj.weight", ".moe.gate_proj.weight", ".moe.down_proj.weight")):
+            data_torch = data_torch.squeeze().contiguous()
+
+        yield from super().modify_tensors(data_torch, name, bid)
+
+    def generate_extra_tensors(self) -> Iterable[tuple[str, Tensor]]:
+        # Step35 can optionally use Llama-3 style RoPE scaling (HF: rope_scaling.rope_type == "llama3").
+        # llama.cpp represents this via a single extra tensor: "rope_freqs.weight" (aka MODEL_TENSOR.ROPE_FREQS).
+        rope_params = self.rope_parameters.get("full_attention", self.rope_parameters)
+        rope_type = rope_params.get("rope_type") or ""
+        if rope_type.lower() != "llama3":
+            return
+
+        # Step35 configs can carry per-layer rope_theta as a list; for llama3 rope factors we use the base value.
+        rope_theta = self.hparams.get("rope_theta", 10000.0)
+        if isinstance(rope_theta, list):
+            rope_theta = rope_theta[0]
+        base = float(rope_theta)
+        if (dim := self.hparams.get("head_dim")) is None:
+            dim = self.hparams["hidden_size"] // self.hparams["num_attention_heads"]
+        dim = int(dim)
+
+        freqs = 1.0 / (base ** (torch.arange(0, dim, 2, dtype=torch.float32) / dim))
+
+        factor = float(rope_params.get("factor", 8.0))
+        low_freq_factor = float(rope_params.get("low_freq_factor", 1.0))
+        high_freq_factor = float(rope_params.get("high_freq_factor", 4.0))
+        old_context_len = int(rope_params.get("original_max_position_embeddings", self.hparams.get("original_max_position_embeddings", 8192)))
+
+        low_freq_wavelen = old_context_len / low_freq_factor
+        high_freq_wavelen = old_context_len / high_freq_factor
+
+        rope_factors: list[float] = []
+        for freq in freqs:
+            wavelen = 2 * math.pi / float(freq)
+            if wavelen < high_freq_wavelen:
+                rope_factors.append(1.0)
+            elif wavelen > low_freq_wavelen:
+                rope_factors.append(factor)
+            else:
+                smooth = (old_context_len / wavelen - low_freq_factor) / (high_freq_factor - low_freq_factor)
+                rope_factors.append(1.0 / ((1.0 - smooth) / factor + smooth))
+
+        yield (self.format_tensor_name(gguf.MODEL_TENSOR.ROPE_FREQS), torch.tensor(rope_factors, dtype=torch.float32))
+
+
 @ModelBase.register("PanguEmbeddedForCausalLM")
 class PanguEmbeddedModel(TextModel):
     model_arch = gguf.MODEL_ARCH.PANGU_EMBED
diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py
index 3ddbc73d1c..3af4fffe95 100644
--- a/gguf-py/gguf/constants.py
+++ b/gguf-py/gguf/constants.py
@@ -146,6 +146,8 @@ class Keys:
         ALTUP_ACTIVE_IDX                  = "{arch}.altup.active_idx"
         ALTUP_NUM_INPUTS                  = "{arch}.altup.num_inputs"
         EMBD_LENGTH_PER_LAYER_INP         = "{arch}.embedding_length_per_layer_input"
+        SWIGLU_CLAMP_EXP                  = "{arch}.swiglu_clamp_exp"
+        SWIGLU_CLAMP_SHEXP                = "{arch}.swiglu_clamp_shexp"
         DENSE_FEAT_IN_SIZE                = "{arch}.{dense}_feat_in"
         DENSE_FEAT_OUT_SIZE               = "{arch}.{dense}_feat_out"
 
@@ -179,20 +181,20 @@ class Keys:
         TEMPERATURE_SCALE            = "{arch}.attention.temperature_scale"
 
     class Rope:
-        DIMENSION_COUNT          = "{arch}.rope.dimension_count"
-        DIMENSION_SECTIONS       = "{arch}.rope.dimension_sections"
-        FREQ_BASE                = "{arch}.rope.freq_base"
-        FREQ_BASE_SWA            = "{arch}.rope.freq_base_swa"
-        SCALING_TYPE             = "{arch}.rope.scaling.type"
-        SCALING_FACTOR           = "{arch}.rope.scaling.factor"
-        SCALING_ATTN_FACTOR      = "{arch}.rope.scaling.attn_factor"
-        SCALING_ORIG_CTX_LEN     = "{arch}.rope.scaling.original_context_length"
-        SCALING_FINETUNED        = "{arch}.rope.scaling.finetuned"
-        SCALING_YARN_LOG_MUL     = "{arch}.rope.scaling.yarn_log_multiplier"
-        SCALING_YARN_EXT_FACTOR  = "{arch}.rope.scaling.yarn_ext_factor"
-        SCALING_YARN_ATTN_FACTOR = "{arch}.rope.scaling.yarn_attn_factor"
-        SCALING_YARN_BETA_FAST   = "{arch}.rope.scaling.yarn_beta_fast"
-        SCALING_YARN_BETA_SLOW   = "{arch}.rope.scaling.yarn_beta_slow"
+        DIMENSION_COUNT           = "{arch}.rope.dimension_count"
+        DIMENSION_SECTIONS        = "{arch}.rope.dimension_sections"
+        FREQ_BASE                 = "{arch}.rope.freq_base"
+        FREQ_BASE_SWA             = "{arch}.rope.freq_base_swa"
+        SCALING_TYPE              = "{arch}.rope.scaling.type"
+        SCALING_FACTOR            = "{arch}.rope.scaling.factor"
+        SCALING_ATTN_FACTOR       = "{arch}.rope.scaling.attn_factor"
+        SCALING_ORIG_CTX_LEN      = "{arch}.rope.scaling.original_context_length"
+        SCALING_FINETUNED         = "{arch}.rope.scaling.finetuned"
+        SCALING_YARN_LOG_MUL      = "{arch}.rope.scaling.yarn_log_multiplier"
+        SCALING_YARN_EXT_FACTOR   = "{arch}.rope.scaling.yarn_ext_factor"
+        SCALING_YARN_ATTN_FACTOR  = "{arch}.rope.scaling.yarn_attn_factor"
+        SCALING_YARN_BETA_FAST    = "{arch}.rope.scaling.yarn_beta_fast"
+        SCALING_YARN_BETA_SLOW    = "{arch}.rope.scaling.yarn_beta_slow"
 
     class Split:
         LLM_KV_SPLIT_NO            = "split.no"
@@ -462,6 +464,7 @@ class MODEL_ARCH(IntEnum):
     PANGU_EMBED      = auto()
     MISTRAL3         = auto()
     MIMO2            = auto()
+    STEP35           = auto()
     LLAMA_EMBED      = auto()
     MAINCODER        = auto()
     KIMI_LINEAR      = auto()
@@ -892,6 +895,7 @@ MODEL_ARCH_NAMES: dict[MODEL_ARCH, str] = {
     MODEL_ARCH.PANGU_EMBED:      "pangu-embedded",
     MODEL_ARCH.MISTRAL3:         "mistral3",
     MODEL_ARCH.MIMO2:            "mimo2",
+    MODEL_ARCH.STEP35:           "step35",
     MODEL_ARCH.LLAMA_EMBED:      "llama-embed",
     MODEL_ARCH.MAINCODER:        "maincoder",
     MODEL_ARCH.KIMI_LINEAR:      "kimi-linear",
@@ -3364,6 +3368,32 @@ MODEL_TENSORS: dict[MODEL_ARCH, list[MODEL_TENSOR]] = {
         MODEL_TENSOR.FFN_UP_EXP,
         MODEL_TENSOR.FFN_EXP_PROBS_B,
     ],
+    MODEL_ARCH.STEP35: [
+        MODEL_TENSOR.TOKEN_EMBD,
+        MODEL_TENSOR.OUTPUT_NORM,
+        MODEL_TENSOR.OUTPUT,
+        MODEL_TENSOR.ROPE_FREQS,
+        MODEL_TENSOR.ATTN_NORM,
+        MODEL_TENSOR.ATTN_Q,
+        MODEL_TENSOR.ATTN_Q_NORM,
+        MODEL_TENSOR.ATTN_K,
+        MODEL_TENSOR.ATTN_K_NORM,
+        MODEL_TENSOR.ATTN_V,
+        MODEL_TENSOR.ATTN_GATE,
+        MODEL_TENSOR.ATTN_OUT,
+        MODEL_TENSOR.FFN_NORM,
+        MODEL_TENSOR.FFN_GATE,
+        MODEL_TENSOR.FFN_DOWN,
+        MODEL_TENSOR.FFN_UP,
+        MODEL_TENSOR.FFN_GATE_INP,
+        MODEL_TENSOR.FFN_GATE_EXP,
+        MODEL_TENSOR.FFN_DOWN_EXP,
+        MODEL_TENSOR.FFN_UP_EXP,
+        MODEL_TENSOR.FFN_UP_SHEXP,
+        MODEL_TENSOR.FFN_GATE_SHEXP,
+        MODEL_TENSOR.FFN_DOWN_SHEXP,
+        MODEL_TENSOR.FFN_EXP_PROBS_B,
+    ],
     MODEL_ARCH.LLAMA_EMBED: [
         MODEL_TENSOR.TOKEN_EMBD,
         MODEL_TENSOR.OUTPUT_NORM,
@@ -3753,12 +3783,12 @@ KEY_ATTENTION_LAYERNORM_EPS     = Keys.Attention.LAYERNORM_EPS
 KEY_ATTENTION_LAYERNORM_RMS_EPS = Keys.Attention.LAYERNORM_RMS_EPS
 
 # RoPE
-KEY_ROPE_DIMENSION_COUNT      = Keys.Rope.DIMENSION_COUNT
-KEY_ROPE_FREQ_BASE            = Keys.Rope.FREQ_BASE
-KEY_ROPE_SCALING_TYPE         = Keys.Rope.SCALING_TYPE
-KEY_ROPE_SCALING_FACTOR       = Keys.Rope.SCALING_FACTOR
-KEY_ROPE_SCALING_ORIG_CTX_LEN = Keys.Rope.SCALING_ORIG_CTX_LEN
-KEY_ROPE_SCALING_FINETUNED    = Keys.Rope.SCALING_FINETUNED
+KEY_ROPE_DIMENSION_COUNT           = Keys.Rope.DIMENSION_COUNT
+KEY_ROPE_FREQ_BASE                 = Keys.Rope.FREQ_BASE
+KEY_ROPE_SCALING_TYPE              = Keys.Rope.SCALING_TYPE
+KEY_ROPE_SCALING_FACTOR            = Keys.Rope.SCALING_FACTOR
+KEY_ROPE_SCALING_ORIG_CTX_LEN      = Keys.Rope.SCALING_ORIG_CTX_LEN
+KEY_ROPE_SCALING_FINETUNED         = Keys.Rope.SCALING_FINETUNED
 
 # SSM
 KEY_SSM_CONV_KERNEL    = Keys.SSM.CONV_KERNEL
diff --git a/gguf-py/gguf/gguf_writer.py b/gguf-py/gguf/gguf_writer.py
index f720aa2d54..62172b24c3 100644
--- a/gguf-py/gguf/gguf_writer.py
+++ b/gguf-py/gguf/gguf_writer.py
@@ -824,6 +824,12 @@ class GGUFWriter:
     def add_expert_gating_func(self, value: ExpertGatingFuncType) -> None:
         self.add_uint32(Keys.LLM.EXPERT_GATING_FUNC.format(arch=self.arch), value.value)
 
+    def add_swiglu_clamp_exp(self, values: Sequence[float]) -> None:
+        self.add_array(Keys.LLM.SWIGLU_CLAMP_EXP.format(arch=self.arch), values)
+
+    def add_swiglu_clamp_shexp(self, values: Sequence[float]) -> None:
+        self.add_array(Keys.LLM.SWIGLU_CLAMP_SHEXP.format(arch=self.arch), values)
+
     def add_expert_group_scale(self, value: float) -> None:
         self.add_float32(Keys.LLM.EXPERT_GROUP_SCALE.format(arch=self.arch), value)
 
diff --git a/gguf-py/gguf/tensor_mapping.py b/gguf-py/gguf/tensor_mapping.py
index e16c06c2a3..167ade7803 100644
--- a/gguf-py/gguf/tensor_mapping.py
+++ b/gguf-py/gguf/tensor_mapping.py
@@ -359,6 +359,7 @@ class TensorNameMap:
 
         MODEL_TENSOR.ATTN_GATE: (
             "model.layers.{bid}.self_attn.gate_proj", # afmoe
+            "model.layers.{bid}.self_attn.g_proj",    # step3.5 head-wise attention gate
         ),
 
         # Feed-forward norm
@@ -423,6 +424,7 @@ class TensorNameMap:
             "model.layers.{bid}.mlp.router.gate",               # afmoe
             "layers.{bid}.gate",                                # mistral-large
             "backbone.layers.{bid}.mixer.gate",                 # nemotron-h-moe
+            "model.layers.{bid}.moe.gate",                      # step3.5
         ),
 
         MODEL_TENSOR.FFN_GATE_INP_SHEXP: (
@@ -439,6 +441,7 @@ class TensorNameMap:
             "backbone.layers.{bid}.mixer.gate.e_score_correction",          # nemotron-h-moe
             "model.layers.{bid}.mlp.e_score_correction",                    # exaone-moe
             "model.layers.{bid}.block_sparse_moe.gate.e_score_correction",  # kimi
+            "model.layers.{bid}.moe.router_bias",                           # step3.5 expert selection bias
         ),
 
         # Feed-forward up
@@ -493,6 +496,7 @@ class TensorNameMap:
             "model.layers.{bid}.feed_forward.experts.up_proj",      # llama4
             "encoder.layers.{bid}.mlp.experts.mlp.w1",              # nomic-bert-moe
             "model.layers.{bid}.block_sparse_moe.experts.up", # smallthinker
+            "model.layers.{bid}.moe.up_proj",                       # step3.5
         ),
 
         MODEL_TENSOR.FFN_UP_SHEXP: (
@@ -504,6 +508,7 @@ class TensorNameMap:
             "layers.{bid}.shared_experts.w3",                        # mistral-large
             "backbone.layers.{bid}.mixer.shared_experts.up_proj",    # nemotron-h-moe
             "model.layers.{bid}.block_sparse_moe.shared_experts.up_proj", # kimi
+            "model.layers.{bid}.share_expert.up_proj",               # step3.5
         ),
 
         MODEL_TENSOR.FFN_UP_CHEXP: (
@@ -543,6 +548,7 @@ class TensorNameMap:
             "model.layers.{bid}.block_sparse_moe.experts.w1",           # phimoe (merged)
             "model.layers.{bid}.feed_forward.experts.gate_proj",        # llama4
             "model.layers.{bid}.block_sparse_moe.experts.gate",         # smallthinker
+            "model.layers.{bid}.moe.gate_proj",                         # step3.5
         ),
 
         MODEL_TENSOR.FFN_GATE_SHEXP: (
@@ -552,6 +558,7 @@ class TensorNameMap:
             "model.layers.{bid}.mlp.shared_mlp.gate_proj",             # hunyuan
             "layers.{bid}.shared_experts.w1",                          # mistral-large
             "model.layers.{bid}.block_sparse_moe.shared_experts.gate_proj", # kimi
+            "model.layers.{bid}.share_expert.gate_proj",               # step3.5
         ),
 
         MODEL_TENSOR.FFN_GATE_CHEXP: (
@@ -606,6 +613,7 @@ class TensorNameMap:
             "model.layers.{bid}.feed_forward.experts.down_proj",    # llama4
             "encoder.layers.{bid}.mlp.experts.mlp.w2",              # nomic-bert-moe
             "model.layers.{bid}.block_sparse_moe.experts.down",     # smallthinker
+            "model.layers.{bid}.moe.down_proj",                     # step3.5
         ),
 
         MODEL_TENSOR.FFN_DOWN_SHEXP: (
@@ -617,6 +625,7 @@ class TensorNameMap:
             "layers.{bid}.shared_experts.w2",                          # mistral-large
             "backbone.layers.{bid}.mixer.shared_experts.down_proj",    # nemotron-h-moe
             "model.layers.{bid}.block_sparse_moe.shared_experts.down_proj", # kimi
+            "model.layers.{bid}.share_expert.down_proj",               # step3.5
         ),
 
         MODEL_TENSOR.FFN_DOWN_CHEXP: (
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 5238a5e934..2115fc4255 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -135,6 +135,7 @@ add_library(llama
             models/stablelm.cpp
             models/starcoder.cpp
             models/starcoder2.cpp
+            models/step35-iswa.cpp
             models/t5-dec.cpp
             models/t5-enc.cpp
             models/wavtokenizer-dec.cpp
diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp
index a8bf1c9b80..bd78f1e556 100644
--- a/src/llama-arch.cpp
+++ b/src/llama-arch.cpp
@@ -117,7 +117,8 @@ static const std::map LLM_ARCH_NAMES = {
     { LLM_ARCH_RND1,             "rnd1"             },
     { LLM_ARCH_PANGU_EMBED,      "pangu-embedded"   },
     { LLM_ARCH_MISTRAL3,         "mistral3"         },
-    { LLM_ARCH_MIMO2,            "mimo2"           },
+    { LLM_ARCH_MIMO2,            "mimo2"            },
+    { LLM_ARCH_STEP35,           "step35"           },
     { LLM_ARCH_LLAMA_EMBED,      "llama-embed"      },
     { LLM_ARCH_MAINCODER,        "maincoder"        },
     { LLM_ARCH_KIMI_LINEAR,      "kimi-linear"      },
@@ -162,6 +163,8 @@ static const std::map LLM_KV_NAMES = {
     { LLM_KV_EXPERT_FEED_FORWARD_LENGTH,        "%s.expert_feed_forward_length"        },
     { LLM_KV_EXPERT_SHARED_FEED_FORWARD_LENGTH, "%s.expert_shared_feed_forward_length" },
     { LLM_KV_EXPERT_CHUNK_FEED_FORWARD_LENGTH,  "%s.expert_chunk_feed_forward_length"  },
+    { LLM_KV_SWIGLU_CLAMP_EXP,                  "%s.swiglu_clamp_exp"                  },
+    { LLM_KV_SWIGLU_CLAMP_SHEXP,                "%s.swiglu_clamp_shexp"                },
     { LLM_KV_USE_PARALLEL_RESIDUAL,             "%s.use_parallel_residual"             },
     { LLM_KV_TENSOR_DATA_LAYOUT,                "%s.tensor_data_layout"                },
     { LLM_KV_EXPERT_COUNT,                      "%s.expert_count"                      },
@@ -220,21 +223,21 @@ static const std::map LLM_KV_NAMES = {
     { LLM_KV_ATTENTION_KEY_LENGTH_MLA,               "%s.attention.key_length_mla"               },
     { LLM_KV_ATTENTION_VALUE_LENGTH_MLA,             "%s.attention.value_length_mla"             },
 
-    { LLM_KV_ROPE_DIMENSION_COUNT,          "%s.rope.dimension_count"                 },
-    { LLM_KV_ROPE_DIMENSION_SECTIONS,       "%s.rope.dimension_sections"              },
-    { LLM_KV_ROPE_FREQ_BASE,                "%s.rope.freq_base"                       },
-    { LLM_KV_ROPE_FREQ_BASE_SWA,            "%s.rope.freq_base_swa"                   },
-    { LLM_KV_ROPE_SCALE_LINEAR,             "%s.rope.scale_linear"                    },
-    { LLM_KV_ROPE_SCALING_TYPE,             "%s.rope.scaling.type"                    },
-    { LLM_KV_ROPE_SCALING_FACTOR,           "%s.rope.scaling.factor"                  },
-    { LLM_KV_ROPE_SCALING_ATTN_FACTOR,      "%s.rope.scaling.attn_factor"             },
-    { LLM_KV_ROPE_SCALING_ORIG_CTX_LEN,     "%s.rope.scaling.original_context_length" },
-    { LLM_KV_ROPE_SCALING_FINETUNED,        "%s.rope.scaling.finetuned"               },
-    { LLM_KV_ROPE_SCALING_YARN_LOG_MUL,     "%s.rope.scaling.yarn_log_multiplier"     },
-    { LLM_KV_ROPE_SCALING_YARN_EXT_FACTOR,  "%s.rope.scaling.yarn_ext_factor"         },
-    { LLM_KV_ROPE_SCALING_YARN_ATTN_FACTOR, "%s.rope.scaling.yarn_attn_factor"        },
-    { LLM_KV_ROPE_SCALING_YARN_BETA_FAST,   "%s.rope.scaling.yarn_beta_fast"          },
-    { LLM_KV_ROPE_SCALING_YARN_BETA_SLOW,   "%s.rope.scaling.yarn_beta_slow"          },
+    { LLM_KV_ROPE_DIMENSION_COUNT,           "%s.rope.dimension_count"                 },
+    { LLM_KV_ROPE_DIMENSION_SECTIONS,        "%s.rope.dimension_sections"              },
+    { LLM_KV_ROPE_FREQ_BASE,                 "%s.rope.freq_base"                       },
+    { LLM_KV_ROPE_FREQ_BASE_SWA,             "%s.rope.freq_base_swa"                   },
+    { LLM_KV_ROPE_SCALE_LINEAR,              "%s.rope.scale_linear"                    },
+    { LLM_KV_ROPE_SCALING_TYPE,              "%s.rope.scaling.type"                    },
+    { LLM_KV_ROPE_SCALING_FACTOR,            "%s.rope.scaling.factor"                  },
+    { LLM_KV_ROPE_SCALING_ATTN_FACTOR,       "%s.rope.scaling.attn_factor"             },
+    { LLM_KV_ROPE_SCALING_ORIG_CTX_LEN,      "%s.rope.scaling.original_context_length" },
+    { LLM_KV_ROPE_SCALING_FINETUNED,         "%s.rope.scaling.finetuned"               },
+    { LLM_KV_ROPE_SCALING_YARN_LOG_MUL,      "%s.rope.scaling.yarn_log_multiplier"     },
+    { LLM_KV_ROPE_SCALING_YARN_EXT_FACTOR,   "%s.rope.scaling.yarn_ext_factor"         },
+    { LLM_KV_ROPE_SCALING_YARN_ATTN_FACTOR,  "%s.rope.scaling.yarn_attn_factor"        },
+    { LLM_KV_ROPE_SCALING_YARN_BETA_FAST,    "%s.rope.scaling.yarn_beta_fast"          },
+    { LLM_KV_ROPE_SCALING_YARN_BETA_SLOW,    "%s.rope.scaling.yarn_beta_slow"          },
 
     { LLM_KV_SPLIT_NO,            "split.no"            },
     { LLM_KV_SPLIT_COUNT,         "split.count"         },
@@ -2279,6 +2282,35 @@ static std::set llm_get_tensor_names(llm_arch arch) {
                 LLM_TENSOR_FFN_UP_EXPS,
                 LLM_TENSOR_FFN_EXP_PROBS_B,
             };
+        case LLM_ARCH_STEP35:
+            return {
+                LLM_TENSOR_TOKEN_EMBD,
+                LLM_TENSOR_OUTPUT_NORM,
+                LLM_TENSOR_OUTPUT,
+                LLM_TENSOR_ROPE_FREQS,
+                LLM_TENSOR_ROPE_FACTORS_LONG,
+                LLM_TENSOR_ROPE_FACTORS_SHORT,
+                LLM_TENSOR_ATTN_NORM,
+                LLM_TENSOR_ATTN_Q,
+                LLM_TENSOR_ATTN_Q_NORM,
+                LLM_TENSOR_ATTN_K,
+                LLM_TENSOR_ATTN_K_NORM,
+                LLM_TENSOR_ATTN_V,
+                LLM_TENSOR_ATTN_GATE,
+                LLM_TENSOR_ATTN_OUT,
+                LLM_TENSOR_FFN_NORM,
+                LLM_TENSOR_FFN_GATE,
+                LLM_TENSOR_FFN_DOWN,
+                LLM_TENSOR_FFN_UP,
+                LLM_TENSOR_FFN_GATE_INP,
+                LLM_TENSOR_FFN_GATE_EXPS,
+                LLM_TENSOR_FFN_DOWN_EXPS,
+                LLM_TENSOR_FFN_UP_EXPS,
+                LLM_TENSOR_FFN_GATE_SHEXP,
+                LLM_TENSOR_FFN_UP_SHEXP,
+                LLM_TENSOR_FFN_DOWN_SHEXP,
+                LLM_TENSOR_FFN_EXP_PROBS_B,
+            };
         case LLM_ARCH_GPTJ:
         case LLM_ARCH_UNKNOWN:
             return {
diff --git a/src/llama-arch.h b/src/llama-arch.h
index f092f72834..e8263369b8 100644
--- a/src/llama-arch.h
+++ b/src/llama-arch.h
@@ -122,6 +122,7 @@ enum llm_arch {
     LLM_ARCH_PANGU_EMBED,
     LLM_ARCH_MISTRAL3,
     LLM_ARCH_MIMO2,
+    LLM_ARCH_STEP35,
     LLM_ARCH_LLAMA_EMBED,
     LLM_ARCH_MAINCODER,
     LLM_ARCH_KIMI_LINEAR,
@@ -166,6 +167,8 @@ enum llm_kv {
     LLM_KV_EXPERT_FEED_FORWARD_LENGTH,
     LLM_KV_EXPERT_SHARED_FEED_FORWARD_LENGTH,
     LLM_KV_EXPERT_CHUNK_FEED_FORWARD_LENGTH,
+    LLM_KV_SWIGLU_CLAMP_EXP,
+    LLM_KV_SWIGLU_CLAMP_SHEXP,
     LLM_KV_USE_PARALLEL_RESIDUAL,
     LLM_KV_TENSOR_DATA_LAYOUT,
     LLM_KV_EXPERT_COUNT,
diff --git a/src/llama-graph.cpp b/src/llama-graph.cpp
index 165cbc0a7d..bba747d37b 100644
--- a/src/llama-graph.cpp
+++ b/src/llama-graph.cpp
@@ -13,6 +13,8 @@
 #include 
 #include 
 #include 
+#include 
+#include 
 #include 
 
 void llm_graph_input_embd::set_input(const llama_ubatch * ubatch) {
@@ -1014,6 +1016,26 @@ ggml_tensor * llm_graph_context::build_ffn(
     switch (type_op) {
         case LLM_FFN_SILU:
             if (gate && type_gate == LLM_FFN_PAR) {
+                // Step35: HF clamps gate (after SiLU) and up before multiplication
+                if (arch == LLM_ARCH_STEP35 && il >= 0) {
+                    const float limit = hparams.swiglu_clamp_shexp[il];
+                    constexpr float eps = 1e-6f;
+                    if (limit > eps) {
+                        ggml_tensor * gate_act = ggml_silu(ctx0, cur);
+                        cb(gate_act, "ffn_silu", il);
+                        gate_act = ggml_clamp(ctx0, gate_act, -INFINITY, limit);
+                        cb(gate_act, "ffn_silu_clamped", il);
+
+                        tmp = ggml_clamp(ctx0, tmp, -limit, limit);
+                        cb(tmp, "ffn_up_clamped", il);
+
+                        cur = ggml_mul(ctx0, gate_act, tmp);
+                        cb(cur, "ffn_swiglu_limited", il);
+                        type_gate = LLM_FFN_SEQ;
+                        break;
+                    }
+                }
+
                 cur = ggml_swiglu_split(ctx0, cur, tmp);
                 cb(cur, "ffn_swiglu", il);
                 type_gate = LLM_FFN_SEQ;
@@ -1316,6 +1338,25 @@ ggml_tensor * llm_graph_context::build_moe_ffn(
     switch (type_op) {
         case LLM_FFN_SILU:
             if (gate_exps) {
+                // Step35: per-layer clamp for routed experts
+                if (arch == LLM_ARCH_STEP35 && il >= 0) {
+                    const float limit = hparams.swiglu_clamp_exp[il];
+                    constexpr float eps = 1e-6f;
+                    if (limit > eps) {
+                        ggml_tensor * gate_act = ggml_silu(ctx0, cur);
+                        cb(gate_act, "ffn_moe_silu", il);
+                        gate_act = ggml_clamp(ctx0, gate_act, -INFINITY, limit);
+                        cb(gate_act, "ffn_moe_silu_clamped", il);
+
+                        up = ggml_clamp(ctx0, up, -limit, limit);
+                        cb(up, "ffn_moe_up_clamped", il);
+
+                        cur = ggml_mul(ctx0, gate_act, up);
+                        cb(cur, "ffn_moe_swiglu_limited", il);
+                        break;
+                    }
+                }
+
                 cur = ggml_swiglu_split(ctx0, cur, up);
                 cb(cur, "ffn_moe_swiglu", il);
             } else {
diff --git a/src/llama-hparams.h b/src/llama-hparams.h
index a435043cfe..6c695bdbf6 100644
--- a/src/llama-hparams.h
+++ b/src/llama-hparams.h
@@ -206,6 +206,11 @@ struct llama_hparams {
     enum llama_rope_type         rope_type               = LLAMA_ROPE_TYPE_NONE;
     enum llama_rope_scaling_type rope_scaling_type_train = LLAMA_ROPE_SCALING_TYPE_NONE;
 
+
+    // Step35: optional per-layer clamps for (Swi)GLU
+    std::array swiglu_clamp_exp; // clamping for expert FFN
+    std::array swiglu_clamp_shexp; // shared expert
+
     // this value n_pattern means that every nth layer is dense (i.e. non-SWA)
     // dense_first means whether the pattern is start with a dense layer
     // note that if n_pattern == 0, all layers are SWA
diff --git a/src/llama-kv-cache-iswa.cpp b/src/llama-kv-cache-iswa.cpp
index 3a34102a23..26e2cb4270 100644
--- a/src/llama-kv-cache-iswa.cpp
+++ b/src/llama-kv-cache-iswa.cpp
@@ -218,7 +218,9 @@ llama_memory_context_ptr llama_kv_cache_iswa::init_update(llama_context * lctx,
 }
 
 bool llama_kv_cache_iswa::get_can_shift() const {
-    return kv_base->get_size() == kv_swa->get_size();
+    return kv_base->get_can_shift() &&
+           kv_swa->get_can_shift() &&
+           kv_base->get_size() == kv_swa->get_size();
 }
 
 void llama_kv_cache_iswa::state_write(llama_io_write_i & io, llama_seq_id seq_id, llama_state_seq_flags flags) const {
diff --git a/src/llama-kv-cache.cpp b/src/llama-kv-cache.cpp
index c35cd6761b..cb702b2a59 100644
--- a/src/llama-kv-cache.cpp
+++ b/src/llama-kv-cache.cpp
@@ -974,6 +974,10 @@ void llama_kv_cache::apply_ubatch(const slot_info & sinfo, const llama_ubatch &
 }
 
 bool llama_kv_cache::get_can_shift() const {
+    // Step35 uses per-layer RoPE dims; K-shift assumes a single global n_rot.
+    if (model.arch == LLM_ARCH_STEP35) {
+        return false;
+    }
     return true;
 }
 
diff --git a/src/llama-model.cpp b/src/llama-model.cpp
index 765e4de2e4..674d06c891 100644
--- a/src/llama-model.cpp
+++ b/src/llama-model.cpp
@@ -130,6 +130,7 @@ const char * llm_type_name(llm_type type) {
         case LLM_TYPE_100B_A6B:      return "100B.A6B";
         case LLM_TYPE_102B_A12B:     return "102B.A12B";
         case LLM_TYPE_106B_A12B:     return "106B.A12B";
+        case LLM_TYPE_196B_A11B:     return "196B.A11B";
         case LLM_TYPE_230B_A10B:     return "230B.A10B";
         case LLM_TYPE_235B_A22B:     return "235B.A22B";
         case LLM_TYPE_300B_A47B:     return "300B.A47B";
@@ -560,6 +561,8 @@ void llama_model::load_hparams(llama_model_loader & ml) {
     std::fill(hparams.xielu_alpha_p.begin(), hparams.xielu_alpha_p.end(), 0.0f);
     std::fill(hparams.xielu_beta.begin(), hparams.xielu_beta.end(), 0.0f);
     std::fill(hparams.xielu_eps.begin(), hparams.xielu_eps.end(), 0.0f);
+    std::fill(hparams.swiglu_clamp_exp.begin(),   hparams.swiglu_clamp_exp.end(),   0.0f);
+    std::fill(hparams.swiglu_clamp_shexp.begin(), hparams.swiglu_clamp_shexp.end(), 0.0f);
 
     ml.get_key_or_arr(LLM_KV_FEED_FORWARD_LENGTH,  hparams.n_ff_arr,   hparams.n_layer, false);
     ml.get_key_or_arr(LLM_KV_ATTENTION_HEAD_COUNT, hparams.n_head_arr, hparams.n_layer, false);
@@ -2482,6 +2485,35 @@ void llama_model::load_hparams(llama_model_loader & ml) {
                     default: type = LLM_TYPE_UNKNOWN;
                 }
             } break;
+        case LLM_ARCH_STEP35:
+            {
+                ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps);
+
+                hparams.swa_type = LLAMA_SWA_TYPE_STANDARD;
+
+                // MoE + SWA parameters
+                ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH,        hparams.n_ff_exp);
+                ml.get_key(LLM_KV_EXPERT_SHARED_FEED_FORWARD_LENGTH, hparams.n_ff_shexp, false);
+                ml.get_key(LLM_KV_EXPERT_GATING_FUNC,                hparams.expert_gating_func, false);
+                ml.get_key(LLM_KV_EXPERT_WEIGHTS_SCALE,              hparams.expert_weights_scale, false);
+                ml.get_key(LLM_KV_EXPERT_WEIGHTS_NORM,               hparams.expert_weights_norm, false);
+
+                // Step35 uses sigmoid gating by default (if not set in GGUF)
+                if (hparams.expert_gating_func == LLAMA_EXPERT_GATING_FUNC_TYPE_NONE) {
+                    hparams.expert_gating_func = LLAMA_EXPERT_GATING_FUNC_TYPE_SIGMOID;
+                }
+
+                ml.get_key(LLM_KV_ATTENTION_SLIDING_WINDOW,  hparams.n_swa);
+                ml.get_key(LLM_KV_ROPE_FREQ_BASE_SWA,        hparams.rope_freq_base_train_swa);
+                ml.get_key_or_arr(LLM_KV_ATTENTION_SLIDING_WINDOW_PATTERN, hparams.swa_layers, hparams.n_layer);
+                ml.get_key_or_arr(LLM_KV_SWIGLU_CLAMP_EXP,   hparams.swiglu_clamp_exp,   hparams.n_layer, false);
+                ml.get_key_or_arr(LLM_KV_SWIGLU_CLAMP_SHEXP, hparams.swiglu_clamp_shexp, hparams.n_layer, false);
+
+                switch (hparams.n_layer) {
+                    case 45: type = LLM_TYPE_196B_A11B; break;
+                    default: type = LLM_TYPE_UNKNOWN;
+                }
+            } break;
         default: throw std::runtime_error("unsupported model architecture");
     }
 
@@ -7107,6 +7139,72 @@ bool llama_model::load_tensors(llama_model_loader & ml) {
                         layer.ffn_exp_probs_b = create_tensor(tn(LLM_TENSOR_FFN_EXP_PROBS_B, "bias", i), {n_expert}, TENSOR_NOT_REQUIRED);
                     }
                 } break;
+            case LLM_ARCH_STEP35:
+                {
+                    tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, 0);
+
+                    // output
+                    output_norm = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "weight"), {n_embd}, 0);
+                    output      = create_tensor(tn(LLM_TENSOR_OUTPUT,      "weight"), {n_embd, n_vocab}, 0);
+
+                    // STEP35 supports per-layer partial RoPE dims; rope factors are stored as a single shared tensor
+                    // ("rope_freqs.weight") and ggml uses only the first (n_rot_l/2) entries per layer.
+                    uint32_t n_rot_max = 0;
+                    for (int i = 0; i < n_layer; ++i) {
+                        n_rot_max = std::max(n_rot_max, hparams.n_rot);
+                    }
+                    if (n_rot_max == 0) {
+                        n_rot_max = n_rot;
+                    }
+
+                    for (int i = 0; i < n_layer; ++i) {
+                        auto & layer = layers[i];
+
+                        const uint32_t n_head_l      = hparams.n_head(i);
+                        const uint32_t n_embd_k_gqa  = hparams.n_embd_k_gqa(i);
+                        const uint32_t n_embd_v_gqa  = hparams.n_embd_v_gqa(i);
+
+                        layer.attn_norm   = create_tensor(tn(LLM_TENSOR_ATTN_NORM, "weight", i), {n_embd}, 0);
+                        layer.attn_q_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_NORM, "weight", i), {n_embd_head_k}, TENSOR_NOT_REQUIRED);
+                        layer.attn_k_norm = create_tensor(tn(LLM_TENSOR_ATTN_K_NORM, "weight", i), {n_embd_head_k}, TENSOR_NOT_REQUIRED);
+
+                        // optional rope factors (llama3) / longrope tensors
+                        if (hparams.rope_scaling_type_train == LLAMA_ROPE_SCALING_TYPE_LONGROPE) {
+                            layer.rope_long  = create_tensor(tn(LLM_TENSOR_ROPE_FACTORS_LONG,  "weight", i), {n_rot_max/2}, TENSOR_NOT_REQUIRED | (i != 0 ? TENSOR_DUPLICATED : 0));
+                            layer.rope_short = create_tensor(tn(LLM_TENSOR_ROPE_FACTORS_SHORT, "weight", i), {n_rot_max/2}, TENSOR_NOT_REQUIRED | (i != 0 ? TENSOR_DUPLICATED : 0));
+                        } else {
+                            layer.rope_freqs = create_tensor(tn(LLM_TENSOR_ROPE_FREQS, "weight", i), {n_rot_max/2}, TENSOR_NOT_REQUIRED | (i != 0 ? TENSOR_DUPLICATED : 0));
+                        }
+
+                        layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q,   "weight", i), {n_embd, n_embd_head_k * n_head_l}, 0);
+                        layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K,   "weight", i), {n_embd, n_embd_k_gqa}, 0);
+                        layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V,   "weight", i), {n_embd, n_embd_v_gqa}, 0);
+                        layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), {n_embd_head_v * n_head_l, n_embd}, 0);
+
+                        // head-wise attention gate (Step35 self_attn.g_proj)
+                        layer.wqkv_gate = create_tensor(tn(LLM_TENSOR_ATTN_GATE, "weight", i), {n_embd, n_head_l}, TENSOR_NOT_REQUIRED);
+
+                        layer.ffn_norm = create_tensor(tn(LLM_TENSOR_FFN_NORM, "weight", i), {n_embd}, 0);
+
+                        // dense MLP (leading dense blocks)
+                        layer.ffn_gate = create_tensor(tn(LLM_TENSOR_FFN_GATE, "weight", i), {n_embd,   n_ff}, TENSOR_NOT_REQUIRED);
+                        layer.ffn_down = create_tensor(tn(LLM_TENSOR_FFN_DOWN, "weight", i), {  n_ff, n_embd}, TENSOR_NOT_REQUIRED);
+                        layer.ffn_up   = create_tensor(tn(LLM_TENSOR_FFN_UP,   "weight", i), {n_embd,   n_ff}, TENSOR_NOT_REQUIRED);
+
+                        // MoE routed experts + selection bias (router_bias)
+                        const int64_t n_ff_exp = hparams.n_ff_exp;
+                        layer.ffn_gate_inp      = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP,  "weight", i), {n_embd, n_expert}, TENSOR_NOT_REQUIRED);
+                        layer.ffn_gate_exps     = create_tensor(tn(LLM_TENSOR_FFN_GATE_EXPS, "weight", i), {n_embd, n_ff_exp,   n_expert}, TENSOR_NOT_REQUIRED);
+                        layer.ffn_down_exps     = create_tensor(tn(LLM_TENSOR_FFN_DOWN_EXPS, "weight", i), {n_ff_exp,   n_embd, n_expert}, TENSOR_NOT_REQUIRED);
+                        layer.ffn_up_exps       = create_tensor(tn(LLM_TENSOR_FFN_UP_EXPS,   "weight", i), {n_embd, n_ff_exp,   n_expert}, TENSOR_NOT_REQUIRED);
+                        layer.ffn_exp_probs_b   = create_tensor(tn(LLM_TENSOR_FFN_EXP_PROBS_B, "bias", i), {n_expert}, TENSOR_NOT_REQUIRED);
+
+                        // shared expert MLP
+                        layer.ffn_gate_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_SHEXP, "weight", i), {n_embd, hparams.n_ff_shexp}, TENSOR_NOT_REQUIRED);
+                        layer.ffn_up_shexp   = create_tensor(tn(LLM_TENSOR_FFN_UP_SHEXP,   "weight", i), {n_embd, hparams.n_ff_shexp}, TENSOR_NOT_REQUIRED);
+                        layer.ffn_down_shexp = create_tensor(tn(LLM_TENSOR_FFN_DOWN_SHEXP, "weight", i), {hparams.n_ff_shexp, n_embd}, TENSOR_NOT_REQUIRED);
+                    }
+                } break;
             case LLM_ARCH_MAINCODER:
                 {
                     tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, 0);
@@ -8257,6 +8355,10 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const {
             {
                 llm = std::make_unique(*this, params);
             } break;
+        case LLM_ARCH_STEP35:
+            {
+                llm = std::make_unique(*this, params);
+            } break;
         default:
             GGML_ABORT("fatal error");
     }
@@ -8502,6 +8604,7 @@ llama_rope_type llama_model_rope_type(const llama_model * model) {
         case LLM_ARCH_AFMOE:
         case LLM_ARCH_QWEN3NEXT:
         case LLM_ARCH_MIMO2:
+        case LLM_ARCH_STEP35:
             return LLAMA_ROPE_TYPE_NEOX;
 
         case LLM_ARCH_QWEN2VL:
diff --git a/src/llama-model.h b/src/llama-model.h
index 5b408bcea2..7b580043b3 100644
--- a/src/llama-model.h
+++ b/src/llama-model.h
@@ -123,6 +123,7 @@ enum llm_type {
     LLM_TYPE_100B_A6B,
     LLM_TYPE_102B_A12B, // Solar-Open
     LLM_TYPE_106B_A12B, // GLM-4.5-Air
+    LLM_TYPE_196B_A11B, // Step3.5-Flash
     LLM_TYPE_230B_A10B, // Minimax M2
     LLM_TYPE_235B_A22B,
     LLM_TYPE_300B_A47B, // Ernie MoE big
diff --git a/src/models/models.h b/src/models/models.h
index 71c1fe8108..cfcbb9aaa5 100644
--- a/src/models/models.h
+++ b/src/models/models.h
@@ -583,6 +583,10 @@ struct llm_build_starcoder : public llm_graph_context {
     llm_build_starcoder(const llama_model & model, const llm_graph_params & params);
 };
 
+struct llm_build_step35_iswa : public llm_graph_context {
+    llm_build_step35_iswa(const llama_model & model, const llm_graph_params & params);
+};
+
 struct llm_build_t5_dec : public llm_graph_context {
     llm_build_t5_dec(const llama_model & model, const llm_graph_params & params);
 };
diff --git a/src/models/step35-iswa.cpp b/src/models/step35-iswa.cpp
new file mode 100644
index 0000000000..f8737815a6
--- /dev/null
+++ b/src/models/step35-iswa.cpp
@@ -0,0 +1,168 @@
+#include "models.h"
+
+llm_build_step35_iswa::llm_build_step35_iswa(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) {
+    ggml_tensor * cur;
+    ggml_tensor * inpL;
+
+    inpL = build_inp_embd(model.tok_embd);
+    ggml_tensor * inp_pos     = build_inp_pos();
+    auto        * inp_attn    = build_attn_inp_kv_iswa();
+    ggml_tensor * inp_out_ids = build_inp_out_ids();
+
+    for (int il = 0; il < n_layer; ++il) {
+        ggml_tensor * inpSA = inpL;
+
+        const uint32_t n_head_l    = hparams.n_head(il);
+        const uint32_t n_head_kv_l = hparams.n_head_kv(il);
+
+        const float freq_base_l  = model.get_rope_freq_base(cparams, il);
+        const float freq_scale_l = model.get_rope_freq_scale(cparams, il);
+
+        cur = inpL;
+
+        // dump pre-attn RMSNorm input to pinpoint layer boundary issues
+        cb(cur, "attn_norm_in", il);
+
+        // self-attention
+        {
+            cur = build_norm(cur, model.layers[il].attn_norm, nullptr, LLM_NORM_RMS, il);
+            cb(cur, "attn_norm", il);
+            ggml_tensor * Qcur = build_lora_mm(model.layers[il].wq, cur);
+            ggml_tensor * Kcur = build_lora_mm(model.layers[il].wk, cur);
+            ggml_tensor * Vcur = build_lora_mm(model.layers[il].wv, cur);
+
+            cb(Qcur, "Qcur", il);
+            cb(Kcur, "Kcur", il);
+            cb(Vcur, "Vcur", il);
+
+            Qcur = ggml_reshape_3d(ctx0, Qcur, n_embd_head_k, n_head_l,    n_tokens);
+            Kcur = ggml_reshape_3d(ctx0, Kcur, n_embd_head_k, n_head_kv_l, n_tokens);
+            Vcur = ggml_reshape_3d(ctx0, Vcur, n_embd_head_v, n_head_kv_l, n_tokens);
+
+            // Q/K per-head RMSNorm (Step35 q_norm / k_norm)
+            if (model.layers[il].attn_q_norm) {
+                Qcur = build_norm(Qcur, model.layers[il].attn_q_norm, nullptr, LLM_NORM_RMS, il);
+                cb(Qcur, "Qcur_normed", il);
+            }
+            if (model.layers[il].attn_k_norm) {
+                Kcur = build_norm(Kcur, model.layers[il].attn_k_norm, nullptr, LLM_NORM_RMS, il);
+                cb(Kcur, "Kcur_normed", il);
+            }
+
+            // RoPE (partial rotary factors per layer)
+            const bool is_swa = hparams.is_swa(il);
+            ggml_tensor * rope_factors = is_swa ? nullptr : model.get_rope_factors(cparams, il);
+            const int64_t n_rot_l = is_swa ? hparams.n_rot : (hparams.n_rot / 2);
+            Qcur = ggml_rope_ext(
+                ctx0, Qcur, inp_pos, rope_factors,
+                n_rot_l, rope_type, n_ctx_orig, freq_base_l, freq_scale_l,
+                ext_factor, attn_factor, beta_fast, beta_slow
+            );
+            Kcur = ggml_rope_ext(
+                ctx0, Kcur, inp_pos, rope_factors,
+                n_rot_l, rope_type, n_ctx_orig, freq_base_l, freq_scale_l,
+                ext_factor, attn_factor, beta_fast, beta_slow
+            );
+            cb(Qcur, "Qcur_pos", il);
+            cb(Kcur, "Kcur_pos", il);
+
+            const float kq_scale = 1.0f / sqrtf(float(n_embd_head_k));
+            ggml_tensor * attn_out = build_attn(inp_attn,
+                    nullptr, nullptr,
+                    Qcur, Kcur, Vcur, nullptr, nullptr, nullptr, kq_scale, il);
+            cb(attn_out, "attn_out", il);
+            // head-wise attention gate: sigmoid(g_proj(x)) in torch
+            if (model.layers[il].wqkv_gate) {
+                ggml_tensor * gate = build_lora_mm(model.layers[il].wqkv_gate, cur); // [n_head_l, n_tokens]
+                cb(gate, "attn_gate", il);
+
+                gate = ggml_sigmoid(ctx0, gate);
+                cb(gate, "attn_gate_sigmoid", il);
+
+                // reshape + broadcast to [n_embd_head_v, n_head_l, n_tokens]
+                ggml_tensor * attn_3d = ggml_reshape_3d(ctx0, attn_out, n_embd_head_v, n_head_l, n_tokens);
+                ggml_tensor * gate_3d = ggml_reshape_3d(ctx0, gate,       1,          n_head_l, n_tokens);
+                cb(gate_3d, "attn_gate_3d", il);
+
+                attn_3d = ggml_mul(ctx0, attn_3d, gate_3d);
+                cb(attn_3d, "attn_gated_3d", il);
+
+                attn_out = ggml_reshape_2d(ctx0, attn_3d, n_embd_head_v * n_head_l, n_tokens);
+                cb(attn_out, "attn_gated", il);
+            }
+
+            // output projection
+            cur = build_lora_mm(model.layers[il].wo, attn_out);
+            cb(cur, "attn_proj", il);
+        }
+
+        if (il == n_layer - 1 && inp_out_ids) {
+            cur   = ggml_get_rows(ctx0,   cur, inp_out_ids);
+            inpSA = ggml_get_rows(ctx0, inpSA, inp_out_ids);
+        }
+
+        ggml_tensor * ffn_inp = ggml_add(ctx0, cur, inpSA);
+        cb(ffn_inp, "ffn_inp", il);
+
+        cur = build_norm(ffn_inp, model.layers[il].ffn_norm, nullptr, LLM_NORM_RMS, il);
+        cb(cur, "ffn_norm", il);
+
+        // feed-forward
+        if (model.layers[il].ffn_gate_inp == nullptr) {
+            // dense MLP
+            cur = build_ffn(cur,
+                    model.layers[il].ffn_up,   model.layers[il].ffn_up_b,   nullptr,
+                    model.layers[il].ffn_gate, model.layers[il].ffn_gate_b, nullptr,
+                    model.layers[il].ffn_down, model.layers[il].ffn_down_b, nullptr,
+                    nullptr,
+                    LLM_FFN_SILU, LLM_FFN_PAR, il);
+            cb(cur, "ffn_out", il);
+        } else {
+            // MoE routed experts
+            const bool  norm_w  = hparams.expert_weights_norm;
+            const float w_scale = hparams.expert_weights_scale;
+            const bool  scale_w = w_scale != 0.0f;
+            ggml_tensor * moe_out = build_moe_ffn(cur,
+                    model.layers[il].ffn_gate_inp,
+                    model.layers[il].ffn_up_exps,
+                    model.layers[il].ffn_gate_exps,
+                    model.layers[il].ffn_down_exps,
+                    model.layers[il].ffn_exp_probs_b,
+                    n_expert, n_expert_used,
+                    LLM_FFN_SILU,
+                    norm_w, scale_w, w_scale,
+                    (llama_expert_gating_func_type) hparams.expert_gating_func,
+                    il);
+            cb(moe_out, "ffn_moe_out", il);
+
+            // shared expert MLP (always added on MoE layers in Step35)
+            ggml_tensor * sh_out = build_ffn(cur,
+                    model.layers[il].ffn_up_shexp,   nullptr, nullptr,
+                    model.layers[il].ffn_gate_shexp, nullptr, nullptr,
+                    model.layers[il].ffn_down_shexp, nullptr, nullptr,
+                    nullptr,
+                    LLM_FFN_SILU, LLM_FFN_PAR, il);
+            cb(sh_out, "ffn_shared_out", il);
+
+            cur = ggml_add(ctx0, moe_out, sh_out);
+            cb(cur, "ffn_out", il);
+        }
+        cur = ggml_add(ctx0, cur, ffn_inp);
+        cur = build_cvec(cur, il);
+        cb(cur, "l_out", il);
+
+        inpL = cur;
+    }
+
+    cur = inpL;
+
+    cur = build_norm(cur, model.output_norm, nullptr, LLM_NORM_RMS, -1);
+    cb(cur, "result_norm", -1);
+    res->t_embd = cur;
+
+    cur = build_lora_mm(model.output, cur);
+    cb(cur, "result_output", -1);
+    res->t_logits = cur;
+
+    ggml_build_forward_expand(gf, cur);
+}

From 34ba7b5a2f5cd88f99629a3bd68d003fbd5bc2cf Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Sat, 7 Feb 2026 07:37:15 +0200
Subject: [PATCH 149/206] metal : fix event synchronization in cpy_tensor_async
 (#19402)

---
 ggml/src/ggml-metal/ggml-metal-context.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ggml/src/ggml-metal/ggml-metal-context.m b/ggml/src/ggml-metal/ggml-metal-context.m
index c7e8ebd3f3..5d3a8ce412 100644
--- a/ggml/src/ggml-metal/ggml-metal-context.m
+++ b/ggml/src/ggml-metal/ggml-metal-context.m
@@ -394,7 +394,7 @@ bool ggml_metal_cpy_tensor_async(ggml_metal_t ctx_src, ggml_metal_t ctx_dst, con
         [encoder endEncoding];
 
         ggml_metal_event_t ev_cpy = ggml_metal_get_ev_cpy(ctx_src);
-        ggml_metal_event_record(ctx_src, ev_cpy);
+        ggml_metal_event_encode_signal(ev_cpy, cmd_buf);
 
         [cmd_buf commit];
 

From 8872ad2125336d209a9911a82101f80095a9831d Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Sat, 7 Feb 2026 10:35:56 +0200
Subject: [PATCH 150/206] metal : consolidate bin kernels (#19390)

* metal : refactor bin kernels

* cont

* cont : fix cv
---
 ggml/src/ggml-metal/ggml-metal-device.cpp |  80 ++++-
 ggml/src/ggml-metal/ggml-metal-device.h   |   6 +-
 ggml/src/ggml-metal/ggml-metal-device.m   |  10 +-
 ggml/src/ggml-metal/ggml-metal-impl.h     |   1 +
 ggml/src/ggml-metal/ggml-metal-ops.cpp    |  33 +-
 ggml/src/ggml-metal/ggml-metal.metal      | 389 ++++++++--------------
 6 files changed, 224 insertions(+), 295 deletions(-)

diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp
index 6af0dd88d5..4c4c3ce36c 100644
--- a/ggml/src/ggml-metal/ggml-metal-device.cpp
+++ b/ggml/src/ggml-metal/ggml-metal-device.cpp
@@ -1392,34 +1392,78 @@ ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_flash_attn_ext_v
     GGML_UNUSED(op);
 }
 
-ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_bin(
-        ggml_metal_library_t lib,
-        ggml_op op,
-        int32_t n_fuse,
-        bool row) {
+ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_bin(ggml_metal_library_t lib, const ggml_tensor * op, int32_t n_fuse) {
     char base[256];
     char name[256];
 
-    const char * op_str = "undefined";
-    switch (op) {
-        case GGML_OP_ADD:   op_str = "add";   break;
-        case GGML_OP_SUB:   op_str = "sub";   break;
-        case GGML_OP_MUL:   op_str = "mul";   break;
-        case GGML_OP_DIV:   op_str = "div";   break;
+    int op_num = -1;
+
+    switch (op->op) {
+        case GGML_OP_ADD: op_num = 0; break;
+        case GGML_OP_SUB: op_num = 1; break;
+        case GGML_OP_MUL: op_num = 2; break;
+        case GGML_OP_DIV: op_num = 3; break;
         default: GGML_ABORT("fatal error");
     };
 
-    if (row) {
-        snprintf(base, 256, "kernel_%s_row_c4_fuse_%d", op_str, n_fuse);
-    } else {
-        snprintf(base, 256, "kernel_%s_fuse_%d", op_str, n_fuse);
-    }
+    const char * t0_str = ggml_type_name(op->src[0]->type);
+    const char * t1_str = ggml_type_name(op->src[1]->type);
+    const char * t_str  = ggml_type_name(op->type);
 
-    snprintf(name, 256, "%s", base);
+    const bool is_c4 = (op->src[0]->ne[0] % 4 == 0) && (op->src[1]->ne[0] % 4 == 0);
+
+    const bool is_rb = ggml_is_contiguous(op->src[0]) && ggml_is_contiguous(op->src[1]) && (ggml_nrows(op->src[1]) == 1) && ggml_nelements(op) < 65536;
+
+    snprintf(base, 256, "kernel_bin_fuse_%s_%s_%s%s", t0_str, t1_str, t_str, is_c4 ? "_4" : "");
+    snprintf(name, 256, "%s_op=%d_nf=%d_rb=%d", base, op_num, n_fuse, is_rb);
 
     ggml_metal_pipeline_with_params res = ggml_metal_library_get_pipeline(lib, name);
     if (!res.pipeline) {
-        res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr);
+        ggml_metal_cv_t cv = ggml_metal_cv_init();
+
+        ggml_metal_cv_set_int16(cv, op_num, FC_BIN + 0);
+        ggml_metal_cv_set_int16(cv, n_fuse, FC_BIN + 1);
+        ggml_metal_cv_set_bool (cv, is_rb,  FC_BIN + 2);
+
+        res = ggml_metal_library_compile_pipeline(lib, base, name, cv);
+
+        ggml_metal_cv_free(cv);
+    }
+
+    res.c4  = is_c4;
+    res.cnt = is_rb;
+
+    return res;
+}
+
+ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_bin_one(ggml_metal_library_t lib, ggml_op op) {
+    char base[256];
+    char name[256];
+
+    int op_num = -1;
+
+    switch (op) {
+        case GGML_OP_ADD: op_num = 0; break;
+        case GGML_OP_SUB: op_num = 1; break;
+        case GGML_OP_MUL: op_num = 2; break;
+        case GGML_OP_DIV: op_num = 3; break;
+        default: GGML_ABORT("fatal error");
+    };
+
+    snprintf(base, 256, "kernel_bin_fuse_%s_%s_%s", "f32", "f32", "f32");
+    snprintf(name, 256, "%s_op=%d_nf=%d", base, op_num, 1);
+
+    ggml_metal_pipeline_with_params res = ggml_metal_library_get_pipeline(lib, name);
+    if (!res.pipeline) {
+        ggml_metal_cv_t cv = ggml_metal_cv_init();
+
+        ggml_metal_cv_set_int16(cv, op_num, FC_BIN + 0);
+        ggml_metal_cv_set_int16(cv, 1,      FC_BIN + 1);
+        ggml_metal_cv_set_bool (cv, false,  FC_BIN + 2);
+
+        res = ggml_metal_library_compile_pipeline(lib, base, name, cv);
+
+        ggml_metal_cv_free(cv);
     }
 
     return res;
diff --git a/ggml/src/ggml-metal/ggml-metal-device.h b/ggml/src/ggml-metal/ggml-metal-device.h
index 84dcec3083..93d7f6a216 100644
--- a/ggml/src/ggml-metal/ggml-metal-device.h
+++ b/ggml/src/ggml-metal/ggml-metal-device.h
@@ -53,6 +53,9 @@ struct ggml_metal_pipeline_with_params {
     int nr1;
 
     size_t smem;
+
+    bool c4;
+    bool cnt;
 };
 
 int ggml_metal_pipeline_max_theads_per_threadgroup(struct ggml_metal_pipeline_with_params pipeline);
@@ -134,7 +137,8 @@ struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_argsort
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_argsort_merge     (ggml_metal_library_t lib, const struct ggml_tensor * op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_top_k             (ggml_metal_library_t lib, const struct ggml_tensor * op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_top_k_merge       (ggml_metal_library_t lib, const struct ggml_tensor * op);
-struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_bin               (ggml_metal_library_t lib, enum ggml_op op, int32_t n_fuse, bool row);
+struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_bin               (ggml_metal_library_t lib, const struct ggml_tensor * op, int32_t n_fuse );
+struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_bin_one           (ggml_metal_library_t lib, enum ggml_op op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_l2_norm           (ggml_metal_library_t lib, const struct ggml_tensor * op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_group_norm        (ggml_metal_library_t lib, const struct ggml_tensor * op);
 struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_norm              (ggml_metal_library_t lib, const struct ggml_tensor * op, int32_t n_fuse);
diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m
index c8e737d418..891d70c85a 100644
--- a/ggml/src/ggml-metal/ggml-metal-device.m
+++ b/ggml/src/ggml-metal/ggml-metal-device.m
@@ -346,10 +346,12 @@ struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline(ggml_meta
 
     struct ggml_metal_pipeline_with_params res = {
         /*.pipeline =*/ nil,
+        /*.nsg      =*/ 0,
         /*.nr0      =*/ 0,
         /*.nr1      =*/ 0,
-        /*.nsg      =*/ 0,
         /*.smem     =*/ 0,
+        /*.c4       =*/ false,
+        /*.cnt      =*/ false,
     };
 
     res.pipeline = ggml_metal_pipelines_get(lib->pipelines, name);
@@ -362,10 +364,12 @@ struct ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline(ggml_meta
 struct ggml_metal_pipeline_with_params ggml_metal_library_compile_pipeline(ggml_metal_library_t lib, const char * base, const char * name, ggml_metal_cv_t cv) {
     struct ggml_metal_pipeline_with_params res = {
         /*.pipeline =*/ nil,
+        /*.nsg      =*/ 0,
         /*.nr0      =*/ 0,
         /*.nr1      =*/ 0,
-        /*.nsg      =*/ 0,
         /*.smem     =*/ 0,
+        /*.c4       =*/ false,
+        /*.cnt      =*/ false,
     };
 
     [lib->lock lock];
@@ -1054,7 +1058,7 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te
         case GGML_OP_MUL:
         case GGML_OP_DIV:
         case GGML_OP_ADD_ID:
-            return op->src[0]->type == GGML_TYPE_F32;
+            return ggml_is_contiguous_rows(op->src[0]) && ggml_is_contiguous_rows(op->src[1]) && op->src[0]->type == GGML_TYPE_F32;
         case GGML_OP_ACC:
         case GGML_OP_REPEAT:
         case GGML_OP_SCALE:
diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h
index 7f73cb97bb..77bb403c15 100644
--- a/ggml/src/ggml-metal/ggml-metal-impl.h
+++ b/ggml/src/ggml-metal/ggml-metal-impl.h
@@ -80,6 +80,7 @@
 #define FC_SSM_CONV                    900
 #define FC_SOLVE_TRI                   1000
 #define FC_COUNT_EQUAL                 1100
+#define FC_BIN                         1200
 
 // op-specific constants
 #define OP_FLASH_ATTN_EXT_NQPSG 8
diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp
index e0ed6c7805..dbf25433c2 100644
--- a/ggml/src/ggml-metal/ggml-metal-ops.cpp
+++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp
@@ -707,7 +707,7 @@ int ggml_metal_op_acc(ggml_metal_op_t ctx, int idx) {
         /*.o1   =*/ { 0 },
     };
 
-    auto pipeline = ggml_metal_library_get_pipeline_bin(lib, GGML_OP_ADD, 1, false);
+    auto pipeline = ggml_metal_library_get_pipeline_bin_one(lib, GGML_OP_ADD);
 
     ggml_metal_encoder_set_pipeline(enc, pipeline);
     ggml_metal_encoder_set_bytes   (enc, &args, sizeof(args), 0);
@@ -2895,8 +2895,6 @@ int ggml_metal_op_bin(ggml_metal_op_t ctx, int idx) {
     GGML_ASSERT(ggml_is_contiguous_rows(op->src[0]));
     GGML_ASSERT(ggml_is_contiguous_rows(op->src[1]));
 
-    bool bcast_row = false;
-
     ggml_metal_buffer_id bid_src0 = ggml_metal_get_buffer_id(op->src[0]);
     ggml_metal_buffer_id bid_src1 = ggml_metal_get_buffer_id(op->src[1]);
     ggml_metal_buffer_id bid_dst  = ggml_metal_get_buffer_id(op);
@@ -2990,18 +2988,7 @@ int ggml_metal_op_bin(ggml_metal_op_t ctx, int idx) {
 
     struct ggml_metal_pipeline_with_params pipeline;
 
-    if (ggml_nelements(op->src[1]) == ne10 && ggml_is_contiguous(op->src[1]) && ne00 % 4 == 0 && ne10 % 4 == 0) {
-        GGML_ASSERT(ggml_is_contiguous(op->src[0]));
-
-        // src1 is a row
-        GGML_ASSERT(ne11 == 1);
-
-        pipeline = ggml_metal_library_get_pipeline_bin(lib, op->op, n_fuse, true);
-
-        bcast_row = true;
-    } else {
-        pipeline = ggml_metal_library_get_pipeline_bin(lib, op->op, n_fuse, false);
-    }
+    pipeline = ggml_metal_library_get_pipeline_bin(lib, op, n_fuse);
 
     if (n_fuse > 1) {
         bid_dst = ggml_metal_get_buffer_id(ctx->node(idx + n_fuse - 1));
@@ -3015,20 +3002,28 @@ int ggml_metal_op_bin(ggml_metal_op_t ctx, int idx) {
         }
     }
 
+    if (pipeline.c4) {
+        args.ne00 = ne00/4;
+        args.ne10 = ne10/4;
+        args.ne0  = ne0/4;
+    }
+
     ggml_metal_encoder_set_pipeline(enc, pipeline);
     ggml_metal_encoder_set_bytes   (enc, &args, sizeof(args), 0);
     ggml_metal_encoder_set_buffer  (enc, bid_src0, 1);
     ggml_metal_encoder_set_buffer  (enc, bid_src1, 2);
     ggml_metal_encoder_set_buffer  (enc, bid_dst,  3);
 
-    if (bcast_row) {
-        const int64_t n = ggml_nelements(op)/4;
+    if (pipeline.cnt) {
+        const int n = pipeline.c4 ? ggml_nelements(op)/4 : ggml_nelements(op);
 
         ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1);
     } else {
-        int nth = 32;
+        const int nth_max = MIN(256, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline));
 
-        while (16*nth < ne0 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) {
+        int nth = 1;
+
+        while (2*nth < args.ne0 && nth < nth_max) {
             nth *= 2;
         }
 
diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal
index 612a42a1ea..35cc3bbdfd 100644
--- a/ggml/src/ggml-metal/ggml-metal.metal
+++ b/ggml/src/ggml-metal/ggml-metal.metal
@@ -895,11 +895,13 @@ enum ggml_sort_order {
     GGML_SORT_ORDER_DESC,
 };
 
-// general-purpose kernel for addition, subtraction, multiplication and division of two tensors
-// pros: works for non-contiguous tensors, supports broadcast across all dims
-// cons: not very efficient
-template 
-kernel void kernel_add_fuse_impl(
+// OP: 0 - add, 1 - sub, 2 - mul, 3 - div
+constant short FC_bin_op [[function_constant(FC_BIN + 0)]];
+constant short FC_bin_f  [[function_constant(FC_BIN + 1)]];
+constant bool  FC_bin_rb [[function_constant(FC_BIN + 2)]];
+
+template 
+kernel void kernel_bin_fuse_impl(
         constant ggml_metal_kargs_bin & args,
         device const char * src0,
         device const char * src1,
@@ -907,138 +909,152 @@ kernel void kernel_add_fuse_impl(
         uint3   tgpig[[threadgroup_position_in_grid]],
         ushort3 tpitg[[thread_position_in_threadgroup]],
         ushort3   ntg[[threads_per_threadgroup]]) {
-    const int i03 = tgpig.z;
-    const int i02 = tgpig.y;
-    const int i01 = tgpig.x;
+#define FC_OP FC_bin_op
+#define FC_F  FC_bin_f
+#define FC_RB FC_bin_rb
 
-    const int i13 = i03%args.ne13;
-    const int i12 = i02%args.ne12;
-    const int i11 = i01%args.ne11;
+    if (FC_RB) {
+        // row broadcast
+        const uint i0 = tgpig.x;
+        const uint i1 = i0%args.ne10;
 
-    device const float * src0_ptr = (device const float *) (src0 + i03*args.nb03 + i02*args.nb02 + i01*args.nb01 + args.offs);
-    device       float * dst_ptr  = (device       float *) (dst  + i03*args.nb3  + i02*args.nb2  + i01*args.nb1  + args.offs);
+        device const T0 * src0_row = (device const T0 *) (src0);
+        device       T  * dst_row  = (device       T  *) (dst);
 
-    device const float * src1_ptr[F];
-    for (short j = 0; j < F; ++j) {
-        src1_ptr[j] = (device const float *) (src1 + args.o1[j] + i13*args.nb13 + i12*args.nb12 + i11*args.nb11);
-    }
+        if (FC_F == 1) {
+            device const T1 * src1_row = (device const T1 *) (src1 + args.o1[0]);
 
-    for (int i0 = tpitg.x; i0 < args.ne0; i0 += ntg.x) {
-        const int i10 = i0%args.ne10;
+            if (FC_OP == 0) {
+                dst_row[i0] = src0_row[i0] + src1_row[i1];
+            }
 
-        float res = src0_ptr[i0];
+            if (FC_OP == 1) {
+                dst_row[i0] = src0_row[i0] - src1_row[i1];
+            }
 
-#pragma unroll
-        for (short j = 0; j < F; ++j) {
-            res += src1_ptr[j][i10];
-        }
+            if (FC_OP == 2) {
+                dst_row[i0] = src0_row[i0] * src1_row[i1];
+            }
 
-        dst_ptr[i0] = res;
-    }
-}
+            if (FC_OP == 3) {
+                dst_row[i0] = src0_row[i0] / src1_row[i1];
+            }
+        } else {
+            T0 res = src0_row[i0];
 
-typedef decltype(kernel_add_fuse_impl<2>) kernel_add_fuse_t;
+            if (FC_OP == 0) {
+                FOR_UNROLL (short j = 0; j < FC_F; ++j) {
+                    res += ((device const T1 *) (src1 + args.o1[j]))[i1];
+                }
+            }
 
-template [[host_name("kernel_add_fuse_1")]] kernel kernel_add_fuse_t kernel_add_fuse_impl<1>;
-template [[host_name("kernel_add_fuse_2")]] kernel kernel_add_fuse_t kernel_add_fuse_impl<2>;
-template [[host_name("kernel_add_fuse_3")]] kernel kernel_add_fuse_t kernel_add_fuse_impl<3>;
-template [[host_name("kernel_add_fuse_4")]] kernel kernel_add_fuse_t kernel_add_fuse_impl<4>;
-template [[host_name("kernel_add_fuse_5")]] kernel kernel_add_fuse_t kernel_add_fuse_impl<5>;
-template [[host_name("kernel_add_fuse_6")]] kernel kernel_add_fuse_t kernel_add_fuse_impl<6>;
-template [[host_name("kernel_add_fuse_7")]] kernel kernel_add_fuse_t kernel_add_fuse_impl<7>;
-template [[host_name("kernel_add_fuse_8")]] kernel kernel_add_fuse_t kernel_add_fuse_impl<8>;
+            if (FC_OP == 1) {
+                FOR_UNROLL (short j = 0; j < FC_F; ++j) {
+                    res -= ((device const T1 *) (src1 + args.o1[j]))[i1];
+                }
+            }
 
-kernel void kernel_sub_fuse_1(
-        constant ggml_metal_kargs_bin & args,
-        device const char * src0,
-        device const char * src1,
-        device       char * dst,
-        uint3   tgpig[[threadgroup_position_in_grid]],
-        ushort3 tpitg[[thread_position_in_threadgroup]],
-        ushort3   ntg[[threads_per_threadgroup]]) {
-    const int i03 = tgpig.z;
-    const int i02 = tgpig.y;
-    const int i01 = tgpig.x;
+            if (FC_OP == 2) {
+                FOR_UNROLL (short j = 0; j < FC_F; ++j) {
+                    res *= ((device const T1 *) (src1 + args.o1[j]))[i1];
+                }
+            }
 
-    const int i13 = i03%args.ne13;
-    const int i12 = i02%args.ne12;
-    const int i11 = i01%args.ne11;
+            if (FC_OP == 3) {
+                FOR_UNROLL (short j = 0; j < FC_F; ++j) {
+                    res /= ((device const T1 *) (src1 + args.o1[j]))[i1];
+                }
+            }
 
-    device const char * src0_ptr = src0 + i03*args.nb03 + i02*args.nb02 + i01*args.nb01 + args.offs;
-    device const char * src1_ptr = src1 + i13*args.nb13 + i12*args.nb12 + i11*args.nb11 + args.o1[0];
-    device       char * dst_ptr  = dst  + i03*args.nb3  + i02*args.nb2  + i01*args.nb1  + args.offs;
-
-    for (int i0 = tpitg.x; i0 < args.ne0; i0 += ntg.x) {
-        const int i10 = i0%args.ne10;
-        *((device float *)(dst_ptr + i0*args.nb0)) = *((device float *)(src0_ptr + i0*args.nb00)) - *((device float *)(src1_ptr + i10*args.nb10));
-    }
-}
-
-kernel void kernel_mul_fuse_1(
-        constant ggml_metal_kargs_bin & args,
-        device const char * src0,
-        device const char * src1,
-        device       char * dst,
-        uint3   tgpig[[threadgroup_position_in_grid]],
-        ushort3 tpitg[[thread_position_in_threadgroup]],
-        ushort3   ntg[[threads_per_threadgroup]]) {
-    const int i03 = tgpig.z;
-    const int i02 = tgpig.y;
-    const int i01 = tgpig.x;
-
-    const int i13 = i03%args.ne13;
-    const int i12 = i02%args.ne12;
-    const int i11 = i01%args.ne11;
-
-    device const char * src0_ptr = src0 + i03*args.nb03 + i02*args.nb02 + i01*args.nb01 + args.offs;
-    device const char * src1_ptr = src1 + i13*args.nb13 + i12*args.nb12 + i11*args.nb11 + args.o1[0];
-    device       char * dst_ptr  = dst  + i03*args.nb3  + i02*args.nb2  + i01*args.nb1  + args.offs;
-
-    if (args.ne10 == 1) {
-        const float x = *((device float *)(src1_ptr));
-        for (int i0 = tpitg.x; i0 < args.ne0; i0 += ntg.x) {
-            *((device float *)(dst_ptr + i0*args.nb0)) = *((device float *)(src0_ptr + i0*args.nb00)) * x;
+            dst_row[i0] = res;
         }
     } else {
-        for (int i0 = tpitg.x; i0 < args.ne0; i0 += ntg.x) {
-            const int i10 = i0%args.ne10;
-            *((device float *)(dst_ptr + i0*args.nb0)) = *((device float *)(src0_ptr + i0*args.nb00)) * *((device float *)(src1_ptr + i10*args.nb10));
+        const int i03 = tgpig.z;
+        const int i02 = tgpig.y;
+        const int i01 = tgpig.x;
+
+        if (i01 >= args.ne01) {
+            return;
+        }
+
+        const int i13 = i03%args.ne13;
+        const int i12 = i02%args.ne12;
+        const int i11 = i01%args.ne11;
+
+        device const T0 * src0_ptr = (device const T0 *) (src0 + i03*args.nb03 + i02*args.nb02 + i01*args.nb01 + args.offs);
+        device       T  * dst_ptr  = (device       T  *) (dst  + i03*args.nb3  + i02*args.nb2  + i01*args.nb1  + args.offs);
+
+        if (FC_F == 1) {
+            device const T1 * src1_ptr = (device const T1 *) (src1 + args.o1[0] + i13*args.nb13 + i12*args.nb12 + i11*args.nb11);
+
+            for (int i0 = tpitg.x; i0 < args.ne0; i0 += ntg.x) {
+                const int i10 = i0%args.ne10;
+
+                if (FC_OP == 0) {
+                    dst_ptr[i0] = src0_ptr[i0] + src1_ptr[i10];
+                }
+
+                if (FC_OP == 1) {
+                    dst_ptr[i0] = src0_ptr[i0] - src1_ptr[i10];
+                }
+
+                if (FC_OP == 2) {
+                    dst_ptr[i0] = src0_ptr[i0] * src1_ptr[i10];
+                }
+
+                if (FC_OP == 3) {
+                    dst_ptr[i0] = src0_ptr[i0] / src1_ptr[i10];
+                }
+            }
+        } else {
+            device const T1 * src1_ptr[8];
+            FOR_UNROLL (short j = 0; j < FC_F; ++j) {
+                src1_ptr[j] = (device const T1 *) (src1 + args.o1[j] + i13*args.nb13 + i12*args.nb12 + i11*args.nb11);
+            }
+
+            for (int i0 = tpitg.x; i0 < args.ne0; i0 += ntg.x) {
+                const int i10 = i0%args.ne10;
+
+                T res = src0_ptr[i0];
+
+                if (FC_OP == 0) {
+                    FOR_UNROLL (short j = 0; j < FC_F; ++j) {
+                        res += src1_ptr[j][i10];
+                    }
+                }
+
+                if (FC_OP == 1) {
+                    FOR_UNROLL (short j = 0; j < FC_F; ++j) {
+                        res -= src1_ptr[j][i10];
+                    }
+                }
+
+                if (FC_OP == 2) {
+                    FOR_UNROLL (short j = 0; j < FC_F; ++j) {
+                        res *= src1_ptr[j][i10];
+                    }
+                }
+
+                if (FC_OP == 3) {
+                    FOR_UNROLL (short j = 0; j < FC_F; ++j) {
+                        res /= src1_ptr[j][i10];
+                    }
+                }
+
+                dst_ptr[i0] = res;
+            }
         }
     }
+
+#undef FC_OP
+#undef FC_F
+#undef FC_RB
 }
 
-kernel void kernel_div_fuse_1(
-        constant ggml_metal_kargs_bin & args,
-        device const char * src0,
-        device const char * src1,
-        device       char * dst,
-        uint3   tgpig[[threadgroup_position_in_grid]],
-        ushort3 tpitg[[thread_position_in_threadgroup]],
-        ushort3   ntg[[threads_per_threadgroup]]) {
-    const int i03 = tgpig.z;
-    const int i02 = tgpig.y;
-    const int i01 = tgpig.x;
+typedef decltype(kernel_bin_fuse_impl) kernel_bin_fuse_t;
 
-    const int i13 = i03%args.ne13;
-    const int i12 = i02%args.ne12;
-    const int i11 = i01%args.ne11;
-
-    device const char * src0_ptr = src0 + i03*args.nb03 + i02*args.nb02 + i01*args.nb01 + args.offs;
-    device const char * src1_ptr = src1 + i13*args.nb13 + i12*args.nb12 + i11*args.nb11 + args.o1[0];
-    device       char * dst_ptr  = dst  + i03*args.nb3  + i02*args.nb2  + i01*args.nb1  + args.offs;
-
-    if (args.ne10 == 1) {
-        const float x = 1.0f / *((device float *)(src1_ptr));
-        for (int i0 = tpitg.x; i0 < args.ne0; i0 += ntg.x) {
-            *((device float *)(dst_ptr + i0*args.nb0)) = *((device float *)(src0_ptr + i0*args.nb00)) * x;
-        }
-    } else {
-        for (int i0 = tpitg.x; i0 < args.ne0; i0 += ntg.x) {
-            const int i10 = i0%args.ne10;
-            *((device float *)(dst_ptr + i0*args.nb0)) = *((device float *)(src0_ptr + i0*args.nb00)) / *((device float *)(src1_ptr + i10*args.nb10));
-        }
-    }
-}
+template [[host_name("kernel_bin_fuse_f32_f32_f32")]]   kernel kernel_bin_fuse_t kernel_bin_fuse_impl;
+template [[host_name("kernel_bin_fuse_f32_f32_f32_4")]] kernel kernel_bin_fuse_t kernel_bin_fuse_impl;
 
 kernel void kernel_add_id(
         constant ggml_metal_kargs_add_id & args,
@@ -1057,7 +1073,7 @@ kernel void kernel_add_id(
     const size_t nb1 = args.ne0 * sizeof(float);
     const size_t nb2 = args.ne1 * nb1;
 
-    device       float * dst_row  = (device       float *)((device char *)dst + i1*nb1 + i2*nb2);
+    device       float * dst_row  = (device       float *)((device char *)dst  +  i1*nb1       + i2*nb2);
     device const float * src0_row = (device const float *)((device char *)src0 +  i1*args.nb01 + i2*args.nb02);
     device const float * src1_row = (device const float *)((device char *)src1 + i11*args.nb11);
 
@@ -1098,141 +1114,6 @@ template [[host_name("kernel_repeat_f16")]] kernel kernel_repeat_t kernel_repeat
 template [[host_name("kernel_repeat_i32")]] kernel kernel_repeat_t kernel_repeat;
 template [[host_name("kernel_repeat_i16")]] kernel kernel_repeat_t kernel_repeat;
 
-// assumption: src1 is a row
-// broadcast src1 into src0
-template 
-kernel void kernel_add_row_c4_fuse_impl(
-        constant ggml_metal_kargs_bin & args,
-        device const char * src0,
-        device const char * src1,
-        device       char * dst,
-        uint tpig[[thread_position_in_grid]]) {
-    const uint nb = args.ne00/4;
-    const uint i  = tpig % nb;
-
-    device const float4 * src0_row = (device const float4 *) (src0);
-    device       float4 *  dst_row = (device       float4 *) (dst);
-
-    float4 res = src0_row[tpig];
-
-#pragma unroll(F)
-    for (short j = 0; j < F; ++j) {
-        res += ((device const float4 *) (src1 + args.o1[j]))[i];
-    }
-
-    dst_row[tpig] = res;
-}
-
-typedef decltype(kernel_add_row_c4_fuse_impl<1>) kernel_add_row_c4_fuse_t;
-
-template [[host_name("kernel_add_row_c4_fuse_1")]] kernel kernel_add_row_c4_fuse_t kernel_add_row_c4_fuse_impl<1>;
-template [[host_name("kernel_add_row_c4_fuse_2")]] kernel kernel_add_row_c4_fuse_t kernel_add_row_c4_fuse_impl<2>;
-template [[host_name("kernel_add_row_c4_fuse_3")]] kernel kernel_add_row_c4_fuse_t kernel_add_row_c4_fuse_impl<3>;
-template [[host_name("kernel_add_row_c4_fuse_4")]] kernel kernel_add_row_c4_fuse_t kernel_add_row_c4_fuse_impl<4>;
-template [[host_name("kernel_add_row_c4_fuse_5")]] kernel kernel_add_row_c4_fuse_t kernel_add_row_c4_fuse_impl<5>;
-template [[host_name("kernel_add_row_c4_fuse_6")]] kernel kernel_add_row_c4_fuse_t kernel_add_row_c4_fuse_impl<6>;
-template [[host_name("kernel_add_row_c4_fuse_7")]] kernel kernel_add_row_c4_fuse_t kernel_add_row_c4_fuse_impl<7>;
-template [[host_name("kernel_add_row_c4_fuse_8")]] kernel kernel_add_row_c4_fuse_t kernel_add_row_c4_fuse_impl<8>;
-
-template 
-kernel void kernel_sub_row_c4_fuse_impl(
-        constant ggml_metal_kargs_bin & args,
-        device const char * src0,
-        device const char * src1,
-        device       char * dst,
-        uint tpig[[thread_position_in_grid]]) {
-
-    const uint nb = args.ne00/4;
-    const uint i  = tpig % nb;
-
-    device const float4 * src0_row = (device const float4 *) (src0);
-    device       float4 *  dst_row = (device       float4 *) (dst);
-
-    device const float4 * src1_row[F];
-    for (short j = 0; j < F; ++j) {
-        src1_row[j] = (device const float4 *) (src1 + args.o1[j]);
-    }
-
-    float4 res = src0_row[tpig];
-
-#pragma unroll(F)
-    for (short j = 0; j < F; ++j) {
-        res -= src1_row[j][i];
-    }
-
-    dst_row[tpig] = res;
-}
-
-typedef decltype(kernel_sub_row_c4_fuse_impl<1>) kernel_sub_row_c4_fuse_t;
-
-template [[host_name("kernel_sub_row_c4_fuse_1")]] kernel kernel_sub_row_c4_fuse_t kernel_sub_row_c4_fuse_impl<1>;
-
-template 
-kernel void kernel_mul_row_c4_fuse_impl(
-        constant ggml_metal_kargs_bin & args,
-        device const char * src0,
-        device const char * src1,
-        device       char * dst,
-        uint tpig[[thread_position_in_grid]]) {
-
-    const uint nb = args.ne00/4;
-    const uint i  = tpig % nb;
-
-    device const float4 * src0_row = (device const float4 *) (src0);
-    device       float4 *  dst_row = (device       float4 *) (dst);
-
-    device const float4 * src1_row[F];
-    for (short j = 0; j < F; ++j) {
-        src1_row[j] = (device const float4 *) (src1 + args.o1[j]);
-    }
-
-    float4 res = src0_row[tpig];
-
-#pragma unroll(F)
-    for (short j = 0; j < F; ++j) {
-        res *= src1_row[j][i];
-    }
-
-    dst_row[tpig] = res;
-}
-
-typedef decltype(kernel_mul_row_c4_fuse_impl<1>) kernel_mul_row_c4_fuse_t;
-
-template [[host_name("kernel_mul_row_c4_fuse_1")]] kernel kernel_mul_row_c4_fuse_t kernel_mul_row_c4_fuse_impl<1>;
-
-template 
-kernel void kernel_div_row_c4_fuse_impl(
-        constant ggml_metal_kargs_bin & args,
-        device const char * src0,
-        device const char * src1,
-        device       char * dst,
-        uint tpig[[thread_position_in_grid]]) {
-
-    const uint nb = args.ne00/4;
-    const uint i  = tpig % nb;
-
-    device const float4 * src0_row = (device const float4 *) (src0);
-    device       float4 *  dst_row = (device       float4 *) (dst);
-
-    device const float4 * src1_row[F];
-    for (short j = 0; j < F; ++j) {
-        src1_row[j] = (device const float4 *) (src1 + args.o1[j]);
-    }
-
-    float4 res = src0_row[tpig];
-
-#pragma unroll(F)
-    for (short j = 0; j < F; ++j) {
-        res /= src1_row[j][i];
-    }
-
-    dst_row[tpig] = res;
-}
-
-typedef decltype(kernel_div_row_c4_fuse_impl<1>) kernel_div_row_c4_fuse_t;
-
-template [[host_name("kernel_div_row_c4_fuse_1")]] kernel kernel_div_row_c4_fuse_t kernel_div_row_c4_fuse_impl<1>;
-
 kernel void kernel_scale_f32(
         constant ggml_metal_kargs_scale & args,
         device const float * src0,

From 96441c955ea45cfa2b6834cad419b849aa144463 Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Sun, 8 Feb 2026 00:50:47 +0200
Subject: [PATCH 151/206] ci : use -j param correctly when building with
 sanitizers (#19411)

* ci : use less jobs when building with sanitizers

* cont : fix nproc

* cont : fix the fix

* cont : simplify
---
 .github/workflows/build.yml  | 2 ++
 .github/workflows/server.yml | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 51a3dc76e9..6c7ab71143 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -295,6 +295,7 @@ jobs:
             -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
             -DGGML_SANITIZE_${{ matrix.sanitizer }}=ON \
             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
+
           cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
 
       - name: Build (no OpenMP)
@@ -307,6 +308,7 @@ jobs:
             -DGGML_SANITIZE_${{ matrix.sanitizer }}=ON \
             -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
             -DGGML_OPENMP=OFF
+
           cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
 
       - name: Test
diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml
index 3d342c35f7..f44a9e739c 100644
--- a/.github/workflows/server.yml
+++ b/.github/workflows/server.yml
@@ -81,7 +81,7 @@ jobs:
             -DLLAMA_SANITIZE_ADDRESS=${{ matrix.sanitizer == 'ADDRESS' }} \
             -DLLAMA_SANITIZE_THREAD=${{ matrix.sanitizer == 'THREAD' }} \
             -DLLAMA_SANITIZE_UNDEFINED=${{ matrix.sanitizer == 'UNDEFINED' }}
-          cmake --build build --config ${{ matrix.build_type }} -j ${env:NUMBER_OF_PROCESSORS} --target llama-server
+          cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server
 
       - name: Python setup
         id: setup_python

From 9a5f57795c01c6e67a53eeedeae67ed63aaf7f8e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= 
Date: Sun, 8 Feb 2026 01:20:00 +0100
Subject: [PATCH 152/206] ci : remove server job from webui and move slow test
 (#19424)

* remove server job from webui and move slow test

* use pip-install option
---
 .github/workflows/server-webui.yml | 120 -----------------------------
 .github/workflows/server.yml       |  20 ++---
 2 files changed, 10 insertions(+), 130 deletions(-)

diff --git a/.github/workflows/server-webui.yml b/.github/workflows/server-webui.yml
index 6d1b617371..94899c9376 100644
--- a/.github/workflows/server-webui.yml
+++ b/.github/workflows/server-webui.yml
@@ -8,10 +8,6 @@ on:
         description: 'Commit SHA1 to build'
         required: false
         type: string
-      slow_tests:
-        description: 'Run slow tests'
-        required: true
-        type: boolean
   push:
     branches:
       - master
@@ -101,119 +97,3 @@ jobs:
         if: ${{ always() && steps.playwright.conclusion == 'success' }}
         run: npm run test:e2e
         working-directory: tools/server/webui
-
-  server-build:
-    runs-on: ubuntu-latest
-
-    strategy:
-      matrix:
-        sanitizer: [ADDRESS, UNDEFINED] # THREAD is broken
-        build_type: [RelWithDebInfo]
-        include:
-          - build_type: Release
-            sanitizer: ""
-      fail-fast: false # While -DLLAMA_SANITIZE_THREAD=ON is broken
-
-    steps:
-      - name: Dependencies
-        id: depends
-        run: |
-          sudo apt-get update
-          sudo apt-get -y install \
-            build-essential \
-            xxd \
-            git \
-            cmake \
-            curl \
-            wget \
-            language-pack-en \
-            libssl-dev
-
-      - name: Clone
-        id: checkout
-        uses: actions/checkout@v6
-        with:
-          fetch-depth: 0
-          ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }}
-
-      - name: Python setup
-        id: setup_python
-        uses: actions/setup-python@v6
-        with:
-          python-version: '3.11'
-
-      - name: Tests dependencies
-        id: test_dependencies
-        run: |
-          pip install -r tools/server/tests/requirements.txt
-
-      - name: Setup Node.js for WebUI
-        uses: actions/setup-node@v6
-        with:
-          node-version: "22"
-          cache: "npm"
-          cache-dependency-path: "tools/server/webui/package-lock.json"
-
-      - name: Install WebUI dependencies
-        run: npm ci
-        working-directory: tools/server/webui
-
-      - name: Build WebUI
-        run: npm run build
-        working-directory: tools/server/webui
-
-      - name: Build (no OpenMP)
-        id: cmake_build_no_openmp
-        if: ${{ matrix.sanitizer == 'THREAD' }}
-        run: |
-          cmake -B build \
-              -DGGML_NATIVE=OFF \
-              -DLLAMA_BUILD_SERVER=ON \
-              -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-              -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
-              -DGGML_OPENMP=OFF ;
-          cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server
-
-      - name: Build (sanitizers)
-        id: cmake_build_sanitizers
-        if: ${{ matrix.sanitizer != '' && matrix.sanitizer != 'THREAD' }}
-        run: |
-          cmake -B build \
-              -DGGML_NATIVE=OFF \
-              -DLLAMA_BUILD_SERVER=ON \
-              -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
-              -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON ;
-          cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server
-
-      - name: Build (sanitizers)
-        id: cmake_build
-        if: ${{ matrix.sanitizer == '' }}
-        run: |
-          cmake -B build \
-              -DGGML_NATIVE=OFF \
-              -DLLAMA_BUILD_SERVER=ON \
-              -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} ;
-          cmake --build build --config ${{ matrix.build_type }} -j $(nproc) --target llama-server
-
-      - name: Tests
-        id: server_integration_tests
-        if: ${{ matrix.sanitizer == '' }}
-        env:
-          GITHUB_ACTIONS: "true"
-        run: |
-          cd tools/server/tests
-          ./tests.sh
-
-      - name: Tests (sanitizers)
-        id: server_integration_tests_sanitizers
-        if: ${{ matrix.sanitizer != '' }}
-        run: |
-          cd tools/server/tests
-          LLAMA_SANITIZE=1 ./tests.sh
-
-      - name: Slow tests
-        id: server_integration_tests_slow
-        if: ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }}
-        run: |
-          cd tools/server/tests
-          SLOW_TESTS=1 ./tests.sh
diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml
index f44a9e739c..99d05226ba 100644
--- a/.github/workflows/server.yml
+++ b/.github/workflows/server.yml
@@ -88,11 +88,7 @@ jobs:
         uses: actions/setup-python@v6
         with:
           python-version: '3.11'
-
-      - name: Tests dependencies
-        id: test_dependencies
-        run: |
-          pip install -r tools/server/tests/requirements.txt
+          pip-install: -r tools/server/tests/requirements.txt
 
       - name: Tests
         id: server_integration_tests
@@ -102,6 +98,14 @@ jobs:
           export ${{ matrix.extra_args }}
           pytest -v -x -m "not slow"
 
+      - name: Slow tests
+        id: server_integration_tests_slow
+        if: ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }}
+        run: |
+          cd tools/server/tests
+          export ${{ matrix.extra_args }}
+          SLOW_TESTS=1 pytest -v -x
+
   server-windows:
     runs-on: windows-2022
 
@@ -124,11 +128,7 @@ jobs:
         uses: actions/setup-python@v6
         with:
           python-version: '3.11'
-
-      - name: Tests dependencies
-        id: test_dependencies
-        run: |
-          pip install -r tools/server/tests/requirements.txt
+          pip-install: -r tools/server/tests/requirements.txt
 
       - name: Tests
         id: server_integration_tests

From 5999b50eb00972732b69c519121dda1361f56eb3 Mon Sep 17 00:00:00 2001
From: ddh0 
Date: Sun, 8 Feb 2026 01:22:38 -0600
Subject: [PATCH 153/206] llama-quantize : cleanup `--help` output (#19317)

* cleanup `llama-quantize --help` output

some much needed TLC

* remove future argument

oops, spoiler

* cleanup of cleanup
---
 tools/quantize/quantize.cpp | 59 +++++++++++++++++++++++++------------
 1 file changed, 40 insertions(+), 19 deletions(-)

diff --git a/tools/quantize/quantize.cpp b/tools/quantize/quantize.cpp
index 0709e0bda0..c0f49279ee 100644
--- a/tools/quantize/quantize.cpp
+++ b/tools/quantize/quantize.cpp
@@ -119,27 +119,48 @@ static bool try_parse_ftype(const std::string & ftype_str_in, llama_ftype & ftyp
 [[noreturn]]
 static void usage(const char * executable) {
     printf("usage: %s [--help] [--allow-requantize] [--leave-output-tensor] [--pure] [--imatrix] [--include-weights]\n", executable);
-    printf("       [--exclude-weights] [--output-tensor-type] [--token-embedding-type] [--tensor-type] [--tensor-type-file] [--prune-layers] [--keep-split] [--override-kv]\n");
+    printf("       [--exclude-weights] [--output-tensor-type] [--token-embedding-type] [--tensor-type] [--tensor-type-file]\n");
+    printf("       [--prune-layers] [--keep-split] [--override-kv]\n");
     printf("       model-f32.gguf [model-quant.gguf] type [nthreads]\n\n");
-    printf("  --allow-requantize: Allows requantizing tensors that have already been quantized. Warning: This can severely reduce quality compared to quantizing from 16bit or 32bit\n");
-    printf("  --leave-output-tensor: Will leave output.weight un(re)quantized. Increases model size but may also increase quality, especially when requantizing\n");
-    printf("  --pure: Disable k-quant mixtures and quantize all tensors to the same type\n");
-    printf("  --imatrix file_name: use data in file_name as importance matrix for quant optimizations\n");
-    printf("  --include-weights tensor_name: use importance matrix for this/these tensor(s)\n");
-    printf("  --exclude-weights tensor_name: use importance matrix for this/these tensor(s)\n");
-    printf("  --output-tensor-type ggml_type: use this ggml_type for the output.weight tensor\n");
-    printf("  --token-embedding-type ggml_type: use this ggml_type for the token embeddings tensor\n");
-    printf("  --tensor-type TENSOR=TYPE: quantize this tensor to this ggml_type. example: --tensor-type attn_q=q8_0\n");
-    printf("      Advanced option to selectively quantize tensors. May be specified multiple times.\n");
-    printf("  --tensor-type-file tensor_type.txt: list of tensors to quantize to specific ggml_type. example: --tensor-type-file tensor_type_list.txt\n");
-    printf("      Advanced option to selectively quantize a long list of tensors. Format to be tensor_name=ggml_type, separated by spaces/newline.\n");
-    printf("  --prune-layers L0,L1,L2...comma-separated list of layer numbers to prune from the model\n");
-    printf("      Advanced option to remove all tensors from the given layers\n");
-    printf("  --keep-split: will generate quantized model in the same shards as input\n");
+    printf("  --allow-requantize\n");
+    printf("                                      allow requantizing tensors that have already been quantized\n");
+    printf("                                      WARNING: this can severely reduce quality compared to quantizing\n");
+    printf("                                               from 16bit or 32bit!\n");
+    printf("  --leave-output-tensor\n");
+    printf("                                      leave output.weight un(re)quantized\n");
+    printf("                                      increases model size but may also increase quality, especially when requantizing\n");
+    printf("  --pure\n");
+    printf("                                      disable k-quant mixtures and quantize all tensors to the same type\n");
+    printf("  --imatrix file_name\n");
+    printf("                                      use data in file_name as importance matrix for quant optimizations\n");
+    printf("  --include-weights tensor_name\n");
+    printf("                                      use importance matrix for this/these tensor(s)\n");
+    printf("  --exclude-weights tensor_name\n");
+    printf("                                      do not use importance matrix for this/these tensor(s)\n");
+    printf("  --output-tensor-type ggml_type\n");
+    printf("                                      use this ggml_type for the output.weight tensor\n");
+    printf("  --token-embedding-type ggml_type\n");
+    printf("                                      use this ggml_type for the token embeddings tensor\n");
+    printf("  --tensor-type tensor_name=ggml_type\n");
+    printf("                                      quantize this tensor to this ggml_type\n");
+    printf("                                      this is an advanced option to selectively quantize tensors. may be specified multiple times.\n");
+    printf("                                      example: --tensor-type attn_q=q8_0\n");
+    printf("  --tensor-type-file tensor_types.txt\n");
+    printf("                                      list of tensors to quantize to a specific ggml_type\n");
+    printf("                                      this is an advanced option to selectively quantize a long list of tensors.\n");
+    printf("                                      the file should use the same format as above, separated by spaces or newlines.\n");
+    printf("  --prune-layers L0,L1,L2...\n");
+    printf("                                      comma-separated list of layer numbers to prune from the model\n");
+    printf("                                      WARNING: this is an advanced option, use with care.\n");
+    printf("  --keep-split\n");
+    printf("                                      generate quantized model in the same shards as input\n");
     printf("  --override-kv KEY=TYPE:VALUE\n");
-    printf("      Advanced option to override model metadata by key in the quantized model. May be specified multiple times.\n");
-    printf("Note: --include-weights and --exclude-weights cannot be used together\n");
-    printf("\nAllowed quantization types:\n");
+    printf("                                      override model metadata by key in the quantized model. may be specified multiple times.\n");
+    printf("                                      WARNING: this is an advanced option, use with care.\n\n");
+    printf("note: --include-weights and --exclude-weights cannot be used together\n\n");
+    printf("-----------------------------------------------------------------------------\n");
+    printf(" allowed quantization types\n");
+    printf("-----------------------------------------------------------------------------\n\n");
     for (const auto & it : QUANT_OPTIONS) {
         if (it.name != "COPY") {
             printf("  %2d  or  ", it.ftype);

From eb449cdfa4319d8fd9066e4633b49f4c867dd11c Mon Sep 17 00:00:00 2001
From: Georgi Gerganov 
Date: Sun, 8 Feb 2026 09:40:04 +0200
Subject: [PATCH 154/206] server : improve context checkpoint logic (#19408)

---
 tools/server/server-context.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp
index b71d496eeb..8ec8451339 100644
--- a/tools/server/server-context.cpp
+++ b/tools/server/server-context.cpp
@@ -2507,7 +2507,8 @@ private:
                         slot.n_prompt_tokens_processed++;
 
                         // process the last few tokens of the prompt separately in order to allow for a checkpoint to be created.
-                        if (do_checkpoint && slot.task->n_tokens() - slot.prompt.n_tokens() == 64) {
+                        const int n_last = std::min(n_batch, 512);
+                        if (do_checkpoint && slot.task->n_tokens() == slot.prompt.n_tokens() + n_last) {
                             break;
                         }
                     }

From 5fa1c190d9fc86c02698b730a2cb933195e19d96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= 
Date: Sun, 8 Feb 2026 09:06:45 +0100
Subject: [PATCH 155/206] rpc : update from common.cpp (#19400)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Adrien Gallouët 
---
 tools/rpc/rpc-server.cpp | 64 ++++++++++++++++++++++++++++++----------
 1 file changed, 49 insertions(+), 15 deletions(-)

diff --git a/tools/rpc/rpc-server.cpp b/tools/rpc/rpc-server.cpp
index 58b93c7468..521f79622d 100644
--- a/tools/rpc/rpc-server.cpp
+++ b/tools/rpc/rpc-server.cpp
@@ -1,12 +1,7 @@
-#if defined(_MSC_VER)
-#define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING
-#endif
-
 #include "ggml-rpc.h"
 #ifdef _WIN32
 #  define NOMINMAX
 #  define DIRECTORY_SEPARATOR '\\'
-#  include 
 #  include 
 #  include 
 #  include 
@@ -15,23 +10,43 @@
 #  include 
 #  include 
 #endif
-#include 
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
 
-namespace fs = std::filesystem;
+#if defined(__linux__)
+#include 
+#include 
+#endif
+
+// NOTE: this is copied from common.cpp to avoid linking with libcommon
+#ifdef _WIN32
+static std::wstring utf8_to_wstring(const std::string & str) {
+    if (str.empty()) {
+        return std::wstring();
+    }
+
+    int size = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), (int)str.size(), NULL, 0);
+
+    if (size <= 0) {
+        return std::wstring();
+    }
+
+    std::wstring wstr(size, 0);
+    MultiByteToWideChar(CP_UTF8, 0, str.c_str(), (int)str.size(), &wstr[0], size);
+
+    return wstr;
+}
+#endif
 
 // NOTE: this is copied from common.cpp to avoid linking with libcommon
 // returns true if successful, false otherwise
 static bool fs_create_directory_with_parents(const std::string & path) {
 #ifdef _WIN32
-    std::wstring_convert> converter;
-    std::wstring wpath = converter.from_bytes(path);
+    std::wstring wpath = utf8_to_wstring(path);
 
     // if the path already exists, check whether it's a directory
     const DWORD attributes = GetFileAttributesW(wpath.c_str());
@@ -44,9 +59,16 @@ static bool fs_create_directory_with_parents(const std::string & path) {
     // process path from front to back, procedurally creating directories
     while ((pos_slash = path.find('\\', pos_slash)) != std::string::npos) {
         const std::wstring subpath = wpath.substr(0, pos_slash);
-        const wchar_t * test = subpath.c_str();
 
-        const bool success = CreateDirectoryW(test, NULL);
+        pos_slash += 1;
+
+        // skip the drive letter, in some systems it can return an access denied error
+        if (subpath.length() == 2 && subpath[1] == ':') {
+            continue;
+        }
+
+        const bool success = CreateDirectoryW(subpath.c_str(), NULL);
+
         if (!success) {
             const DWORD error = GetLastError();
 
@@ -60,8 +82,6 @@ static bool fs_create_directory_with_parents(const std::string & path) {
                 return false;
             }
         }
-
-        pos_slash += 1;
     }
 
     return true;
@@ -115,13 +135,27 @@ static std::string fs_get_cache_directory() {
 #if defined(__linux__) || defined(__FreeBSD__) || defined(_AIX) || defined(__OpenBSD__)
         if (std::getenv("XDG_CACHE_HOME")) {
             cache_directory = std::getenv("XDG_CACHE_HOME");
-        } else {
+        } else if (std::getenv("HOME")) {
             cache_directory = std::getenv("HOME") + std::string("/.cache/");
+        } else {
+#if defined(__linux__)
+            /* no $HOME is defined, fallback to getpwuid */
+            struct passwd *pw = getpwuid(getuid());
+            if ((!pw) || (!pw->pw_dir)) {
+                throw std::runtime_error("Failed to find $HOME directory");
+            }
+
+            cache_directory = std::string(pw->pw_dir) + std::string("/.cache/");
+#else /* defined(__linux__) */
+            throw std::runtime_error("Failed to find $HOME directory");
+#endif /* defined(__linux__) */
         }
 #elif defined(__APPLE__)
         cache_directory = std::getenv("HOME") + std::string("/Library/Caches/");
 #elif defined(_WIN32)
         cache_directory = std::getenv("LOCALAPPDATA");
+#elif defined(__EMSCRIPTEN__)
+        GGML_ABORT("not implemented on this platform");
 #else
 #  error Unknown architecture
 #endif

From e06088da0fa86aa444409f38dff274904931c507 Mon Sep 17 00:00:00 2001
From: Oliver Simons 
Date: Sun, 8 Feb 2026 14:12:51 +0100
Subject: [PATCH 156/206] CUDA: Fix non-contig rope (#19338)

* Rename variables + fix rope_neox

Seems memory layout is shared with Vulkan so we can port fix from
https://github.com/ggml-org/llama.cpp/pull/19299

* Fix rope_multi

* Fix rope_vision

* Fix rope_norm

* Rename ne* to ne0* for consistent variable naming

* cont : consistent stride names

---------

Co-authored-by: Georgi Gerganov 
---
 ggml/src/ggml-cuda/rope.cu | 364 +++++++++++++++++++++++--------------
 1 file changed, 232 insertions(+), 132 deletions(-)

diff --git a/ggml/src/ggml-cuda/rope.cu b/ggml/src/ggml-cuda/rope.cu
index 88ed79111a..45a49a5dc2 100644
--- a/ggml/src/ggml-cuda/rope.cu
+++ b/ggml/src/ggml-cuda/rope.cu
@@ -43,10 +43,15 @@ static __device__ void rope_yarn(
 template 
 static __global__ void rope_norm(const T *            x,
                                  D *                  dst,
-                                 const int            ne0,
-                                 const int            ne1,
+                                 const int            ne00,
+                                 const int            ne01,
+                                 const int            ne02,
+                                 const int            s01,
+                                 const int            s02,
+                                 const int            s03,
                                  const int            s1,
                                  const int            s2,
+                                 const int            s3,
                                  const int            n_dims,
                                  const int32_t *      pos,
                                  const float          freq_scale,
@@ -59,23 +64,23 @@ static __global__ void rope_norm(const T *            x,
                                  const int            set_rows_stride) {
     const int i0 = 2*(blockDim.y*blockIdx.y + threadIdx.y);
 
-    if (i0 >= ne0) {
+    if (i0 >= ne00) {
         return;
     }
 
     const int row_dst = blockDim.x*blockIdx.x + threadIdx.x;
 
-    const int row_x     = row_dst % ne1;
-    const int channel_x = row_dst / ne1;
-
-    int       idst = row_dst * ne0 + i0;
-    const int ix   = channel_x*s2 + row_x*s1 + i0;
+    const uint32_t i3 = row_dst / (ne01 * ne02);
+    const uint32_t i2 = (row_dst - i3 * ne01 * ne02) / ne01;
+    const uint32_t i1 = row_dst - i3 * ne01 * ne02 - i2 * ne01;
 
+    int       idst = i0 + i1 * s1  + i2 * s2  + i3 * s3;
+    const int ix   = i0 + i1 * s01 + i2 * s02 + i3 * s03;
     // Fusion optimization: ROPE + VIEW + SET_ROWS.
     // The rope output is viewed as a 1D tensor and offset based on a row index in row_indices.
     if (set_rows_stride != 0) {
-        idst = row_x * ne0 + i0;
-        idst += row_indices[channel_x] * set_rows_stride;
+        idst = i1 * s1 + i0;
+        idst += row_indices[i2] * set_rows_stride;
     }
 
     const auto & store_coaelsced = [&](float x0, float x1) {
@@ -92,7 +97,7 @@ static __global__ void rope_norm(const T *            x,
         return;
     }
 
-    const float theta_base = pos[channel_x]*powf(theta_scale, i0/2.0f);
+    const float theta_base = pos[i2]*powf(theta_scale, i0/2.0f);
 
     const float freq_factor = has_ff ? freq_factors[i0/2] : 1.0f;
 
@@ -110,10 +115,15 @@ static __global__ void rope_norm(const T *            x,
 template 
 static __global__ void rope_neox(const T *            x,
                                  D *                  dst,
-                                 const int            ne0,
-                                 const int            ne1,
+                                 const int            ne00,
+                                 const int            ne01,
+                                 const int            ne02,
+                                 const int            s01,
+                                 const int            s02,
+                                 const int            s03,
                                  const int            s1,
                                  const int            s2,
+                                 const int            s3,
                                  const int            n_dims,
                                  const int32_t *      pos,
                                  const float          freq_scale,
@@ -126,23 +136,24 @@ static __global__ void rope_neox(const T *            x,
                                  const int            set_rows_stride) {
     const int i0 = 2*(blockDim.y*blockIdx.y + threadIdx.y);
 
-    if (i0 >= ne0) {
+    if (i0 >= ne00) {
         return;
     }
 
     const int row_dst = blockDim.x*blockIdx.x + threadIdx.x;
 
-    const int row_x     = row_dst % ne1;
-    const int channel_x = row_dst / ne1;
+    const uint32_t i3 = row_dst / (ne01 * ne02);
+    const uint32_t i2 = (row_dst - i3 * ne01 * ne02) / ne01;
+    const uint32_t i1 = row_dst - i3 * ne01 * ne02 - i2 * ne01;
 
-    int       idst = row_dst * ne0 + i0 / 2;
-    const int ix   = channel_x*s2 + row_x*s1 + i0/2;
+    int       idst = i0 / 2 + i1 * s1  + i2 * s2  + i3 * s3;
+    const int ix   = i0 / 2 + i1 * s01 + i2 * s02 + i3 * s03;
 
     // Fusion optimization: ROPE + VIEW + SET_ROWS.
     // The rope output is viewed as a 1D tensor and offset based on a row index in row_indices.
     if (set_rows_stride != 0) {
-        idst = row_x * ne0 + i0 / 2;
-        idst += row_indices[channel_x] * set_rows_stride;
+        idst = i1 * s1 + i0 / 2;
+        idst += row_indices[i2] * set_rows_stride;
     }
 
     if (i0 >= n_dims) {
@@ -152,7 +163,7 @@ static __global__ void rope_neox(const T *            x,
         return;
     }
 
-    const float theta_base = pos[channel_x]*powf(theta_scale, i0/2.0f);
+    const float theta_base = pos[i2]*powf(theta_scale, i0/2.0f);
 
     const float freq_factor = has_ff ? freq_factors[i0/2] : 1.0f;
 
@@ -168,24 +179,42 @@ static __global__ void rope_neox(const T *            x,
     dst[idst + n_dims / 2] = ggml_cuda_cast(x0 * sin_theta + x1 * cos_theta);
 }
 
-template
-static __global__ void rope_multi(
-        const T * x, T * dst, const int ne0, const int ne1, const int ne2, const int s1, const int s2,
-        const int n_dims, const int32_t * pos, const float freq_scale, const float ext_factor, const float attn_factor,
-        const rope_corr_dims corr_dims, const float theta_scale, const float * freq_factors, const mrope_sections sections, const bool is_imrope) {
-    const int i0 = 2*(blockDim.y*blockIdx.y + threadIdx.y);
+template 
+static __global__ void rope_multi(const T *            x,
+                                  T *                  dst,
+                                  const int            ne00,
+                                  const int            ne01,
+                                  const int            ne02,
+                                  const int            s01,
+                                  const int            s02,
+                                  const int            s03,
+                                  const int            s1,
+                                  const int            s2,
+                                  const int            s3,
+                                  const int            n_dims,
+                                  const int32_t *      pos,
+                                  const float          freq_scale,
+                                  const float          ext_factor,
+                                  const float          attn_factor,
+                                  const rope_corr_dims corr_dims,
+                                  const float          theta_scale,
+                                  const float *        freq_factors,
+                                  const mrope_sections sections,
+                                  const bool           is_imrope) {
+    const int i0 = 2 * (blockDim.y * blockIdx.y + threadIdx.y);
 
-    if (i0 >= ne0) {
+    if (i0 >= ne00) {
         return;
     }
 
     const int row_dst = blockDim.x*blockIdx.x + threadIdx.x;
 
-    const int row_x     = row_dst % ne1;
-    const int channel_x = row_dst / ne1;
+    const uint32_t i3 = row_dst / (ne01 * ne02);
+    const uint32_t i2 = (row_dst - i3 * ne01 * ne02) / ne01;
+    const uint32_t i1 = row_dst - i3 * ne01 * ne02 - i2 * ne01;
 
-    const int idst = row_dst*ne0 + i0/2;
-    const int ix   = channel_x*s2 + row_x*s1 + i0/2;
+    int       idst = i0 / 2 + i1 * s1  + i2 * s2  + i3 * s3;
+    const int ix   = i0 / 2 + i1 * s01 + i2 * s02 + i3 * s03;
 
     if (i0 >= n_dims) {
         dst[idst + i0/2 + 0] = x[ix + i0/2 + 0];
@@ -200,27 +229,24 @@ static __global__ void rope_multi(
 
     float theta_base = 0.0;
     if (is_imrope) {
-        if (sector % 3 == 1 && sector < 3 * sections.v[1]) { // h
-            theta_base = pos[channel_x + ne2 * 1]*powf(theta_scale, i0/2.0f);
-        } else if (sector % 3 == 2 && sector < 3 * sections.v[2]) { // w
-            theta_base = pos[channel_x + ne2 * 2]*powf(theta_scale, i0/2.0f);
-        } else if (sector % 3 == 0 && sector < 3 * sections.v[0]) { // t
-            theta_base = pos[channel_x]*powf(theta_scale, i0/2.0f);
+        if (sector % 3 == 1 && sector < 3 * sections.v[1]) {         // h
+            theta_base = pos[i2 + ne02 * 1] * powf(theta_scale, i0 / 2.0f);
+        } else if (sector % 3 == 2 && sector < 3 * sections.v[2]) {  // w
+            theta_base = pos[i2 + ne02 * 2] * powf(theta_scale, i0 / 2.0f);
+        } else if (sector % 3 == 0 && sector < 3 * sections.v[0]) {  // t
+            theta_base = pos[i2] * powf(theta_scale, i0 / 2.0f);
         } else {
-            theta_base = pos[channel_x + ne2 * 3]*powf(theta_scale, i0/2.0f);
+            theta_base = pos[i2 + ne02 * 3] * powf(theta_scale, i0 / 2.0f);
         }
     } else {
         if (sector < sections.v[0]) {
-            theta_base = pos[channel_x]*powf(theta_scale, i0/2.0f);
-        }
-        else if (sector >= sections.v[0] && sector < sec_w) {
-            theta_base = pos[channel_x + ne2 * 1]*powf(theta_scale, i0/2.0f);
-        }
-        else if (sector >= sec_w && sector < sec_w + sections.v[2]) {
-            theta_base = pos[channel_x + ne2 * 2]*powf(theta_scale, i0/2.0f);
-        }
-        else if (sector >= sec_w + sections.v[2]) {
-            theta_base = pos[channel_x + ne2 * 3]*powf(theta_scale, i0/2.0f);
+            theta_base = pos[i2] * powf(theta_scale, i0 / 2.0f);
+        } else if (sector >= sections.v[0] && sector < sec_w) {
+            theta_base = pos[i2 + ne02 * 1] * powf(theta_scale, i0 / 2.0f);
+        } else if (sector >= sec_w && sector < sec_w + sections.v[2]) {
+            theta_base = pos[i2 + ne02 * 2] * powf(theta_scale, i0 / 2.0f);
+        } else if (sector >= sec_w + sections.v[2]) {
+            theta_base = pos[i2 + ne02 * 3] * powf(theta_scale, i0 / 2.0f);
         }
     }
 
@@ -238,37 +264,53 @@ static __global__ void rope_multi(
     dst[idst + n_dims/2] = x0*sin_theta + x1*cos_theta;
 }
 
-template
-static __global__ void rope_vision(
-        const T * x, T * dst, const int ne0, const int ne1, const int ne2, const int s1, const int s2, const int n_dims,
-        const int32_t * pos, const float freq_scale, const float ext_factor, const float attn_factor, const rope_corr_dims corr_dims,
-        const float theta_scale, const float * freq_factors, const mrope_sections sections) {
+template 
+static __global__ void rope_vision(const T *            x,
+                                   T *                  dst,
+                                   const int            ne00,
+                                   const int            ne01,
+                                   const int            ne02,
+                                   const int            s01,
+                                   const int            s02,
+                                   const int            s03,
+                                   const int            s1,
+                                   const int            s2,
+                                   const int            s3,
+                                   const int            n_dims,
+                                   const int32_t *      pos,
+                                   const float          freq_scale,
+                                   const float          ext_factor,
+                                   const float          attn_factor,
+                                   const rope_corr_dims corr_dims,
+                                   const float          theta_scale,
+                                   const float *        freq_factors,
+                                   const mrope_sections sections) {
     const int i0 = 2*(blockDim.y*blockIdx.y + threadIdx.y);
 
-    if (i0 >= ne0) {
+    if (i0 >= ne00) {
         return;
     }
 
     const int row_dst = blockDim.x*blockIdx.x + threadIdx.x;
 
-    const int row_x     = row_dst % ne1;
-    const int channel_x = row_dst / ne1;
+    const uint32_t i3 = row_dst / (ne01 * ne02);
+    const uint32_t i2 = (row_dst - i3 * ne01 * ne02) / ne01;
+    const uint32_t i1 = row_dst - i3 * ne01 * ne02 - i2 * ne01;
 
-    const int idst = row_dst*ne0 + i0/2;
-    const int ix   = channel_x*s2 + row_x*s1 + i0/2;
+    int       idst = i0 / 2 + i1 * s1  + i2 * s2  + i3 * s3;
+    const int ix   = i0 / 2 + i1 * s01 + i2 * s02 + i3 * s03;
 
     const int sect_dims = sections.v[0] + sections.v[1];
-    const int sec_w = sections.v[1] + sections.v[0];
-    const int sector = (i0 / 2) % sect_dims;
+    const int sec_w     = sections.v[1] + sections.v[0];
+    const int sector    = (i0 / 2) % sect_dims;
 
     float theta_base = 0.0;
     if (sector < sections.v[0]) {
         const int p = sector;
-        theta_base = pos[channel_x]*powf(theta_scale, p);
-    }
-    else if (sector >= sections.v[0] && sector < sec_w) {
+        theta_base  = pos[i2] * powf(theta_scale, p);
+    } else if (sector >= sections.v[0] && sector < sec_w) {
         const int p = sector - sections.v[0];
-        theta_base = pos[channel_x + ne2]*powf(theta_scale, p);
+        theta_base  = pos[i2 + ne02] * powf(theta_scale, p);
     }
 
     const float freq_factor = has_ff ? freq_factors[i0/2] : 1.0f;
@@ -288,10 +330,15 @@ static __global__ void rope_vision(
 template 
 static void rope_norm_cuda(const T *            x,
                            D *                  dst,
-                           const int            ne0,
-                           const int            ne1,
+                           const int            ne00,
+                           const int            ne01,
+                           const int            ne02,
+                           const int            s01,
+                           const int            s02,
+                           const int            s03,
                            const int            s1,
                            const int            s2,
+                           const int            s3,
                            const int            n_dims,
                            const int            nr,
                            const int32_t *      pos,
@@ -304,31 +351,36 @@ static void rope_norm_cuda(const T *            x,
                            const int64_t *      row_indices,
                            const int            set_rows_stride,
                            cudaStream_t         stream) {
-    GGML_ASSERT(ne0 % 2 == 0);
+    GGML_ASSERT(ne00 % 2 == 0);
     const dim3 block_dims(1, CUDA_ROPE_BLOCK_SIZE, 1);
-    const int n_blocks_x = (ne0 + 2*CUDA_ROPE_BLOCK_SIZE - 1) / (2*CUDA_ROPE_BLOCK_SIZE);
+    const int  n_blocks_x = (ne00 + 2 * CUDA_ROPE_BLOCK_SIZE - 1) / (2 * CUDA_ROPE_BLOCK_SIZE);
     const dim3 block_nums(nr, n_blocks_x, 1);
 
-    const float theta_scale = powf(freq_base, -2.0f/n_dims);
+    const float theta_scale = powf(freq_base, -2.0f / n_dims);
 
     if (freq_factors == nullptr) {
         rope_norm<<>>(
-            x, dst, ne0, ne1, s1, s2, n_dims, pos, freq_scale, ext_factor, attn_factor, corr_dims, theta_scale,
-            freq_factors, row_indices, set_rows_stride);
+            x, dst, ne00, ne01, ne02, s01, s02, s03, s1, s2, s3, n_dims, pos, freq_scale, ext_factor,
+            attn_factor, corr_dims, theta_scale, freq_factors, row_indices, set_rows_stride);
     } else {
         rope_norm<<>>(
-            x, dst, ne0, ne1, s1, s2, n_dims, pos, freq_scale, ext_factor, attn_factor, corr_dims, theta_scale,
-            freq_factors, row_indices, set_rows_stride);
+            x, dst, ne00, ne01, ne02, s01, s02, s03, s1, s2, s3, n_dims, pos, freq_scale, ext_factor,
+            attn_factor, corr_dims, theta_scale, freq_factors, row_indices, set_rows_stride);
     }
 }
 
 template 
 static void rope_neox_cuda(const T *            x,
                            D *                  dst,
-                           const int            ne0,
-                           const int            ne1,
+                           const int            ne00,
+                           const int            ne01,
+                           const int            ne02,
+                           const int            s01,
+                           const int            s02,
+                           const int            s03,
                            const int            s1,
                            const int            s2,
+                           const int            s3,
                            const int            n_dims,
                            const int            nr,
                            const int32_t *      pos,
@@ -341,55 +393,92 @@ static void rope_neox_cuda(const T *            x,
                            const int64_t *      row_indices,
                            const int            set_rows_stride,
                            cudaStream_t         stream) {
-    GGML_ASSERT(ne0 % 2 == 0);
+    GGML_ASSERT(ne00 % 2 == 0);
     const dim3 block_dims(1, CUDA_ROPE_BLOCK_SIZE, 1);
-    const int n_blocks_x = (ne0 + 2*CUDA_ROPE_BLOCK_SIZE - 1) / (2*CUDA_ROPE_BLOCK_SIZE);
+    const int  n_blocks_x = (ne00 + 2 * CUDA_ROPE_BLOCK_SIZE - 1) / (2 * CUDA_ROPE_BLOCK_SIZE);
     const dim3 block_nums(nr, n_blocks_x, 1);
 
-    const float theta_scale = powf(freq_base, -2.0f/n_dims);
+    const float theta_scale = powf(freq_base, -2.0f / n_dims);
 
     if (freq_factors == nullptr) {
         rope_neox<<>>(
-            x, dst, ne0, ne1, s1, s2, n_dims, pos, freq_scale, ext_factor, attn_factor, corr_dims, theta_scale,
-            freq_factors, row_indices, set_rows_stride);
+            x, dst, ne00, ne01, ne02, s01, s02, s03, s1, s2, s3, n_dims, pos, freq_scale, ext_factor,
+            attn_factor, corr_dims, theta_scale, freq_factors, row_indices, set_rows_stride);
     } else {
         rope_neox<<>>(
-            x, dst, ne0, ne1, s1, s2, n_dims, pos, freq_scale, ext_factor, attn_factor, corr_dims, theta_scale,
-            freq_factors, row_indices, set_rows_stride);
+            x, dst, ne00, ne01, ne02, s01, s02, s03, s1, s2, s3, n_dims, pos, freq_scale, ext_factor,
+            attn_factor, corr_dims, theta_scale, freq_factors, row_indices, set_rows_stride);
     }
 }
 
-template
-static void rope_multi_cuda(
-        const T * x, T * dst, const int ne0, const int ne1, const int ne2, const int s1, const int s2, const int n_dims, const int nr,
-        const int32_t * pos, const float freq_scale, const float freq_base, const float ext_factor, const float attn_factor,
-        const rope_corr_dims corr_dims, const float * freq_factors, const mrope_sections sections, const bool is_imrope, cudaStream_t stream) {
-    GGML_ASSERT(ne0 % 2 == 0);
+template 
+static void rope_multi_cuda(const T *            x,
+                            T *                  dst,
+                            const int            ne00,
+                            const int            ne01,
+                            const int            ne02,
+                            const int            s01,
+                            const int            s02,
+                            const int            s03,
+                            const int            s1,
+                            const int            s2,
+                            const int            s3,
+                            const int            n_dims,
+                            const int            nr,
+                            const int32_t *      pos,
+                            const float          freq_scale,
+                            const float          freq_base,
+                            const float          ext_factor,
+                            const float          attn_factor,
+                            const rope_corr_dims corr_dims,
+                            const float *        freq_factors,
+                            const mrope_sections sections,
+                            const bool           is_imrope,
+                            cudaStream_t         stream) {
+    GGML_ASSERT(ne00 % 2 == 0);
     const dim3 block_dims(1, CUDA_ROPE_BLOCK_SIZE, 1);
-    const int n_blocks_x = (ne0 + 2*CUDA_ROPE_BLOCK_SIZE - 1) / (2*CUDA_ROPE_BLOCK_SIZE);
+    const int  n_blocks_x = (ne00 + 2 * CUDA_ROPE_BLOCK_SIZE - 1) / (2 * CUDA_ROPE_BLOCK_SIZE);
     const dim3 block_nums(nr, n_blocks_x, 1);
 
-    const float theta_scale = powf(freq_base, -2.0f/n_dims);
+    const float theta_scale = powf(freq_base, -2.0f / n_dims);
 
     if (freq_factors == nullptr) {
         rope_multi<<>>(
-            x, dst, ne0, ne1, ne2, s1, s2, n_dims, pos, freq_scale, ext_factor,
+            x, dst, ne00, ne01, ne02, s01, s02, s03, s1, s2, s3, n_dims, pos, freq_scale, ext_factor,
             attn_factor, corr_dims, theta_scale, freq_factors, sections, is_imrope);
     } else {
         rope_multi<<>>(
-            x, dst, ne0, ne1, ne2, s1, s2, n_dims, pos, freq_scale, ext_factor,
+            x, dst, ne00, ne01, ne02, s01, s02, s03, s1, s2, s3, n_dims, pos, freq_scale, ext_factor,
             attn_factor, corr_dims, theta_scale, freq_factors, sections, is_imrope);
     }
 }
 
-template
-static void rope_vision_cuda(
-        const T * x, T * dst, const int ne0, const int ne1, const int ne2, const int s1, const int s2, const int n_dims, const int nr,
-        const int32_t * pos, const float freq_scale, const float freq_base, const float ext_factor, const float attn_factor,
-        const rope_corr_dims corr_dims, const float * freq_factors, const mrope_sections sections, cudaStream_t stream) {
-    GGML_ASSERT(ne0 % 2 == 0);
+template 
+static void rope_vision_cuda(const T *            x,
+                             T *                  dst,
+                             const int            ne00,
+                             const int            ne01,
+                             const int            ne02,
+                             const int            s01,
+                             const int            s02,
+                             const int            s03,
+                             const int            s1,
+                             const int            s2,
+                             const int            s3,
+                             const int            n_dims,
+                             const int            nr,
+                             const int32_t *      pos,
+                             const float          freq_scale,
+                             const float          freq_base,
+                             const float          ext_factor,
+                             const float          attn_factor,
+                             const rope_corr_dims corr_dims,
+                             const float *        freq_factors,
+                             const mrope_sections sections,
+                             cudaStream_t         stream) {
+    GGML_ASSERT(ne00 % 2 == 0);
     const dim3 block_dims(1, CUDA_ROPE_BLOCK_SIZE, 1);
-    const int n_blocks_x = (ne0 + 2*CUDA_ROPE_BLOCK_SIZE - 1) / (2*CUDA_ROPE_BLOCK_SIZE);
+    const int  n_blocks_x = (ne00 + 2 * CUDA_ROPE_BLOCK_SIZE - 1) / (2 * CUDA_ROPE_BLOCK_SIZE);
     const dim3 block_nums(nr, n_blocks_x, 1);
     // break down (head_dim, heads, seq) into (CUDA_ROPE_BLOCK_SIZE, x, heads * seq)
     // where x ~= ceil(head_dim / CUDA_ROPE_BLOCK_SIZE);
@@ -398,11 +487,11 @@ static void rope_vision_cuda(
 
     if (freq_factors == nullptr) {
         rope_vision<<>>(
-            x, dst, ne0, ne1, ne2, s1, s2, n_dims, pos, freq_scale, ext_factor,
+            x, dst, ne00, ne01, ne02, s01, s02, s03, s1, s2, s3, n_dims, pos, freq_scale, ext_factor,
             attn_factor, corr_dims, theta_scale, freq_factors, sections);
     } else {
         rope_vision<<>>(
-            x, dst, ne0, ne1, ne2, s1, s2, n_dims, pos, freq_scale, ext_factor,
+            x, dst, ne00, ne01, ne02, s01, s02, s03, s1, s2, s3, n_dims, pos, freq_scale, ext_factor,
             attn_factor, corr_dims, theta_scale, freq_factors, sections);
     }
 }
@@ -445,6 +534,11 @@ void ggml_cuda_op_rope_impl(ggml_backend_cuda_context & ctx,
 
     const size_t s01 = src0->nb[1] / ggml_type_size(src0->type);
     const size_t s02 = src0->nb[2] / ggml_type_size(src0->type);
+    const size_t s03 = src0->nb[3] / ggml_type_size(src0->type);
+
+    const size_t s1 = dst->nb[1] / ggml_type_size(dst->type);
+    const size_t s2 = dst->nb[2] / ggml_type_size(dst->type);
+    const size_t s3 = dst->nb[3] / ggml_type_size(dst->type);
 
     //const int n_past     = ((int32_t *) dst->op_params)[0];
     const int n_dims     = ((int32_t *) dst->op_params)[1];
@@ -495,57 +589,63 @@ void ggml_cuda_op_rope_impl(ggml_backend_cuda_context & ctx,
     // compute
     if (is_neox) {
         if (src0->type == GGML_TYPE_F32 && dst_type == GGML_TYPE_F32) {
-            rope_neox_cuda((const float *) src0_d, (float *) dst_d, ne00, ne01, s01, s02, n_dims,
-                                                  nr, pos, freq_scale, freq_base, ext_factor, attn_factor, corr_dims,
-                                                  freq_factors, row_indices, set_rows_stride, stream);
+            rope_neox_cuda((const float *) src0_d, (float *) dst_d, ne00, ne01, ne02, s01, s02,
+                                                  s03, s1, s2, s3, n_dims, nr, pos, freq_scale, freq_base,
+                                                  ext_factor, attn_factor, corr_dims, freq_factors, row_indices,
+                                                  set_rows_stride, stream);
         } else if (src0->type == GGML_TYPE_F32 && dst_type == GGML_TYPE_F16) {
-            rope_neox_cuda((const float *) src0_d, (half *) dst_d, ne00, ne01, s01, s02, n_dims,
-                                                 nr, pos, freq_scale, freq_base, ext_factor, attn_factor, corr_dims,
-                                                 freq_factors, row_indices, set_rows_stride, stream);
+            rope_neox_cuda((const float *) src0_d, (half *) dst_d, ne00, ne01, ne02, s01, s02,
+                                                 s03, s1, s2, s3, n_dims, nr, pos, freq_scale, freq_base,
+                                                 ext_factor, attn_factor, corr_dims, freq_factors, row_indices,
+                                                 set_rows_stride, stream);
         } else if (src0->type == GGML_TYPE_F16 && dst_type == GGML_TYPE_F16) {
-            rope_neox_cuda((const half *) src0_d, (half *) dst_d, ne00, ne01, s01, s02, n_dims, nr,
-                                                pos, freq_scale, freq_base, ext_factor, attn_factor, corr_dims,
-                                                freq_factors, row_indices, set_rows_stride, stream);
+            rope_neox_cuda((const half *) src0_d, (half *) dst_d, ne00, ne01, ne02, s01, s02,
+                                                s03, s1, s2, s3, n_dims, nr, pos, freq_scale, freq_base,
+                                                ext_factor, attn_factor, corr_dims, freq_factors, row_indices,
+                                                set_rows_stride, stream);
         } else {
             GGML_ABORT("fatal error");
         }
     } else if (is_mrope && !is_vision) {
         if (src0->type == GGML_TYPE_F32) {
-            rope_multi_cuda(
-                (const float *) src0_d, (float *) dst_d, ne00, ne01, ne02, s01, s02, n_dims, nr, pos, freq_scale,
-                freq_base, ext_factor, attn_factor, corr_dims, freq_factors, sections, is_imrope, stream);
+            rope_multi_cuda((const float *) src0_d, (float *) dst_d, ne00, ne01, ne02, s01, s02, s03, s1,
+                                     s2, s3, n_dims, nr, pos, freq_scale, freq_base, ext_factor, attn_factor,
+                                     corr_dims, freq_factors, sections, is_imrope, stream);
         } else if (src0->type == GGML_TYPE_F16) {
-            rope_multi_cuda(
-                (const half *) src0_d, (half *) dst_d, ne00, ne01, ne02, s01, s02, n_dims, nr, pos, freq_scale,
-                freq_base, ext_factor, attn_factor, corr_dims, freq_factors, sections, is_imrope, stream);
+            rope_multi_cuda((const half *) src0_d, (half *) dst_d, ne00, ne01, ne02, s01, s02, s03, s1,
+                                     s2, s3, n_dims, nr, pos, freq_scale, freq_base, ext_factor, attn_factor,
+                                     corr_dims, freq_factors, sections, is_imrope, stream);
         } else {
             GGML_ABORT("fatal error");
         }
     } else if (is_vision) {
         if (src0->type == GGML_TYPE_F32) {
-            rope_vision_cuda(
-                (const float *) src0_d, (float *) dst_d, ne00, ne01, ne02, s01, s02, n_dims, nr, pos, freq_scale,
-                freq_base, ext_factor, attn_factor, corr_dims, freq_factors, sections, stream);
+            rope_vision_cuda((const float *) src0_d, (float *) dst_d, ne00, ne01, ne02, s01, s02, s03, s1,
+                                      s2, s3, n_dims, nr, pos, freq_scale, freq_base, ext_factor, attn_factor,
+                                      corr_dims, freq_factors, sections, stream);
         } else if (src0->type == GGML_TYPE_F16) {
-            rope_vision_cuda(
-                (const half *) src0_d, (half *) dst_d, ne00, ne01, ne02, s01, s02, n_dims, nr, pos, freq_scale,
-                freq_base, ext_factor, attn_factor, corr_dims, freq_factors, sections, stream);
+            rope_vision_cuda((const half *) src0_d, (half *) dst_d, ne00, ne01, ne02, s01, s02, s03, s1,
+                                      s2, s3, n_dims, nr, pos, freq_scale, freq_base, ext_factor, attn_factor,
+                                      corr_dims, freq_factors, sections, stream);
         } else {
             GGML_ABORT("fatal error");
         }
     } else {
         if (src0->type == GGML_TYPE_F32 && dst_type == GGML_TYPE_F32) {
-            rope_norm_cuda((const float *) src0_d, (float *) dst_d, ne00, ne01, s01, s02, n_dims,
-                                                  nr, pos, freq_scale, freq_base, ext_factor, attn_factor, corr_dims,
-                                                  freq_factors, row_indices, set_rows_stride, stream);
+            rope_norm_cuda((const float *) src0_d, (float *) dst_d, ne00, ne01, ne02, s01, s02,
+                                                  s03, s1, s2, s3, n_dims, nr, pos, freq_scale, freq_base,
+                                                  ext_factor, attn_factor, corr_dims, freq_factors, row_indices,
+                                                  set_rows_stride, stream);
         } else if (src0->type == GGML_TYPE_F32 && dst_type == GGML_TYPE_F16) {
-            rope_norm_cuda((const float *) src0_d, (half *) dst_d, ne00, ne01, s01, s02, n_dims,
-                                                 nr, pos, freq_scale, freq_base, ext_factor, attn_factor, corr_dims,
-                                                 freq_factors, row_indices, set_rows_stride, stream);
+            rope_norm_cuda((const float *) src0_d, (half *) dst_d, ne00, ne01, ne02, s01, s02,
+                                                 s03, s1, s2, s3, n_dims, nr, pos, freq_scale, freq_base,
+                                                 ext_factor, attn_factor, corr_dims, freq_factors, row_indices,
+                                                 set_rows_stride, stream);
         } else if (src0->type == GGML_TYPE_F16 && dst_type == GGML_TYPE_F16) {
-            rope_norm_cuda((const half *) src0_d, (half *) dst_d, ne00, ne01, s01, s02, n_dims, nr,
-                                                pos, freq_scale, freq_base, ext_factor, attn_factor, corr_dims,
-                                                freq_factors, row_indices, set_rows_stride, stream);
+            rope_norm_cuda((const half *) src0_d, (half *) dst_d, ne00, ne01, ne02, s01, s02,
+                                                s03, s1, s2, s3, n_dims, nr, pos, freq_scale, freq_base,
+                                                ext_factor, attn_factor, corr_dims, freq_factors, row_indices,
+                                                set_rows_stride, stream);
         } else {
             GGML_ABORT("fatal error");
         }

From 39bf692af1cba2a1072e4a42425611bf1ec2807d Mon Sep 17 00:00:00 2001
From: "Piotr Wilkin (ilintar)" 
Date: Mon, 9 Feb 2026 00:24:08 +0100
Subject: [PATCH 157/206] [Model] Qwen3.5 dense and MoE support (no vision)
 (#19435)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* Unified delta net handling

* Remove old methods.

* Refactor and optimize

* Adapt autoregressive version from @ymcki

* Change to decay mask approach

* Fix bad permute

* Qwen 3.5 support

* Apply suggestions from code review

Co-authored-by: Sigbjørn Skjæret 

* Further fixes

* Use inheritance, remove unneeded conts

* Not like this!

* Remove ggml.h explicit import

* Remove transformers, fix the views

* ACTUALLY fix views, make super calls explicit in conversion.

* Fix conversion again

* Remove extra ggml.h imports

---------

Co-authored-by: Sigbjørn Skjæret 
---
 convert_hf_to_gguf.py          |  78 +++--
 gguf-py/gguf/constants.py      |  59 ++++
 gguf-py/gguf/tensor_mapping.py |   6 +-
 src/CMakeLists.txt             |   3 +
 src/llama-arch.cpp             |  61 ++++
 src/llama-arch.h               |   2 +
 src/llama-context.cpp          |   2 +-
 src/llama-model.cpp            | 154 ++++++++
 src/models/delta.cpp           | 618 +++++++++++++++++++++++++++++++++
 src/models/kimi-linear.cpp     |   1 -
 src/models/models.h            | 102 +++++-
 src/models/qwen3-5.cpp         | 421 ++++++++++++++++++++++
 src/models/qwen3-5moe.cpp      |  52 +++
 src/models/qwen3next.cpp       | 372 +-------------------
 14 files changed, 1532 insertions(+), 399 deletions(-)
 create mode 100644 src/models/delta.cpp
 create mode 100644 src/models/qwen3-5.cpp
 create mode 100644 src/models/qwen3-5moe.cpp

diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py
index 843c00a896..e64756a74a 100755
--- a/convert_hf_to_gguf.py
+++ b/convert_hf_to_gguf.py
@@ -4102,39 +4102,27 @@ class Qwen2MoeModel(TextModel):
         # process the experts separately
         name = name.replace("language_model.", "") # InternVL
 
-        # handle aggregated expert tensors
-        # GGUF stores dimensions reversed from PyTorch, so:
-        # PyTorch (A,B,C) -> GGUF writes [C,B,A] -> GGML reads ne={C,B,A}
-        # Input shapes from HF: (n_expert, n_ff_exp, n_embd) or (n_expert, n_embd, n_ff_exp)
-        # Expected GGML ne: {n_embd, n_ff_exp, n_expert} for gate/up, {n_ff_exp, n_embd, n_expert} for down
+        # handle pre-packed expert tensors (e.g. Qwen3.5 MoE, Qwen3Next)
+        # HF stores these using nn.Linear convention: [n_expert, out_features, in_features]
+        # This matches the individual expert stacking path below (which stacks
+        # per-expert [out, in] weights into [n_expert, out, in]), so no permute is needed.
         if name.endswith("mlp.experts.down_proj") or name.endswith("mlp.experts.down_proj.weight"):
             mapped = f"{name}.weight" if not name.endswith(".weight") else name
-            # Input: (n_expert=128, n_ff_exp=768, n_embd=2048)
-            # Want GGML ne: {n_ff_exp, n_embd, n_expert} = {768, 2048, 128}
-            # Need PyTorch: (128, 2048, 768) [reversed of GGML]
-            # So: permute(0, 2, 1): (128, 768, 2048) -> (128, 2048, 768)
-            permuted = data_torch.permute(0, 2, 1).contiguous()
-            yield from super().modify_tensors(permuted, mapped, bid)
+            # HF: [n_expert, n_embd, n_ff] → GGML: {n_ff, n_embd, n_expert} ✓
+            yield from super().modify_tensors(data_torch, mapped, bid)
             return
 
         if name.endswith("mlp.experts.gate_up_proj") or name.endswith("mlp.experts.gate_up_proj.weight"):
-            if data_torch.ndim < 3 or data_torch.shape[-1] % 2 != 0:
-                raise ValueError(f"Unexpected gate_up_proj shape for {name}: {tuple(data_torch.shape)}")
-            split_dim = data_torch.shape[-1] // 2
-            gate = data_torch[..., :split_dim].contiguous()
-            up = data_torch[..., split_dim:].contiguous()
-            # Input gate/up: (n_expert=128, n_embd=2048, n_ff_exp=768)
-            # Want GGML ne: {n_embd, n_ff_exp, n_expert} = {2048, 768, 128}
-            # Need PyTorch: (128, 768, 2048) [reversed of GGML]
-            # So: permute(0, 2, 1): (128, 2048, 768) -> (128, 768, 2048)
-            base_name = name.removesuffix(".weight")
-            base = base_name.rsplit('.', 1)[0]
-            mapped_gate = f"{base}.gate_proj.weight"
-            mapped_up = f"{base}.up_proj.weight"
-            perm_gate = gate.permute(0, 2, 1).contiguous()
-            perm_up = up.permute(0, 2, 1).contiguous()
-            yield from super().modify_tensors(perm_gate, mapped_gate, bid)
-            yield from super().modify_tensors(perm_up, mapped_up, bid)
+            # HF: [n_expert, 2*n_ff, n_embd] → split on dim=1
+            n_ff = data_torch.shape[1] // 2
+            gate = data_torch[:, :n_ff, :].contiguous()
+            up = data_torch[:, n_ff:, :].contiguous()
+            # gate/up: [n_expert, n_ff, n_embd] → GGML: {n_embd, n_ff, n_expert} ✓
+            base_name = name.removesuffix(".weight").removesuffix(".gate_up_proj")
+            mapped_gate = f"{base_name}.gate_proj.weight"
+            mapped_up = f"{base_name}.up_proj.weight"
+            yield from super().modify_tensors(gate, mapped_gate, bid)
+            yield from super().modify_tensors(up, mapped_up, bid)
             return
 
         if name.startswith("mlp") or name.startswith("vision_model") or name.startswith("model.vision_tower") or name.startswith("model.multi_modal_projector") or name.startswith("model.visual"):
@@ -4344,6 +4332,40 @@ class Qwen3NextModel(Qwen2MoeModel):
             yield from super().modify_tensors(data_torch, name, bid)
 
 
+@ModelBase.register("Qwen3_5ForCausalLM", "Qwen3_5TextForCausalLM")
+class Qwen3_5Model(Qwen3NextModel):
+    model_arch = gguf.MODEL_ARCH.QWEN3_5
+
+    # Stores whichever of in_proj_a/in_proj_b is seen first, keyed by layer
+    _pending_ba: dict[int | None, tuple[str, Tensor]] = {}
+
+    def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]:
+        # Handle split in_proj_b + in_proj_a → concatenated SSM_BETA_ALPHA
+        # safetensors sorts alphabetically so in_proj_a arrives before in_proj_b
+        if "in_proj_a.weight" in name or "in_proj_b.weight" in name:
+            which = "a" if "in_proj_a" in name else "b"
+            if bid not in self._pending_ba:
+                self._pending_ba[bid] = (which, data_torch)
+                return
+            prev_which, prev_tensor = self._pending_ba.pop(bid)
+            assert prev_which != which, f"duplicate in_proj_{which} for layer {bid}"
+            b_tensor = prev_tensor if prev_which == "b" else data_torch
+            a_tensor = prev_tensor if prev_which == "a" else data_torch
+            ba_combined = torch.cat([b_tensor, a_tensor], dim=0)
+            yield (self.format_tensor_name(gguf.MODEL_TENSOR.SSM_BETA_ALPHA, bid, ".weight"), ba_combined)
+            return
+        else:
+            # Qwen3Next uses .qkvz tensor, so we use the super to get the other functionalities
+            # (norm correction, A_log to A etc.) for free
+            # Qwen2Moe already does the gate_up conversion properly, just use that
+            yield from super().modify_tensors(data_torch, name, bid)
+
+
+@ModelBase.register("Qwen3_5MoeForCausalLM", "Qwen3_5MoeTextForCausalLM")
+class Qwen3_5MoeModel(Qwen3_5Model):
+    model_arch = gguf.MODEL_ARCH.QWEN3_5_MOE
+
+
 @ModelBase.register("RND1")
 class RND1Model(Qwen2MoeModel):
     model_arch = gguf.MODEL_ARCH.RND1
diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py
index 3af4fffe95..8a3fab1e1c 100644
--- a/gguf-py/gguf/constants.py
+++ b/gguf-py/gguf/constants.py
@@ -382,6 +382,8 @@ class MODEL_ARCH(IntEnum):
     QWEN3            = auto()
     QWEN3MOE         = auto()
     QWEN3NEXT        = auto()
+    QWEN3_5          = auto()
+    QWEN3_5_MOE      = auto()
     QWEN3VL          = auto()
     QWEN3VLMOE       = auto()
     PHI2             = auto()
@@ -812,6 +814,8 @@ MODEL_ARCH_NAMES: dict[MODEL_ARCH, str] = {
     MODEL_ARCH.QWEN3:            "qwen3",
     MODEL_ARCH.QWEN3MOE:         "qwen3moe",
     MODEL_ARCH.QWEN3NEXT:        "qwen3next",
+    MODEL_ARCH.QWEN3_5:          "qwen3_5",
+    MODEL_ARCH.QWEN3_5_MOE:      "qwen3_5moe",
     MODEL_ARCH.QWEN3VL:          "qwen3vl",
     MODEL_ARCH.QWEN3VLMOE:       "qwen3vlmoe",
     MODEL_ARCH.PHI2:             "phi2",
@@ -1784,6 +1788,61 @@ MODEL_TENSORS: dict[MODEL_ARCH, list[MODEL_TENSOR]] = {
         MODEL_TENSOR.SSM_BETA_ALPHA,
         MODEL_TENSOR.SSM_OUT
     ],
+    MODEL_ARCH.QWEN3_5: [
+        MODEL_TENSOR.TOKEN_EMBD,
+        MODEL_TENSOR.OUTPUT_NORM,
+        MODEL_TENSOR.OUTPUT,
+        MODEL_TENSOR.ATTN_NORM,
+        MODEL_TENSOR.ATTN_Q,
+        MODEL_TENSOR.ATTN_Q_NORM,
+        MODEL_TENSOR.ATTN_K,
+        MODEL_TENSOR.ATTN_K_NORM,
+        MODEL_TENSOR.ATTN_V,
+        MODEL_TENSOR.ATTN_OUT,
+        MODEL_TENSOR.ATTN_POST_NORM,
+        MODEL_TENSOR.ATTN_GATE,
+        MODEL_TENSOR.ATTN_QKV,
+        MODEL_TENSOR.FFN_GATE,
+        MODEL_TENSOR.FFN_DOWN,
+        MODEL_TENSOR.FFN_UP,
+        MODEL_TENSOR.SSM_A,
+        MODEL_TENSOR.SSM_CONV1D,
+        MODEL_TENSOR.SSM_DT,
+        MODEL_TENSOR.SSM_NORM,
+        MODEL_TENSOR.SSM_IN,
+        MODEL_TENSOR.SSM_BETA_ALPHA,
+        MODEL_TENSOR.SSM_OUT,
+    ],
+    MODEL_ARCH.QWEN3_5_MOE: [
+        MODEL_TENSOR.TOKEN_EMBD,
+        MODEL_TENSOR.OUTPUT_NORM,
+        MODEL_TENSOR.OUTPUT,
+        MODEL_TENSOR.ATTN_NORM,
+        MODEL_TENSOR.ATTN_Q,
+        MODEL_TENSOR.ATTN_Q_NORM,
+        MODEL_TENSOR.ATTN_K,
+        MODEL_TENSOR.ATTN_K_NORM,
+        MODEL_TENSOR.ATTN_V,
+        MODEL_TENSOR.ATTN_OUT,
+        MODEL_TENSOR.ATTN_POST_NORM,
+        MODEL_TENSOR.ATTN_GATE,
+        MODEL_TENSOR.ATTN_QKV,
+        MODEL_TENSOR.FFN_GATE_INP,
+        MODEL_TENSOR.FFN_GATE_INP_SHEXP,
+        MODEL_TENSOR.FFN_UP_SHEXP,
+        MODEL_TENSOR.FFN_DOWN_SHEXP,
+        MODEL_TENSOR.FFN_GATE_SHEXP,
+        MODEL_TENSOR.FFN_DOWN_EXP,
+        MODEL_TENSOR.FFN_UP_EXP,
+        MODEL_TENSOR.FFN_GATE_EXP,
+        MODEL_TENSOR.SSM_A,
+        MODEL_TENSOR.SSM_CONV1D,
+        MODEL_TENSOR.SSM_DT,
+        MODEL_TENSOR.SSM_NORM,
+        MODEL_TENSOR.SSM_IN,
+        MODEL_TENSOR.SSM_BETA_ALPHA,
+        MODEL_TENSOR.SSM_OUT,
+    ],
     MODEL_ARCH.QWEN3VL: [
         MODEL_TENSOR.TOKEN_EMBD,
         MODEL_TENSOR.OUTPUT_NORM,
diff --git a/gguf-py/gguf/tensor_mapping.py b/gguf-py/gguf/tensor_mapping.py
index 167ade7803..43f32c7b52 100644
--- a/gguf-py/gguf/tensor_mapping.py
+++ b/gguf-py/gguf/tensor_mapping.py
@@ -228,6 +228,7 @@ class TensorNameMap:
             "transformer_encoder.{bid}.qkv",                                       # neobert
             "layers.{bid}.attn.Wqkv",                                              # modern-bert
             "model.layers.{bid}.self_attn.language_expert_query_key_value",        # cogvlm
+            "model.layers.{bid}.linear_attn.in_proj_qkv",                          # qwen3.5
         ),
 
         # Attention query
@@ -358,8 +359,9 @@ class TensorNameMap:
         ),
 
         MODEL_TENSOR.ATTN_GATE: (
-            "model.layers.{bid}.self_attn.gate_proj", # afmoe
-            "model.layers.{bid}.self_attn.g_proj",    # step3.5 head-wise attention gate
+            "model.layers.{bid}.self_attn.gate_proj",   # afmoe
+            "model.layers.{bid}.self_attn.g_proj",      # step3.5 head-wise attention gate
+            "model.layers.{bid}.linear_attn.in_proj_z", # qwen3.5
         ),
 
         # Feed-forward norm
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 2115fc4255..0c164617a1 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -57,6 +57,7 @@ add_library(llama
             models/deci.cpp
             models/deepseek.cpp
             models/deepseek2.cpp
+            models/delta.cpp
             models/dots1.cpp
             models/dream.cpp
             models/ernie4-5-moe.cpp
@@ -122,6 +123,8 @@ add_library(llama
             models/qwen3vl-moe.cpp
             models/qwen3moe.cpp
             models/qwen3next.cpp
+            models/qwen3-5.cpp
+            models/qwen3-5moe.cpp
             models/refact.cpp
             models/rnd1.cpp
             models/rwkv6-base.cpp
diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp
index bd78f1e556..fce46772d7 100644
--- a/src/llama-arch.cpp
+++ b/src/llama-arch.cpp
@@ -35,6 +35,8 @@ static const std::map LLM_ARCH_NAMES = {
     { LLM_ARCH_QWEN3,            "qwen3"            },
     { LLM_ARCH_QWEN3MOE,         "qwen3moe"         },
     { LLM_ARCH_QWEN3NEXT,        "qwen3next"        },
+    { LLM_ARCH_QWEN3_5,          "qwen3_5"          },
+    { LLM_ARCH_QWEN3_5_MOE,      "qwen3_5moe"       },
     { LLM_ARCH_QWEN3VL,          "qwen3vl"          },
     { LLM_ARCH_QWEN3VLMOE,       "qwen3vlmoe"       },
     { LLM_ARCH_PHI2,             "phi2"             },
@@ -985,6 +987,63 @@ static std::set llm_get_tensor_names(llm_arch arch) {
                 LLM_TENSOR_SSM_NORM,
                 LLM_TENSOR_SSM_OUT,
             };
+        case LLM_ARCH_QWEN3_5:
+            return {
+                LLM_TENSOR_TOKEN_EMBD,
+                LLM_TENSOR_OUTPUT_NORM,
+                LLM_TENSOR_OUTPUT,
+                LLM_TENSOR_ATTN_NORM,
+                LLM_TENSOR_ATTN_POST_NORM,
+                LLM_TENSOR_ATTN_Q,
+                LLM_TENSOR_ATTN_Q_NORM,
+                LLM_TENSOR_ATTN_K,
+                LLM_TENSOR_ATTN_K_NORM,
+                LLM_TENSOR_ATTN_V,
+                LLM_TENSOR_ATTN_OUT,
+                LLM_TENSOR_ATTN_QKV,
+                LLM_TENSOR_ATTN_GATE,
+                LLM_TENSOR_FFN_GATE,
+                LLM_TENSOR_FFN_DOWN,
+                LLM_TENSOR_FFN_UP,
+                LLM_TENSOR_SSM_A_NOSCAN,
+                LLM_TENSOR_SSM_CONV1D,
+                LLM_TENSOR_SSM_DT,
+                LLM_TENSOR_SSM_BETA_ALPHA,
+                LLM_TENSOR_SSM_IN,
+                LLM_TENSOR_SSM_NORM,
+                LLM_TENSOR_SSM_OUT,
+            };
+        case LLM_ARCH_QWEN3_5_MOE:
+            return {
+                LLM_TENSOR_TOKEN_EMBD,
+                LLM_TENSOR_OUTPUT_NORM,
+                LLM_TENSOR_OUTPUT,
+                LLM_TENSOR_ATTN_NORM,
+                LLM_TENSOR_ATTN_POST_NORM,
+                LLM_TENSOR_ATTN_Q,
+                LLM_TENSOR_ATTN_Q_NORM,
+                LLM_TENSOR_ATTN_K,
+                LLM_TENSOR_ATTN_K_NORM,
+                LLM_TENSOR_ATTN_V,
+                LLM_TENSOR_ATTN_OUT,
+                LLM_TENSOR_ATTN_QKV,
+                LLM_TENSOR_ATTN_GATE,
+                LLM_TENSOR_FFN_GATE_INP,
+                LLM_TENSOR_FFN_GATE_EXPS,
+                LLM_TENSOR_FFN_DOWN_EXPS,
+                LLM_TENSOR_FFN_UP_EXPS,
+                LLM_TENSOR_FFN_GATE_INP_SHEXP,
+                LLM_TENSOR_FFN_GATE_SHEXP,
+                LLM_TENSOR_FFN_DOWN_SHEXP,
+                LLM_TENSOR_FFN_UP_SHEXP,
+                LLM_TENSOR_SSM_A_NOSCAN,
+                LLM_TENSOR_SSM_CONV1D,
+                LLM_TENSOR_SSM_DT,
+                LLM_TENSOR_SSM_BETA_ALPHA,
+                LLM_TENSOR_SSM_IN,
+                LLM_TENSOR_SSM_NORM,
+                LLM_TENSOR_SSM_OUT,
+            };
         case LLM_ARCH_QWEN3VL:
         case LLM_ARCH_CHAMELEON:
         case LLM_ARCH_HUNYUAN_DENSE:
@@ -2674,6 +2733,8 @@ bool llm_arch_is_hybrid(const llm_arch & arch) {
         case LLM_ARCH_NEMOTRON_H:
         case LLM_ARCH_NEMOTRON_H_MOE:
         case LLM_ARCH_QWEN3NEXT:
+        case LLM_ARCH_QWEN3_5:
+        case LLM_ARCH_QWEN3_5_MOE:
         case LLM_ARCH_KIMI_LINEAR:
             return true;
         default:
diff --git a/src/llama-arch.h b/src/llama-arch.h
index e8263369b8..a392ecce2b 100644
--- a/src/llama-arch.h
+++ b/src/llama-arch.h
@@ -39,6 +39,8 @@ enum llm_arch {
     LLM_ARCH_QWEN3,
     LLM_ARCH_QWEN3MOE,
     LLM_ARCH_QWEN3NEXT,
+    LLM_ARCH_QWEN3_5,
+    LLM_ARCH_QWEN3_5_MOE,
     LLM_ARCH_QWEN3VL,
     LLM_ARCH_QWEN3VLMOE,
     LLM_ARCH_PHI2,
diff --git a/src/llama-context.cpp b/src/llama-context.cpp
index a6df893a31..80b9a7d46a 100644
--- a/src/llama-context.cpp
+++ b/src/llama-context.cpp
@@ -2013,7 +2013,7 @@ void llama_context::output_reorder() {
 //
 
 uint32_t llama_context::graph_max_nodes(uint32_t n_tokens) const {
-    if (model.arch == LLM_ARCH_QWEN3NEXT || model.arch == LLM_ARCH_KIMI_LINEAR) {
+    if (model.arch == LLM_ARCH_QWEN3NEXT || model.arch == LLM_ARCH_QWEN3_5 || model.arch == LLM_ARCH_QWEN3_5_MOE || model.arch == LLM_ARCH_KIMI_LINEAR) {
         return std::max(n_tokens * 40, 32u * model.n_tensors());
     }
     uint32_t res = std::max(1024u, 8u*model.n_tensors());
diff --git a/src/llama-model.cpp b/src/llama-model.cpp
index 674d06c891..8fc61aee37 100644
--- a/src/llama-model.cpp
+++ b/src/llama-model.cpp
@@ -2412,6 +2412,25 @@ void llama_model::load_hparams(llama_model_loader & ml) {
                     default: type = LLM_TYPE_UNKNOWN;
                 }
             } break;
+        case LLM_ARCH_QWEN3_5:
+        case LLM_ARCH_QWEN3_5_MOE:
+            {
+                ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH,        hparams.n_ff_exp, false);
+                ml.get_key(LLM_KV_EXPERT_SHARED_FEED_FORWARD_LENGTH, hparams.n_ff_shexp, false);
+                ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS,       hparams.f_norm_rms_eps);
+
+                // Load linear attention (gated delta net) parameters
+                ml.get_key(LLM_KV_SSM_CONV_KERNEL,    hparams.ssm_d_conv);
+                ml.get_key(LLM_KV_SSM_INNER_SIZE,     hparams.ssm_d_inner);
+                ml.get_key(LLM_KV_SSM_STATE_SIZE,     hparams.ssm_d_state);
+                ml.get_key(LLM_KV_SSM_TIME_STEP_RANK, hparams.ssm_dt_rank);
+                ml.get_key(LLM_KV_SSM_GROUP_COUNT,    hparams.ssm_n_group);
+
+                // Mark recurrent layers (linear attention layers)
+                for (uint32_t i = 0; i < hparams.n_layer; ++i) {
+                    hparams.recurrent_layer_arr[i] = ((i + 1) % 4 != 0);
+                }
+            } break;
         case LLM_ARCH_MISTRAL3:
             {
                 ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps);
@@ -7094,6 +7113,129 @@ bool llama_model::load_tensors(llama_model_loader & ml) {
                         layer.ffn_down_exps = create_tensor(tn(LLM_TENSOR_FFN_DOWN_EXPS, "weight", i), { n_ff_exp, n_embd, n_expert }, 0);
                         layer.ffn_up_exps   = create_tensor(tn(LLM_TENSOR_FFN_UP_EXPS,   "weight", i), { n_embd, n_ff_exp, n_expert }, 0);
 
+                        // Shared experts
+                        layer.ffn_gate_inp_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP_SHEXP, "weight", i), { n_embd }, 0);
+                        layer.ffn_gate_shexp     = create_tensor(tn(LLM_TENSOR_FFN_GATE_SHEXP,     "weight", i), { n_embd, hparams.n_ff_shexp }, 0);
+                        layer.ffn_up_shexp       = create_tensor(tn(LLM_TENSOR_FFN_UP_SHEXP,       "weight", i), { n_embd, hparams.n_ff_shexp }, 0);
+                        layer.ffn_down_shexp     = create_tensor(tn(LLM_TENSOR_FFN_DOWN_SHEXP,     "weight", i), { hparams.n_ff_shexp, n_embd }, 0);
+                    }
+                } break;
+            case LLM_ARCH_QWEN3_5:
+                {
+                    tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, 0);
+
+                    // output
+                    output_norm = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "weight"), { n_embd }, 0);
+                    output = create_tensor(tn(LLM_TENSOR_OUTPUT, "weight"), { n_embd, n_vocab }, TENSOR_NOT_REQUIRED);
+
+                    if (output == NULL) {
+                        output = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, TENSOR_DUPLICATED);
+                    }
+
+                    // Calculate dimensions from hyperparameters
+                    const int64_t head_k_dim = hparams.ssm_d_state;
+                    const int64_t head_v_dim = hparams.ssm_d_state;
+                    const int64_t n_k_heads  = hparams.ssm_n_group;
+                    const int64_t n_v_heads  = hparams.ssm_dt_rank;
+                    const int64_t key_dim    = head_k_dim * n_k_heads;
+                    const int64_t value_dim  = head_v_dim * n_v_heads;
+                    const int64_t conv_dim   = key_dim * 2 + value_dim;
+
+                    const int64_t ba_dim = n_v_heads * 2;
+
+                    for (int i = 0; i < n_layer; ++i) {
+                        auto & layer = layers[i];
+
+                        layer.attn_norm      = create_tensor(tn(LLM_TENSOR_ATTN_NORM,      "weight", i), { n_embd }, 0);
+                        layer.attn_post_norm = create_tensor(tn(LLM_TENSOR_ATTN_POST_NORM, "weight", i), { n_embd }, 0);
+
+                        if (!hparams.is_recurrent(i)) {
+                            // Full attention layers
+                            layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q,   "weight", i), { n_embd, n_embd_head_k * n_head * 2 }, 0);
+                            layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K,   "weight", i), { n_embd, n_embd_k_gqa }, 0);
+                            layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V,   "weight", i), { n_embd, n_embd_v_gqa }, 0);
+                            layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), { n_embd_head_k * n_head, n_embd }, 0);
+
+                            layer.attn_q_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_NORM, "weight", i), { n_embd_head_k }, 0);
+                            layer.attn_k_norm = create_tensor(tn(LLM_TENSOR_ATTN_K_NORM, "weight", i), { n_embd_head_k }, 0);
+                        } else {
+                            // Linear attention (gated delta net) specific tensors
+                            layer.ssm_in         = create_tensor(tn(LLM_TENSOR_SSM_IN,         "weight", i), { n_embd, key_dim * 2 + value_dim * 2 }, TENSOR_NOT_REQUIRED);
+                            layer.wqkv           = create_tensor(tn(LLM_TENSOR_ATTN_QKV,       "weight", i), { n_embd, key_dim * 2 + value_dim }, TENSOR_NOT_REQUIRED);
+                            layer.wqkv_gate      = create_tensor(tn(LLM_TENSOR_ATTN_GATE,      "weight", i), { n_embd, value_dim }, TENSOR_NOT_REQUIRED);
+                            layer.ssm_conv1d     = create_tensor(tn(LLM_TENSOR_SSM_CONV1D,     "weight", i), { hparams.ssm_d_conv, conv_dim }, 0);
+                            layer.ssm_dt         = create_tensor(tn(LLM_TENSOR_SSM_DT,         "bias",   i), { hparams.ssm_dt_rank }, 0);
+                            layer.ssm_a          = create_tensor(tn(LLM_TENSOR_SSM_A_NOSCAN,             i), { hparams.ssm_dt_rank }, 0);
+                            layer.ssm_beta_alpha = create_tensor(tn(LLM_TENSOR_SSM_BETA_ALPHA, "weight", i), { n_embd, ba_dim }, 0);
+                            layer.ssm_norm       = create_tensor(tn(LLM_TENSOR_SSM_NORM,       "weight", i), { head_v_dim }, 0);
+                            layer.ssm_out        = create_tensor(tn(LLM_TENSOR_SSM_OUT,        "weight", i), { value_dim, n_embd }, 0);
+                        }
+
+                        // Dense FFN for all layers
+                        layer.ffn_gate = create_tensor(tn(LLM_TENSOR_FFN_GATE, "weight", i), { n_embd, n_ff }, 0);
+                        layer.ffn_up   = create_tensor(tn(LLM_TENSOR_FFN_UP,   "weight", i), { n_embd, n_ff }, 0);
+                        layer.ffn_down = create_tensor(tn(LLM_TENSOR_FFN_DOWN, "weight", i), { n_ff, n_embd }, 0);
+                    }
+                } break;
+            case LLM_ARCH_QWEN3_5_MOE:
+                {
+                    tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, 0);
+
+                    // output
+                    output_norm = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "weight"), { n_embd }, 0);
+                    output = create_tensor(tn(LLM_TENSOR_OUTPUT, "weight"), { n_embd, n_vocab }, TENSOR_NOT_REQUIRED);
+
+                    if (output == NULL) {
+                        output = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, TENSOR_DUPLICATED);
+                    }
+
+                    const int64_t n_ff_exp = hparams.n_ff_exp ? hparams.n_ff_exp : n_ff / n_expert_used;
+
+                    // Calculate dimensions from hyperparameters
+                    const int64_t head_k_dim = hparams.ssm_d_state;
+                    const int64_t head_v_dim = hparams.ssm_d_state;
+                    const int64_t n_k_heads  = hparams.ssm_n_group;
+                    const int64_t n_v_heads  = hparams.ssm_dt_rank;
+                    const int64_t key_dim    = head_k_dim * n_k_heads;
+                    const int64_t value_dim  = head_v_dim * n_v_heads;
+                    const int64_t conv_dim   = key_dim * 2 + value_dim;
+
+                    const int64_t ba_dim = n_v_heads * 2;
+
+                    for (int i = 0; i < n_layer; ++i) {
+                        auto & layer = layers[i];
+
+                        layer.attn_norm      = create_tensor(tn(LLM_TENSOR_ATTN_NORM,      "weight", i), { n_embd }, 0);
+                        layer.attn_post_norm = create_tensor(tn(LLM_TENSOR_ATTN_POST_NORM, "weight", i), { n_embd }, 0);
+
+                        if (!hparams.is_recurrent(i)) {
+                            // Full attention layers
+                            layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q,   "weight", i), { n_embd, n_embd_head_k * n_head * 2 }, 0);
+                            layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K,   "weight", i), { n_embd, n_embd_k_gqa }, 0);
+                            layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V,   "weight", i), { n_embd, n_embd_v_gqa }, 0);
+                            layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), { n_embd_head_k * n_head, n_embd }, 0);
+
+                            layer.attn_q_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_NORM, "weight", i), { n_embd_head_k }, 0);
+                            layer.attn_k_norm = create_tensor(tn(LLM_TENSOR_ATTN_K_NORM, "weight", i), { n_embd_head_k }, 0);
+                        } else {
+                            // Linear attention (gated delta net) specific tensors
+                            layer.ssm_in         = create_tensor(tn(LLM_TENSOR_SSM_IN,         "weight", i), { n_embd, key_dim * 2 + value_dim * 2 }, TENSOR_NOT_REQUIRED);
+                            layer.wqkv           = create_tensor(tn(LLM_TENSOR_ATTN_QKV,       "weight", i), { n_embd, key_dim * 2 + value_dim }, TENSOR_NOT_REQUIRED);
+                            layer.wqkv_gate      = create_tensor(tn(LLM_TENSOR_ATTN_GATE,      "weight", i), { n_embd, value_dim }, TENSOR_NOT_REQUIRED);
+                            layer.ssm_conv1d     = create_tensor(tn(LLM_TENSOR_SSM_CONV1D,     "weight", i), { hparams.ssm_d_conv, conv_dim }, 0);
+                            layer.ssm_dt         = create_tensor(tn(LLM_TENSOR_SSM_DT,         "bias",   i), { hparams.ssm_dt_rank }, 0);
+                            layer.ssm_a          = create_tensor(tn(LLM_TENSOR_SSM_A_NOSCAN,             i), { hparams.ssm_dt_rank }, 0);
+                            layer.ssm_beta_alpha = create_tensor(tn(LLM_TENSOR_SSM_BETA_ALPHA, "weight", i), { n_embd, ba_dim }, 0);
+                            layer.ssm_norm       = create_tensor(tn(LLM_TENSOR_SSM_NORM,       "weight", i), { head_v_dim }, 0);
+                            layer.ssm_out        = create_tensor(tn(LLM_TENSOR_SSM_OUT,        "weight", i), { value_dim, n_embd }, 0);
+                        }
+
+                        // MoE FFN
+                        layer.ffn_gate_inp  = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP,  "weight", i), { n_embd, n_expert }, 0);
+                        layer.ffn_gate_exps = create_tensor(tn(LLM_TENSOR_FFN_GATE_EXPS, "weight", i), { n_embd, n_ff_exp, n_expert }, 0);
+                        layer.ffn_down_exps = create_tensor(tn(LLM_TENSOR_FFN_DOWN_EXPS, "weight", i), { n_ff_exp, n_embd, n_expert }, 0);
+                        layer.ffn_up_exps   = create_tensor(tn(LLM_TENSOR_FFN_UP_EXPS,   "weight", i), { n_embd, n_ff_exp, n_expert }, 0);
+
                         // Shared experts
                         layer.ffn_gate_inp_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP_SHEXP, "weight", i), { n_embd }, 0);
                         layer.ffn_gate_shexp     = create_tensor(tn(LLM_TENSOR_FFN_GATE_SHEXP,     "weight", i), { n_embd, hparams.n_ff_shexp }, 0);
@@ -7545,6 +7687,8 @@ void llama_model::print_info() const {
         arch == LLM_ARCH_PLAMO2 ||
         arch == LLM_ARCH_GRANITE_HYBRID ||
         arch == LLM_ARCH_QWEN3NEXT ||
+        arch == LLM_ARCH_QWEN3_5 ||
+        arch == LLM_ARCH_QWEN3_5_MOE ||
         arch == LLM_ARCH_NEMOTRON_H ||
         arch == LLM_ARCH_NEMOTRON_H_MOE) {
         LLAMA_LOG_INFO("%s: ssm_d_conv            = %u\n",     __func__, hparams.ssm_d_conv);
@@ -8343,6 +8487,14 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const {
             {
                 llm = std::make_unique(*this, params);
             } break;
+        case LLM_ARCH_QWEN3_5:
+            {
+                llm = std::make_unique(*this, params);
+            } break;
+        case LLM_ARCH_QWEN3_5_MOE:
+            {
+                llm = std::make_unique(*this, params);
+            } break;
         case LLM_ARCH_MISTRAL3:
             {
                 llm = std::make_unique(*this, params);
@@ -8603,6 +8755,8 @@ llama_rope_type llama_model_rope_type(const llama_model * model) {
         case LLM_ARCH_PANGU_EMBED:
         case LLM_ARCH_AFMOE:
         case LLM_ARCH_QWEN3NEXT:
+        case LLM_ARCH_QWEN3_5:
+        case LLM_ARCH_QWEN3_5_MOE:
         case LLM_ARCH_MIMO2:
         case LLM_ARCH_STEP35:
             return LLAMA_ROPE_TYPE_NEOX;
diff --git a/src/models/delta.cpp b/src/models/delta.cpp
new file mode 100644
index 0000000000..d1d9837d09
--- /dev/null
+++ b/src/models/delta.cpp
@@ -0,0 +1,618 @@
+#include "models.h"
+#include "ggml.h"
+#include 
+#include 
+#include 
+
+llm_graph_context_delta::llm_graph_context_delta(const llm_graph_params & params) : llm_graph_context_mamba(params) {}
+
+/**
+ * Unified Delta Net implementation supporting both GDA and KDA modes.
+ *
+ * GDA (Gated Delta Attention): g has shape [H, T, B] in GGML (PyTorch: [B, T, H])
+ *   - Per-head gating, broadcasts over K dimension
+ *
+ * KDA (Key-wise Delta Attention): g has shape [K, H, T, B] in GGML (PyTorch: [B, T, H, K])
+ *   - Per-key gating
+ *
+ * The mode is auto-detected based on g's dimensionality.
+ *
+ * Tensor dimension convention:
+ *   GGML: ne[0] is innermost (fastest varying), ne[3] is outermost
+ *   PyTorch: dim 0 is outermost, dim -1 is innermost
+ *   So GGML [A, B, C, D] corresponds to PyTorch [D, C, B, A]
+ */
+
+// Helper to get a slice along dimension 2 (n_chunks dimension)
+static ggml_tensor * get_slice_2d(ggml_context * ctx, ggml_tensor * t, int64_t chunk) {
+    return ggml_view_4d(ctx, t,
+        t->ne[0], t->ne[1], 1, t->ne[3],
+        t->nb[1], t->nb[2], t->nb[3],
+        chunk * t->nb[2]);
+}
+
+/**
+ * Unified chunked Delta Net implementation.
+ *
+ * Input tensor format matches qwen3next conventions:
+ * @param q         Query tensor [S_k, H_k, n_tokens, n_seqs]
+ * @param k         Key tensor [S_k, H_k, n_tokens, n_seqs]
+ * @param v         Value tensor [S_v, H_v, n_tokens, n_seqs]
+ * @param g         Gate tensor:
+ *                    GDA: [H_v, n_tokens, n_seqs]
+ *                    KDA: [S_k, H_v, n_tokens, n_seqs]
+ * @param beta      Beta tensor [H_v, 1, n_tokens, n_seqs]
+ * @param state     State tensor [S_v, S_v * H_v, 1, n_seqs]
+ * @param causal_mask   Lower triangular mask [chunk_size, chunk_size]
+ * @param identity      Identity matrix [chunk_size, chunk_size]
+ * @param diag_mask     Diagonal mask [chunk_size, chunk_size]
+ * @param il            Layer index (for debugging callbacks)
+ * @param chunk_size    Chunk size for chunked processing
+ * @param eps_norm      Epsilon for L2 normalization
+ *
+ * @return Pair of (output_tokens, new_state)
+ */
+std::pair llm_graph_context_delta::build_delta_net_unified_chunking(
+        ggml_context * ctx0,
+        ggml_tensor * q,
+        ggml_tensor * k,
+        ggml_tensor * v,
+        ggml_tensor * g,
+        ggml_tensor * beta,
+        ggml_tensor * state_reshaped,
+        ggml_tensor * causal_mask,
+        ggml_tensor * identity,
+        ggml_tensor * diag_mask,
+        int           il,
+        int64_t       chunk_size,
+        float         eps_norm) {
+
+    // Input format: [S, H, n_tokens, n_seqs] (matching qwen3next convention)
+    const int64_t S_k      = q->ne[0];
+    const int64_t H_k      = q->ne[1];
+    const int64_t n_tokens = q->ne[2];
+    const int64_t n_seqs   = q->ne[3];
+
+    const int64_t S_v = v->ne[0];
+    const int64_t H_v = v->ne[1];
+
+    // Detect KDA vs GDA based on g's shape
+    // GDA: g has shape [H_v, n_tokens, n_seqs]
+    // KDA: g has shape [S_k, H_v, n_tokens, n_seqs] (4D with ne[0]=S_k)
+    const bool is_kda = (g->ne[0] == S_k && g->ne[1] == H_v);
+
+    // Validate tensor shapes
+    GGML_ASSERT(v->ne[2] == n_tokens);
+    GGML_ASSERT(k->ne[2] == n_tokens);
+    GGML_ASSERT(state_reshaped->ne[0] == S_v && state_reshaped->ne[1] == S_v && state_reshaped->ne[2] == H_v && state_reshaped->ne[3] == n_seqs);
+    GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs);
+    GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs);
+    GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs);
+    GGML_ASSERT(H_k == H_v);
+
+    if (is_kda) {
+        // KDA: g shape [S_k, H_v, n_tokens, n_seqs]
+        GGML_ASSERT(g->ne[0] == S_k && g->ne[1] == H_v && g->ne[2] == n_tokens && g->ne[3] == n_seqs);
+    } else {
+        // GDA: g shape [H_v, n_tokens, n_seqs]
+        GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs);
+    }
+
+    // L2 normalize q and k
+    q = ggml_l2_norm(ctx0, q, eps_norm);
+    k = ggml_l2_norm(ctx0, k, eps_norm);
+
+    const float scale = 1.0f / sqrtf((float)S_v);
+    q = ggml_scale(ctx0, q, scale);
+
+    beta = ggml_sigmoid(ctx0, beta);
+
+    cb(q, "q_in", il);
+    cb(k, "k_in", il);
+    cb(v, "v_in", il);
+    cb(beta, "beta_in", il);
+    cb(g, "g_in", il);
+
+    // Permute tensors to working format [S, n_tokens, H, n_seqs]
+    // Input: [S, H, n_tokens, n_seqs] -> permute(0, 2, 1, 3) -> [S, n_tokens, H, n_seqs]
+    q = ggml_cont_4d(ctx0, ggml_permute(ctx0, q, 0, 2, 1, 3), S_k, n_tokens, H_k, n_seqs);
+    k = ggml_cont_4d(ctx0, ggml_permute(ctx0, k, 0, 2, 1, 3), S_k, n_tokens, H_k, n_seqs);
+    v = ggml_cont_4d(ctx0, ggml_permute(ctx0, v, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs);
+    if (is_kda) {
+        g = ggml_cont_4d(ctx0, ggml_permute(ctx0, g, 0, 2, 1, 3), S_k, n_tokens, H_k, n_seqs);
+    } else {
+        g = ggml_cont_4d(ctx0, ggml_permute(ctx0, g, 2, 0, 3, 1), n_tokens, 1, H_k, n_seqs);
+    }
+    beta = ggml_cont(ctx0, ggml_permute(ctx0, beta, 2, 0, 1, 3));
+
+    cb(q, "q_perm", il);
+    cb(k, "k_perm", il);
+    cb(v, "v_perm", il);
+    cb(beta, "beta_perm", il);
+    cb(g, "g_perm", il);
+    cb(state_reshaped, "state_in", il);
+
+    // Padding for chunk processing
+    const int64_t pad = (chunk_size - n_tokens % chunk_size) % chunk_size;
+    const int64_t n_chunks = (n_tokens + pad) / chunk_size;
+
+    q = ggml_pad(ctx0, q, 0, pad, 0, 0);
+    k = ggml_pad(ctx0, k, 0, pad, 0, 0);
+    v = ggml_pad(ctx0, v, 0, pad, 0, 0);
+    beta = ggml_pad(ctx0, beta, 0, pad, 0, 0);
+    g = ggml_pad(ctx0, g, pad, 0, 0, 0);
+
+
+    cb(q, "q_pad", il);
+    cb(k, "k_pad", il);
+    cb(v, "v_pad", il);
+    cb(beta, "beta_pad", il);
+    cb(g, "g_pad", il);
+
+    ggml_tensor * v_beta = ggml_mul(ctx0, v, beta);
+    ggml_tensor * k_beta = ggml_mul(ctx0, k, beta);
+
+    cb(v_beta, "v_beta", il);
+    cb(k_beta, "k_beta", il);
+
+    // Reshape to chunks
+    q      = ggml_reshape_4d(ctx0, q,      S_k, chunk_size, n_chunks, H_k * n_seqs);
+    k      = ggml_reshape_4d(ctx0, k,      S_k, chunk_size, n_chunks, H_k * n_seqs);
+    k_beta = ggml_reshape_4d(ctx0, k_beta, S_k, chunk_size, n_chunks, H_k * n_seqs);
+    v      = ggml_reshape_4d(ctx0, v,      S_v, chunk_size, n_chunks, H_v * n_seqs);
+    v_beta = ggml_reshape_4d(ctx0, v_beta, S_v, chunk_size, n_chunks, H_v * n_seqs);
+    beta   = ggml_reshape_4d(ctx0, beta, 1, chunk_size, n_chunks, H_k * n_seqs);
+
+    // Reshape g for chunks
+    ggml_tensor * g_cumsum;
+    ggml_tensor * g_cumsum_t;
+    if (is_kda) {
+        // KDA: g [S_k, n_tokens+pad, H_k, n_seqs] -> [S_k, chunk_size, n_chunks, H_k * n_seqs]
+        g = ggml_reshape_4d(ctx0, g, S_k, chunk_size, n_chunks, H_k * n_seqs);
+        // Cumsum along chunk_size dimension (ne[1])
+        // GGML cumsum operates on ne[0], so we need to transpose, cumsum, transpose back
+        g = ggml_cont(ctx0, ggml_transpose(ctx0, g));  // [chunk_size, S_k, n_chunks, H_k * n_seqs]
+        g_cumsum_t = ggml_cumsum(ctx0, g);
+        g_cumsum = ggml_cont(ctx0, ggml_transpose(ctx0, g_cumsum_t));  // [S_k, chunk_size, n_chunks, H_k * n_seqs]
+    } else {
+        // GDA: g [n_tokens+pad, 1, H_k, n_seqs] -> [chunk_size, 1, n_chunks, H_k * n_seqs]
+        g = ggml_reshape_4d(ctx0, g, chunk_size, 1, n_chunks, H_k * n_seqs);
+        g_cumsum = ggml_cumsum(ctx0, g);
+        g_cumsum_t = ggml_reshape_4d(ctx0, g_cumsum, 1, chunk_size, n_chunks, H_k * n_seqs);
+    }
+
+    cb(g_cumsum, "g_cumsum", il);
+
+    // Build attention matrix A for the WY representation solve
+    // For GDA: A[j,i] = sum_k(k[j,k] * exp(g[j] - g[i]) * k[i,k]) = (k @ k^T) * exp(g[j] - g[i])
+    // For KDA: A[j,i] = sum_k(k_beta[j,k] * exp(g[j,k] - g[i,k]) * k[i,k])
+    // KDA uses decay mask with S_k packed into batch to compute exp(g[j,k] - g[i,k]) per-key
+
+    ggml_tensor * k_decay;
+    ggml_tensor * decay_mask = nullptr;
+    ggml_tensor * g_exp_pos = nullptr;
+
+    if (is_kda) {
+        // KDA: Use decay mask with S_k in leading dimension for efficient mul_mat reduction
+        // A[j,i] = sum_k(k_beta[j,k] * exp(g[j,k] - g[i,k]) * k[i,k])
+        // By putting S_k in dim 0, mul_mat implicitly sums over it
+
+        const int64_t CHB = n_chunks * H_k * n_seqs;
+
+        // g_cumsum_t is [chunk_size, S_k, n_chunks, H_k * n_seqs]
+        // Reshape to [chunk_size, S_k, CHB] then build decay mask
+        ggml_tensor * gcs = ggml_reshape_3d(ctx0, g_cumsum_t, chunk_size, S_k, CHB);
+        ggml_tensor * gcs_i = ggml_reshape_4d(ctx0, gcs, chunk_size, 1, S_k, CHB);
+        ggml_tensor * gcs_j = ggml_reshape_4d(ctx0, gcs, 1, chunk_size, S_k, CHB);
+
+        // Build decay mask: [chunk_size, chunk_size, S_k, CHB]
+        ggml_tensor * gcs_j_bc = ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, S_k, CHB);
+        decay_mask = ggml_sub(ctx0, gcs_j_bc, gcs_i);
+
+        cb(decay_mask, "decay_mask_kda", il);
+
+        decay_mask = ggml_mul(ctx0, decay_mask, diag_mask);
+        decay_mask = ggml_exp(ctx0, decay_mask);
+        decay_mask = ggml_mul(ctx0, decay_mask, diag_mask);
+
+        // Permute to [S_k, chunk_size_j, chunk_size_i, CHB] for mul_mat reduction over S_k
+        decay_mask = ggml_cont_4d(ctx0, ggml_permute(ctx0, decay_mask, 2, 1, 0, 3), S_k, chunk_size, chunk_size, CHB);
+
+        // Reshape k and k_beta for broadcasting with decay_mask
+        // k_i: indexed at position i (dim 2 of decay_mask)
+        // k_beta_j: indexed at position j (dim 1 of decay_mask)
+        ggml_tensor * k_i = ggml_reshape_4d(ctx0, k, S_k, 1, chunk_size, CHB);
+        ggml_tensor * k_beta_j = ggml_reshape_4d(ctx0, k_beta, S_k, chunk_size, 1, CHB);
+
+        // decay_k_beta_j[s,j,i,b] = decay[s,j,i,b] * k_beta[s,j,b]
+        ggml_tensor * decay_k_beta_j = ggml_mul(ctx0, decay_mask, k_beta_j);
+
+        // mul_mat sums over S_k: result[j,1,i,CHB] = sum_s decay_k_beta_j[s,j,i,b] * k_i[s,1,i,b]
+        k_decay = ggml_mul_mat(ctx0, decay_k_beta_j, k_i);
+        k_decay = ggml_cont(ctx0, ggml_transpose(ctx0, ggml_reshape_4d(ctx0, k_decay, chunk_size, chunk_size, n_chunks, H_k * n_seqs)));
+
+        // g_exp_pos is still needed for later (kbeta_gexp, etc.)
+        g_exp_pos = ggml_exp(ctx0, g_cumsum);
+    } else {
+        // GDA: Use decay mask approach (g broadcasts over K dimension)
+        // g_cumsum [chunk_size, 1, n_chunks, H_v * n_seqs]
+        ggml_tensor * gcs_i = g_cumsum;
+        ggml_tensor * gcs_j = g_cumsum_t;
+        g_exp_pos = ggml_exp(ctx0, g_cumsum_t);
+        ggml_tensor * gcs_j_broadcast = ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, n_chunks, H_v * n_seqs);
+        decay_mask = ggml_sub(ctx0, gcs_j_broadcast, gcs_i);
+
+        cb(decay_mask, "decay_mask", il);
+
+        decay_mask = ggml_mul(ctx0, decay_mask, diag_mask);
+        decay_mask = ggml_exp(ctx0, decay_mask);
+        decay_mask = ggml_mul(ctx0, decay_mask, diag_mask);
+
+        ggml_tensor * kmulkbeta = ggml_mul_mat(ctx0, k, k_beta);
+        k_decay = ggml_mul(ctx0, kmulkbeta, decay_mask);
+    }
+
+    ggml_tensor * attn = ggml_neg(ctx0, ggml_mul(ctx0, k_decay, causal_mask));
+
+    cb(attn, "attn_pre_solve", il);
+
+    // Solve triangular system: (I + L) @ X = I, where L is strictly lower triangular
+    ggml_tensor * attn_lower = ggml_mul(ctx0, attn, causal_mask);
+    ggml_tensor * lhs = ggml_sub(ctx0, ggml_repeat(ctx0, identity, attn_lower), attn_lower);
+    ggml_tensor * lin_solve = ggml_solve_tri(ctx0, lhs, attn, true, true, false);
+    attn = ggml_mul(ctx0, lin_solve, causal_mask);
+    attn = ggml_add(ctx0, attn, identity);
+
+    cb(attn, "attn_solved", il);
+
+    // Compute u = A @ v and w = A @ (g.exp() * k)
+    v = ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_beta)), attn);
+
+    ggml_tensor * kbeta_gexp = ggml_mul(ctx0, k_beta, g_exp_pos);
+    cb(kbeta_gexp, "kbeta_gexp", il);
+
+    ggml_tensor * k_cumdecay = ggml_cont(ctx0, ggml_transpose(ctx0,
+        ggml_mul_mat(ctx0, attn, ggml_cont(ctx0, ggml_transpose(ctx0, kbeta_gexp)))));
+    cb(k_cumdecay, "k_cumdecay", il);
+
+    // Attention scores q @ k^T with decay
+    // For GDA: attn_kq[j,i] = sum_k(q[j,k] * exp(g[j] - g[i]) * k[i,k])
+    // For KDA: attn_kq[j,i] = sum_k(q[j,k] * exp(g[j,k] - g[i,k]) * k[i,k])
+    ggml_tensor * attn_kq;
+    if (is_kda) {
+        // KDA: Same approach as k_decay - use decay_mask with S_k in leading dim
+        const int64_t CHB = n_chunks * H_k * n_seqs;
+
+        // Rebuild decay mask (same structure as k_decay)
+        ggml_tensor * gcs = ggml_reshape_3d(ctx0, g_cumsum_t, chunk_size, S_k, CHB);
+        ggml_tensor * gcs_i = ggml_reshape_4d(ctx0, gcs, chunk_size, 1, S_k, CHB);
+        ggml_tensor * gcs_j = ggml_reshape_4d(ctx0, gcs, 1, chunk_size, S_k, CHB);
+        ggml_tensor * gcs_j_bc = ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, S_k, CHB);
+        ggml_tensor * decay_mask_kq = ggml_sub(ctx0, gcs_j_bc, gcs_i);
+
+        decay_mask_kq = ggml_mul(ctx0, decay_mask_kq, diag_mask);
+        decay_mask_kq = ggml_exp(ctx0, decay_mask_kq);
+        decay_mask_kq = ggml_mul(ctx0, decay_mask_kq, diag_mask);
+
+        // Permute to [S_k, chunk_size_j, chunk_size_i, CHB]
+        decay_mask_kq = ggml_cont_4d(ctx0, ggml_permute(ctx0, decay_mask_kq, 2, 1, 0, 3), S_k, chunk_size, chunk_size, CHB);
+
+        // q_j: indexed at position j, k_i: indexed at position i
+        ggml_tensor * q_j = ggml_reshape_4d(ctx0, q, S_k, chunk_size, 1, CHB);
+        ggml_tensor * k_i = ggml_reshape_4d(ctx0, k, S_k, 1, chunk_size, CHB);
+
+        // decay_q_j[s,j,i,b] = decay[s,j,i,b] * q[s,j,b]
+        ggml_tensor * decay_q_j = ggml_mul(ctx0, decay_mask_kq, q_j);
+
+        // mul_mat sums over S_k
+        attn_kq = ggml_mul_mat(ctx0, decay_q_j, k_i);
+        attn_kq = ggml_cont(ctx0, ggml_transpose(ctx0, ggml_reshape_4d(ctx0, attn_kq, chunk_size, chunk_size, n_chunks, H_k * n_seqs)));
+    } else {
+        // GDA: Use decay mask
+        attn_kq = ggml_mul_mat(ctx0, k, q);
+        attn_kq = ggml_mul(ctx0, attn_kq, decay_mask);
+        attn_kq = ggml_mul(ctx0, attn_kq, diag_mask);
+    }
+    cb(attn_kq, "attn_kq", il);
+
+    // Compute g_last and g_diff for state updates
+    ggml_tensor * g_last;
+    ggml_tensor * g_diff_exp;
+    ggml_tensor * g_last_exp;
+
+    if (is_kda) {
+        // KDA: g_cumsum [S_k, chunk_size, n_chunks, H_k * n_seqs]
+        // Get last element along chunk_size dimension (ne[1])
+        g_last = ggml_view_4d(ctx0, g_cumsum,
+            g_cumsum->ne[0], 1, g_cumsum->ne[2], g_cumsum->ne[3],
+            g_cumsum->nb[1], g_cumsum->nb[2], g_cumsum->nb[3],
+            (g_cumsum->ne[1] - 1) * g_cumsum->nb[1]);
+        g_last = ggml_cont(ctx0, g_last);
+        g_last_exp = ggml_exp(ctx0, g_last);
+
+        // g_diff = g_last - g_cumsum
+        ggml_tensor * g_last_broadcast = ggml_repeat_4d(ctx0, g_last,
+            g_cumsum->ne[0], g_cumsum->ne[1], g_cumsum->ne[2], g_cumsum->ne[3]);
+        ggml_tensor * g_diff = ggml_sub(ctx0, g_last_broadcast, g_cumsum);
+        g_diff_exp = ggml_exp(ctx0, g_diff);
+    } else {
+        // GDA: g_cumsum [chunk_size, 1, n_chunks, H_k * n_seqs]
+        g_last = ggml_view_4d(ctx0, g_cumsum,
+            1, 1, g_cumsum->ne[2], g_cumsum->ne[3],
+            g_cumsum->nb[1], g_cumsum->nb[2], g_cumsum->nb[3],
+            (g_cumsum->ne[0] - 1) * ggml_element_size(g_cumsum));
+        g_last = ggml_cont(ctx0, g_last);
+        g_last_exp = ggml_exp(ctx0, g_last);
+
+        ggml_tensor * g_diff = ggml_neg(ctx0, ggml_sub(ctx0, g_cumsum, g_last));
+        g_diff_exp = ggml_exp(ctx0, g_diff);
+    }
+
+    cb(g_last, "g_last", il);
+    cb(g_last_exp, "g_last_exp", il);
+
+    ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp);
+    cb(key_gdiff, "key_gdiff", il);
+
+    // Process chunks
+    ggml_tensor * new_state = state_reshaped;
+    ggml_tensor * core_attn_out = nullptr;
+
+    for (int64_t chunk = 0; chunk < n_chunks; chunk++) {
+        ggml_tensor * q_chunk = get_slice_2d(ctx0, q, chunk);
+        ggml_tensor * v_chunk = get_slice_2d(ctx0, v, chunk);
+        ggml_tensor * k_cumdecay_chunk = get_slice_2d(ctx0, k_cumdecay, chunk);
+        ggml_tensor * attn_chunk = get_slice_2d(ctx0, attn_kq, chunk);
+        ggml_tensor * gexp_chunk = get_slice_2d(ctx0, g_exp_pos, chunk);
+
+        cb(attn_chunk, "attn_chunk", il);
+
+        ggml_tensor * state_t = ggml_cont_4d(ctx0, ggml_permute(ctx0, new_state, 1, 0, 2, 3),
+            S_v, S_v, 1, H_v * n_seqs);
+
+        // v_prime = k_cumdecay @ state
+        ggml_tensor * v_prime = ggml_mul_mat(ctx0, state_t, k_cumdecay_chunk);
+        cb(v_prime, "v_prime_chunk", il);
+
+        // v_new = v - v_prime
+        ggml_tensor * v_new = ggml_sub(ctx0, ggml_repeat(ctx0, v_chunk, v_prime), v_prime);
+        ggml_tensor * v_new_t = ggml_cont(ctx0, ggml_transpose(ctx0, v_new));
+        cb(v_new, "v_new_chunk", il);
+
+        // attn_inter = (q * g.exp()) @ state
+        ggml_tensor * q_g_exp = ggml_mul(ctx0, q_chunk, gexp_chunk);
+        ggml_tensor * attn_inter = ggml_mul_mat(ctx0, state_t, q_g_exp);
+        cb(attn_inter, "attn_inter_chunk", il);
+
+        // output = attn_inter + attn @ v_new
+        ggml_tensor * v_attn = ggml_mul_mat(ctx0, v_new_t, attn_chunk);
+        cb(v_attn, "v_attn_chunk", il);
+
+        ggml_tensor * core_attn_out_chunk = ggml_add(ctx0, attn_inter, v_attn);
+        cb(core_attn_out_chunk, "core_attn_out_chunk", il);
+
+        core_attn_out = core_attn_out == nullptr
+            ? core_attn_out_chunk
+            : ggml_concat(ctx0, core_attn_out, core_attn_out_chunk, 2);
+
+        // State update: state = state * g_last_exp + key_gdiff^T @ v_new
+        ggml_tensor * k_gdiff = ggml_cont(ctx0, get_slice_2d(ctx0, key_gdiff, chunk));
+        ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, v_new_t, ggml_cont(ctx0, ggml_transpose(ctx0, k_gdiff)));
+
+        ggml_tensor * gexp_last_chunk = ggml_cont(ctx0, get_slice_2d(ctx0, g_last_exp, chunk));
+
+        if (is_kda) {
+            // KDA: g_last_exp [S_k, 1, n_chunks, H_k * n_seqs]
+            // State: [S_v, S_v, H_v, n_seqs]
+            // Need to reshape g_last_exp to broadcast correctly over V dimension only
+            gexp_last_chunk = ggml_reshape_4d(ctx0, gexp_last_chunk,
+                1, gexp_last_chunk->ne[0], H_v, n_seqs);  // [1, S_k, H_v, n_seqs]
+            // Transpose to [S_k, 1, H_v, n_seqs] then broadcast
+            gexp_last_chunk = ggml_cont(ctx0, ggml_permute(ctx0, gexp_last_chunk, 1, 0, 2, 3));
+        } else {
+            // GDA: g_last_exp [1, 1, n_chunks, H_k * n_seqs]
+            // Broadcasts over both K and V dimensions
+            gexp_last_chunk = ggml_reshape_4d(ctx0, gexp_last_chunk,
+                gexp_last_chunk->ne[0], gexp_last_chunk->ne[1], H_v, n_seqs);
+        }
+
+        new_state = ggml_add(ctx0,
+            ggml_mul(ctx0, new_state, gexp_last_chunk),
+            ggml_reshape_4d(ctx0, kgdmulvnew, kgdmulvnew->ne[0], kgdmulvnew->ne[1], H_v, n_seqs));
+    }
+
+    // Truncate padding and permute back
+    ggml_tensor * output_tokens = ggml_view_4d(ctx0, core_attn_out,
+        S_v, n_tokens, H_v, n_seqs,
+        ggml_row_size(core_attn_out->type, S_v),
+        ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks),
+        ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks * H_v), 0);
+    output_tokens = ggml_cont(ctx0, output_tokens);
+
+    cb(output_tokens, "output_tokens", il);
+
+    output_tokens = ggml_permute(ctx0, output_tokens, 0, 2, 1, 3);
+    output_tokens = ggml_cont(ctx0, output_tokens);
+
+    return {output_tokens, new_state};
+}
+
+
+/**
+ * Unified autoregressive Delta Net implementation (single token processing).
+ *
+ * This implementation uses matrix multiplication instead of elementwise operations + summation,
+ * which is more efficient and mathematically equivalent. See inline comments for equivalences.
+ *
+ * Input tensor format matches qwen3next conventions:
+ * @param q         Query tensor [S_k, H_k, 1, n_seqs]
+ * @param k         Key tensor [S_k, H_k, 1, n_seqs]
+ * @param v         Value tensor [S_v, H_v, 1, n_seqs]
+ * @param g         Gate tensor:
+ *                    GDA: [H_v, 1, n_seqs]
+ *                    KDA: [S_k, H_v, 1, n_seqs]
+ * @param beta      Beta tensor [H_v, 1, 1, n_seqs]
+ * @param state     State tensor [S_v, S_v * H_v, 1, n_seqs]
+ * @param il        Layer index (for debugging callbacks)
+ * @param eps_norm  Epsilon for L2 normalization
+ *
+ * @return Pair of (output_tokens, new_state)
+ */
+std::pair llm_graph_context_delta::build_delta_net_unified_autoregressive(
+        ggml_context * ctx0,
+        ggml_tensor * q,
+        ggml_tensor * k,
+        ggml_tensor * v,
+        ggml_tensor * g,
+        ggml_tensor * beta,
+        ggml_tensor * state,
+        int           il,
+        float         eps_norm) {
+
+    // Input format: [S, H, n_tokens, n_seqs] (matching qwen3next convention)
+    const int64_t S_k      = q->ne[0];
+    const int64_t H_k      = q->ne[1];
+    const int64_t n_tokens = q->ne[2];
+    const int64_t n_seqs   = q->ne[3];
+
+    const int64_t S_v = v->ne[0];
+    const int64_t H_v = v->ne[1];
+
+    GGML_ASSERT(n_tokens == 1);  // Autoregressive mode is for single token
+
+    // Detect KDA vs GDA based on g's shape
+    // GDA: g has shape [H_v, 1, n_seqs] or [H_v, n_tokens, n_seqs]
+    // KDA: g has shape [S_k, H_v, 1, n_seqs] or [S_k, H_v, n_tokens, n_seqs]
+    const bool is_kda = (g->ne[0] == S_k && g->ne[1] == H_v);
+
+    // Validate shapes
+    GGML_ASSERT(v->ne[2] == n_tokens);
+    GGML_ASSERT(k->ne[2] == n_tokens);
+    GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v && state->ne[2] == H_v && state->ne[3] == n_seqs);
+    GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs);
+    GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs);
+    GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs);
+    GGML_ASSERT(H_k == H_v);
+
+    if (is_kda) {
+        GGML_ASSERT(g->ne[0] == S_k && g->ne[1] == H_v);
+    } else {
+        GGML_ASSERT(g->ne[0] == H_v);
+    }
+
+    // L2 normalize q and k
+    q = ggml_l2_norm(ctx0, q, eps_norm);
+    k = ggml_l2_norm(ctx0, k, eps_norm);
+
+    const float scale = 1.0f / sqrtf((float)S_v);
+    q = ggml_scale(ctx0, q, scale);
+    beta = ggml_sigmoid(ctx0, beta);
+
+    cb(q, "q_in", il);
+    cb(k, "k_in", il);
+    cb(v, "v_in", il);
+    cb(beta, "beta_in", il);
+    cb(g, "g_in", il);
+
+    // Reshape g and beta for broadcasting
+    ggml_tensor * g_t;
+    ggml_tensor * beta_t;
+
+    if (is_kda) {
+        // KDA: g [S_k, H_v, 1, n_seqs] -> [S_k, 1, H_k, n_seqs]
+        // For state multiplication, need [1, S_k, H_v, n_seqs] to broadcast over V only
+        g_t = ggml_reshape_4d(ctx0, g, S_k, 1, H_k, n_seqs);
+    } else {
+        // GDA: g [H_v, 1, n_seqs] -> [1, 1, H_k, n_seqs]
+        // For state multiplication, broadcasts over both K and V
+        g_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, g), 1, 1, H_k, n_seqs);
+    }
+
+    beta_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, beta), 1, 1, H_k, n_seqs);
+
+    // Apply exponential to g_t
+    g_t = ggml_exp(ctx0, g_t);
+
+    // State decay: state = state * exp(g)
+    if (is_kda) {
+        // KDA: g_t [S_k, 1, H_k, n_seqs], state [S_v, S_v, H_v, n_seqs]
+        // Need to broadcast g_t over V dimension (ne[0] of state)
+        // Permute g_t to [1, S_k, H_k, n_seqs] for correct broadcasting
+        ggml_tensor * g_broadcast = ggml_cont(ctx0, ggml_permute(ctx0, g_t, 1, 0, 2, 3));
+        state = ggml_mul(ctx0, state, g_broadcast);
+    } else {
+        // GDA: g_t [1, 1, H_k, n_seqs] broadcasts over both dimensions
+        state = ggml_mul(ctx0, state, g_t);
+    }
+
+    // Equivalence to previous version:
+    // Previous: kv_mem = sum_k(state * k) using elementwise mult + sum_rows
+    // Current:  k_state = state_t @ k_t using matrix multiplication
+    // These are equivalent because: sum_k(A * B) = A @ B when dimensions align
+    ggml_tensor * state_t = ggml_cont(ctx0, ggml_transpose(ctx0, state));
+    ggml_tensor * k_t = ggml_reshape_4d(ctx0, k, S_k, 1, H_k, n_seqs);
+    ggml_tensor * k_state = ggml_mul_mat(ctx0, state_t, k_t);
+
+    // v_diff = v - k_state (equivalent to v - kv_mem in previous version)
+    ggml_tensor * v_t = ggml_reshape_4d(ctx0, v, S_v, 1, H_v, n_seqs);
+    ggml_tensor * v_diff = ggml_sub(ctx0, v_t, k_state);
+    ggml_tensor * k_beta = ggml_mul(ctx0, k_t, beta_t);
+
+    // Equivalence to previous version:
+    // Previous: state += k.unsqueeze(-1) * delta where delta = (v - kv_mem) * beta
+    // Current:  state += v_diff^T @ k_beta^T using matrix multiplication
+    // These are equivalent because: outer_product(k, v_diff * beta) = v_diff^T @ k^T
+    state = ggml_add(ctx0, state, ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_diff)), ggml_cont(ctx0, ggml_transpose(ctx0, k_beta))));
+
+    // Equivalence to previous version:
+    // Previous: core_attn_out = sum_k(state * q) using elementwise mult + sum_rows
+    // Current:  core_attn_out = state_t @ q using matrix multiplication
+    // These are equivalent because: sum_k(A * B) = A @ B when dimensions align
+    q = ggml_reshape_4d(ctx0, q, S_k, 1, H_k, n_seqs);
+    state_t = ggml_cont(ctx0, ggml_transpose(ctx0, state));
+    ggml_tensor * core_attn_out = ggml_mul_mat(ctx0, state_t, q);
+    // core_attn_out should be [S_v, 1, H_v, n_seqs] after this
+    cb(core_attn_out, "output_tokens", il);
+    cb(state, "new_state", il);
+
+    return {core_attn_out, state};
+}
+
+
+/**
+ * Main entry point that dispatches to chunked or autoregressive based on n_tokens.
+ *
+ * Input tensor format matches qwen3next conventions:
+ * @param q         Query tensor [S_k, H_k, n_tokens, n_seqs]
+ * @param k         Key tensor [S_k, H_k, n_tokens, n_seqs]
+ * @param v         Value tensor [S_v, H_v, n_tokens, n_seqs]
+ * @param g         Gate tensor (GDA: [H_v, n_tokens, n_seqs], KDA: [S_k, H_v, n_tokens, n_seqs])
+ * @param beta      Beta tensor [H_v, 1, n_tokens, n_seqs]
+ * @param state     State tensor [S_v, S_v * H_v, 1, n_seqs]
+ */
+std::pair llm_graph_context_delta::build_delta_net_unified(
+        ggml_context * ctx0,
+        ggml_tensor * q,
+        ggml_tensor * k,
+        ggml_tensor * v,
+        ggml_tensor * g,
+        ggml_tensor * beta,
+        ggml_tensor * state,
+        ggml_tensor * causal_mask,
+        ggml_tensor * identity,
+        ggml_tensor * diag_mask,
+        int           il,
+        int64_t       chunk_size,
+        float         eps_norm) {
+
+    // Input format: [S, H, n_tokens, n_seqs] (matching qwen3next convention)
+    const int64_t n_tokens = q->ne[2];
+
+    if (n_tokens == 1) {
+        return build_delta_net_unified_autoregressive(
+            ctx0, q, k, v, g, beta, state, il, eps_norm);
+    }
+    return build_delta_net_unified_chunking(
+        ctx0, q, k, v, g, beta, state, causal_mask, identity, diag_mask,
+        il, chunk_size, eps_norm);
+}
diff --git a/src/models/kimi-linear.cpp b/src/models/kimi-linear.cpp
index 0f037d1a39..d9ee698075 100644
--- a/src/models/kimi-linear.cpp
+++ b/src/models/kimi-linear.cpp
@@ -1,5 +1,4 @@
 #include "models.h"
-#include "ggml.h"
 
 #define CHUNK_SIZE 64
 
diff --git a/src/models/models.h b/src/models/models.h
index cfcbb9aaa5..2a750c168e 100644
--- a/src/models/models.h
+++ b/src/models/models.h
@@ -17,6 +17,53 @@ struct llm_graph_context_mamba : public llm_graph_context {
 
 };
 
+struct llm_graph_context_delta : public llm_graph_context_mamba {
+    llm_graph_context_delta(const llm_graph_params & params);
+
+    virtual ~llm_graph_context_delta() = default;
+
+    std::pair build_delta_net_unified_chunking(
+        ggml_context * ctx0,
+        ggml_tensor * q,
+        ggml_tensor * k,
+        ggml_tensor * v,
+        ggml_tensor * g,
+        ggml_tensor * beta,
+        ggml_tensor * state,
+        ggml_tensor * causal_mask,
+        ggml_tensor * identity,
+        ggml_tensor * diag_mask,
+        int           il,
+        int64_t       chunk_size,
+        float         eps_norm);
+
+    std::pair build_delta_net_unified_autoregressive(
+        ggml_context * ctx0,
+        ggml_tensor * q,
+        ggml_tensor * k,
+        ggml_tensor * v,
+        ggml_tensor * g,
+        ggml_tensor * beta,
+        ggml_tensor * state,
+        int           il,
+        float         eps_norm);
+
+    std::pair build_delta_net_unified(
+        ggml_context * ctx0,
+        ggml_tensor * q,
+        ggml_tensor * k,
+        ggml_tensor * v,
+        ggml_tensor * g,
+        ggml_tensor * beta,
+        ggml_tensor * state,
+        ggml_tensor * causal_mask,
+        ggml_tensor * identity,
+        ggml_tensor * diag_mask,
+        int           il,
+        int64_t       chunk_size,
+        float         eps_norm);
+};
+
 // Base class for RWKV-related models
 struct llm_build_rwkv6_base : public llm_graph_context {
     const llama_model & model;
@@ -476,7 +523,7 @@ struct llm_build_qwen3vl : public llm_graph_context {
 struct llm_build_qwen3vlmoe : public llm_graph_context {
     llm_build_qwen3vlmoe(const llama_model & model, const llm_graph_params & params);
 };
-struct llm_build_qwen3next : public llm_graph_context_mamba {
+struct llm_build_qwen3next : public llm_graph_context_delta {
     llm_build_qwen3next(const llama_model & model, const llm_graph_params & params);
 private:
     ggml_tensor * build_layer_attn(
@@ -534,6 +581,59 @@ private:
     const llama_model & model;
 };
 
+struct llm_build_qwen3_5 : public llm_graph_context_delta {
+    llm_build_qwen3_5(const llama_model & model, const llm_graph_params & params);
+
+protected:
+    // Tag type for subclass constructors that need to call build_graph() themselves
+    // (to ensure virtual dispatch works correctly)
+    struct defer_graph_build_t {};
+
+    llm_build_qwen3_5(const llama_model & model, const llm_graph_params & params, defer_graph_build_t);
+
+    void build_graph();
+
+    virtual ggml_tensor * build_layer_ffn(
+                ggml_tensor * cur,
+                        int   il);
+
+    const llama_model & model;
+
+private:
+    ggml_tensor * build_layer_attn(
+    llm_graph_input_attn_kv * inp_attn,
+                ggml_tensor * cur,
+                ggml_tensor * inp_pos,
+                        int   il);
+
+    ggml_tensor * build_layer_attn_linear(
+         llm_graph_input_rs * inp,
+                ggml_tensor * cur,
+                ggml_tensor * causal_mask,
+                ggml_tensor * identity,
+                ggml_tensor * diag_mask,
+                        int   il);
+
+    ggml_tensor * build_norm_gated(
+                ggml_tensor * input,
+                ggml_tensor * weights,
+                ggml_tensor * gate,
+                        int   layer);
+
+    std::pair build_qkvz(
+                ggml_tensor * input,
+                        int   il);
+};
+
+struct llm_build_qwen3_5_moe : public llm_build_qwen3_5 {
+    llm_build_qwen3_5_moe(const llama_model & model, const llm_graph_params & params);
+
+protected:
+    ggml_tensor * build_layer_ffn(
+                ggml_tensor * cur,
+                        int   il) override;
+};
+
 struct llm_build_qwen : public llm_graph_context {
     llm_build_qwen(const llama_model & model, const llm_graph_params & params);
 };
diff --git a/src/models/qwen3-5.cpp b/src/models/qwen3-5.cpp
new file mode 100644
index 0000000000..0947299d73
--- /dev/null
+++ b/src/models/qwen3-5.cpp
@@ -0,0 +1,421 @@
+#include "models.h"
+
+#define CHUNK_SIZE 64
+
+llm_build_qwen3_5::llm_build_qwen3_5(const llama_model & model, const llm_graph_params & params) :
+    llm_graph_context_delta(params), model(model) {
+    build_graph();
+}
+
+// virtual call in constructor fix
+llm_build_qwen3_5::llm_build_qwen3_5(const llama_model & model, const llm_graph_params & params, defer_graph_build_t /*tag*/) :
+    llm_graph_context_delta(params), model(model) {
+}
+
+void llm_build_qwen3_5::build_graph() {
+    ggml_tensor * cur;
+    ggml_tensor * inpL;
+
+    inpL = build_inp_embd(model.tok_embd);
+    cb(inpL, "model.embed_tokens", -1);
+
+    auto * inp = build_inp_mem_hybrid();
+
+    ggml_tensor * inp_pos     = build_inp_pos();
+    ggml_tensor * inp_out_ids = build_inp_out_ids();
+
+    ggml_tensor * causal_mask =
+        ggml_tri(ctx0, ggml_fill(ctx0, ggml_new_tensor_2d(ctx0, GGML_TYPE_F32, CHUNK_SIZE, CHUNK_SIZE), 1.0f),
+                    GGML_TRI_TYPE_LOWER);
+
+    ggml_tensor * identity = ggml_diag(ctx0, ggml_fill(ctx0, ggml_new_tensor_1d(ctx0, GGML_TYPE_F32, CHUNK_SIZE), 1.0f));
+    ggml_tensor * diag_mask = ggml_add(ctx0, causal_mask, identity);
+
+    ggml_build_forward_expand(gf, causal_mask);
+    ggml_build_forward_expand(gf, identity);
+    ggml_build_forward_expand(gf, diag_mask);
+
+    for (int il = 0; il < n_layer; ++il) {
+        ggml_tensor * inpSA = inpL;
+
+        cur = build_norm(inpL, model.layers[il].attn_norm, nullptr, LLM_NORM_RMS, il);
+        cb(cur, "attn_norm", il);
+
+        if (hparams.is_recurrent(il)) {
+            cur = build_layer_attn_linear(inp->get_recr(), cur, causal_mask, identity, diag_mask, il);
+        } else {
+            cur = build_layer_attn(inp->get_attn(), cur, inp_pos, il);
+        }
+
+        if (il == n_layer - 1 && inp_out_ids) {
+            cur   = ggml_get_rows(ctx0, cur, inp_out_ids);
+            inpSA = ggml_get_rows(ctx0, inpSA, inp_out_ids);
+        }
+
+        cur = ggml_add(ctx0, cur, inpSA);
+        cb(cur, "attn_residual", il);
+
+        ggml_tensor * ffn_residual = cur;
+
+        ggml_tensor * attn_post_norm = build_norm(cur, model.layers[il].attn_post_norm, nullptr, LLM_NORM_RMS, il);
+        cb(attn_post_norm, "attn_post_norm", il);
+
+        cur = build_layer_ffn(attn_post_norm, il);
+        cb(cur, "ffn_out", il);
+
+        cur = ggml_add(ctx0, cur, ffn_residual);
+        cb(cur, "post_ffn", il);
+
+        inpL = cur;
+    }
+    cur = inpL;
+
+    cur = build_norm(cur, model.output_norm, nullptr, LLM_NORM_RMS, -1);
+
+    cb(cur, "result_norm", -1);
+    res->t_embd = cur;
+
+    cur = build_lora_mm(model.output, cur);
+
+    cb(cur, "result_output", -1);
+    res->t_logits = cur;
+
+    ggml_build_forward_expand(gf, cur);
+}
+
+ggml_tensor * llm_build_qwen3_5::build_norm_gated(
+        ggml_tensor * input,
+        ggml_tensor * weights,
+        ggml_tensor * gate,
+        int           layer) {
+    ggml_tensor * normalized = build_norm(input, weights, nullptr, LLM_NORM_RMS, layer);
+    ggml_tensor * gated_silu = ggml_silu(ctx0, gate);
+
+    return ggml_mul(ctx0, normalized, gated_silu);
+}
+
+ggml_tensor * llm_build_qwen3_5::build_layer_attn(
+        llm_graph_input_attn_kv * inp,
+        ggml_tensor *             cur,
+        ggml_tensor *             inp_pos,
+        int                       il) {
+    const int64_t n_embd_head = hparams.n_embd_head_v;
+    GGML_ASSERT(n_embd_head == hparams.n_embd_head_k);
+
+    ggml_tensor * Qcur_full = build_lora_mm(model.layers[il].wq, cur); // [ (n_embd_head * 2) * n_head, n_tokens ]
+    cb(Qcur_full, "Qcur_full", il);
+
+    ggml_tensor * Qcur = ggml_view_3d(ctx0, Qcur_full, n_embd_head, n_head, n_tokens,
+        ggml_element_size(Qcur_full) * n_embd_head * 2,
+        ggml_element_size(Qcur_full) * n_embd_head * 2 * n_head, 0);
+    cb(Qcur, "Qcur_reshaped", il);
+
+    Qcur = build_norm(Qcur, model.layers[il].attn_q_norm, nullptr, LLM_NORM_RMS, il);
+    cb(Qcur, "Qcur_normed", il);
+
+    ggml_tensor * Kcur = build_lora_mm(model.layers[il].wk, cur);
+    cb(Kcur, "Kcur", il);
+
+    ggml_tensor * Vcur = build_lora_mm(model.layers[il].wv, cur);
+    cb(Vcur, "Vcur", il);
+
+    Kcur = ggml_reshape_3d(ctx0, Kcur, n_embd_head, n_head_kv, n_tokens);
+    Kcur = build_norm(Kcur, model.layers[il].attn_k_norm, nullptr, LLM_NORM_RMS, il);
+    cb(Kcur, "Kcur_normed", il);
+
+    ggml_tensor * gate = ggml_view_3d(ctx0, Qcur_full, n_embd_head, n_head, n_tokens,
+        ggml_element_size(Qcur_full) * n_embd_head * 2,
+        ggml_element_size(Qcur_full) * n_embd_head * 2 * n_head,
+        ggml_element_size(Qcur_full) * n_embd_head);
+    gate = ggml_cont_2d(ctx0, gate, n_embd_head * n_head, n_tokens);
+    cb(gate, "gate_reshaped", il);
+
+    Vcur = ggml_reshape_3d(ctx0, Vcur, n_embd_head, n_head_kv, n_tokens);
+
+    Qcur = ggml_rope_ext(
+            ctx0, Qcur, inp_pos, nullptr,
+            n_rot, rope_type, n_ctx_orig, freq_base, freq_scale,
+            ext_factor, attn_factor, beta_fast, beta_slow);
+
+    Kcur = ggml_rope_ext(
+            ctx0, Kcur, inp_pos, nullptr,
+            n_rot, rope_type, n_ctx_orig, freq_base,
+            freq_scale, ext_factor, attn_factor, beta_fast, beta_slow);
+
+    cb(Qcur, "Qcur", il);
+    cb(Kcur, "Kcur", il);
+    cb(Vcur, "Vcur", il);
+
+    const float kq_scale = hparams.f_attention_scale == 0.0f ? 1.0f / sqrtf(float(n_embd_head)) : hparams.f_attention_scale;
+
+    cur = build_attn(inp,
+                nullptr, nullptr,
+                Qcur, Kcur, Vcur, nullptr, nullptr, nullptr, kq_scale, il);
+    cb(cur, "attn_pregate", il);
+
+    ggml_tensor * gate_sigmoid = ggml_sigmoid(ctx0, gate);
+    cb(gate_sigmoid, "gate_sigmoid", il);
+
+    cur = ggml_mul(ctx0, cur, gate_sigmoid);
+    cb(cur, "attn_gated", il);
+
+    cur = build_lora_mm(model.layers[il].wo, cur);
+    cb(cur, "attn_output", il);
+
+    return cur;
+}
+
+std::pair llm_build_qwen3_5::build_qkvz(
+                ggml_tensor * input,
+                        int   il) {
+    const int64_t d_inner      = hparams.ssm_d_inner;
+    const int64_t n_seqs       = ubatch.n_seqs;
+    const int64_t head_k_dim   = hparams.ssm_d_state;
+    const int64_t num_k_heads  = hparams.ssm_n_group;
+    const int64_t num_v_heads  = hparams.ssm_dt_rank;
+    const int64_t head_v_dim   = d_inner / num_v_heads;
+    const int64_t n_seq_tokens = ubatch.n_seq_tokens;
+
+    if (model.layers[il].wqkv) {
+        ggml_tensor * qkv_mixed = build_lora_mm(model.layers[il].wqkv, input);
+        qkv_mixed = ggml_reshape_3d(ctx0, qkv_mixed, qkv_mixed->ne[0], n_seq_tokens, n_seqs);
+        cb(qkv_mixed, "linear_attn_qkv_mixed", il);
+
+        ggml_tensor * z = build_lora_mm(model.layers[il].wqkv_gate, input);
+        cb(z, "z", il);
+
+        return { qkv_mixed, z };
+
+    }
+    // legacy path for combined in_proj_qkvz
+    ggml_tensor * mixed_qkvz = build_lora_mm(model.layers[il].ssm_in, input);
+    cb(mixed_qkvz, "linear_attn_mixed_qkvz", il);
+
+    int64_t       qkvz_new_dim        = 2 * head_k_dim + 2 * head_v_dim * (num_v_heads / num_k_heads);
+    ggml_tensor * mixed_qkvz_reshaped = ggml_reshape_4d(ctx0, mixed_qkvz, qkvz_new_dim, num_k_heads, n_seq_tokens, n_seqs);
+
+    int64_t split_sizes_qkvz[4] = {
+        head_k_dim,
+        head_k_dim,
+        head_v_dim * num_v_heads / num_k_heads,
+        head_v_dim * num_v_heads / num_k_heads
+    };
+
+    ggml_tensor * query =
+        ggml_view_4d(ctx0, mixed_qkvz_reshaped, split_sizes_qkvz[0], num_k_heads, n_seq_tokens, n_seqs,
+                    mixed_qkvz_reshaped->nb[1], mixed_qkvz_reshaped->nb[2], mixed_qkvz_reshaped->nb[3], 0);
+    cb(query, "q", il);
+
+    ggml_tensor * key = ggml_view_4d(ctx0, mixed_qkvz_reshaped, split_sizes_qkvz[1], num_k_heads, n_seq_tokens, n_seqs,
+                                    mixed_qkvz_reshaped->nb[1], mixed_qkvz_reshaped->nb[2], mixed_qkvz_reshaped->nb[3],
+                                    split_sizes_qkvz[0] * ggml_element_size(mixed_qkvz_reshaped));
+    cb(key, "k", il);
+
+    ggml_tensor * value =
+        ggml_view_4d(ctx0, mixed_qkvz_reshaped, split_sizes_qkvz[2], num_k_heads, n_seq_tokens, n_seqs,
+                    mixed_qkvz_reshaped->nb[1], mixed_qkvz_reshaped->nb[2], mixed_qkvz_reshaped->nb[3],
+                    (split_sizes_qkvz[0] + split_sizes_qkvz[1]) * ggml_element_size(mixed_qkvz_reshaped));
+    cb(value, "v", il);
+
+    ggml_tensor * z = ggml_view_4d(ctx0, mixed_qkvz_reshaped, split_sizes_qkvz[3], num_k_heads, n_seq_tokens, n_seqs,
+                                mixed_qkvz_reshaped->nb[1], mixed_qkvz_reshaped->nb[2], mixed_qkvz_reshaped->nb[3],
+                                (split_sizes_qkvz[0] + split_sizes_qkvz[1] + split_sizes_qkvz[2]) * ggml_element_size(mixed_qkvz_reshaped));
+    z = ggml_cont(ctx0, z);
+    cb(z, "z", il);
+
+    ggml_tensor * query_flat = ggml_reshape_3d(ctx0, query, head_k_dim * num_k_heads, n_seq_tokens, n_seqs);
+    cb(query_flat, "query_flat", il);
+
+    ggml_tensor * key_flat = ggml_reshape_3d(ctx0, key, head_k_dim * num_k_heads, n_seq_tokens, n_seqs);
+    cb(key_flat, "key_flat", il);
+
+    ggml_tensor * value_flat = ggml_reshape_3d(ctx0, value, head_v_dim * num_v_heads, n_seq_tokens, n_seqs);
+    cb(value_flat, "value_flat", il);
+
+    ggml_tensor * qkv_mixed = ggml_concat(ctx0, query_flat, key_flat, 0);
+    qkv_mixed               = ggml_concat(ctx0, qkv_mixed, value_flat, 0);
+    cb(qkv_mixed, "qkv_mixed", il);
+
+    return { qkv_mixed, z };
+}
+
+ggml_tensor * llm_build_qwen3_5::build_layer_attn_linear(
+        llm_graph_input_rs * inp,
+        ggml_tensor *        cur,
+        ggml_tensor *        causal_mask,
+        ggml_tensor *        identity,
+        ggml_tensor *        diag_mask,
+        int                  il) {
+    const auto * mctx_cur = inp->mctx;
+
+    const int64_t d_inner      = hparams.ssm_d_inner;
+    const int64_t n_seqs       = ubatch.n_seqs;
+    const int64_t head_k_dim   = hparams.ssm_d_state;
+    const int64_t num_k_heads  = hparams.ssm_n_group;
+    const int64_t num_v_heads  = hparams.ssm_dt_rank;
+    const int64_t head_v_dim   = d_inner / num_v_heads;
+    const int64_t n_seq_tokens = ubatch.n_seq_tokens;
+
+    const auto kv_head = mctx_cur->get_head();
+
+    GGML_ASSERT(n_seqs != 0);
+    GGML_ASSERT(ubatch.equal_seqs());
+    GGML_ASSERT(ubatch.n_tokens == n_seq_tokens * n_seqs);
+
+    auto qkvz = build_qkvz(cur, il);
+    ggml_tensor * qkv_mixed = qkvz.first;
+    ggml_tensor * z         = qkvz.second;
+
+    ggml_tensor * mixed_ba = build_lora_mm(model.layers[il].ssm_beta_alpha, cur);
+    cb(mixed_ba, "linear_attn_mixed_ba", il);
+
+    int64_t       ba_new_dim        = 2 * num_v_heads / num_k_heads;
+    ggml_tensor * mixed_ba_reshaped = ggml_reshape_4d(ctx0, mixed_ba, ba_new_dim, num_k_heads, n_seq_tokens, n_seqs);
+
+    int64_t split_sizes_ba[2] = {
+        num_v_heads / num_k_heads,
+        num_v_heads / num_k_heads
+    };
+
+    ggml_tensor * b = ggml_view_4d(ctx0, mixed_ba_reshaped, split_sizes_ba[0], num_k_heads, n_seq_tokens, n_seqs,
+                                   mixed_ba_reshaped->nb[1], mixed_ba_reshaped->nb[2], mixed_ba_reshaped->nb[3], 0);
+    cb(b, "b", il);
+
+    ggml_tensor * a = ggml_view_4d(ctx0, mixed_ba_reshaped, split_sizes_ba[1], num_k_heads, n_seq_tokens, n_seqs,
+                                   mixed_ba_reshaped->nb[1], mixed_ba_reshaped->nb[2], mixed_ba_reshaped->nb[3],
+                                   split_sizes_ba[0] * ggml_element_size(mixed_ba_reshaped));
+    cb(a, "a", il);
+
+    ggml_tensor * beta  = ggml_cont_4d(ctx0, b, num_v_heads, 1, n_seq_tokens, n_seqs);
+
+    ggml_tensor * alpha = ggml_cont_3d(ctx0, a, num_v_heads, n_seq_tokens, n_seqs);
+
+    ggml_tensor * alpha_biased   = ggml_add(ctx0, alpha, model.layers[il].ssm_dt);
+    ggml_tensor * alpha_softplus = ggml_softplus(ctx0, alpha_biased);
+    cb(alpha_softplus, "a_softplus", il);
+    ggml_tensor * gate = ggml_mul(ctx0, alpha_softplus, model.layers[il].ssm_a);
+    cb(gate, "gate", il);
+
+    ggml_tensor * conv_states_all = mctx_cur->get_r_l(il);
+    ggml_tensor * ssm_states_all  = mctx_cur->get_s_l(il);
+
+    ggml_tensor * conv_states = build_rs(inp, conv_states_all, hparams.n_embd_r(), n_seqs);
+    cb(conv_states, "conv_states", il);
+
+    ggml_tensor * conv_kernel      = model.layers[il].ssm_conv1d;
+    const int64_t conv_kernel_size = conv_kernel->ne[0];
+    const int64_t conv_channels    = d_inner + 2 * hparams.ssm_n_group * hparams.ssm_d_state;
+    conv_states                    = ggml_reshape_3d(ctx0, conv_states, conv_kernel_size - 1, conv_channels, n_seqs);
+    cb(conv_states, "conv_states_reshaped", il);
+
+    qkv_mixed = ggml_permute(ctx0, qkv_mixed, 1, 0, 2, 3);
+    cb(qkv_mixed, "qkv_mixed_permuted", il);
+
+    ggml_tensor * conv_input = ggml_concat(ctx0, conv_states, qkv_mixed, 0);
+    cb(conv_input, "conv_input", il);
+
+    ggml_tensor * last_conv_states =
+        ggml_view_3d(ctx0, conv_input, conv_kernel_size - 1, conv_channels, n_seqs, conv_input->nb[1],
+                     conv_input->nb[2], (conv_input->ne[0] - conv_states->ne[0]) * ggml_element_size(conv_input));
+    cb(last_conv_states, "last_conv_states", il);
+
+    ggml_tensor * state_update_target =
+        ggml_view_1d(ctx0, conv_states_all, (conv_kernel_size - 1) * conv_channels * n_seqs,
+                     kv_head * (conv_kernel_size - 1) * conv_channels * ggml_element_size(conv_states_all));
+    cb(state_update_target, "state_update_target", il);
+
+    ggml_build_forward_expand(gf, ggml_cpy(ctx0, last_conv_states, state_update_target));
+    cb(conv_states_all, "conv_states_updated", il);
+
+    ggml_tensor * conv_output_proper = ggml_ssm_conv(ctx0, conv_input, conv_kernel);
+    cb(conv_output_proper, "conv_output_raw", il);
+
+    ggml_tensor * conv_output_silu = ggml_silu(ctx0, conv_output_proper);
+    cb(conv_output_silu, "conv_output_silu", il);
+
+    ggml_tensor * conv_qkv_mix = conv_output_silu;
+
+    int64_t qkv_dim = head_k_dim * num_k_heads * 2 + head_v_dim * num_v_heads;
+    int64_t nb1_qkv = ggml_row_size(conv_qkv_mix->type, qkv_dim);
+
+    ggml_tensor * q_conv =
+        ggml_view_2d(ctx0, conv_qkv_mix, head_k_dim * num_k_heads, n_seq_tokens * n_seqs, nb1_qkv, 0);
+    cb(q_conv, "q_conv", il);
+    ggml_tensor * k_conv =
+        ggml_view_2d(ctx0, conv_qkv_mix, head_k_dim * num_k_heads, n_seq_tokens * n_seqs, nb1_qkv,
+                     head_k_dim * num_k_heads * ggml_element_size(conv_qkv_mix));
+    cb(k_conv, "k_conv", il);
+    ggml_tensor * v_conv =
+        ggml_view_2d(ctx0, conv_qkv_mix, head_v_dim * num_v_heads, n_seq_tokens * n_seqs, nb1_qkv,
+                     2 * head_k_dim * num_k_heads * ggml_element_size(conv_qkv_mix));
+    cb(v_conv, "v_conv", il);
+
+    q_conv = ggml_cont_4d(ctx0, q_conv, head_k_dim, num_k_heads, n_seq_tokens, n_seqs);
+    k_conv = ggml_cont_4d(ctx0, k_conv, head_k_dim, num_k_heads, n_seq_tokens, n_seqs);
+    v_conv = ggml_cont_4d(ctx0, v_conv, head_v_dim, num_v_heads, n_seq_tokens, n_seqs);
+
+    ggml_tensor * state = build_rs(inp, ssm_states_all, hparams.n_embd_s(), n_seqs);
+    state               = ggml_reshape_4d(ctx0, state, head_v_dim, head_v_dim,  num_v_heads, n_seqs);
+    cb(state, "state_predelta", il);
+
+    if (num_k_heads != num_v_heads) {
+        GGML_ASSERT(num_v_heads % num_k_heads == 0);
+        int64_t repeat_factor = num_v_heads / num_k_heads;
+
+        ggml_tensor * q_reshaped = ggml_reshape_3d(ctx0, q_conv, head_k_dim, 1, num_k_heads * n_seq_tokens * n_seqs);
+        ggml_tensor * k_reshaped = ggml_reshape_3d(ctx0, k_conv, head_k_dim, 1, num_k_heads * n_seq_tokens * n_seqs);
+
+        ggml_tensor * q_repeated =
+            ggml_repeat_4d(ctx0, q_reshaped, head_k_dim, repeat_factor, num_k_heads * n_seq_tokens * n_seqs, 1);
+        ggml_tensor * k_repeated =
+            ggml_repeat_4d(ctx0, k_reshaped, head_k_dim, repeat_factor, num_k_heads * n_seq_tokens * n_seqs, 1);
+
+        q_conv = ggml_reshape_4d(ctx0, q_repeated, head_k_dim, num_k_heads * repeat_factor, n_seq_tokens, n_seqs);
+        k_conv = ggml_reshape_4d(ctx0, k_repeated, head_k_dim, num_k_heads * repeat_factor, n_seq_tokens, n_seqs);
+    }
+
+    cb(q_conv, "q_conv_predelta", il);
+    cb(k_conv, "k_conv_predelta", il);
+    cb(v_conv, "v_conv_predelta", il);
+
+    std::pair attn_out = build_delta_net_unified(ctx0, q_conv, k_conv, v_conv,
+            gate, beta, state, causal_mask, identity, diag_mask,
+            il, CHUNK_SIZE, hparams.f_norm_rms_eps);
+
+    ggml_tensor * output    = attn_out.first;
+    ggml_tensor * new_state = attn_out.second;
+    cb(output, "attn_output", il);
+    cb(new_state, "new_state", il);
+
+    ggml_build_forward_expand(gf,
+                              ggml_cpy(ctx0, new_state,
+                                       ggml_view_1d(ctx0, ssm_states_all, hparams.n_embd_s() * n_seqs,
+                                                    kv_head * hparams.n_embd_s() * ggml_element_size(ssm_states_all))));
+
+    ggml_tensor * attn_out_2d_final = ggml_reshape_2d(ctx0, output, head_v_dim, num_v_heads * n_seq_tokens * n_seqs);
+
+    ggml_tensor * z_2d = ggml_reshape_2d(ctx0, z, head_v_dim, num_v_heads * n_seq_tokens * n_seqs);
+
+    ggml_tensor * attn_out_norm = build_norm_gated(attn_out_2d_final, model.layers[il].ssm_norm, z_2d, il);
+
+    ggml_tensor * final_output = ggml_reshape_3d(ctx0, attn_out_norm, head_v_dim * num_v_heads, n_seq_tokens, n_seqs);
+    cb(final_output, "final_output", il);
+
+    cur = build_lora_mm(model.layers[il].ssm_out, final_output);
+    cb(cur, "linear_attn_out", il);
+
+    cur = ggml_cont_2d(ctx0, cur, n_embd, n_seq_tokens * n_seqs);
+    return cur;
+}
+
+ggml_tensor * llm_build_qwen3_5::build_layer_ffn(ggml_tensor * cur, const int il) {
+    // Qwen3.5 Dense always uses dense FFN
+    cur = build_ffn(cur,
+        model.layers[il].ffn_up, NULL, NULL,
+        model.layers[il].ffn_gate, NULL, NULL,
+        model.layers[il].ffn_down, NULL, NULL,
+        NULL,
+        LLM_FFN_SILU, LLM_FFN_PAR, il);
+    cb(cur, "ffn_out", il);
+    return cur;
+}
diff --git a/src/models/qwen3-5moe.cpp b/src/models/qwen3-5moe.cpp
new file mode 100644
index 0000000000..a488443218
--- /dev/null
+++ b/src/models/qwen3-5moe.cpp
@@ -0,0 +1,52 @@
+#include "models.h"
+
+llm_build_qwen3_5_moe::llm_build_qwen3_5_moe(const llama_model & model, const llm_graph_params & params) :
+    llm_build_qwen3_5(model, params, defer_graph_build_t{}) {
+    build_graph();
+}
+
+ggml_tensor * llm_build_qwen3_5_moe::build_layer_ffn(ggml_tensor * cur, const int il) {
+    // Check if this is an MoE layer
+    if (model.layers[il].ffn_gate_inp != nullptr) {
+        // MoE branch
+        ggml_tensor * moe_out =
+            build_moe_ffn(cur,
+                model.layers[il].ffn_gate_inp, model.layers[il].ffn_up_exps,
+                model.layers[il].ffn_gate_exps, model.layers[il].ffn_down_exps,
+                nullptr,
+                n_expert, n_expert_used, LLM_FFN_SILU,
+                true, false, 0.0, LLAMA_EXPERT_GATING_FUNC_TYPE_SOFTMAX, il);
+        cb(moe_out, "ffn_moe_out", il);
+
+        // Add shared experts if present
+        if (model.layers[il].ffn_up_shexp != nullptr) {
+            ggml_tensor * ffn_shexp =
+                build_ffn(cur,
+                    model.layers[il].ffn_up_shexp, NULL, NULL,
+                    model.layers[il].ffn_gate_shexp, NULL, NULL,
+                    model.layers[il].ffn_down_shexp, NULL, NULL,
+                    NULL,
+                    LLM_FFN_SILU, LLM_FFN_PAR, il);
+            cb(ffn_shexp, "ffn_shexp", il);
+
+            // Apply shared expert gating (sigmoid)
+            ggml_tensor * shared_gate = build_lora_mm(model.layers[il].ffn_gate_inp_shexp, cur);
+            cb(shared_gate, "shared_expert_gate", il);
+
+            shared_gate = ggml_sigmoid(ctx0, shared_gate);
+            cb(shared_gate, "shared_expert_gate_sigmoid", il);
+
+            ffn_shexp = ggml_mul(ctx0, ffn_shexp, shared_gate);
+            cb(ffn_shexp, "ffn_shexp_gated", il);
+
+            cur = ggml_add(ctx0, moe_out, ffn_shexp);
+            cb(cur, "ffn_out", il);
+        } else {
+            cur = moe_out;
+        }
+    } else {
+        // Dense FFN branch (fallback)
+        cur = llm_build_qwen3_5::build_layer_ffn(cur, il);
+    }
+    return cur;
+}
diff --git a/src/models/qwen3next.cpp b/src/models/qwen3next.cpp
index 99b1a76a48..0335f5ab76 100644
--- a/src/models/qwen3next.cpp
+++ b/src/models/qwen3next.cpp
@@ -1,10 +1,9 @@
-#include "ggml.h"
 #include "models.h"
 
 #define CHUNK_SIZE 64
 
 llm_build_qwen3next::llm_build_qwen3next(const llama_model & model, const llm_graph_params & params) :
-    llm_graph_context_mamba(params), model(model) {
+    llm_graph_context_delta(params), model(model) {
     ggml_tensor * cur;
     ggml_tensor * inpL;
 
@@ -86,362 +85,6 @@ llm_build_qwen3next::llm_build_qwen3next(const llama_model & model, const llm_gr
     ggml_build_forward_expand(gf, cur);
 }
 
-// utility to get one slice from the third dimension
-// input dim:  [x, y, c, b]
-// output dim: [x, y, 1, b]
-static ggml_tensor * get_slice_2d(ggml_context * ctx0, ggml_tensor * t, int64_t c) {
-    return ggml_view_4d(ctx0, t, t->ne[0], t->ne[1], 1, t->ne[3],
-        t->nb[1], t->nb[2], t->nb[3], t->nb[2] * c);
-}
-
-std::pair llm_build_qwen3next::build_delta_net_chunking(
-        ggml_tensor * q,
-        ggml_tensor * k,
-        ggml_tensor * v,
-        ggml_tensor * g,
-        ggml_tensor * beta,
-        ggml_tensor * state,
-        ggml_tensor * causal_mask,
-        ggml_tensor * identity,
-        ggml_tensor * diag_mask,
-        int           il) {
-    const int64_t S_k      = q->ne[0];
-    const int64_t H_k      = q->ne[1];
-    const int64_t n_tokens = q->ne[2];
-    const int64_t n_seqs   = q->ne[3];
-
-    const int64_t S_v = v->ne[0];
-    const int64_t H_v = v->ne[1];
-
-    GGML_ASSERT(v->ne[2] == n_tokens);
-    GGML_ASSERT(k->ne[2] == n_tokens);
-    GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs);
-    GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs);
-    GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v * H_v && state->ne[2] == 1 && state->ne[3] == n_seqs);
-
-    GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs);
-    GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs);
-
-    GGML_ASSERT(H_k == H_v);  // we did a repeat to make sure this is the case
-
-    const float eps_norm = hparams.f_norm_rms_eps;
-
-    q = ggml_l2_norm(ctx0, q, eps_norm);
-    k = ggml_l2_norm(ctx0, k, eps_norm);
-
-    const float scale = 1.0f / sqrtf(S_v);
-
-    q = ggml_scale(ctx0, q, scale);
-
-    beta = ggml_sigmoid(ctx0, beta);
-
-    cb(q, "q_in", il);
-    cb(k, "k_in", il);
-    cb(v, "v_in", il);
-    cb(beta, "beta_in", il);
-    cb(g, "g_in", il);
-
-    q = ggml_cont_4d(ctx0, ggml_permute(ctx0, q, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs);
-    k = ggml_cont_4d(ctx0, ggml_permute(ctx0, k, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs);
-    v = ggml_cont_4d(ctx0, ggml_permute(ctx0, v, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs);
-    g = ggml_cont_4d(ctx0, ggml_permute(ctx0, g, 2, 0, 3, 1), n_tokens, 1, H_k, n_seqs);
-
-    beta  = ggml_cont(ctx0, ggml_permute(ctx0, beta, 2, 0, 1, 3));
-    state = ggml_reshape_4d(ctx0, state, S_v, S_v, H_v, n_seqs);
-
-    cb(q, "q_perm", il);
-    cb(k, "k_perm", il);
-    cb(v, "v_perm", il);
-    cb(beta, "beta_perm", il);
-    cb(g, "g_perm", il);
-    cb(state, "state_in", il);
-
-    GGML_ASSERT(q->ne[1] == n_tokens && q->ne[0] == S_k && q->ne[2] == H_k && q->ne[3] == n_seqs);
-    GGML_ASSERT(k->ne[1] == n_tokens && k->ne[0] == S_k && k->ne[2] == H_k && k->ne[3] == n_seqs);
-    GGML_ASSERT(v->ne[1] == n_tokens && v->ne[0] == S_v && v->ne[2] == H_k && v->ne[3] == n_seqs);
-    GGML_ASSERT(beta->ne[1] == n_tokens && beta->ne[2] == H_k && beta->ne[0] == 1 && beta->ne[3] == n_seqs);
-
-    // Do padding
-    const int64_t chunk_size = CHUNK_SIZE;
-
-    const int64_t pad = (chunk_size - n_tokens % chunk_size) % chunk_size;
-    const int64_t n_chunks = (n_tokens + pad) / chunk_size;
-
-    q = ggml_pad(ctx0, q, 0, pad, 0, 0);
-    k = ggml_pad(ctx0, k, 0, pad, 0, 0);
-    v = ggml_pad(ctx0, v, 0, pad, 0, 0);
-    g = ggml_pad(ctx0, g, pad, 0, 0, 0);
-    beta = ggml_pad(ctx0, beta, 0, pad, 0, 0);
-
-    cb(q, "q_pad", il);
-    cb(k, "k_pad", il);
-    cb(v, "v_pad", il);
-    cb(beta, "beta_pad", il);
-    cb(g, "g_pad", il);
-
-    ggml_tensor * v_beta = ggml_mul(ctx0, v, beta);
-    ggml_tensor * k_beta = ggml_mul(ctx0, k, beta);
-
-    cb(v_beta, "v_beta", il);
-    cb(k_beta, "k_beta", il);
-
-    q      = ggml_reshape_4d(ctx0, q,      S_k, chunk_size, n_chunks, H_k * n_seqs);
-    k      = ggml_reshape_4d(ctx0, k,      S_k, chunk_size, n_chunks, H_k * n_seqs);
-    k_beta = ggml_reshape_4d(ctx0, k_beta, S_k, chunk_size, n_chunks, H_k * n_seqs);
-    v      = ggml_reshape_4d(ctx0, v,      S_v, chunk_size, n_chunks, H_v * n_seqs);
-    v_beta = ggml_reshape_4d(ctx0, v_beta, S_v, chunk_size, n_chunks, H_v * n_seqs);
-
-    g    = ggml_reshape_4d(ctx0, g, chunk_size, 1, n_chunks, H_k * n_seqs);
-    beta = ggml_reshape_4d(ctx0, beta, 1, chunk_size, n_chunks, H_k * n_seqs);
-
-    ggml_tensor * g_cumsum = ggml_cumsum(ctx0, g);
-    cb(g_cumsum, "g_cumsum", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs)
-
-    ggml_tensor * gcs_i = g_cumsum; // ggml_reshape_4d(ctx0, g_cumsum, chunk_size, 1, n_chunks, H_v * n_seqs);
-    ggml_tensor * gcs_j = ggml_reshape_4d(ctx0, g_cumsum, 1, chunk_size, n_chunks, H_v * n_seqs);
-
-    ggml_tensor * gcs_j_broadcast =
-        ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, n_chunks, H_v * n_seqs);
-
-    ggml_tensor * decay_mask = ggml_sub(ctx0, gcs_j_broadcast, gcs_i);
-    cb(decay_mask, "decay_mask", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs)
-
-    decay_mask = ggml_mul(ctx0, decay_mask, diag_mask);
-    decay_mask = ggml_exp(ctx0, decay_mask);
-    decay_mask = ggml_mul(ctx0, decay_mask, diag_mask);
-
-    ggml_tensor * kmulkbeta = ggml_mul_mat(ctx0, k, k_beta);
-
-    ggml_tensor * k_decay = ggml_mul(ctx0, kmulkbeta, decay_mask);
-    ggml_tensor * attn    = ggml_neg(ctx0, ggml_mul(ctx0, k_decay, causal_mask));
-    cb(attn, "attn_pre_solve", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs)
-
-    ggml_tensor * attn_lower = ggml_mul(ctx0, attn, causal_mask);
-    ggml_tensor * lhs        = ggml_sub(ctx0, ggml_repeat(ctx0, identity, attn_lower), attn_lower);
-
-    ggml_tensor * lin_solve  = ggml_solve_tri(ctx0, lhs, attn, true, true, false);
-    attn                     = ggml_mul(ctx0, lin_solve, causal_mask);
-    attn                     = ggml_add(ctx0, attn, identity);
-    cb(attn, "attn_solved", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs)
-
-    v = ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_beta)), attn);
-
-    ggml_tensor * g_cumsum_t = ggml_cont(ctx0, ggml_transpose(ctx0, g_cumsum));
-    ggml_tensor * gexp       = ggml_exp(ctx0, g_cumsum_t);
-
-    ggml_tensor * kbeta_gexp = ggml_mul(ctx0, k_beta, gexp);
-    cb(kbeta_gexp, "kbeta_gexp", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs)
-
-    ggml_tensor * k_cumdecay =
-        ggml_cont(ctx0, ggml_transpose(ctx0, ggml_mul_mat(ctx0, attn, ggml_cont(ctx0, ggml_transpose(ctx0, kbeta_gexp)))));
-    cb(k_cumdecay, "k_cumdecay", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs)
-
-    ggml_tensor * attn_kq = ggml_mul_mat(ctx0, k, q);
-    attn_kq = ggml_mul(ctx0, attn_kq, decay_mask);
-    attn_kq = ggml_mul(ctx0, attn_kq, diag_mask);
-    cb(attn_kq, "attn_kq", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs)
-
-
-    // vectorized calculation of key_gdiff
-    // improved from the chunked version:
-    //   g_last = torch.clamp(g_cum[:, :, -1], max=50.0).exp().unsqueeze(-1).unsqueeze(-1)
-    //   g_diff = torch.clamp(g_cum[:, :, -1:] - g_cum, max=50.0).exp()
-    //   key_gdiff = key * g_diff.unsqueeze(-1)
-    //   kgdmulvnew = (key_gdiff).transpose(-1, -2) @ v_new
-    //   last_recurrent_state = last_recurrent_state * g_last + kgdmulvnew
-
-    // get last element in g_cumsum along chunk_size dimension (ne0)
-    // example: [[x, y, z, ..., last], ...] -> [[last], ...]
-    ggml_tensor * g_last = ggml_view_4d(ctx0, g_cumsum, 1, 1, g_cumsum->ne[2], g_cumsum->ne[3],
-                                        g_cumsum->nb[1], g_cumsum->nb[2], g_cumsum->nb[3],
-                                        (g_cumsum->ne[0] - 1) * ggml_element_size(g_cumsum));
-    g_last = ggml_cont(ctx0, g_last);
-    cb(g_last, "g_last", il); // shape: (1, 1, n_chunks, H_v * n_seqs)
-
-    ggml_tensor * g_last_exp = ggml_exp(ctx0, g_last);
-    cb(g_last_exp, "g_last_exp", il); // shape: (1, 1, n_chunks, H_v * n_seqs)
-
-    ggml_tensor * g_diff = ggml_neg(ctx0, ggml_sub(ctx0, g_cumsum, g_last));
-    cb(g_diff, "g_diff", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs)
-
-    ggml_tensor * g_diff_exp = ggml_exp(ctx0, g_diff);
-    ggml_tensor * g_diff_exp_t = ggml_reshape_4d(ctx0, g_diff_exp,
-                                                 1, chunk_size, n_chunks, g_diff_exp->ne[3]);
-
-    ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp_t);
-    cb(key_gdiff, "key_gdiff", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs)
-
-    ggml_tensor * key_gdiff_t = ggml_cont(ctx0, ggml_transpose(ctx0, key_gdiff));
-    cb(key_gdiff_t, "key_gdiff_t", il); // shape: (chunk_size, S_k, n_chunks, H_v * n_seqs)
-
-
-    // state to be updated per chunk
-    ggml_tensor * new_state = state; // ggml_dup(ctx0, state);
-    cb(new_state, "new_state", il); // shape: (S_v, S_v, H_v, n_seqs)
-
-    // shape after loop of chunks: (S_v, chunk_size, n_chunks, H_v * n_seqs)
-    ggml_tensor * core_attn_out = nullptr;
-
-    for (int64_t chunk = 0; chunk < n_chunks; chunk++) {
-        // shape: (S_k, chunk_size, 1, H_k * n_seqs)
-        ggml_tensor * q_chunk = get_slice_2d(ctx0, q, chunk); // (no cont), next op: ggml_mul
-
-        // shape: (S_v, chunk_size, 1, H_v * n_seqs)
-        ggml_tensor * v_chunk = get_slice_2d(ctx0, v, chunk); // (no cont), next op: ggml_repeat
-
-        // shape: (chunk_size, 1, n_chunks, H_v * n_seqs)
-        ggml_tensor * gexp_chunk = get_slice_2d(ctx0, gexp, chunk); // (no cont), next op: ggml_mul
-
-        // shape: (chunk_size, 1, H_v * n_seqs)
-        ggml_tensor * k_cumdecay_chunk = get_slice_2d(ctx0, k_cumdecay, chunk); // (no cont), next op: ggml_mul_mat
-
-        // attn = (q_i @ k_i.transpose(-1, -2) * decay_mask[:, :, i]).masked_fill_(mask, 0)
-        // replaced by precomputed attn_kq
-        ggml_tensor * attn_chunk = get_slice_2d(ctx0, attn_kq, chunk);
-        cb(attn_chunk, "attn_chunk", il);
-
-        ggml_tensor * state_t = ggml_cont_4d(ctx0, ggml_permute(ctx0, new_state, 1, 0, 2, 3), S_v, S_v, 1, H_v * n_seqs);
-
-        // v_prime = (k_cumdecay[:, :, i]) @ last_recurrent_state
-        ggml_tensor * v_prime = ggml_mul_mat(ctx0, state_t, k_cumdecay_chunk);
-        cb(v_prime, "v_prime_chunk", il); // shape: (S_v, 1, H_v * n_seqs)
-
-        // v_new = v_i - v_prime
-        ggml_tensor * v_new = ggml_sub(ctx0, ggml_repeat(ctx0, v_chunk, v_prime), v_prime);
-        ggml_tensor * v_new_t = ggml_cont(ctx0, ggml_transpose(ctx0, v_new));
-        cb(v_new, "v_new_chunk", il);
-
-        // attn_inter = (q_i * g[:, :, i, :, None].exp()) @ last_recurrent_state
-        ggml_tensor * q_g_exp    = ggml_mul(ctx0, q_chunk, gexp_chunk);
-        ggml_tensor * attn_inter = ggml_mul_mat(ctx0, state_t, q_g_exp);
-        cb(attn_inter, "attn_inter_chunk", il);
-
-        // core_attn_out[:, :, i] = attn_inter + attn @ v_new
-        ggml_tensor * v_attn = ggml_mul_mat(ctx0, v_new_t, attn_chunk);
-        cb(v_attn, "v_attn_chunk", il);
-
-        ggml_tensor * core_attn_out_chunk = ggml_add(ctx0, attn_inter, v_attn);
-        cb(core_attn_out_chunk, "core_attn_out_chunk", il); // shape: (S_v, chunk_size, 1, H_v * n_seqs)
-
-        core_attn_out = core_attn_out == nullptr
-            ? core_attn_out_chunk
-            : ggml_concat(ctx0, core_attn_out, core_attn_out_chunk, 2);
-
-        // kgdmulvnew = (key_gdiff).transpose(-1, -2) @ v_new
-        ggml_tensor * k_gdiff_t = get_slice_2d(ctx0, key_gdiff_t, chunk);
-        //ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, k_gdiff, v_new); // this is slower on metal, why?
-        ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, v_new_t, k_gdiff_t);
-
-        // last_recurrent_state = last_recurrent_state * g_last + kgdmulvnew
-        ggml_tensor * gexp_last_chunk = ggml_cont(ctx0, get_slice_2d(ctx0, g_last_exp, chunk));
-        new_state = ggml_add(ctx0,
-            ggml_mul(ctx0, new_state, ggml_reshape_4d(ctx0, gexp_last_chunk, gexp_last_chunk->ne[0], gexp_last_chunk->ne[1], H_v, n_seqs)),
-            ggml_reshape_4d(ctx0, kgdmulvnew, kgdmulvnew->ne[0], kgdmulvnew->ne[1], H_v, n_seqs));
-    }
-
-    // truncate padded tokens
-    ggml_tensor * output_tokens = ggml_view_4d(ctx0, core_attn_out,
-            S_v, n_tokens, H_v, n_seqs,
-            ggml_row_size(core_attn_out->type, S_v),
-            ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks),
-            ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks * H_v), 0);
-    output_tokens = ggml_cont(ctx0, output_tokens);
-    cb(output_tokens, "output_tokens", il);
-
-    // permute back to (S_v, H_v, n_tokens, n_seqs)
-    output_tokens = ggml_permute(ctx0, output_tokens, 0, 2, 1, 3);
-    output_tokens = ggml_cont(ctx0, output_tokens);
-
-    return {output_tokens, new_state};
-}
-
-std::pair llm_build_qwen3next::build_delta_net_autoregressive(
-        ggml_tensor * q,
-        ggml_tensor * k,
-        ggml_tensor * v,
-        ggml_tensor * g,
-        ggml_tensor * beta,
-        ggml_tensor * state,
-        int           il) {
-    const int64_t S_k      = q->ne[0];
-    const int64_t H_k      = q->ne[1];
-    const int64_t n_tokens = q->ne[2];
-    const int64_t n_seqs   = q->ne[3];
-
-    const int64_t S_v = v->ne[0];
-    const int64_t H_v = v->ne[1];
-
-    GGML_ASSERT(n_tokens == 1);  // This function is optimized for single token processing
-    GGML_ASSERT(v->ne[2] == n_tokens);
-    GGML_ASSERT(k->ne[2] == n_tokens);
-    GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs);
-    GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs);
-    GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v * H_v && state->ne[2] == 1 && state->ne[3] == n_seqs);
-
-    GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs);
-    GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs);
-
-    GGML_ASSERT(H_k == H_v);  // we did a repeat to make sure this is the case
-
-    const float eps_norm = hparams.f_norm_rms_eps;
-
-    q = ggml_l2_norm(ctx0, q, eps_norm);
-    k = ggml_l2_norm(ctx0, k, eps_norm);
-
-    const float scale = 1.0f / sqrtf(S_v);
-
-    q    = ggml_scale(ctx0, q, scale);
-    beta = ggml_sigmoid(ctx0, beta);
-
-    cb(q, "q_in", il);
-    cb(k, "k_in", il);
-    cb(v, "v_in", il);
-    cb(beta, "beta_in", il);
-    cb(g, "g_in", il);
-
-    state = ggml_reshape_4d(ctx0, state, S_v, S_v, H_v, n_seqs);
-
-    ggml_tensor * g_t    = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, g), 1, 1, H_k, n_seqs);
-    ggml_tensor * beta_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, beta), 1, 1, H_k, n_seqs);
-
-    // Apply exponential to g_t
-    g_t = ggml_exp(ctx0, g_t);
-
-    // Apply the gated delta rule for the single timestep
-    // last_recurrent_state = last_recurrent_state * g_t
-    state = ggml_mul(ctx0, state, g_t);
-
-    // kv_mem = (last_recurrent_state * k_t.unsqueeze(-1)).sum(dim=-2)
-    ggml_tensor * k_t_unsqueezed = ggml_reshape_4d(ctx0, k, 1, S_v, H_v, n_seqs);
-    ggml_tensor * kv_mem         = ggml_mul(ctx0, state, k_t_unsqueezed);
-    // we need to sum over dim=-2, so we transpose, sum, then transpose again
-    kv_mem = ggml_transpose(ctx0, ggml_sum_rows(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, kv_mem))));
-
-    // v_t = v.unsqueeze(2) (we insert the singleton dimension after n_seqs and H_v)
-    ggml_tensor * v_t    = ggml_reshape_4d(ctx0, v, S_v, 1, H_v, n_seqs);
-    // delta = (v_t - kv_mem) * beta_t
-    ggml_tensor * v_diff = ggml_sub(ctx0, v_t, kv_mem);  // both should be [S_v, 1, H_v, n_seqs]
-    ggml_tensor * delta  = ggml_mul(ctx0, v_diff, beta_t);
-
-    // last_recurrent_state = last_recurrent_state + k_t.unsqueeze(-1) * delta
-    ggml_tensor * k_t_delta = ggml_mul(ctx0, ggml_repeat_4d(ctx0, k_t_unsqueezed, S_v, S_v, H_v, n_seqs), delta);
-    state                   = ggml_add(ctx0, state, k_t_delta);
-
-    // Compute the attention output
-    // core_attn_out = (last_recurrent_state * q_t.unsqueeze(-1)).sum(dim=-2)
-    ggml_tensor * q_t_unsqueezed = ggml_reshape_4d(ctx0, q, 1, S_v, H_v, n_seqs);  // unsqueeze q_t
-    ggml_tensor * state_q        = ggml_mul(ctx0, state, q_t_unsqueezed);
-    // again, since it's over dim = -2, transpose, sum, transpose back
-    ggml_tensor * core_attn_out =
-        ggml_transpose(ctx0, ggml_sum_rows(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, state_q))));
-
-    // core_attn_out should be [S_v, 1, H_v, n_seqs] after this
-    cb(core_attn_out, "output_tokens", il);
-    cb(state, "new_state", il);
-
-    return {core_attn_out, state};
-}
-
 ggml_tensor * llm_build_qwen3next::build_norm_gated(
         ggml_tensor * input,
         ggml_tensor * weights,
@@ -752,7 +395,7 @@ ggml_tensor * llm_build_qwen3next::build_layer_attn_linear(
     v_conv = ggml_cont_4d(ctx0, v_conv, head_v_dim, num_v_heads, n_seq_tokens, n_seqs);
 
     ggml_tensor * state = build_rs(inp, ssm_states_all, hparams.n_embd_s(), n_seqs);
-    state               = ggml_reshape_4d(ctx0, state, head_v_dim, head_v_dim * num_v_heads, 1, n_seqs);
+    state               = ggml_reshape_4d(ctx0, state, head_v_dim, head_v_dim,  num_v_heads, n_seqs);
     cb(state, "state_predelta", il);
 
     // if head keys and value keys are different, repeat to force tensors into matching shapes
@@ -781,13 +424,10 @@ ggml_tensor * llm_build_qwen3next::build_layer_attn_linear(
     cb(k_conv, "k_conv_predelta", il);
     cb(v_conv, "v_conv_predelta", il);
 
-    // Choose between build_delta_net_chunking, build_delta_net_recurrent, and build_delta_net_autoregressive based on n_tokens
-    std::pair attn_out; // pair of (output, new_state)
-    if (n_seq_tokens == 1) {
-        attn_out = build_delta_net_autoregressive(q_conv, k_conv, v_conv, gate, beta, state, il);
-    } else {
-        attn_out = build_delta_net_chunking(q_conv, k_conv, v_conv, gate, beta, state, causal_mask, identity, diag_mask, il);
-    }
+    std::pair attn_out = build_delta_net_unified(ctx0, q_conv, k_conv, v_conv,
+            gate, beta, state, causal_mask, identity, diag_mask,
+            il, CHUNK_SIZE, hparams.f_norm_rms_eps);
+
     ggml_tensor * output    = attn_out.first;
     ggml_tensor * new_state = attn_out.second;
     cb(output, "attn_output", il);

From 1e8924fd65ad349d1d838412a2172292618f3bbf Mon Sep 17 00:00:00 2001
From: Hugo 
Date: Mon, 9 Feb 2026 06:12:02 +0000
Subject: [PATCH 158/206] cmake : add variable to skip installing tests
 (#19370)

When packaging downstream, there's usually little point in installing
test. The default behaviour remains the same.
---
 CMakeLists.txt       | 1 +
 tests/CMakeLists.txt | 8 ++++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6d4ed67020..55f3d594db 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -109,6 +109,7 @@ option(LLAMA_BUILD_TOOLS    "llama: build tools"          ${LLAMA_STANDALONE})
 option(LLAMA_BUILD_EXAMPLES "llama: build examples"       ${LLAMA_STANDALONE})
 option(LLAMA_BUILD_SERVER   "llama: build server example" ${LLAMA_STANDALONE})
 option(LLAMA_TOOLS_INSTALL  "llama: install tools"        ${LLAMA_TOOLS_INSTALL_DEFAULT})
+option(LLAMA_TESTS_INSTALL  "llama: install tests"        ON)
 
 # 3rd party libs
 option(LLAMA_HTTPLIB    "llama: httplib for downloading functionality" ON)
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index c9436c5995..350bffc315 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -11,7 +11,9 @@ function(llama_build source)
 
     add_executable(${TEST_TARGET} ${TEST_SOURCES})
     target_link_libraries(${TEST_TARGET} PRIVATE common)
-    install(TARGETS ${TEST_TARGET} RUNTIME)
+    if (LLAMA_TESTS_INSTALL)
+        install(TARGETS ${TEST_TARGET} RUNTIME)
+    endif()
 endfunction()
 
 function(llama_test target)
@@ -100,7 +102,9 @@ function(llama_build_and_test source)
     endif()
 
     add_executable(${TEST_TARGET} ${TEST_SOURCES})
-    install(TARGETS ${TEST_TARGET} RUNTIME)
+    if (LLAMA_TESTS_INSTALL)
+        install(TARGETS ${TEST_TARGET} RUNTIME)
+    endif()
     target_link_libraries(${TEST_TARGET} PRIVATE common)
 
     add_test(

From f5e7734ff2e1d2e22015f4a9da9a52c70240a064 Mon Sep 17 00:00:00 2001
From: Kevin Pouget 
Date: Mon, 9 Feb 2026 13:15:42 +0100
Subject: [PATCH 159/206] ggml-virtgpu: add backend documentation (#19354)

* ggml-virtgpu: add backend documentation

Assisted-by-AI: Claude Code

* CODEOWNERS: add /docs/backend/GGML-VirtGPU/ -> kpouget

* README: add the link to docs/backend/GGML-VirtGPU/ggml-virt.md

* docs/ggml-virt: add link to testing + configuration

* Revert "CODEOWNERS: add /docs/backend/GGML-VirtGPU/ -> kpouget"

This reverts commit 8ece8e72e24d305f308505c08ebb75804546374e.

* drop the ggml- prefix

* s/ggerganov/ggml-org

* Relocate VirtGPU.md

* reorganize the text

* turn turn the ascii diagram into a mermaid

* README.md: update the link to the main doc
---
 README.md                             |   1 +
 docs/backend/VirtGPU.md               | 180 +++++++++++++++++++++
 docs/backend/VirtGPU/configuration.md | 174 ++++++++++++++++++++
 docs/backend/VirtGPU/development.md   | 220 ++++++++++++++++++++++++++
 4 files changed, 575 insertions(+)
 create mode 100644 docs/backend/VirtGPU.md
 create mode 100644 docs/backend/VirtGPU/configuration.md
 create mode 100644 docs/backend/VirtGPU/development.md

diff --git a/README.md b/README.md
index dac020ad37..5c11f38048 100644
--- a/README.md
+++ b/README.md
@@ -288,6 +288,7 @@ Instructions for adding support for new models: [HOWTO-add-model.md](docs/develo
 | [WebGPU [In Progress]](docs/build.md#webgpu) | All |
 | [RPC](https://github.com/ggml-org/llama.cpp/tree/master/tools/rpc) | All |
 | [Hexagon [In Progress]](docs/backend/hexagon/README.md) | Snapdragon |
+| [VirtGPU](docs/backend/VirtGPU.md) | VirtGPU APIR |
 
 ## Obtaining and quantizing models
 
diff --git a/docs/backend/VirtGPU.md b/docs/backend/VirtGPU.md
new file mode 100644
index 0000000000..c81468da13
--- /dev/null
+++ b/docs/backend/VirtGPU.md
@@ -0,0 +1,180 @@
+# GGML-VirtGPU Backend
+
+The GGML-VirtGPU backend enables GGML applications to run machine
+learning computations on host hardware while the application itself
+runs inside a virtual machine.  It uses host-guest shared memory to
+efficiently share data buffers between the two sides.
+
+This backend relies on the virtio-gpu, and VirglRenderer API Remoting
+(APIR) component. The backend is split into two libraries:
+- a GGML implementation (the "remoting frontend"), running in the
+  guest and interacting with the virtgpu device
+- a VirglRenderer APIR compatible library (the "remoting backend"),
+  running in the host and interacting with Virglrenderer and an actual
+  GGML device backend.
+
+## OS support
+
+| OS       | Status            | Backend     | CI testing  | Notes
+| -------- | ----------------- | ----------- | ----------- | -----
+| MacOS 14 | Supported         | ggml-metal  | X           | Working when compiled on MacOS 14
+| MacOS 15 | Supported         | ggml-metal  | X           | Working when compiled on MacOS 14 or MacOS 15
+| MacOS 26 | Not tested        |             |             |
+| Linux    | Under development | ggml-vulkan | not working | Working locally, CI running into deadlocks
+
+
+## Architecture Overview
+
+The GGML-VirtGPU backend consists of three main components:
+
+```mermaid
+graph TD
+    %% Nodes
+
+ subgraph GuestVM ["Guest VM - Frontend"]
+        App([GGML Application
llama.cpp, etc.]) + + direction TB + Interface[GGML Backend Interface] + Comm["GGML-VirtGPU
(hypercalls + shared mem)"] + + App --> Interface + Interface --> Comm + end + + API[virtio-gpu / virglrenderer API] + + subgraph HostSystem [Host System - Backend] + direction TB + Dispatcher[GGML-VirtGPU-Backend] + BackendLib[GGML Backend library
Metal / Vulkan / CPU / ...] + + Dispatcher --> BackendLib + end + + %% Connections + Comm --> API + API --> HostSystem +``` + +### Key Components + +1. **Guest-side Frontend** (`ggml-virtgpu/`): Implements the GGML backend interface and forwards operations to the host +2. **Host-side Backend** (`ggml-virtgpu/backend/`): Receives forwarded operations and executes them on actual hardware backends +3. **Communication Layer**: Uses virtio-gpu hypercalls and shared memory for efficient data transfer + +## Features + +- **Dynamic backend loading** on the host side (CPU, CUDA, Metal, etc.) +- **Zero-copy data transfer** via host-guest shared memory pages + +## Communication Protocol + +### Hypercalls and Shared Memory + +The backend uses two primary communication mechanisms: + +1. **Hypercalls (`DRM_IOCTL_VIRTGPU_EXECBUFFER`)**: Trigger remote execution from guest to host +2. **Shared Memory Pages**: Zero-copy data transfer for tensors and parameters + +#### Shared Memory Layout + +Each connection uses two shared memory buffers: + +- **Data Buffer** (24 MiB): For command/response data and tensor transfers +- **Reply Buffer** (16 KiB): For command replies and status information +- **Data Buffers**: Dynamically allocated host-guest shared buffers + served as GGML buffers. + +### APIR Protocol + +The Virglrender API Remoting protocol defines three command types: + +- `HANDSHAKE`: Protocol version negotiation and capability discovery +- `LOADLIBRARY`: Dynamic loading of backend libraries on the host +- `FORWARD`: API function call forwarding + +### Binary Serialization + +Commands and data are serialized using a custom binary protocol with: + +- Fixed-size encoding for basic types +- Variable-length arrays with size prefixes +- Buffer bounds checking +- Error recovery mechanisms + +## Supported Operations + +### Device Operations +- Device enumeration and capability queries +- Memory information (total/free) +- Backend type detection + +### Buffer Operations +- Buffer allocation and deallocation +- Tensor data transfer (host ↔ guest) +- Memory copying and clearing + +### Computation Operations +- Graph execution forwarding + +## Build Requirements + +### Guest-side Dependencies +- `libdrm` for DRM/virtio-gpu communication +- C++20 compatible compiler +- CMake 3.14+ + +### Host-side Dependencies +- virglrenderer with APIR support (pending upstream review) +- Target backend libraries (libggml-metal, libggml-vulkan, etc.) + +## Configuration + +### Environment Variables + +- `GGML_VIRTGPU_BACKEND_LIBRARY`: Path to the host-side backend library +- `GGML_VIRTGPU_DEBUG`: Enable debug logging + +### Build Options + +- `GGML_VIRTGPU`: Enable the VirtGPU backend (`ON` or `OFF`, default: `OFF`) +- `GGML_VIRTGPU_BACKEND`: Build the host-side backend component (`ON`, `OFF` or `ONLY`, default: `OFF`) + +### System Requirements + +- VM with virtio-gpu support +- VirglRenderer with APIR patches +- Compatible backend libraries on host + +## Limitations + +- **VM-specific**: Only works in virtual machines with virtio-gpu support +- **Host dependency**: Requires properly configured host-side backend +- **Latency**: Small overhead from VM escaping for each operation + + +* This work is pending upstream changes in the VirglRenderer + project. + * The backend can be tested with Virglrenderer compiled from source + using this PR: + https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1590 +* This work is pending changes in the VMM/hypervisor running the + virtual machine, which need to know how to route the newly + introduced APIR capset. + * The environment variable `VIRGL_ROUTE_VENUS_TO_APIR=1` allows + using the Venus capset, until the relevant hypervisors have been + patched. However, setting this flag breaks the Vulkan/Venus normal + behavior. + * The environment variable `GGML_REMOTING_USE_APIR_CAPSET` tells the + `ggml-virtgpu` backend to use the APIR capset. This will become + the default when the relevant hypervisors have been patched. + +* This work focused on improving the performance of llama.cpp running + on MacOS containers, and is mainly tested on this platform. The + linux support (via `krun`) is in progress. + +## See Also + +- [Development and Testing](VirtGPU/development.md) +- [Backend configuration](VirtGPU/configuration.md) diff --git a/docs/backend/VirtGPU/configuration.md b/docs/backend/VirtGPU/configuration.md new file mode 100644 index 0000000000..597862d5c8 --- /dev/null +++ b/docs/backend/VirtGPU/configuration.md @@ -0,0 +1,174 @@ +# GGML-VirtGPU Backend Configuration + +This document describes the environment variables used by the ggml-virtgpu backend system, covering both the frontend (guest-side) and backend (host-side) components. + +## Environment Variables Overview + +The ggml-virtgpu backend uses environment variables for configuration across three main components: +- **Frontend (Guest)**: GGML applications running in VMs +- **Hypervisor**: Virglrenderer/APIR system +- **Backend (Host)**: Host-side GGML backend integration + +## Frontend (Guest-side) Configuration + +### GGML_REMOTING_USE_APIR_CAPSET +- **Location**: `ggml/src/ggml-virtgpu/virtgpu.cpp` +- **Type**: Boolean flag (presence-based) +- **Purpose**: Controls which virtio-gpu capability set to use for communication +- **Values**: + - Set (any value): Use the APIR capset (long-term setup) + - Unset: Use the Venus capset (easier for testing with an unmodified hypervisor) +- **Default**: Unset (Venus capset) +- **Usage**: + ```bash + export GGML_REMOTING_USE_APIR_CAPSET=1 # Use APIR capset + # or leave unset for Venus capset + ``` + +## Hypervisor (Virglrenderer/APIR) Configuration + +These environment variables are used during the transition phase for +running with an unmodified hypervisor (not supporting the +VirglRenderer APIR component). They will be removed in the future, and +the hypervisor will instead configure VirglRenderer with the APIR +_Configuration Key_. + +### VIRGL_APIR_BACKEND_LIBRARY +- **Location**: `virglrenderer/src/apir/apir-context.c` +- **Configuration Key**: `apir.load_library.path` +- **Type**: File path string +- **Purpose**: Path to the APIR backend library that virglrenderer should dynamically load +- **Required**: Yes +- **Example**: + ```bash + export VIRGL_APIR_BACKEND_LIBRARY="/path/to/libggml-remotingbackend.so" + ``` + +### VIRGL_ROUTE_VENUS_TO_APIR +- **Location**: `virglrenderer/src/apir/apir-renderer.h` +- **Type**: Boolean flag (presence-based) +- **Purpose**: Temporary workaround to route Venus capset calls to APIR during hypervisor transition period +- **Status**: will be removed once hypervisors support APIR natively +- **Warning**: Breaks normal Vulkan/Venus functionality +- **Usage**: + ```bash + export VIRGL_ROUTE_VENUS_TO_APIR=1 # For testing with an unmodified hypervisor + ``` + +### VIRGL_APIR_LOG_TO_FILE +- **Location**: `virglrenderer/src/apir/apir-renderer.c` +- **Environment Variable**: `VIRGL_APIR_LOG_TO_FILE` +- **Type**: File path string +- **Purpose**: Enable debug logging from the VirglRenderer APIR component to specified file +- **Required**: No (optional debugging) +- **Default**: Logging to `stderr` +- **Usage**: + ```bash + export VIRGL_APIR_LOG_TO_FILE="/tmp/apir-debug.log" + ``` + +## Backend (Host-side) Configuration + +These environment variables are used during the transition phase for +running with an unmodified hypervisor (not supporting the +VirglRenderer APIR component). They will be removed in the future, and +the hypervisor will instead configure VirglRenderer with the APIR +_Configuration Key_. + +### APIR_LLAMA_CPP_GGML_LIBRARY_PATH +- **Location**: `ggml/src/ggml-virtgpu/backend/backend.cpp` +- **Environment Variable**: `APIR_LLAMA_CPP_GGML_LIBRARY_PATH` +- **Configuration Key**: `ggml.library.path` +- **Type**: File path string +- **Purpose**: Path to the actual GGML backend library (Metal, CUDA, Vulkan, etc.) +- **Required**: **Yes** - backend initialization fails without this +- **Examples**: + ```bash + # macOS with Metal backend + export APIR_LLAMA_CPP_GGML_LIBRARY_PATH="/opt/llama.cpp/lib/libggml-metal.dylib" + + # Linux with CUDA backend + export APIR_LLAMA_CPP_GGML_LIBRARY_PATH="/opt/llama.cpp/lib/libggml-cuda.so" + + # macOS or Linux with Vulkan backend + export APIR_LLAMA_CPP_GGML_LIBRARY_PATH="/opt/llama.cpp/lib/libggml-vulkan.so" + ``` + +### APIR_LLAMA_CPP_GGML_LIBRARY_REG +- **Location**: `ggml/src/ggml-virtgpu/backend/backend.cpp` +- **Environment Variable**: `APIR_LLAMA_CPP_GGML_LIBRARY_REG` +- **Configuration Key**: `ggml.library.reg` +- **Type**: Function symbol name string +- **Purpose**: Name of the backend registration function to call after loading the library +- **Required**: No (defaults to `ggml_backend_init`) +- **Default**: `ggml_backend_init` +- **Examples**: + ```bash + # Metal backend + export APIR_LLAMA_CPP_GGML_LIBRARY_REG="ggml_backend_metal_reg" + + # CUDA backend + export APIR_LLAMA_CPP_GGML_LIBRARY_REG="ggml_backend_cuda_reg" + + # Vulkan backend + export APIR_LLAMA_CPP_GGML_LIBRARY_REG="ggml_backend_vulkan_reg" + + # Generic fallback (default) + # export APIR_LLAMA_CPP_GGML_LIBRARY_REG="ggml_backend_init" + ``` + +### APIR_LLAMA_CPP_LOG_TO_FILE +- **Location**: `ggml/src/ggml-virtgpu/backend/backend.cpp:62` +- **Environment Variable**: `APIR_LLAMA_CPP_LOG_TO_FILE` +- **Type**: File path string +- **Purpose**: Enable debug logging from the GGML backend to specified file +- **Required**: No (optional debugging) +- **Usage**: + ```bash + export APIR_LLAMA_CPP_LOG_TO_FILE="/tmp/ggml-backend-debug.log" + ``` + +## Configuration Flow + +The configuration system works as follows: + +1. **Hypervisor Setup**: Virglrenderer loads the APIR backend library specified by `VIRGL_APIR_BACKEND_LIBRARY` + +2. **Context Creation**: When an APIR context is created, it populates a configuration table with environment variables: + - `apir.load_library.path` ← `VIRGL_APIR_BACKEND_LIBRARY` + - `ggml.library.path` ← `APIR_LLAMA_CPP_GGML_LIBRARY_PATH` + - `ggml.library.reg` ← `APIR_LLAMA_CPP_GGML_LIBRARY_REG` + - this step will eventually be performed by the hypervisor itself, with command-line arguments instead of environment variables. + +3. **Backend Initialization**: The backend queries the configuration via callbacks: + - `virgl_cbs->get_config(ctx_id, "ggml.library.path")` returns the library path + - `virgl_cbs->get_config(ctx_id, "ggml.library.reg")` returns the registration function + +4. **Library Loading**: The backend dynamically loads and initializes the specified GGML library + +## Error Messages + +Common error scenarios and their messages: + +- **Missing library path**: `"cannot open the GGML library: env var 'APIR_LLAMA_CPP_GGML_LIBRARY_PATH' not defined"` +- **Missing registration function**: `"cannot register the GGML library: env var 'APIR_LLAMA_CPP_GGML_LIBRARY_REG' not defined"` + +## Example Complete Configuration + +Here's an example configuration for a macOS host with Metal backend: + +```bash +# Hypervisor environment +export VIRGL_APIR_BACKEND_LIBRARY="/opt/llama.cpp/lib/libggml-virtgpu-backend.dylib" + +# Backend configuration +export APIR_LLAMA_CPP_GGML_LIBRARY_PATH="/opt/llama.cpp/lib/libggml-metal.dylib" +export APIR_LLAMA_CPP_GGML_LIBRARY_REG="ggml_backend_metal_reg" + +# Optional logging +export VIRGL_APIR_LOG_TO_FILE="/tmp/apir.log" +export APIR_LLAMA_CPP_LOG_TO_FILE="/tmp/ggml.log" + +# Guest configuration +export GGML_REMOTING_USE_APIR_CAPSET=1 +``` diff --git a/docs/backend/VirtGPU/development.md b/docs/backend/VirtGPU/development.md new file mode 100644 index 0000000000..ca2e47772a --- /dev/null +++ b/docs/backend/VirtGPU/development.md @@ -0,0 +1,220 @@ +# Development and Testing + +## Development + +### Code Generation + +The backend uses code generation from YAML configuration: + +```bash +# Regenerate protocol code +cd ggml-virtgpu/ +python regenerate_remoting.py +``` + +### Adding New Operations + +1. Add function definition to `ggmlremoting_functions.yaml` +2. Regenerate code with `regenerate_remoting.py` +3. Implement guest-side forwarding in `virtgpu-forward-*.cpp` +4. Implement host-side handling in `backend-dispatched-*.cpp` + +## Testing + +This document provides instructions for building and testing the GGML-VirtGPU backend on macOS with containers. + +### Prerequisites + +The testing setup requires: + +- macOS host system +- Container runtime with `libkrun` provider (podman machine) +- Access to development patchset for VirglRenderer + +### Required Patchsets + +The backend requires patches that are currently under review: + +- **Virglrenderer APIR upstream PR**: https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1590 (for reference) +- **MacOS Virglrenderer (for krunkit)**: https://gitlab.freedesktop.org/kpouget/virglrenderer/-/tree/main-macos +- **Linux Virglrenderer (for krun)**: https://gitlab.freedesktop.org/kpouget/virglrenderer/-/tree/main-linux + +### Build Instructions + +#### 1. Build ggml-virtgpu-backend (Host-side, macOS) + +```bash +# Build the backend that runs natively on macOS +mkdir llama.cpp +cd llama.cpp +git clone https://github.com/ggml-org/llama.cpp.git src +cd src + +LLAMA_MAC_BUILD=$PWD/build/ggml-virtgpu-backend + +cmake -S . -B $LLAMA_MAC_BUILD \ + -DGGML_NATIVE=OFF \ + -DLLAMA_CURL=ON \ + -DGGML_REMOTINGBACKEND=ONLY \ + -DGGML_METAL=ON + +TARGETS="ggml-metal" +cmake --build $LLAMA_MAC_BUILD --parallel 8 --target $TARGETS + +# Build additional tools for native benchmarking +EXTRA_TARGETS="llama-run llama-bench" +cmake --build $LLAMA_MAC_BUILD --parallel 8 --target $EXTRA_TARGETS +``` + +#### 2. Build virglrenderer (Host-side, macOS) + +```bash +# Build virglrenderer with APIR support +mkdir virglrenderer +git clone https://gitlab.freedesktop.org/kpouget/virglrenderer -b main-macos src +cd src + +VIRGL_BUILD_DIR=$PWD/build + +# -Dvenus=true and VIRGL_ROUTE_VENUS_TO_APIR=1 route the APIR requests via the Venus backend, for easier testing without a patched hypervisor + +meson setup $VIRGL_BUILD_DIR \ + -Dvenus=true \ + -Dapir=true + +ninja -C $VIRGL_BUILD_DIR +``` + +#### 3. Build ggml-virtgpu (Guest-side, Linux) + +Option A: Build from a script: + +```bash +# Inside a Linux container +mkdir llama.cpp +git clone https://github.com/ggml-org/llama.cpp.git src +cd src + +LLAMA_LINUX_BUILD=$PWD//build-virtgpu + +cmake -S . -B $LLAMA_LINUX_BUILD \ + -DGGML_VIRTGPU=ON + +ninja -C $LLAMA_LINUX_BUILD +``` + +Option B: Build container image with frontend: + +```bash +cat << EOF > remoting.containerfile +FROM quay.io/fedora/fedora:43 +USER 0 + +WORKDIR /app/remoting + +ARG LLAMA_CPP_REPO="https://github.com/ggml-org/llama.cpp.git" +ARG LLAMA_CPP_VERSION="master" +ARG LLAMA_CPP_CMAKE_FLAGS="-DGGML_VIRTGPU=ON" +ARG LLAMA_CPP_CMAKE_BUILD_FLAGS="--parallel 4" + +RUN dnf install -y git cmake gcc gcc-c++ libcurl-devel libdrm-devel + +RUN git clone "\${LLAMA_CPP_REPO}" src \\ + && git -C src fetch origin \${LLAMA_CPP_VERSION} \\ + && git -C src reset --hard FETCH_HEAD + +RUN mkdir -p build \\ + && cd src \\ + && set -o pipefail \\ + && cmake -S . -B ../build \${LLAMA_CPP_CMAKE_FLAGS} \\ + && cmake --build ../build/ \${LLAMA_CPP_CMAKE_BUILD_FLAGS} + +ENTRYPOINT ["/app/remoting/src/build/bin/llama-server"] +EOF + +mkdir -p empty_dir +podman build -f remoting.containerfile ./empty_dir -t localhost/llama-cpp.virtgpu +``` + +### Environment Setup + +#### Set krunkit Environment Variables + +```bash +# Define the base directories (adapt these paths to your system) +VIRGL_BUILD_DIR=$HOME/remoting/virglrenderer/build +LLAMA_MAC_BUILD=$HOME/remoting/llama.cpp/build-backend + +# For krunkit to load the custom virglrenderer library +export DYLD_LIBRARY_PATH=$VIRGL_BUILD_DIR/src + +# For Virglrenderer to load the ggml-remotingbackend library +export VIRGL_APIR_BACKEND_LIBRARY="$LLAMA_MAC_BUILD/bin/libggml-virtgpu-backend.dylib" + +# For llama.cpp remotingbackend to load the ggml-metal backend +export APIR_LLAMA_CPP_GGML_LIBRARY_PATH="$LLAMA_MAC_BUILD/bin/libggml-metal.dylib" +export APIR_LLAMA_CPP_GGML_LIBRARY_REG=ggml_backend_metal_reg +``` + +#### Launch Container Environment + +```bash +# Set container provider to libkrun +export CONTAINERS_MACHINE_PROVIDER=libkrun +podman machine start +``` + +#### Verify Environment + +Confirm that krunkit is using the correct virglrenderer library: + +```bash +lsof -c krunkit | grep virglrenderer +# Expected output: +# krunkit 50574 user txt REG 1,14 2273912 10849442 ($VIRGL_BUILD_DIR/src)/libvirglrenderer.1.dylib +``` + +### Running Tests + +#### Launch Test Container + +```bash +# Optional model caching +mkdir -p models +PODMAN_CACHE_ARGS="-v models:/models --user root:root --cgroupns host --security-opt label=disable -w /models" + +podman run $PODMAN_CACHE_ARGS -it --rm --device /dev/dri localhost/llama-cpp.virtgpu +``` + +#### Test llama.cpp in Container + +```bash + +# Run performance benchmark +/app/remoting/build/bin/llama-bench -m ./llama3.2 +``` + +Expected output (performance may vary): +``` +| model | size | params | backend | ngl | test | t/s | +| ------------------------------ | ---------: | ---------: | ---------- | --: | ------------: | -------------------: | +| llama 3B Q4_K - Medium | 1.87 GiB | 3.21 B | ggml-virtgpu | 99 | pp512 | 991.30 ± 0.66 | +| llama 3B Q4_K - Medium | 1.87 GiB | 3.21 B | ggml-virtgpu | 99 | tg128 | 85.71 ± 0.11 | +``` + +### Troubleshooting + +#### SSH Environment Variable Issues + +⚠️ **Warning**: Setting `DYLD_LIBRARY_PATH` from SSH doesn't work on macOS. Here is a workaround: + +**Workaround 1: Replace system library** +```bash +VIRGL_BUILD_DIR=$HOME/remoting/virglrenderer/build # ⚠️ adapt to your system +BREW_VIRGL_DIR=/opt/homebrew/Cellar/virglrenderer/0.10.4d/lib +VIRGL_LIB=libvirglrenderer.1.dylib + +cd $BREW_VIRGL_DIR +mv $VIRGL_LIB ${VIRGL_LIB}.orig +ln -s $VIRGL_BUILD_DIR/src/$VIRGL_LIB +``` From 972f323e73bf0b28358ccaa3b9aa02779421f260 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 9 Feb 2026 14:57:51 +0200 Subject: [PATCH 160/206] revert : "[Model] Qwen3.5 dense and MoE support (no vision) (#19435)" (#19453) This reverts commit 39bf692af1cba2a1072e4a42425611bf1ec2807d. --- convert_hf_to_gguf.py | 78 ++--- gguf-py/gguf/constants.py | 59 ---- gguf-py/gguf/tensor_mapping.py | 6 +- src/CMakeLists.txt | 3 - src/llama-arch.cpp | 61 ---- src/llama-arch.h | 2 - src/llama-context.cpp | 2 +- src/llama-model.cpp | 154 -------- src/models/delta.cpp | 618 --------------------------------- src/models/kimi-linear.cpp | 1 + src/models/models.h | 102 +----- src/models/qwen3-5.cpp | 421 ---------------------- src/models/qwen3-5moe.cpp | 52 --- src/models/qwen3next.cpp | 372 +++++++++++++++++++- 14 files changed, 399 insertions(+), 1532 deletions(-) delete mode 100644 src/models/delta.cpp delete mode 100644 src/models/qwen3-5.cpp delete mode 100644 src/models/qwen3-5moe.cpp diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index e64756a74a..843c00a896 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -4102,27 +4102,39 @@ class Qwen2MoeModel(TextModel): # process the experts separately name = name.replace("language_model.", "") # InternVL - # handle pre-packed expert tensors (e.g. Qwen3.5 MoE, Qwen3Next) - # HF stores these using nn.Linear convention: [n_expert, out_features, in_features] - # This matches the individual expert stacking path below (which stacks - # per-expert [out, in] weights into [n_expert, out, in]), so no permute is needed. + # handle aggregated expert tensors + # GGUF stores dimensions reversed from PyTorch, so: + # PyTorch (A,B,C) -> GGUF writes [C,B,A] -> GGML reads ne={C,B,A} + # Input shapes from HF: (n_expert, n_ff_exp, n_embd) or (n_expert, n_embd, n_ff_exp) + # Expected GGML ne: {n_embd, n_ff_exp, n_expert} for gate/up, {n_ff_exp, n_embd, n_expert} for down if name.endswith("mlp.experts.down_proj") or name.endswith("mlp.experts.down_proj.weight"): mapped = f"{name}.weight" if not name.endswith(".weight") else name - # HF: [n_expert, n_embd, n_ff] → GGML: {n_ff, n_embd, n_expert} ✓ - yield from super().modify_tensors(data_torch, mapped, bid) + # Input: (n_expert=128, n_ff_exp=768, n_embd=2048) + # Want GGML ne: {n_ff_exp, n_embd, n_expert} = {768, 2048, 128} + # Need PyTorch: (128, 2048, 768) [reversed of GGML] + # So: permute(0, 2, 1): (128, 768, 2048) -> (128, 2048, 768) + permuted = data_torch.permute(0, 2, 1).contiguous() + yield from super().modify_tensors(permuted, mapped, bid) return if name.endswith("mlp.experts.gate_up_proj") or name.endswith("mlp.experts.gate_up_proj.weight"): - # HF: [n_expert, 2*n_ff, n_embd] → split on dim=1 - n_ff = data_torch.shape[1] // 2 - gate = data_torch[:, :n_ff, :].contiguous() - up = data_torch[:, n_ff:, :].contiguous() - # gate/up: [n_expert, n_ff, n_embd] → GGML: {n_embd, n_ff, n_expert} ✓ - base_name = name.removesuffix(".weight").removesuffix(".gate_up_proj") - mapped_gate = f"{base_name}.gate_proj.weight" - mapped_up = f"{base_name}.up_proj.weight" - yield from super().modify_tensors(gate, mapped_gate, bid) - yield from super().modify_tensors(up, mapped_up, bid) + if data_torch.ndim < 3 or data_torch.shape[-1] % 2 != 0: + raise ValueError(f"Unexpected gate_up_proj shape for {name}: {tuple(data_torch.shape)}") + split_dim = data_torch.shape[-1] // 2 + gate = data_torch[..., :split_dim].contiguous() + up = data_torch[..., split_dim:].contiguous() + # Input gate/up: (n_expert=128, n_embd=2048, n_ff_exp=768) + # Want GGML ne: {n_embd, n_ff_exp, n_expert} = {2048, 768, 128} + # Need PyTorch: (128, 768, 2048) [reversed of GGML] + # So: permute(0, 2, 1): (128, 2048, 768) -> (128, 768, 2048) + base_name = name.removesuffix(".weight") + base = base_name.rsplit('.', 1)[0] + mapped_gate = f"{base}.gate_proj.weight" + mapped_up = f"{base}.up_proj.weight" + perm_gate = gate.permute(0, 2, 1).contiguous() + perm_up = up.permute(0, 2, 1).contiguous() + yield from super().modify_tensors(perm_gate, mapped_gate, bid) + yield from super().modify_tensors(perm_up, mapped_up, bid) return if name.startswith("mlp") or name.startswith("vision_model") or name.startswith("model.vision_tower") or name.startswith("model.multi_modal_projector") or name.startswith("model.visual"): @@ -4332,40 +4344,6 @@ class Qwen3NextModel(Qwen2MoeModel): yield from super().modify_tensors(data_torch, name, bid) -@ModelBase.register("Qwen3_5ForCausalLM", "Qwen3_5TextForCausalLM") -class Qwen3_5Model(Qwen3NextModel): - model_arch = gguf.MODEL_ARCH.QWEN3_5 - - # Stores whichever of in_proj_a/in_proj_b is seen first, keyed by layer - _pending_ba: dict[int | None, tuple[str, Tensor]] = {} - - def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: - # Handle split in_proj_b + in_proj_a → concatenated SSM_BETA_ALPHA - # safetensors sorts alphabetically so in_proj_a arrives before in_proj_b - if "in_proj_a.weight" in name or "in_proj_b.weight" in name: - which = "a" if "in_proj_a" in name else "b" - if bid not in self._pending_ba: - self._pending_ba[bid] = (which, data_torch) - return - prev_which, prev_tensor = self._pending_ba.pop(bid) - assert prev_which != which, f"duplicate in_proj_{which} for layer {bid}" - b_tensor = prev_tensor if prev_which == "b" else data_torch - a_tensor = prev_tensor if prev_which == "a" else data_torch - ba_combined = torch.cat([b_tensor, a_tensor], dim=0) - yield (self.format_tensor_name(gguf.MODEL_TENSOR.SSM_BETA_ALPHA, bid, ".weight"), ba_combined) - return - else: - # Qwen3Next uses .qkvz tensor, so we use the super to get the other functionalities - # (norm correction, A_log to A etc.) for free - # Qwen2Moe already does the gate_up conversion properly, just use that - yield from super().modify_tensors(data_torch, name, bid) - - -@ModelBase.register("Qwen3_5MoeForCausalLM", "Qwen3_5MoeTextForCausalLM") -class Qwen3_5MoeModel(Qwen3_5Model): - model_arch = gguf.MODEL_ARCH.QWEN3_5_MOE - - @ModelBase.register("RND1") class RND1Model(Qwen2MoeModel): model_arch = gguf.MODEL_ARCH.RND1 diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index 8a3fab1e1c..3af4fffe95 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -382,8 +382,6 @@ class MODEL_ARCH(IntEnum): QWEN3 = auto() QWEN3MOE = auto() QWEN3NEXT = auto() - QWEN3_5 = auto() - QWEN3_5_MOE = auto() QWEN3VL = auto() QWEN3VLMOE = auto() PHI2 = auto() @@ -814,8 +812,6 @@ MODEL_ARCH_NAMES: dict[MODEL_ARCH, str] = { MODEL_ARCH.QWEN3: "qwen3", MODEL_ARCH.QWEN3MOE: "qwen3moe", MODEL_ARCH.QWEN3NEXT: "qwen3next", - MODEL_ARCH.QWEN3_5: "qwen3_5", - MODEL_ARCH.QWEN3_5_MOE: "qwen3_5moe", MODEL_ARCH.QWEN3VL: "qwen3vl", MODEL_ARCH.QWEN3VLMOE: "qwen3vlmoe", MODEL_ARCH.PHI2: "phi2", @@ -1788,61 +1784,6 @@ MODEL_TENSORS: dict[MODEL_ARCH, list[MODEL_TENSOR]] = { MODEL_TENSOR.SSM_BETA_ALPHA, MODEL_TENSOR.SSM_OUT ], - MODEL_ARCH.QWEN3_5: [ - MODEL_TENSOR.TOKEN_EMBD, - MODEL_TENSOR.OUTPUT_NORM, - MODEL_TENSOR.OUTPUT, - MODEL_TENSOR.ATTN_NORM, - MODEL_TENSOR.ATTN_Q, - MODEL_TENSOR.ATTN_Q_NORM, - MODEL_TENSOR.ATTN_K, - MODEL_TENSOR.ATTN_K_NORM, - MODEL_TENSOR.ATTN_V, - MODEL_TENSOR.ATTN_OUT, - MODEL_TENSOR.ATTN_POST_NORM, - MODEL_TENSOR.ATTN_GATE, - MODEL_TENSOR.ATTN_QKV, - MODEL_TENSOR.FFN_GATE, - MODEL_TENSOR.FFN_DOWN, - MODEL_TENSOR.FFN_UP, - MODEL_TENSOR.SSM_A, - MODEL_TENSOR.SSM_CONV1D, - MODEL_TENSOR.SSM_DT, - MODEL_TENSOR.SSM_NORM, - MODEL_TENSOR.SSM_IN, - MODEL_TENSOR.SSM_BETA_ALPHA, - MODEL_TENSOR.SSM_OUT, - ], - MODEL_ARCH.QWEN3_5_MOE: [ - MODEL_TENSOR.TOKEN_EMBD, - MODEL_TENSOR.OUTPUT_NORM, - MODEL_TENSOR.OUTPUT, - MODEL_TENSOR.ATTN_NORM, - MODEL_TENSOR.ATTN_Q, - MODEL_TENSOR.ATTN_Q_NORM, - MODEL_TENSOR.ATTN_K, - MODEL_TENSOR.ATTN_K_NORM, - MODEL_TENSOR.ATTN_V, - MODEL_TENSOR.ATTN_OUT, - MODEL_TENSOR.ATTN_POST_NORM, - MODEL_TENSOR.ATTN_GATE, - MODEL_TENSOR.ATTN_QKV, - MODEL_TENSOR.FFN_GATE_INP, - MODEL_TENSOR.FFN_GATE_INP_SHEXP, - MODEL_TENSOR.FFN_UP_SHEXP, - MODEL_TENSOR.FFN_DOWN_SHEXP, - MODEL_TENSOR.FFN_GATE_SHEXP, - MODEL_TENSOR.FFN_DOWN_EXP, - MODEL_TENSOR.FFN_UP_EXP, - MODEL_TENSOR.FFN_GATE_EXP, - MODEL_TENSOR.SSM_A, - MODEL_TENSOR.SSM_CONV1D, - MODEL_TENSOR.SSM_DT, - MODEL_TENSOR.SSM_NORM, - MODEL_TENSOR.SSM_IN, - MODEL_TENSOR.SSM_BETA_ALPHA, - MODEL_TENSOR.SSM_OUT, - ], MODEL_ARCH.QWEN3VL: [ MODEL_TENSOR.TOKEN_EMBD, MODEL_TENSOR.OUTPUT_NORM, diff --git a/gguf-py/gguf/tensor_mapping.py b/gguf-py/gguf/tensor_mapping.py index 43f32c7b52..167ade7803 100644 --- a/gguf-py/gguf/tensor_mapping.py +++ b/gguf-py/gguf/tensor_mapping.py @@ -228,7 +228,6 @@ class TensorNameMap: "transformer_encoder.{bid}.qkv", # neobert "layers.{bid}.attn.Wqkv", # modern-bert "model.layers.{bid}.self_attn.language_expert_query_key_value", # cogvlm - "model.layers.{bid}.linear_attn.in_proj_qkv", # qwen3.5 ), # Attention query @@ -359,9 +358,8 @@ class TensorNameMap: ), MODEL_TENSOR.ATTN_GATE: ( - "model.layers.{bid}.self_attn.gate_proj", # afmoe - "model.layers.{bid}.self_attn.g_proj", # step3.5 head-wise attention gate - "model.layers.{bid}.linear_attn.in_proj_z", # qwen3.5 + "model.layers.{bid}.self_attn.gate_proj", # afmoe + "model.layers.{bid}.self_attn.g_proj", # step3.5 head-wise attention gate ), # Feed-forward norm diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0c164617a1..2115fc4255 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -57,7 +57,6 @@ add_library(llama models/deci.cpp models/deepseek.cpp models/deepseek2.cpp - models/delta.cpp models/dots1.cpp models/dream.cpp models/ernie4-5-moe.cpp @@ -123,8 +122,6 @@ add_library(llama models/qwen3vl-moe.cpp models/qwen3moe.cpp models/qwen3next.cpp - models/qwen3-5.cpp - models/qwen3-5moe.cpp models/refact.cpp models/rnd1.cpp models/rwkv6-base.cpp diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index fce46772d7..bd78f1e556 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -35,8 +35,6 @@ static const std::map LLM_ARCH_NAMES = { { LLM_ARCH_QWEN3, "qwen3" }, { LLM_ARCH_QWEN3MOE, "qwen3moe" }, { LLM_ARCH_QWEN3NEXT, "qwen3next" }, - { LLM_ARCH_QWEN3_5, "qwen3_5" }, - { LLM_ARCH_QWEN3_5_MOE, "qwen3_5moe" }, { LLM_ARCH_QWEN3VL, "qwen3vl" }, { LLM_ARCH_QWEN3VLMOE, "qwen3vlmoe" }, { LLM_ARCH_PHI2, "phi2" }, @@ -987,63 +985,6 @@ static std::set llm_get_tensor_names(llm_arch arch) { LLM_TENSOR_SSM_NORM, LLM_TENSOR_SSM_OUT, }; - case LLM_ARCH_QWEN3_5: - return { - LLM_TENSOR_TOKEN_EMBD, - LLM_TENSOR_OUTPUT_NORM, - LLM_TENSOR_OUTPUT, - LLM_TENSOR_ATTN_NORM, - LLM_TENSOR_ATTN_POST_NORM, - LLM_TENSOR_ATTN_Q, - LLM_TENSOR_ATTN_Q_NORM, - LLM_TENSOR_ATTN_K, - LLM_TENSOR_ATTN_K_NORM, - LLM_TENSOR_ATTN_V, - LLM_TENSOR_ATTN_OUT, - LLM_TENSOR_ATTN_QKV, - LLM_TENSOR_ATTN_GATE, - LLM_TENSOR_FFN_GATE, - LLM_TENSOR_FFN_DOWN, - LLM_TENSOR_FFN_UP, - LLM_TENSOR_SSM_A_NOSCAN, - LLM_TENSOR_SSM_CONV1D, - LLM_TENSOR_SSM_DT, - LLM_TENSOR_SSM_BETA_ALPHA, - LLM_TENSOR_SSM_IN, - LLM_TENSOR_SSM_NORM, - LLM_TENSOR_SSM_OUT, - }; - case LLM_ARCH_QWEN3_5_MOE: - return { - LLM_TENSOR_TOKEN_EMBD, - LLM_TENSOR_OUTPUT_NORM, - LLM_TENSOR_OUTPUT, - LLM_TENSOR_ATTN_NORM, - LLM_TENSOR_ATTN_POST_NORM, - LLM_TENSOR_ATTN_Q, - LLM_TENSOR_ATTN_Q_NORM, - LLM_TENSOR_ATTN_K, - LLM_TENSOR_ATTN_K_NORM, - LLM_TENSOR_ATTN_V, - LLM_TENSOR_ATTN_OUT, - LLM_TENSOR_ATTN_QKV, - LLM_TENSOR_ATTN_GATE, - LLM_TENSOR_FFN_GATE_INP, - LLM_TENSOR_FFN_GATE_EXPS, - LLM_TENSOR_FFN_DOWN_EXPS, - LLM_TENSOR_FFN_UP_EXPS, - LLM_TENSOR_FFN_GATE_INP_SHEXP, - LLM_TENSOR_FFN_GATE_SHEXP, - LLM_TENSOR_FFN_DOWN_SHEXP, - LLM_TENSOR_FFN_UP_SHEXP, - LLM_TENSOR_SSM_A_NOSCAN, - LLM_TENSOR_SSM_CONV1D, - LLM_TENSOR_SSM_DT, - LLM_TENSOR_SSM_BETA_ALPHA, - LLM_TENSOR_SSM_IN, - LLM_TENSOR_SSM_NORM, - LLM_TENSOR_SSM_OUT, - }; case LLM_ARCH_QWEN3VL: case LLM_ARCH_CHAMELEON: case LLM_ARCH_HUNYUAN_DENSE: @@ -2733,8 +2674,6 @@ bool llm_arch_is_hybrid(const llm_arch & arch) { case LLM_ARCH_NEMOTRON_H: case LLM_ARCH_NEMOTRON_H_MOE: case LLM_ARCH_QWEN3NEXT: - case LLM_ARCH_QWEN3_5: - case LLM_ARCH_QWEN3_5_MOE: case LLM_ARCH_KIMI_LINEAR: return true; default: diff --git a/src/llama-arch.h b/src/llama-arch.h index a392ecce2b..e8263369b8 100644 --- a/src/llama-arch.h +++ b/src/llama-arch.h @@ -39,8 +39,6 @@ enum llm_arch { LLM_ARCH_QWEN3, LLM_ARCH_QWEN3MOE, LLM_ARCH_QWEN3NEXT, - LLM_ARCH_QWEN3_5, - LLM_ARCH_QWEN3_5_MOE, LLM_ARCH_QWEN3VL, LLM_ARCH_QWEN3VLMOE, LLM_ARCH_PHI2, diff --git a/src/llama-context.cpp b/src/llama-context.cpp index 80b9a7d46a..a6df893a31 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -2013,7 +2013,7 @@ void llama_context::output_reorder() { // uint32_t llama_context::graph_max_nodes(uint32_t n_tokens) const { - if (model.arch == LLM_ARCH_QWEN3NEXT || model.arch == LLM_ARCH_QWEN3_5 || model.arch == LLM_ARCH_QWEN3_5_MOE || model.arch == LLM_ARCH_KIMI_LINEAR) { + if (model.arch == LLM_ARCH_QWEN3NEXT || model.arch == LLM_ARCH_KIMI_LINEAR) { return std::max(n_tokens * 40, 32u * model.n_tensors()); } uint32_t res = std::max(1024u, 8u*model.n_tensors()); diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 8fc61aee37..674d06c891 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -2412,25 +2412,6 @@ void llama_model::load_hparams(llama_model_loader & ml) { default: type = LLM_TYPE_UNKNOWN; } } break; - case LLM_ARCH_QWEN3_5: - case LLM_ARCH_QWEN3_5_MOE: - { - ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH, hparams.n_ff_exp, false); - ml.get_key(LLM_KV_EXPERT_SHARED_FEED_FORWARD_LENGTH, hparams.n_ff_shexp, false); - ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); - - // Load linear attention (gated delta net) parameters - ml.get_key(LLM_KV_SSM_CONV_KERNEL, hparams.ssm_d_conv); - ml.get_key(LLM_KV_SSM_INNER_SIZE, hparams.ssm_d_inner); - ml.get_key(LLM_KV_SSM_STATE_SIZE, hparams.ssm_d_state); - ml.get_key(LLM_KV_SSM_TIME_STEP_RANK, hparams.ssm_dt_rank); - ml.get_key(LLM_KV_SSM_GROUP_COUNT, hparams.ssm_n_group); - - // Mark recurrent layers (linear attention layers) - for (uint32_t i = 0; i < hparams.n_layer; ++i) { - hparams.recurrent_layer_arr[i] = ((i + 1) % 4 != 0); - } - } break; case LLM_ARCH_MISTRAL3: { ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); @@ -7113,129 +7094,6 @@ bool llama_model::load_tensors(llama_model_loader & ml) { layer.ffn_down_exps = create_tensor(tn(LLM_TENSOR_FFN_DOWN_EXPS, "weight", i), { n_ff_exp, n_embd, n_expert }, 0); layer.ffn_up_exps = create_tensor(tn(LLM_TENSOR_FFN_UP_EXPS, "weight", i), { n_embd, n_ff_exp, n_expert }, 0); - // Shared experts - layer.ffn_gate_inp_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP_SHEXP, "weight", i), { n_embd }, 0); - layer.ffn_gate_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_SHEXP, "weight", i), { n_embd, hparams.n_ff_shexp }, 0); - layer.ffn_up_shexp = create_tensor(tn(LLM_TENSOR_FFN_UP_SHEXP, "weight", i), { n_embd, hparams.n_ff_shexp }, 0); - layer.ffn_down_shexp = create_tensor(tn(LLM_TENSOR_FFN_DOWN_SHEXP, "weight", i), { hparams.n_ff_shexp, n_embd }, 0); - } - } break; - case LLM_ARCH_QWEN3_5: - { - tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, 0); - - // output - output_norm = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "weight"), { n_embd }, 0); - output = create_tensor(tn(LLM_TENSOR_OUTPUT, "weight"), { n_embd, n_vocab }, TENSOR_NOT_REQUIRED); - - if (output == NULL) { - output = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, TENSOR_DUPLICATED); - } - - // Calculate dimensions from hyperparameters - const int64_t head_k_dim = hparams.ssm_d_state; - const int64_t head_v_dim = hparams.ssm_d_state; - const int64_t n_k_heads = hparams.ssm_n_group; - const int64_t n_v_heads = hparams.ssm_dt_rank; - const int64_t key_dim = head_k_dim * n_k_heads; - const int64_t value_dim = head_v_dim * n_v_heads; - const int64_t conv_dim = key_dim * 2 + value_dim; - - const int64_t ba_dim = n_v_heads * 2; - - for (int i = 0; i < n_layer; ++i) { - auto & layer = layers[i]; - - layer.attn_norm = create_tensor(tn(LLM_TENSOR_ATTN_NORM, "weight", i), { n_embd }, 0); - layer.attn_post_norm = create_tensor(tn(LLM_TENSOR_ATTN_POST_NORM, "weight", i), { n_embd }, 0); - - if (!hparams.is_recurrent(i)) { - // Full attention layers - layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q, "weight", i), { n_embd, n_embd_head_k * n_head * 2 }, 0); - layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K, "weight", i), { n_embd, n_embd_k_gqa }, 0); - layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V, "weight", i), { n_embd, n_embd_v_gqa }, 0); - layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), { n_embd_head_k * n_head, n_embd }, 0); - - layer.attn_q_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_NORM, "weight", i), { n_embd_head_k }, 0); - layer.attn_k_norm = create_tensor(tn(LLM_TENSOR_ATTN_K_NORM, "weight", i), { n_embd_head_k }, 0); - } else { - // Linear attention (gated delta net) specific tensors - layer.ssm_in = create_tensor(tn(LLM_TENSOR_SSM_IN, "weight", i), { n_embd, key_dim * 2 + value_dim * 2 }, TENSOR_NOT_REQUIRED); - layer.wqkv = create_tensor(tn(LLM_TENSOR_ATTN_QKV, "weight", i), { n_embd, key_dim * 2 + value_dim }, TENSOR_NOT_REQUIRED); - layer.wqkv_gate = create_tensor(tn(LLM_TENSOR_ATTN_GATE, "weight", i), { n_embd, value_dim }, TENSOR_NOT_REQUIRED); - layer.ssm_conv1d = create_tensor(tn(LLM_TENSOR_SSM_CONV1D, "weight", i), { hparams.ssm_d_conv, conv_dim }, 0); - layer.ssm_dt = create_tensor(tn(LLM_TENSOR_SSM_DT, "bias", i), { hparams.ssm_dt_rank }, 0); - layer.ssm_a = create_tensor(tn(LLM_TENSOR_SSM_A_NOSCAN, i), { hparams.ssm_dt_rank }, 0); - layer.ssm_beta_alpha = create_tensor(tn(LLM_TENSOR_SSM_BETA_ALPHA, "weight", i), { n_embd, ba_dim }, 0); - layer.ssm_norm = create_tensor(tn(LLM_TENSOR_SSM_NORM, "weight", i), { head_v_dim }, 0); - layer.ssm_out = create_tensor(tn(LLM_TENSOR_SSM_OUT, "weight", i), { value_dim, n_embd }, 0); - } - - // Dense FFN for all layers - layer.ffn_gate = create_tensor(tn(LLM_TENSOR_FFN_GATE, "weight", i), { n_embd, n_ff }, 0); - layer.ffn_up = create_tensor(tn(LLM_TENSOR_FFN_UP, "weight", i), { n_embd, n_ff }, 0); - layer.ffn_down = create_tensor(tn(LLM_TENSOR_FFN_DOWN, "weight", i), { n_ff, n_embd }, 0); - } - } break; - case LLM_ARCH_QWEN3_5_MOE: - { - tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, 0); - - // output - output_norm = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "weight"), { n_embd }, 0); - output = create_tensor(tn(LLM_TENSOR_OUTPUT, "weight"), { n_embd, n_vocab }, TENSOR_NOT_REQUIRED); - - if (output == NULL) { - output = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, TENSOR_DUPLICATED); - } - - const int64_t n_ff_exp = hparams.n_ff_exp ? hparams.n_ff_exp : n_ff / n_expert_used; - - // Calculate dimensions from hyperparameters - const int64_t head_k_dim = hparams.ssm_d_state; - const int64_t head_v_dim = hparams.ssm_d_state; - const int64_t n_k_heads = hparams.ssm_n_group; - const int64_t n_v_heads = hparams.ssm_dt_rank; - const int64_t key_dim = head_k_dim * n_k_heads; - const int64_t value_dim = head_v_dim * n_v_heads; - const int64_t conv_dim = key_dim * 2 + value_dim; - - const int64_t ba_dim = n_v_heads * 2; - - for (int i = 0; i < n_layer; ++i) { - auto & layer = layers[i]; - - layer.attn_norm = create_tensor(tn(LLM_TENSOR_ATTN_NORM, "weight", i), { n_embd }, 0); - layer.attn_post_norm = create_tensor(tn(LLM_TENSOR_ATTN_POST_NORM, "weight", i), { n_embd }, 0); - - if (!hparams.is_recurrent(i)) { - // Full attention layers - layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q, "weight", i), { n_embd, n_embd_head_k * n_head * 2 }, 0); - layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K, "weight", i), { n_embd, n_embd_k_gqa }, 0); - layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V, "weight", i), { n_embd, n_embd_v_gqa }, 0); - layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), { n_embd_head_k * n_head, n_embd }, 0); - - layer.attn_q_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_NORM, "weight", i), { n_embd_head_k }, 0); - layer.attn_k_norm = create_tensor(tn(LLM_TENSOR_ATTN_K_NORM, "weight", i), { n_embd_head_k }, 0); - } else { - // Linear attention (gated delta net) specific tensors - layer.ssm_in = create_tensor(tn(LLM_TENSOR_SSM_IN, "weight", i), { n_embd, key_dim * 2 + value_dim * 2 }, TENSOR_NOT_REQUIRED); - layer.wqkv = create_tensor(tn(LLM_TENSOR_ATTN_QKV, "weight", i), { n_embd, key_dim * 2 + value_dim }, TENSOR_NOT_REQUIRED); - layer.wqkv_gate = create_tensor(tn(LLM_TENSOR_ATTN_GATE, "weight", i), { n_embd, value_dim }, TENSOR_NOT_REQUIRED); - layer.ssm_conv1d = create_tensor(tn(LLM_TENSOR_SSM_CONV1D, "weight", i), { hparams.ssm_d_conv, conv_dim }, 0); - layer.ssm_dt = create_tensor(tn(LLM_TENSOR_SSM_DT, "bias", i), { hparams.ssm_dt_rank }, 0); - layer.ssm_a = create_tensor(tn(LLM_TENSOR_SSM_A_NOSCAN, i), { hparams.ssm_dt_rank }, 0); - layer.ssm_beta_alpha = create_tensor(tn(LLM_TENSOR_SSM_BETA_ALPHA, "weight", i), { n_embd, ba_dim }, 0); - layer.ssm_norm = create_tensor(tn(LLM_TENSOR_SSM_NORM, "weight", i), { head_v_dim }, 0); - layer.ssm_out = create_tensor(tn(LLM_TENSOR_SSM_OUT, "weight", i), { value_dim, n_embd }, 0); - } - - // MoE FFN - layer.ffn_gate_inp = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP, "weight", i), { n_embd, n_expert }, 0); - layer.ffn_gate_exps = create_tensor(tn(LLM_TENSOR_FFN_GATE_EXPS, "weight", i), { n_embd, n_ff_exp, n_expert }, 0); - layer.ffn_down_exps = create_tensor(tn(LLM_TENSOR_FFN_DOWN_EXPS, "weight", i), { n_ff_exp, n_embd, n_expert }, 0); - layer.ffn_up_exps = create_tensor(tn(LLM_TENSOR_FFN_UP_EXPS, "weight", i), { n_embd, n_ff_exp, n_expert }, 0); - // Shared experts layer.ffn_gate_inp_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP_SHEXP, "weight", i), { n_embd }, 0); layer.ffn_gate_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_SHEXP, "weight", i), { n_embd, hparams.n_ff_shexp }, 0); @@ -7687,8 +7545,6 @@ void llama_model::print_info() const { arch == LLM_ARCH_PLAMO2 || arch == LLM_ARCH_GRANITE_HYBRID || arch == LLM_ARCH_QWEN3NEXT || - arch == LLM_ARCH_QWEN3_5 || - arch == LLM_ARCH_QWEN3_5_MOE || arch == LLM_ARCH_NEMOTRON_H || arch == LLM_ARCH_NEMOTRON_H_MOE) { LLAMA_LOG_INFO("%s: ssm_d_conv = %u\n", __func__, hparams.ssm_d_conv); @@ -8487,14 +8343,6 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const { { llm = std::make_unique(*this, params); } break; - case LLM_ARCH_QWEN3_5: - { - llm = std::make_unique(*this, params); - } break; - case LLM_ARCH_QWEN3_5_MOE: - { - llm = std::make_unique(*this, params); - } break; case LLM_ARCH_MISTRAL3: { llm = std::make_unique(*this, params); @@ -8755,8 +8603,6 @@ llama_rope_type llama_model_rope_type(const llama_model * model) { case LLM_ARCH_PANGU_EMBED: case LLM_ARCH_AFMOE: case LLM_ARCH_QWEN3NEXT: - case LLM_ARCH_QWEN3_5: - case LLM_ARCH_QWEN3_5_MOE: case LLM_ARCH_MIMO2: case LLM_ARCH_STEP35: return LLAMA_ROPE_TYPE_NEOX; diff --git a/src/models/delta.cpp b/src/models/delta.cpp deleted file mode 100644 index d1d9837d09..0000000000 --- a/src/models/delta.cpp +++ /dev/null @@ -1,618 +0,0 @@ -#include "models.h" -#include "ggml.h" -#include -#include -#include - -llm_graph_context_delta::llm_graph_context_delta(const llm_graph_params & params) : llm_graph_context_mamba(params) {} - -/** - * Unified Delta Net implementation supporting both GDA and KDA modes. - * - * GDA (Gated Delta Attention): g has shape [H, T, B] in GGML (PyTorch: [B, T, H]) - * - Per-head gating, broadcasts over K dimension - * - * KDA (Key-wise Delta Attention): g has shape [K, H, T, B] in GGML (PyTorch: [B, T, H, K]) - * - Per-key gating - * - * The mode is auto-detected based on g's dimensionality. - * - * Tensor dimension convention: - * GGML: ne[0] is innermost (fastest varying), ne[3] is outermost - * PyTorch: dim 0 is outermost, dim -1 is innermost - * So GGML [A, B, C, D] corresponds to PyTorch [D, C, B, A] - */ - -// Helper to get a slice along dimension 2 (n_chunks dimension) -static ggml_tensor * get_slice_2d(ggml_context * ctx, ggml_tensor * t, int64_t chunk) { - return ggml_view_4d(ctx, t, - t->ne[0], t->ne[1], 1, t->ne[3], - t->nb[1], t->nb[2], t->nb[3], - chunk * t->nb[2]); -} - -/** - * Unified chunked Delta Net implementation. - * - * Input tensor format matches qwen3next conventions: - * @param q Query tensor [S_k, H_k, n_tokens, n_seqs] - * @param k Key tensor [S_k, H_k, n_tokens, n_seqs] - * @param v Value tensor [S_v, H_v, n_tokens, n_seqs] - * @param g Gate tensor: - * GDA: [H_v, n_tokens, n_seqs] - * KDA: [S_k, H_v, n_tokens, n_seqs] - * @param beta Beta tensor [H_v, 1, n_tokens, n_seqs] - * @param state State tensor [S_v, S_v * H_v, 1, n_seqs] - * @param causal_mask Lower triangular mask [chunk_size, chunk_size] - * @param identity Identity matrix [chunk_size, chunk_size] - * @param diag_mask Diagonal mask [chunk_size, chunk_size] - * @param il Layer index (for debugging callbacks) - * @param chunk_size Chunk size for chunked processing - * @param eps_norm Epsilon for L2 normalization - * - * @return Pair of (output_tokens, new_state) - */ -std::pair llm_graph_context_delta::build_delta_net_unified_chunking( - ggml_context * ctx0, - ggml_tensor * q, - ggml_tensor * k, - ggml_tensor * v, - ggml_tensor * g, - ggml_tensor * beta, - ggml_tensor * state_reshaped, - ggml_tensor * causal_mask, - ggml_tensor * identity, - ggml_tensor * diag_mask, - int il, - int64_t chunk_size, - float eps_norm) { - - // Input format: [S, H, n_tokens, n_seqs] (matching qwen3next convention) - const int64_t S_k = q->ne[0]; - const int64_t H_k = q->ne[1]; - const int64_t n_tokens = q->ne[2]; - const int64_t n_seqs = q->ne[3]; - - const int64_t S_v = v->ne[0]; - const int64_t H_v = v->ne[1]; - - // Detect KDA vs GDA based on g's shape - // GDA: g has shape [H_v, n_tokens, n_seqs] - // KDA: g has shape [S_k, H_v, n_tokens, n_seqs] (4D with ne[0]=S_k) - const bool is_kda = (g->ne[0] == S_k && g->ne[1] == H_v); - - // Validate tensor shapes - GGML_ASSERT(v->ne[2] == n_tokens); - GGML_ASSERT(k->ne[2] == n_tokens); - GGML_ASSERT(state_reshaped->ne[0] == S_v && state_reshaped->ne[1] == S_v && state_reshaped->ne[2] == H_v && state_reshaped->ne[3] == n_seqs); - GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs); - GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs); - GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs); - GGML_ASSERT(H_k == H_v); - - if (is_kda) { - // KDA: g shape [S_k, H_v, n_tokens, n_seqs] - GGML_ASSERT(g->ne[0] == S_k && g->ne[1] == H_v && g->ne[2] == n_tokens && g->ne[3] == n_seqs); - } else { - // GDA: g shape [H_v, n_tokens, n_seqs] - GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs); - } - - // L2 normalize q and k - q = ggml_l2_norm(ctx0, q, eps_norm); - k = ggml_l2_norm(ctx0, k, eps_norm); - - const float scale = 1.0f / sqrtf((float)S_v); - q = ggml_scale(ctx0, q, scale); - - beta = ggml_sigmoid(ctx0, beta); - - cb(q, "q_in", il); - cb(k, "k_in", il); - cb(v, "v_in", il); - cb(beta, "beta_in", il); - cb(g, "g_in", il); - - // Permute tensors to working format [S, n_tokens, H, n_seqs] - // Input: [S, H, n_tokens, n_seqs] -> permute(0, 2, 1, 3) -> [S, n_tokens, H, n_seqs] - q = ggml_cont_4d(ctx0, ggml_permute(ctx0, q, 0, 2, 1, 3), S_k, n_tokens, H_k, n_seqs); - k = ggml_cont_4d(ctx0, ggml_permute(ctx0, k, 0, 2, 1, 3), S_k, n_tokens, H_k, n_seqs); - v = ggml_cont_4d(ctx0, ggml_permute(ctx0, v, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); - if (is_kda) { - g = ggml_cont_4d(ctx0, ggml_permute(ctx0, g, 0, 2, 1, 3), S_k, n_tokens, H_k, n_seqs); - } else { - g = ggml_cont_4d(ctx0, ggml_permute(ctx0, g, 2, 0, 3, 1), n_tokens, 1, H_k, n_seqs); - } - beta = ggml_cont(ctx0, ggml_permute(ctx0, beta, 2, 0, 1, 3)); - - cb(q, "q_perm", il); - cb(k, "k_perm", il); - cb(v, "v_perm", il); - cb(beta, "beta_perm", il); - cb(g, "g_perm", il); - cb(state_reshaped, "state_in", il); - - // Padding for chunk processing - const int64_t pad = (chunk_size - n_tokens % chunk_size) % chunk_size; - const int64_t n_chunks = (n_tokens + pad) / chunk_size; - - q = ggml_pad(ctx0, q, 0, pad, 0, 0); - k = ggml_pad(ctx0, k, 0, pad, 0, 0); - v = ggml_pad(ctx0, v, 0, pad, 0, 0); - beta = ggml_pad(ctx0, beta, 0, pad, 0, 0); - g = ggml_pad(ctx0, g, pad, 0, 0, 0); - - - cb(q, "q_pad", il); - cb(k, "k_pad", il); - cb(v, "v_pad", il); - cb(beta, "beta_pad", il); - cb(g, "g_pad", il); - - ggml_tensor * v_beta = ggml_mul(ctx0, v, beta); - ggml_tensor * k_beta = ggml_mul(ctx0, k, beta); - - cb(v_beta, "v_beta", il); - cb(k_beta, "k_beta", il); - - // Reshape to chunks - q = ggml_reshape_4d(ctx0, q, S_k, chunk_size, n_chunks, H_k * n_seqs); - k = ggml_reshape_4d(ctx0, k, S_k, chunk_size, n_chunks, H_k * n_seqs); - k_beta = ggml_reshape_4d(ctx0, k_beta, S_k, chunk_size, n_chunks, H_k * n_seqs); - v = ggml_reshape_4d(ctx0, v, S_v, chunk_size, n_chunks, H_v * n_seqs); - v_beta = ggml_reshape_4d(ctx0, v_beta, S_v, chunk_size, n_chunks, H_v * n_seqs); - beta = ggml_reshape_4d(ctx0, beta, 1, chunk_size, n_chunks, H_k * n_seqs); - - // Reshape g for chunks - ggml_tensor * g_cumsum; - ggml_tensor * g_cumsum_t; - if (is_kda) { - // KDA: g [S_k, n_tokens+pad, H_k, n_seqs] -> [S_k, chunk_size, n_chunks, H_k * n_seqs] - g = ggml_reshape_4d(ctx0, g, S_k, chunk_size, n_chunks, H_k * n_seqs); - // Cumsum along chunk_size dimension (ne[1]) - // GGML cumsum operates on ne[0], so we need to transpose, cumsum, transpose back - g = ggml_cont(ctx0, ggml_transpose(ctx0, g)); // [chunk_size, S_k, n_chunks, H_k * n_seqs] - g_cumsum_t = ggml_cumsum(ctx0, g); - g_cumsum = ggml_cont(ctx0, ggml_transpose(ctx0, g_cumsum_t)); // [S_k, chunk_size, n_chunks, H_k * n_seqs] - } else { - // GDA: g [n_tokens+pad, 1, H_k, n_seqs] -> [chunk_size, 1, n_chunks, H_k * n_seqs] - g = ggml_reshape_4d(ctx0, g, chunk_size, 1, n_chunks, H_k * n_seqs); - g_cumsum = ggml_cumsum(ctx0, g); - g_cumsum_t = ggml_reshape_4d(ctx0, g_cumsum, 1, chunk_size, n_chunks, H_k * n_seqs); - } - - cb(g_cumsum, "g_cumsum", il); - - // Build attention matrix A for the WY representation solve - // For GDA: A[j,i] = sum_k(k[j,k] * exp(g[j] - g[i]) * k[i,k]) = (k @ k^T) * exp(g[j] - g[i]) - // For KDA: A[j,i] = sum_k(k_beta[j,k] * exp(g[j,k] - g[i,k]) * k[i,k]) - // KDA uses decay mask with S_k packed into batch to compute exp(g[j,k] - g[i,k]) per-key - - ggml_tensor * k_decay; - ggml_tensor * decay_mask = nullptr; - ggml_tensor * g_exp_pos = nullptr; - - if (is_kda) { - // KDA: Use decay mask with S_k in leading dimension for efficient mul_mat reduction - // A[j,i] = sum_k(k_beta[j,k] * exp(g[j,k] - g[i,k]) * k[i,k]) - // By putting S_k in dim 0, mul_mat implicitly sums over it - - const int64_t CHB = n_chunks * H_k * n_seqs; - - // g_cumsum_t is [chunk_size, S_k, n_chunks, H_k * n_seqs] - // Reshape to [chunk_size, S_k, CHB] then build decay mask - ggml_tensor * gcs = ggml_reshape_3d(ctx0, g_cumsum_t, chunk_size, S_k, CHB); - ggml_tensor * gcs_i = ggml_reshape_4d(ctx0, gcs, chunk_size, 1, S_k, CHB); - ggml_tensor * gcs_j = ggml_reshape_4d(ctx0, gcs, 1, chunk_size, S_k, CHB); - - // Build decay mask: [chunk_size, chunk_size, S_k, CHB] - ggml_tensor * gcs_j_bc = ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, S_k, CHB); - decay_mask = ggml_sub(ctx0, gcs_j_bc, gcs_i); - - cb(decay_mask, "decay_mask_kda", il); - - decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); - decay_mask = ggml_exp(ctx0, decay_mask); - decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); - - // Permute to [S_k, chunk_size_j, chunk_size_i, CHB] for mul_mat reduction over S_k - decay_mask = ggml_cont_4d(ctx0, ggml_permute(ctx0, decay_mask, 2, 1, 0, 3), S_k, chunk_size, chunk_size, CHB); - - // Reshape k and k_beta for broadcasting with decay_mask - // k_i: indexed at position i (dim 2 of decay_mask) - // k_beta_j: indexed at position j (dim 1 of decay_mask) - ggml_tensor * k_i = ggml_reshape_4d(ctx0, k, S_k, 1, chunk_size, CHB); - ggml_tensor * k_beta_j = ggml_reshape_4d(ctx0, k_beta, S_k, chunk_size, 1, CHB); - - // decay_k_beta_j[s,j,i,b] = decay[s,j,i,b] * k_beta[s,j,b] - ggml_tensor * decay_k_beta_j = ggml_mul(ctx0, decay_mask, k_beta_j); - - // mul_mat sums over S_k: result[j,1,i,CHB] = sum_s decay_k_beta_j[s,j,i,b] * k_i[s,1,i,b] - k_decay = ggml_mul_mat(ctx0, decay_k_beta_j, k_i); - k_decay = ggml_cont(ctx0, ggml_transpose(ctx0, ggml_reshape_4d(ctx0, k_decay, chunk_size, chunk_size, n_chunks, H_k * n_seqs))); - - // g_exp_pos is still needed for later (kbeta_gexp, etc.) - g_exp_pos = ggml_exp(ctx0, g_cumsum); - } else { - // GDA: Use decay mask approach (g broadcasts over K dimension) - // g_cumsum [chunk_size, 1, n_chunks, H_v * n_seqs] - ggml_tensor * gcs_i = g_cumsum; - ggml_tensor * gcs_j = g_cumsum_t; - g_exp_pos = ggml_exp(ctx0, g_cumsum_t); - ggml_tensor * gcs_j_broadcast = ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, n_chunks, H_v * n_seqs); - decay_mask = ggml_sub(ctx0, gcs_j_broadcast, gcs_i); - - cb(decay_mask, "decay_mask", il); - - decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); - decay_mask = ggml_exp(ctx0, decay_mask); - decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); - - ggml_tensor * kmulkbeta = ggml_mul_mat(ctx0, k, k_beta); - k_decay = ggml_mul(ctx0, kmulkbeta, decay_mask); - } - - ggml_tensor * attn = ggml_neg(ctx0, ggml_mul(ctx0, k_decay, causal_mask)); - - cb(attn, "attn_pre_solve", il); - - // Solve triangular system: (I + L) @ X = I, where L is strictly lower triangular - ggml_tensor * attn_lower = ggml_mul(ctx0, attn, causal_mask); - ggml_tensor * lhs = ggml_sub(ctx0, ggml_repeat(ctx0, identity, attn_lower), attn_lower); - ggml_tensor * lin_solve = ggml_solve_tri(ctx0, lhs, attn, true, true, false); - attn = ggml_mul(ctx0, lin_solve, causal_mask); - attn = ggml_add(ctx0, attn, identity); - - cb(attn, "attn_solved", il); - - // Compute u = A @ v and w = A @ (g.exp() * k) - v = ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_beta)), attn); - - ggml_tensor * kbeta_gexp = ggml_mul(ctx0, k_beta, g_exp_pos); - cb(kbeta_gexp, "kbeta_gexp", il); - - ggml_tensor * k_cumdecay = ggml_cont(ctx0, ggml_transpose(ctx0, - ggml_mul_mat(ctx0, attn, ggml_cont(ctx0, ggml_transpose(ctx0, kbeta_gexp))))); - cb(k_cumdecay, "k_cumdecay", il); - - // Attention scores q @ k^T with decay - // For GDA: attn_kq[j,i] = sum_k(q[j,k] * exp(g[j] - g[i]) * k[i,k]) - // For KDA: attn_kq[j,i] = sum_k(q[j,k] * exp(g[j,k] - g[i,k]) * k[i,k]) - ggml_tensor * attn_kq; - if (is_kda) { - // KDA: Same approach as k_decay - use decay_mask with S_k in leading dim - const int64_t CHB = n_chunks * H_k * n_seqs; - - // Rebuild decay mask (same structure as k_decay) - ggml_tensor * gcs = ggml_reshape_3d(ctx0, g_cumsum_t, chunk_size, S_k, CHB); - ggml_tensor * gcs_i = ggml_reshape_4d(ctx0, gcs, chunk_size, 1, S_k, CHB); - ggml_tensor * gcs_j = ggml_reshape_4d(ctx0, gcs, 1, chunk_size, S_k, CHB); - ggml_tensor * gcs_j_bc = ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, S_k, CHB); - ggml_tensor * decay_mask_kq = ggml_sub(ctx0, gcs_j_bc, gcs_i); - - decay_mask_kq = ggml_mul(ctx0, decay_mask_kq, diag_mask); - decay_mask_kq = ggml_exp(ctx0, decay_mask_kq); - decay_mask_kq = ggml_mul(ctx0, decay_mask_kq, diag_mask); - - // Permute to [S_k, chunk_size_j, chunk_size_i, CHB] - decay_mask_kq = ggml_cont_4d(ctx0, ggml_permute(ctx0, decay_mask_kq, 2, 1, 0, 3), S_k, chunk_size, chunk_size, CHB); - - // q_j: indexed at position j, k_i: indexed at position i - ggml_tensor * q_j = ggml_reshape_4d(ctx0, q, S_k, chunk_size, 1, CHB); - ggml_tensor * k_i = ggml_reshape_4d(ctx0, k, S_k, 1, chunk_size, CHB); - - // decay_q_j[s,j,i,b] = decay[s,j,i,b] * q[s,j,b] - ggml_tensor * decay_q_j = ggml_mul(ctx0, decay_mask_kq, q_j); - - // mul_mat sums over S_k - attn_kq = ggml_mul_mat(ctx0, decay_q_j, k_i); - attn_kq = ggml_cont(ctx0, ggml_transpose(ctx0, ggml_reshape_4d(ctx0, attn_kq, chunk_size, chunk_size, n_chunks, H_k * n_seqs))); - } else { - // GDA: Use decay mask - attn_kq = ggml_mul_mat(ctx0, k, q); - attn_kq = ggml_mul(ctx0, attn_kq, decay_mask); - attn_kq = ggml_mul(ctx0, attn_kq, diag_mask); - } - cb(attn_kq, "attn_kq", il); - - // Compute g_last and g_diff for state updates - ggml_tensor * g_last; - ggml_tensor * g_diff_exp; - ggml_tensor * g_last_exp; - - if (is_kda) { - // KDA: g_cumsum [S_k, chunk_size, n_chunks, H_k * n_seqs] - // Get last element along chunk_size dimension (ne[1]) - g_last = ggml_view_4d(ctx0, g_cumsum, - g_cumsum->ne[0], 1, g_cumsum->ne[2], g_cumsum->ne[3], - g_cumsum->nb[1], g_cumsum->nb[2], g_cumsum->nb[3], - (g_cumsum->ne[1] - 1) * g_cumsum->nb[1]); - g_last = ggml_cont(ctx0, g_last); - g_last_exp = ggml_exp(ctx0, g_last); - - // g_diff = g_last - g_cumsum - ggml_tensor * g_last_broadcast = ggml_repeat_4d(ctx0, g_last, - g_cumsum->ne[0], g_cumsum->ne[1], g_cumsum->ne[2], g_cumsum->ne[3]); - ggml_tensor * g_diff = ggml_sub(ctx0, g_last_broadcast, g_cumsum); - g_diff_exp = ggml_exp(ctx0, g_diff); - } else { - // GDA: g_cumsum [chunk_size, 1, n_chunks, H_k * n_seqs] - g_last = ggml_view_4d(ctx0, g_cumsum, - 1, 1, g_cumsum->ne[2], g_cumsum->ne[3], - g_cumsum->nb[1], g_cumsum->nb[2], g_cumsum->nb[3], - (g_cumsum->ne[0] - 1) * ggml_element_size(g_cumsum)); - g_last = ggml_cont(ctx0, g_last); - g_last_exp = ggml_exp(ctx0, g_last); - - ggml_tensor * g_diff = ggml_neg(ctx0, ggml_sub(ctx0, g_cumsum, g_last)); - g_diff_exp = ggml_exp(ctx0, g_diff); - } - - cb(g_last, "g_last", il); - cb(g_last_exp, "g_last_exp", il); - - ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp); - cb(key_gdiff, "key_gdiff", il); - - // Process chunks - ggml_tensor * new_state = state_reshaped; - ggml_tensor * core_attn_out = nullptr; - - for (int64_t chunk = 0; chunk < n_chunks; chunk++) { - ggml_tensor * q_chunk = get_slice_2d(ctx0, q, chunk); - ggml_tensor * v_chunk = get_slice_2d(ctx0, v, chunk); - ggml_tensor * k_cumdecay_chunk = get_slice_2d(ctx0, k_cumdecay, chunk); - ggml_tensor * attn_chunk = get_slice_2d(ctx0, attn_kq, chunk); - ggml_tensor * gexp_chunk = get_slice_2d(ctx0, g_exp_pos, chunk); - - cb(attn_chunk, "attn_chunk", il); - - ggml_tensor * state_t = ggml_cont_4d(ctx0, ggml_permute(ctx0, new_state, 1, 0, 2, 3), - S_v, S_v, 1, H_v * n_seqs); - - // v_prime = k_cumdecay @ state - ggml_tensor * v_prime = ggml_mul_mat(ctx0, state_t, k_cumdecay_chunk); - cb(v_prime, "v_prime_chunk", il); - - // v_new = v - v_prime - ggml_tensor * v_new = ggml_sub(ctx0, ggml_repeat(ctx0, v_chunk, v_prime), v_prime); - ggml_tensor * v_new_t = ggml_cont(ctx0, ggml_transpose(ctx0, v_new)); - cb(v_new, "v_new_chunk", il); - - // attn_inter = (q * g.exp()) @ state - ggml_tensor * q_g_exp = ggml_mul(ctx0, q_chunk, gexp_chunk); - ggml_tensor * attn_inter = ggml_mul_mat(ctx0, state_t, q_g_exp); - cb(attn_inter, "attn_inter_chunk", il); - - // output = attn_inter + attn @ v_new - ggml_tensor * v_attn = ggml_mul_mat(ctx0, v_new_t, attn_chunk); - cb(v_attn, "v_attn_chunk", il); - - ggml_tensor * core_attn_out_chunk = ggml_add(ctx0, attn_inter, v_attn); - cb(core_attn_out_chunk, "core_attn_out_chunk", il); - - core_attn_out = core_attn_out == nullptr - ? core_attn_out_chunk - : ggml_concat(ctx0, core_attn_out, core_attn_out_chunk, 2); - - // State update: state = state * g_last_exp + key_gdiff^T @ v_new - ggml_tensor * k_gdiff = ggml_cont(ctx0, get_slice_2d(ctx0, key_gdiff, chunk)); - ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, v_new_t, ggml_cont(ctx0, ggml_transpose(ctx0, k_gdiff))); - - ggml_tensor * gexp_last_chunk = ggml_cont(ctx0, get_slice_2d(ctx0, g_last_exp, chunk)); - - if (is_kda) { - // KDA: g_last_exp [S_k, 1, n_chunks, H_k * n_seqs] - // State: [S_v, S_v, H_v, n_seqs] - // Need to reshape g_last_exp to broadcast correctly over V dimension only - gexp_last_chunk = ggml_reshape_4d(ctx0, gexp_last_chunk, - 1, gexp_last_chunk->ne[0], H_v, n_seqs); // [1, S_k, H_v, n_seqs] - // Transpose to [S_k, 1, H_v, n_seqs] then broadcast - gexp_last_chunk = ggml_cont(ctx0, ggml_permute(ctx0, gexp_last_chunk, 1, 0, 2, 3)); - } else { - // GDA: g_last_exp [1, 1, n_chunks, H_k * n_seqs] - // Broadcasts over both K and V dimensions - gexp_last_chunk = ggml_reshape_4d(ctx0, gexp_last_chunk, - gexp_last_chunk->ne[0], gexp_last_chunk->ne[1], H_v, n_seqs); - } - - new_state = ggml_add(ctx0, - ggml_mul(ctx0, new_state, gexp_last_chunk), - ggml_reshape_4d(ctx0, kgdmulvnew, kgdmulvnew->ne[0], kgdmulvnew->ne[1], H_v, n_seqs)); - } - - // Truncate padding and permute back - ggml_tensor * output_tokens = ggml_view_4d(ctx0, core_attn_out, - S_v, n_tokens, H_v, n_seqs, - ggml_row_size(core_attn_out->type, S_v), - ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks), - ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks * H_v), 0); - output_tokens = ggml_cont(ctx0, output_tokens); - - cb(output_tokens, "output_tokens", il); - - output_tokens = ggml_permute(ctx0, output_tokens, 0, 2, 1, 3); - output_tokens = ggml_cont(ctx0, output_tokens); - - return {output_tokens, new_state}; -} - - -/** - * Unified autoregressive Delta Net implementation (single token processing). - * - * This implementation uses matrix multiplication instead of elementwise operations + summation, - * which is more efficient and mathematically equivalent. See inline comments for equivalences. - * - * Input tensor format matches qwen3next conventions: - * @param q Query tensor [S_k, H_k, 1, n_seqs] - * @param k Key tensor [S_k, H_k, 1, n_seqs] - * @param v Value tensor [S_v, H_v, 1, n_seqs] - * @param g Gate tensor: - * GDA: [H_v, 1, n_seqs] - * KDA: [S_k, H_v, 1, n_seqs] - * @param beta Beta tensor [H_v, 1, 1, n_seqs] - * @param state State tensor [S_v, S_v * H_v, 1, n_seqs] - * @param il Layer index (for debugging callbacks) - * @param eps_norm Epsilon for L2 normalization - * - * @return Pair of (output_tokens, new_state) - */ -std::pair llm_graph_context_delta::build_delta_net_unified_autoregressive( - ggml_context * ctx0, - ggml_tensor * q, - ggml_tensor * k, - ggml_tensor * v, - ggml_tensor * g, - ggml_tensor * beta, - ggml_tensor * state, - int il, - float eps_norm) { - - // Input format: [S, H, n_tokens, n_seqs] (matching qwen3next convention) - const int64_t S_k = q->ne[0]; - const int64_t H_k = q->ne[1]; - const int64_t n_tokens = q->ne[2]; - const int64_t n_seqs = q->ne[3]; - - const int64_t S_v = v->ne[0]; - const int64_t H_v = v->ne[1]; - - GGML_ASSERT(n_tokens == 1); // Autoregressive mode is for single token - - // Detect KDA vs GDA based on g's shape - // GDA: g has shape [H_v, 1, n_seqs] or [H_v, n_tokens, n_seqs] - // KDA: g has shape [S_k, H_v, 1, n_seqs] or [S_k, H_v, n_tokens, n_seqs] - const bool is_kda = (g->ne[0] == S_k && g->ne[1] == H_v); - - // Validate shapes - GGML_ASSERT(v->ne[2] == n_tokens); - GGML_ASSERT(k->ne[2] == n_tokens); - GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v && state->ne[2] == H_v && state->ne[3] == n_seqs); - GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs); - GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs); - GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs); - GGML_ASSERT(H_k == H_v); - - if (is_kda) { - GGML_ASSERT(g->ne[0] == S_k && g->ne[1] == H_v); - } else { - GGML_ASSERT(g->ne[0] == H_v); - } - - // L2 normalize q and k - q = ggml_l2_norm(ctx0, q, eps_norm); - k = ggml_l2_norm(ctx0, k, eps_norm); - - const float scale = 1.0f / sqrtf((float)S_v); - q = ggml_scale(ctx0, q, scale); - beta = ggml_sigmoid(ctx0, beta); - - cb(q, "q_in", il); - cb(k, "k_in", il); - cb(v, "v_in", il); - cb(beta, "beta_in", il); - cb(g, "g_in", il); - - // Reshape g and beta for broadcasting - ggml_tensor * g_t; - ggml_tensor * beta_t; - - if (is_kda) { - // KDA: g [S_k, H_v, 1, n_seqs] -> [S_k, 1, H_k, n_seqs] - // For state multiplication, need [1, S_k, H_v, n_seqs] to broadcast over V only - g_t = ggml_reshape_4d(ctx0, g, S_k, 1, H_k, n_seqs); - } else { - // GDA: g [H_v, 1, n_seqs] -> [1, 1, H_k, n_seqs] - // For state multiplication, broadcasts over both K and V - g_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, g), 1, 1, H_k, n_seqs); - } - - beta_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, beta), 1, 1, H_k, n_seqs); - - // Apply exponential to g_t - g_t = ggml_exp(ctx0, g_t); - - // State decay: state = state * exp(g) - if (is_kda) { - // KDA: g_t [S_k, 1, H_k, n_seqs], state [S_v, S_v, H_v, n_seqs] - // Need to broadcast g_t over V dimension (ne[0] of state) - // Permute g_t to [1, S_k, H_k, n_seqs] for correct broadcasting - ggml_tensor * g_broadcast = ggml_cont(ctx0, ggml_permute(ctx0, g_t, 1, 0, 2, 3)); - state = ggml_mul(ctx0, state, g_broadcast); - } else { - // GDA: g_t [1, 1, H_k, n_seqs] broadcasts over both dimensions - state = ggml_mul(ctx0, state, g_t); - } - - // Equivalence to previous version: - // Previous: kv_mem = sum_k(state * k) using elementwise mult + sum_rows - // Current: k_state = state_t @ k_t using matrix multiplication - // These are equivalent because: sum_k(A * B) = A @ B when dimensions align - ggml_tensor * state_t = ggml_cont(ctx0, ggml_transpose(ctx0, state)); - ggml_tensor * k_t = ggml_reshape_4d(ctx0, k, S_k, 1, H_k, n_seqs); - ggml_tensor * k_state = ggml_mul_mat(ctx0, state_t, k_t); - - // v_diff = v - k_state (equivalent to v - kv_mem in previous version) - ggml_tensor * v_t = ggml_reshape_4d(ctx0, v, S_v, 1, H_v, n_seqs); - ggml_tensor * v_diff = ggml_sub(ctx0, v_t, k_state); - ggml_tensor * k_beta = ggml_mul(ctx0, k_t, beta_t); - - // Equivalence to previous version: - // Previous: state += k.unsqueeze(-1) * delta where delta = (v - kv_mem) * beta - // Current: state += v_diff^T @ k_beta^T using matrix multiplication - // These are equivalent because: outer_product(k, v_diff * beta) = v_diff^T @ k^T - state = ggml_add(ctx0, state, ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_diff)), ggml_cont(ctx0, ggml_transpose(ctx0, k_beta)))); - - // Equivalence to previous version: - // Previous: core_attn_out = sum_k(state * q) using elementwise mult + sum_rows - // Current: core_attn_out = state_t @ q using matrix multiplication - // These are equivalent because: sum_k(A * B) = A @ B when dimensions align - q = ggml_reshape_4d(ctx0, q, S_k, 1, H_k, n_seqs); - state_t = ggml_cont(ctx0, ggml_transpose(ctx0, state)); - ggml_tensor * core_attn_out = ggml_mul_mat(ctx0, state_t, q); - // core_attn_out should be [S_v, 1, H_v, n_seqs] after this - cb(core_attn_out, "output_tokens", il); - cb(state, "new_state", il); - - return {core_attn_out, state}; -} - - -/** - * Main entry point that dispatches to chunked or autoregressive based on n_tokens. - * - * Input tensor format matches qwen3next conventions: - * @param q Query tensor [S_k, H_k, n_tokens, n_seqs] - * @param k Key tensor [S_k, H_k, n_tokens, n_seqs] - * @param v Value tensor [S_v, H_v, n_tokens, n_seqs] - * @param g Gate tensor (GDA: [H_v, n_tokens, n_seqs], KDA: [S_k, H_v, n_tokens, n_seqs]) - * @param beta Beta tensor [H_v, 1, n_tokens, n_seqs] - * @param state State tensor [S_v, S_v * H_v, 1, n_seqs] - */ -std::pair llm_graph_context_delta::build_delta_net_unified( - ggml_context * ctx0, - ggml_tensor * q, - ggml_tensor * k, - ggml_tensor * v, - ggml_tensor * g, - ggml_tensor * beta, - ggml_tensor * state, - ggml_tensor * causal_mask, - ggml_tensor * identity, - ggml_tensor * diag_mask, - int il, - int64_t chunk_size, - float eps_norm) { - - // Input format: [S, H, n_tokens, n_seqs] (matching qwen3next convention) - const int64_t n_tokens = q->ne[2]; - - if (n_tokens == 1) { - return build_delta_net_unified_autoregressive( - ctx0, q, k, v, g, beta, state, il, eps_norm); - } - return build_delta_net_unified_chunking( - ctx0, q, k, v, g, beta, state, causal_mask, identity, diag_mask, - il, chunk_size, eps_norm); -} diff --git a/src/models/kimi-linear.cpp b/src/models/kimi-linear.cpp index d9ee698075..0f037d1a39 100644 --- a/src/models/kimi-linear.cpp +++ b/src/models/kimi-linear.cpp @@ -1,4 +1,5 @@ #include "models.h" +#include "ggml.h" #define CHUNK_SIZE 64 diff --git a/src/models/models.h b/src/models/models.h index 2a750c168e..cfcbb9aaa5 100644 --- a/src/models/models.h +++ b/src/models/models.h @@ -17,53 +17,6 @@ struct llm_graph_context_mamba : public llm_graph_context { }; -struct llm_graph_context_delta : public llm_graph_context_mamba { - llm_graph_context_delta(const llm_graph_params & params); - - virtual ~llm_graph_context_delta() = default; - - std::pair build_delta_net_unified_chunking( - ggml_context * ctx0, - ggml_tensor * q, - ggml_tensor * k, - ggml_tensor * v, - ggml_tensor * g, - ggml_tensor * beta, - ggml_tensor * state, - ggml_tensor * causal_mask, - ggml_tensor * identity, - ggml_tensor * diag_mask, - int il, - int64_t chunk_size, - float eps_norm); - - std::pair build_delta_net_unified_autoregressive( - ggml_context * ctx0, - ggml_tensor * q, - ggml_tensor * k, - ggml_tensor * v, - ggml_tensor * g, - ggml_tensor * beta, - ggml_tensor * state, - int il, - float eps_norm); - - std::pair build_delta_net_unified( - ggml_context * ctx0, - ggml_tensor * q, - ggml_tensor * k, - ggml_tensor * v, - ggml_tensor * g, - ggml_tensor * beta, - ggml_tensor * state, - ggml_tensor * causal_mask, - ggml_tensor * identity, - ggml_tensor * diag_mask, - int il, - int64_t chunk_size, - float eps_norm); -}; - // Base class for RWKV-related models struct llm_build_rwkv6_base : public llm_graph_context { const llama_model & model; @@ -523,7 +476,7 @@ struct llm_build_qwen3vl : public llm_graph_context { struct llm_build_qwen3vlmoe : public llm_graph_context { llm_build_qwen3vlmoe(const llama_model & model, const llm_graph_params & params); }; -struct llm_build_qwen3next : public llm_graph_context_delta { +struct llm_build_qwen3next : public llm_graph_context_mamba { llm_build_qwen3next(const llama_model & model, const llm_graph_params & params); private: ggml_tensor * build_layer_attn( @@ -581,59 +534,6 @@ private: const llama_model & model; }; -struct llm_build_qwen3_5 : public llm_graph_context_delta { - llm_build_qwen3_5(const llama_model & model, const llm_graph_params & params); - -protected: - // Tag type for subclass constructors that need to call build_graph() themselves - // (to ensure virtual dispatch works correctly) - struct defer_graph_build_t {}; - - llm_build_qwen3_5(const llama_model & model, const llm_graph_params & params, defer_graph_build_t); - - void build_graph(); - - virtual ggml_tensor * build_layer_ffn( - ggml_tensor * cur, - int il); - - const llama_model & model; - -private: - ggml_tensor * build_layer_attn( - llm_graph_input_attn_kv * inp_attn, - ggml_tensor * cur, - ggml_tensor * inp_pos, - int il); - - ggml_tensor * build_layer_attn_linear( - llm_graph_input_rs * inp, - ggml_tensor * cur, - ggml_tensor * causal_mask, - ggml_tensor * identity, - ggml_tensor * diag_mask, - int il); - - ggml_tensor * build_norm_gated( - ggml_tensor * input, - ggml_tensor * weights, - ggml_tensor * gate, - int layer); - - std::pair build_qkvz( - ggml_tensor * input, - int il); -}; - -struct llm_build_qwen3_5_moe : public llm_build_qwen3_5 { - llm_build_qwen3_5_moe(const llama_model & model, const llm_graph_params & params); - -protected: - ggml_tensor * build_layer_ffn( - ggml_tensor * cur, - int il) override; -}; - struct llm_build_qwen : public llm_graph_context { llm_build_qwen(const llama_model & model, const llm_graph_params & params); }; diff --git a/src/models/qwen3-5.cpp b/src/models/qwen3-5.cpp deleted file mode 100644 index 0947299d73..0000000000 --- a/src/models/qwen3-5.cpp +++ /dev/null @@ -1,421 +0,0 @@ -#include "models.h" - -#define CHUNK_SIZE 64 - -llm_build_qwen3_5::llm_build_qwen3_5(const llama_model & model, const llm_graph_params & params) : - llm_graph_context_delta(params), model(model) { - build_graph(); -} - -// virtual call in constructor fix -llm_build_qwen3_5::llm_build_qwen3_5(const llama_model & model, const llm_graph_params & params, defer_graph_build_t /*tag*/) : - llm_graph_context_delta(params), model(model) { -} - -void llm_build_qwen3_5::build_graph() { - ggml_tensor * cur; - ggml_tensor * inpL; - - inpL = build_inp_embd(model.tok_embd); - cb(inpL, "model.embed_tokens", -1); - - auto * inp = build_inp_mem_hybrid(); - - ggml_tensor * inp_pos = build_inp_pos(); - ggml_tensor * inp_out_ids = build_inp_out_ids(); - - ggml_tensor * causal_mask = - ggml_tri(ctx0, ggml_fill(ctx0, ggml_new_tensor_2d(ctx0, GGML_TYPE_F32, CHUNK_SIZE, CHUNK_SIZE), 1.0f), - GGML_TRI_TYPE_LOWER); - - ggml_tensor * identity = ggml_diag(ctx0, ggml_fill(ctx0, ggml_new_tensor_1d(ctx0, GGML_TYPE_F32, CHUNK_SIZE), 1.0f)); - ggml_tensor * diag_mask = ggml_add(ctx0, causal_mask, identity); - - ggml_build_forward_expand(gf, causal_mask); - ggml_build_forward_expand(gf, identity); - ggml_build_forward_expand(gf, diag_mask); - - for (int il = 0; il < n_layer; ++il) { - ggml_tensor * inpSA = inpL; - - cur = build_norm(inpL, model.layers[il].attn_norm, nullptr, LLM_NORM_RMS, il); - cb(cur, "attn_norm", il); - - if (hparams.is_recurrent(il)) { - cur = build_layer_attn_linear(inp->get_recr(), cur, causal_mask, identity, diag_mask, il); - } else { - cur = build_layer_attn(inp->get_attn(), cur, inp_pos, il); - } - - if (il == n_layer - 1 && inp_out_ids) { - cur = ggml_get_rows(ctx0, cur, inp_out_ids); - inpSA = ggml_get_rows(ctx0, inpSA, inp_out_ids); - } - - cur = ggml_add(ctx0, cur, inpSA); - cb(cur, "attn_residual", il); - - ggml_tensor * ffn_residual = cur; - - ggml_tensor * attn_post_norm = build_norm(cur, model.layers[il].attn_post_norm, nullptr, LLM_NORM_RMS, il); - cb(attn_post_norm, "attn_post_norm", il); - - cur = build_layer_ffn(attn_post_norm, il); - cb(cur, "ffn_out", il); - - cur = ggml_add(ctx0, cur, ffn_residual); - cb(cur, "post_ffn", il); - - inpL = cur; - } - cur = inpL; - - cur = build_norm(cur, model.output_norm, nullptr, LLM_NORM_RMS, -1); - - cb(cur, "result_norm", -1); - res->t_embd = cur; - - cur = build_lora_mm(model.output, cur); - - cb(cur, "result_output", -1); - res->t_logits = cur; - - ggml_build_forward_expand(gf, cur); -} - -ggml_tensor * llm_build_qwen3_5::build_norm_gated( - ggml_tensor * input, - ggml_tensor * weights, - ggml_tensor * gate, - int layer) { - ggml_tensor * normalized = build_norm(input, weights, nullptr, LLM_NORM_RMS, layer); - ggml_tensor * gated_silu = ggml_silu(ctx0, gate); - - return ggml_mul(ctx0, normalized, gated_silu); -} - -ggml_tensor * llm_build_qwen3_5::build_layer_attn( - llm_graph_input_attn_kv * inp, - ggml_tensor * cur, - ggml_tensor * inp_pos, - int il) { - const int64_t n_embd_head = hparams.n_embd_head_v; - GGML_ASSERT(n_embd_head == hparams.n_embd_head_k); - - ggml_tensor * Qcur_full = build_lora_mm(model.layers[il].wq, cur); // [ (n_embd_head * 2) * n_head, n_tokens ] - cb(Qcur_full, "Qcur_full", il); - - ggml_tensor * Qcur = ggml_view_3d(ctx0, Qcur_full, n_embd_head, n_head, n_tokens, - ggml_element_size(Qcur_full) * n_embd_head * 2, - ggml_element_size(Qcur_full) * n_embd_head * 2 * n_head, 0); - cb(Qcur, "Qcur_reshaped", il); - - Qcur = build_norm(Qcur, model.layers[il].attn_q_norm, nullptr, LLM_NORM_RMS, il); - cb(Qcur, "Qcur_normed", il); - - ggml_tensor * Kcur = build_lora_mm(model.layers[il].wk, cur); - cb(Kcur, "Kcur", il); - - ggml_tensor * Vcur = build_lora_mm(model.layers[il].wv, cur); - cb(Vcur, "Vcur", il); - - Kcur = ggml_reshape_3d(ctx0, Kcur, n_embd_head, n_head_kv, n_tokens); - Kcur = build_norm(Kcur, model.layers[il].attn_k_norm, nullptr, LLM_NORM_RMS, il); - cb(Kcur, "Kcur_normed", il); - - ggml_tensor * gate = ggml_view_3d(ctx0, Qcur_full, n_embd_head, n_head, n_tokens, - ggml_element_size(Qcur_full) * n_embd_head * 2, - ggml_element_size(Qcur_full) * n_embd_head * 2 * n_head, - ggml_element_size(Qcur_full) * n_embd_head); - gate = ggml_cont_2d(ctx0, gate, n_embd_head * n_head, n_tokens); - cb(gate, "gate_reshaped", il); - - Vcur = ggml_reshape_3d(ctx0, Vcur, n_embd_head, n_head_kv, n_tokens); - - Qcur = ggml_rope_ext( - ctx0, Qcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, - ext_factor, attn_factor, beta_fast, beta_slow); - - Kcur = ggml_rope_ext( - ctx0, Kcur, inp_pos, nullptr, - n_rot, rope_type, n_ctx_orig, freq_base, - freq_scale, ext_factor, attn_factor, beta_fast, beta_slow); - - cb(Qcur, "Qcur", il); - cb(Kcur, "Kcur", il); - cb(Vcur, "Vcur", il); - - const float kq_scale = hparams.f_attention_scale == 0.0f ? 1.0f / sqrtf(float(n_embd_head)) : hparams.f_attention_scale; - - cur = build_attn(inp, - nullptr, nullptr, - Qcur, Kcur, Vcur, nullptr, nullptr, nullptr, kq_scale, il); - cb(cur, "attn_pregate", il); - - ggml_tensor * gate_sigmoid = ggml_sigmoid(ctx0, gate); - cb(gate_sigmoid, "gate_sigmoid", il); - - cur = ggml_mul(ctx0, cur, gate_sigmoid); - cb(cur, "attn_gated", il); - - cur = build_lora_mm(model.layers[il].wo, cur); - cb(cur, "attn_output", il); - - return cur; -} - -std::pair llm_build_qwen3_5::build_qkvz( - ggml_tensor * input, - int il) { - const int64_t d_inner = hparams.ssm_d_inner; - const int64_t n_seqs = ubatch.n_seqs; - const int64_t head_k_dim = hparams.ssm_d_state; - const int64_t num_k_heads = hparams.ssm_n_group; - const int64_t num_v_heads = hparams.ssm_dt_rank; - const int64_t head_v_dim = d_inner / num_v_heads; - const int64_t n_seq_tokens = ubatch.n_seq_tokens; - - if (model.layers[il].wqkv) { - ggml_tensor * qkv_mixed = build_lora_mm(model.layers[il].wqkv, input); - qkv_mixed = ggml_reshape_3d(ctx0, qkv_mixed, qkv_mixed->ne[0], n_seq_tokens, n_seqs); - cb(qkv_mixed, "linear_attn_qkv_mixed", il); - - ggml_tensor * z = build_lora_mm(model.layers[il].wqkv_gate, input); - cb(z, "z", il); - - return { qkv_mixed, z }; - - } - // legacy path for combined in_proj_qkvz - ggml_tensor * mixed_qkvz = build_lora_mm(model.layers[il].ssm_in, input); - cb(mixed_qkvz, "linear_attn_mixed_qkvz", il); - - int64_t qkvz_new_dim = 2 * head_k_dim + 2 * head_v_dim * (num_v_heads / num_k_heads); - ggml_tensor * mixed_qkvz_reshaped = ggml_reshape_4d(ctx0, mixed_qkvz, qkvz_new_dim, num_k_heads, n_seq_tokens, n_seqs); - - int64_t split_sizes_qkvz[4] = { - head_k_dim, - head_k_dim, - head_v_dim * num_v_heads / num_k_heads, - head_v_dim * num_v_heads / num_k_heads - }; - - ggml_tensor * query = - ggml_view_4d(ctx0, mixed_qkvz_reshaped, split_sizes_qkvz[0], num_k_heads, n_seq_tokens, n_seqs, - mixed_qkvz_reshaped->nb[1], mixed_qkvz_reshaped->nb[2], mixed_qkvz_reshaped->nb[3], 0); - cb(query, "q", il); - - ggml_tensor * key = ggml_view_4d(ctx0, mixed_qkvz_reshaped, split_sizes_qkvz[1], num_k_heads, n_seq_tokens, n_seqs, - mixed_qkvz_reshaped->nb[1], mixed_qkvz_reshaped->nb[2], mixed_qkvz_reshaped->nb[3], - split_sizes_qkvz[0] * ggml_element_size(mixed_qkvz_reshaped)); - cb(key, "k", il); - - ggml_tensor * value = - ggml_view_4d(ctx0, mixed_qkvz_reshaped, split_sizes_qkvz[2], num_k_heads, n_seq_tokens, n_seqs, - mixed_qkvz_reshaped->nb[1], mixed_qkvz_reshaped->nb[2], mixed_qkvz_reshaped->nb[3], - (split_sizes_qkvz[0] + split_sizes_qkvz[1]) * ggml_element_size(mixed_qkvz_reshaped)); - cb(value, "v", il); - - ggml_tensor * z = ggml_view_4d(ctx0, mixed_qkvz_reshaped, split_sizes_qkvz[3], num_k_heads, n_seq_tokens, n_seqs, - mixed_qkvz_reshaped->nb[1], mixed_qkvz_reshaped->nb[2], mixed_qkvz_reshaped->nb[3], - (split_sizes_qkvz[0] + split_sizes_qkvz[1] + split_sizes_qkvz[2]) * ggml_element_size(mixed_qkvz_reshaped)); - z = ggml_cont(ctx0, z); - cb(z, "z", il); - - ggml_tensor * query_flat = ggml_reshape_3d(ctx0, query, head_k_dim * num_k_heads, n_seq_tokens, n_seqs); - cb(query_flat, "query_flat", il); - - ggml_tensor * key_flat = ggml_reshape_3d(ctx0, key, head_k_dim * num_k_heads, n_seq_tokens, n_seqs); - cb(key_flat, "key_flat", il); - - ggml_tensor * value_flat = ggml_reshape_3d(ctx0, value, head_v_dim * num_v_heads, n_seq_tokens, n_seqs); - cb(value_flat, "value_flat", il); - - ggml_tensor * qkv_mixed = ggml_concat(ctx0, query_flat, key_flat, 0); - qkv_mixed = ggml_concat(ctx0, qkv_mixed, value_flat, 0); - cb(qkv_mixed, "qkv_mixed", il); - - return { qkv_mixed, z }; -} - -ggml_tensor * llm_build_qwen3_5::build_layer_attn_linear( - llm_graph_input_rs * inp, - ggml_tensor * cur, - ggml_tensor * causal_mask, - ggml_tensor * identity, - ggml_tensor * diag_mask, - int il) { - const auto * mctx_cur = inp->mctx; - - const int64_t d_inner = hparams.ssm_d_inner; - const int64_t n_seqs = ubatch.n_seqs; - const int64_t head_k_dim = hparams.ssm_d_state; - const int64_t num_k_heads = hparams.ssm_n_group; - const int64_t num_v_heads = hparams.ssm_dt_rank; - const int64_t head_v_dim = d_inner / num_v_heads; - const int64_t n_seq_tokens = ubatch.n_seq_tokens; - - const auto kv_head = mctx_cur->get_head(); - - GGML_ASSERT(n_seqs != 0); - GGML_ASSERT(ubatch.equal_seqs()); - GGML_ASSERT(ubatch.n_tokens == n_seq_tokens * n_seqs); - - auto qkvz = build_qkvz(cur, il); - ggml_tensor * qkv_mixed = qkvz.first; - ggml_tensor * z = qkvz.second; - - ggml_tensor * mixed_ba = build_lora_mm(model.layers[il].ssm_beta_alpha, cur); - cb(mixed_ba, "linear_attn_mixed_ba", il); - - int64_t ba_new_dim = 2 * num_v_heads / num_k_heads; - ggml_tensor * mixed_ba_reshaped = ggml_reshape_4d(ctx0, mixed_ba, ba_new_dim, num_k_heads, n_seq_tokens, n_seqs); - - int64_t split_sizes_ba[2] = { - num_v_heads / num_k_heads, - num_v_heads / num_k_heads - }; - - ggml_tensor * b = ggml_view_4d(ctx0, mixed_ba_reshaped, split_sizes_ba[0], num_k_heads, n_seq_tokens, n_seqs, - mixed_ba_reshaped->nb[1], mixed_ba_reshaped->nb[2], mixed_ba_reshaped->nb[3], 0); - cb(b, "b", il); - - ggml_tensor * a = ggml_view_4d(ctx0, mixed_ba_reshaped, split_sizes_ba[1], num_k_heads, n_seq_tokens, n_seqs, - mixed_ba_reshaped->nb[1], mixed_ba_reshaped->nb[2], mixed_ba_reshaped->nb[3], - split_sizes_ba[0] * ggml_element_size(mixed_ba_reshaped)); - cb(a, "a", il); - - ggml_tensor * beta = ggml_cont_4d(ctx0, b, num_v_heads, 1, n_seq_tokens, n_seqs); - - ggml_tensor * alpha = ggml_cont_3d(ctx0, a, num_v_heads, n_seq_tokens, n_seqs); - - ggml_tensor * alpha_biased = ggml_add(ctx0, alpha, model.layers[il].ssm_dt); - ggml_tensor * alpha_softplus = ggml_softplus(ctx0, alpha_biased); - cb(alpha_softplus, "a_softplus", il); - ggml_tensor * gate = ggml_mul(ctx0, alpha_softplus, model.layers[il].ssm_a); - cb(gate, "gate", il); - - ggml_tensor * conv_states_all = mctx_cur->get_r_l(il); - ggml_tensor * ssm_states_all = mctx_cur->get_s_l(il); - - ggml_tensor * conv_states = build_rs(inp, conv_states_all, hparams.n_embd_r(), n_seqs); - cb(conv_states, "conv_states", il); - - ggml_tensor * conv_kernel = model.layers[il].ssm_conv1d; - const int64_t conv_kernel_size = conv_kernel->ne[0]; - const int64_t conv_channels = d_inner + 2 * hparams.ssm_n_group * hparams.ssm_d_state; - conv_states = ggml_reshape_3d(ctx0, conv_states, conv_kernel_size - 1, conv_channels, n_seqs); - cb(conv_states, "conv_states_reshaped", il); - - qkv_mixed = ggml_permute(ctx0, qkv_mixed, 1, 0, 2, 3); - cb(qkv_mixed, "qkv_mixed_permuted", il); - - ggml_tensor * conv_input = ggml_concat(ctx0, conv_states, qkv_mixed, 0); - cb(conv_input, "conv_input", il); - - ggml_tensor * last_conv_states = - ggml_view_3d(ctx0, conv_input, conv_kernel_size - 1, conv_channels, n_seqs, conv_input->nb[1], - conv_input->nb[2], (conv_input->ne[0] - conv_states->ne[0]) * ggml_element_size(conv_input)); - cb(last_conv_states, "last_conv_states", il); - - ggml_tensor * state_update_target = - ggml_view_1d(ctx0, conv_states_all, (conv_kernel_size - 1) * conv_channels * n_seqs, - kv_head * (conv_kernel_size - 1) * conv_channels * ggml_element_size(conv_states_all)); - cb(state_update_target, "state_update_target", il); - - ggml_build_forward_expand(gf, ggml_cpy(ctx0, last_conv_states, state_update_target)); - cb(conv_states_all, "conv_states_updated", il); - - ggml_tensor * conv_output_proper = ggml_ssm_conv(ctx0, conv_input, conv_kernel); - cb(conv_output_proper, "conv_output_raw", il); - - ggml_tensor * conv_output_silu = ggml_silu(ctx0, conv_output_proper); - cb(conv_output_silu, "conv_output_silu", il); - - ggml_tensor * conv_qkv_mix = conv_output_silu; - - int64_t qkv_dim = head_k_dim * num_k_heads * 2 + head_v_dim * num_v_heads; - int64_t nb1_qkv = ggml_row_size(conv_qkv_mix->type, qkv_dim); - - ggml_tensor * q_conv = - ggml_view_2d(ctx0, conv_qkv_mix, head_k_dim * num_k_heads, n_seq_tokens * n_seqs, nb1_qkv, 0); - cb(q_conv, "q_conv", il); - ggml_tensor * k_conv = - ggml_view_2d(ctx0, conv_qkv_mix, head_k_dim * num_k_heads, n_seq_tokens * n_seqs, nb1_qkv, - head_k_dim * num_k_heads * ggml_element_size(conv_qkv_mix)); - cb(k_conv, "k_conv", il); - ggml_tensor * v_conv = - ggml_view_2d(ctx0, conv_qkv_mix, head_v_dim * num_v_heads, n_seq_tokens * n_seqs, nb1_qkv, - 2 * head_k_dim * num_k_heads * ggml_element_size(conv_qkv_mix)); - cb(v_conv, "v_conv", il); - - q_conv = ggml_cont_4d(ctx0, q_conv, head_k_dim, num_k_heads, n_seq_tokens, n_seqs); - k_conv = ggml_cont_4d(ctx0, k_conv, head_k_dim, num_k_heads, n_seq_tokens, n_seqs); - v_conv = ggml_cont_4d(ctx0, v_conv, head_v_dim, num_v_heads, n_seq_tokens, n_seqs); - - ggml_tensor * state = build_rs(inp, ssm_states_all, hparams.n_embd_s(), n_seqs); - state = ggml_reshape_4d(ctx0, state, head_v_dim, head_v_dim, num_v_heads, n_seqs); - cb(state, "state_predelta", il); - - if (num_k_heads != num_v_heads) { - GGML_ASSERT(num_v_heads % num_k_heads == 0); - int64_t repeat_factor = num_v_heads / num_k_heads; - - ggml_tensor * q_reshaped = ggml_reshape_3d(ctx0, q_conv, head_k_dim, 1, num_k_heads * n_seq_tokens * n_seqs); - ggml_tensor * k_reshaped = ggml_reshape_3d(ctx0, k_conv, head_k_dim, 1, num_k_heads * n_seq_tokens * n_seqs); - - ggml_tensor * q_repeated = - ggml_repeat_4d(ctx0, q_reshaped, head_k_dim, repeat_factor, num_k_heads * n_seq_tokens * n_seqs, 1); - ggml_tensor * k_repeated = - ggml_repeat_4d(ctx0, k_reshaped, head_k_dim, repeat_factor, num_k_heads * n_seq_tokens * n_seqs, 1); - - q_conv = ggml_reshape_4d(ctx0, q_repeated, head_k_dim, num_k_heads * repeat_factor, n_seq_tokens, n_seqs); - k_conv = ggml_reshape_4d(ctx0, k_repeated, head_k_dim, num_k_heads * repeat_factor, n_seq_tokens, n_seqs); - } - - cb(q_conv, "q_conv_predelta", il); - cb(k_conv, "k_conv_predelta", il); - cb(v_conv, "v_conv_predelta", il); - - std::pair attn_out = build_delta_net_unified(ctx0, q_conv, k_conv, v_conv, - gate, beta, state, causal_mask, identity, diag_mask, - il, CHUNK_SIZE, hparams.f_norm_rms_eps); - - ggml_tensor * output = attn_out.first; - ggml_tensor * new_state = attn_out.second; - cb(output, "attn_output", il); - cb(new_state, "new_state", il); - - ggml_build_forward_expand(gf, - ggml_cpy(ctx0, new_state, - ggml_view_1d(ctx0, ssm_states_all, hparams.n_embd_s() * n_seqs, - kv_head * hparams.n_embd_s() * ggml_element_size(ssm_states_all)))); - - ggml_tensor * attn_out_2d_final = ggml_reshape_2d(ctx0, output, head_v_dim, num_v_heads * n_seq_tokens * n_seqs); - - ggml_tensor * z_2d = ggml_reshape_2d(ctx0, z, head_v_dim, num_v_heads * n_seq_tokens * n_seqs); - - ggml_tensor * attn_out_norm = build_norm_gated(attn_out_2d_final, model.layers[il].ssm_norm, z_2d, il); - - ggml_tensor * final_output = ggml_reshape_3d(ctx0, attn_out_norm, head_v_dim * num_v_heads, n_seq_tokens, n_seqs); - cb(final_output, "final_output", il); - - cur = build_lora_mm(model.layers[il].ssm_out, final_output); - cb(cur, "linear_attn_out", il); - - cur = ggml_cont_2d(ctx0, cur, n_embd, n_seq_tokens * n_seqs); - return cur; -} - -ggml_tensor * llm_build_qwen3_5::build_layer_ffn(ggml_tensor * cur, const int il) { - // Qwen3.5 Dense always uses dense FFN - cur = build_ffn(cur, - model.layers[il].ffn_up, NULL, NULL, - model.layers[il].ffn_gate, NULL, NULL, - model.layers[il].ffn_down, NULL, NULL, - NULL, - LLM_FFN_SILU, LLM_FFN_PAR, il); - cb(cur, "ffn_out", il); - return cur; -} diff --git a/src/models/qwen3-5moe.cpp b/src/models/qwen3-5moe.cpp deleted file mode 100644 index a488443218..0000000000 --- a/src/models/qwen3-5moe.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "models.h" - -llm_build_qwen3_5_moe::llm_build_qwen3_5_moe(const llama_model & model, const llm_graph_params & params) : - llm_build_qwen3_5(model, params, defer_graph_build_t{}) { - build_graph(); -} - -ggml_tensor * llm_build_qwen3_5_moe::build_layer_ffn(ggml_tensor * cur, const int il) { - // Check if this is an MoE layer - if (model.layers[il].ffn_gate_inp != nullptr) { - // MoE branch - ggml_tensor * moe_out = - build_moe_ffn(cur, - model.layers[il].ffn_gate_inp, model.layers[il].ffn_up_exps, - model.layers[il].ffn_gate_exps, model.layers[il].ffn_down_exps, - nullptr, - n_expert, n_expert_used, LLM_FFN_SILU, - true, false, 0.0, LLAMA_EXPERT_GATING_FUNC_TYPE_SOFTMAX, il); - cb(moe_out, "ffn_moe_out", il); - - // Add shared experts if present - if (model.layers[il].ffn_up_shexp != nullptr) { - ggml_tensor * ffn_shexp = - build_ffn(cur, - model.layers[il].ffn_up_shexp, NULL, NULL, - model.layers[il].ffn_gate_shexp, NULL, NULL, - model.layers[il].ffn_down_shexp, NULL, NULL, - NULL, - LLM_FFN_SILU, LLM_FFN_PAR, il); - cb(ffn_shexp, "ffn_shexp", il); - - // Apply shared expert gating (sigmoid) - ggml_tensor * shared_gate = build_lora_mm(model.layers[il].ffn_gate_inp_shexp, cur); - cb(shared_gate, "shared_expert_gate", il); - - shared_gate = ggml_sigmoid(ctx0, shared_gate); - cb(shared_gate, "shared_expert_gate_sigmoid", il); - - ffn_shexp = ggml_mul(ctx0, ffn_shexp, shared_gate); - cb(ffn_shexp, "ffn_shexp_gated", il); - - cur = ggml_add(ctx0, moe_out, ffn_shexp); - cb(cur, "ffn_out", il); - } else { - cur = moe_out; - } - } else { - // Dense FFN branch (fallback) - cur = llm_build_qwen3_5::build_layer_ffn(cur, il); - } - return cur; -} diff --git a/src/models/qwen3next.cpp b/src/models/qwen3next.cpp index 0335f5ab76..99b1a76a48 100644 --- a/src/models/qwen3next.cpp +++ b/src/models/qwen3next.cpp @@ -1,9 +1,10 @@ +#include "ggml.h" #include "models.h" #define CHUNK_SIZE 64 llm_build_qwen3next::llm_build_qwen3next(const llama_model & model, const llm_graph_params & params) : - llm_graph_context_delta(params), model(model) { + llm_graph_context_mamba(params), model(model) { ggml_tensor * cur; ggml_tensor * inpL; @@ -85,6 +86,362 @@ llm_build_qwen3next::llm_build_qwen3next(const llama_model & model, const llm_gr ggml_build_forward_expand(gf, cur); } +// utility to get one slice from the third dimension +// input dim: [x, y, c, b] +// output dim: [x, y, 1, b] +static ggml_tensor * get_slice_2d(ggml_context * ctx0, ggml_tensor * t, int64_t c) { + return ggml_view_4d(ctx0, t, t->ne[0], t->ne[1], 1, t->ne[3], + t->nb[1], t->nb[2], t->nb[3], t->nb[2] * c); +} + +std::pair llm_build_qwen3next::build_delta_net_chunking( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + ggml_tensor * causal_mask, + ggml_tensor * identity, + ggml_tensor * diag_mask, + int il) { + const int64_t S_k = q->ne[0]; + const int64_t H_k = q->ne[1]; + const int64_t n_tokens = q->ne[2]; + const int64_t n_seqs = q->ne[3]; + + const int64_t S_v = v->ne[0]; + const int64_t H_v = v->ne[1]; + + GGML_ASSERT(v->ne[2] == n_tokens); + GGML_ASSERT(k->ne[2] == n_tokens); + GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs); + GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs); + GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v * H_v && state->ne[2] == 1 && state->ne[3] == n_seqs); + + GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs); + GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs); + + GGML_ASSERT(H_k == H_v); // we did a repeat to make sure this is the case + + const float eps_norm = hparams.f_norm_rms_eps; + + q = ggml_l2_norm(ctx0, q, eps_norm); + k = ggml_l2_norm(ctx0, k, eps_norm); + + const float scale = 1.0f / sqrtf(S_v); + + q = ggml_scale(ctx0, q, scale); + + beta = ggml_sigmoid(ctx0, beta); + + cb(q, "q_in", il); + cb(k, "k_in", il); + cb(v, "v_in", il); + cb(beta, "beta_in", il); + cb(g, "g_in", il); + + q = ggml_cont_4d(ctx0, ggml_permute(ctx0, q, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); + k = ggml_cont_4d(ctx0, ggml_permute(ctx0, k, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); + v = ggml_cont_4d(ctx0, ggml_permute(ctx0, v, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); + g = ggml_cont_4d(ctx0, ggml_permute(ctx0, g, 2, 0, 3, 1), n_tokens, 1, H_k, n_seqs); + + beta = ggml_cont(ctx0, ggml_permute(ctx0, beta, 2, 0, 1, 3)); + state = ggml_reshape_4d(ctx0, state, S_v, S_v, H_v, n_seqs); + + cb(q, "q_perm", il); + cb(k, "k_perm", il); + cb(v, "v_perm", il); + cb(beta, "beta_perm", il); + cb(g, "g_perm", il); + cb(state, "state_in", il); + + GGML_ASSERT(q->ne[1] == n_tokens && q->ne[0] == S_k && q->ne[2] == H_k && q->ne[3] == n_seqs); + GGML_ASSERT(k->ne[1] == n_tokens && k->ne[0] == S_k && k->ne[2] == H_k && k->ne[3] == n_seqs); + GGML_ASSERT(v->ne[1] == n_tokens && v->ne[0] == S_v && v->ne[2] == H_k && v->ne[3] == n_seqs); + GGML_ASSERT(beta->ne[1] == n_tokens && beta->ne[2] == H_k && beta->ne[0] == 1 && beta->ne[3] == n_seqs); + + // Do padding + const int64_t chunk_size = CHUNK_SIZE; + + const int64_t pad = (chunk_size - n_tokens % chunk_size) % chunk_size; + const int64_t n_chunks = (n_tokens + pad) / chunk_size; + + q = ggml_pad(ctx0, q, 0, pad, 0, 0); + k = ggml_pad(ctx0, k, 0, pad, 0, 0); + v = ggml_pad(ctx0, v, 0, pad, 0, 0); + g = ggml_pad(ctx0, g, pad, 0, 0, 0); + beta = ggml_pad(ctx0, beta, 0, pad, 0, 0); + + cb(q, "q_pad", il); + cb(k, "k_pad", il); + cb(v, "v_pad", il); + cb(beta, "beta_pad", il); + cb(g, "g_pad", il); + + ggml_tensor * v_beta = ggml_mul(ctx0, v, beta); + ggml_tensor * k_beta = ggml_mul(ctx0, k, beta); + + cb(v_beta, "v_beta", il); + cb(k_beta, "k_beta", il); + + q = ggml_reshape_4d(ctx0, q, S_k, chunk_size, n_chunks, H_k * n_seqs); + k = ggml_reshape_4d(ctx0, k, S_k, chunk_size, n_chunks, H_k * n_seqs); + k_beta = ggml_reshape_4d(ctx0, k_beta, S_k, chunk_size, n_chunks, H_k * n_seqs); + v = ggml_reshape_4d(ctx0, v, S_v, chunk_size, n_chunks, H_v * n_seqs); + v_beta = ggml_reshape_4d(ctx0, v_beta, S_v, chunk_size, n_chunks, H_v * n_seqs); + + g = ggml_reshape_4d(ctx0, g, chunk_size, 1, n_chunks, H_k * n_seqs); + beta = ggml_reshape_4d(ctx0, beta, 1, chunk_size, n_chunks, H_k * n_seqs); + + ggml_tensor * g_cumsum = ggml_cumsum(ctx0, g); + cb(g_cumsum, "g_cumsum", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * gcs_i = g_cumsum; // ggml_reshape_4d(ctx0, g_cumsum, chunk_size, 1, n_chunks, H_v * n_seqs); + ggml_tensor * gcs_j = ggml_reshape_4d(ctx0, g_cumsum, 1, chunk_size, n_chunks, H_v * n_seqs); + + ggml_tensor * gcs_j_broadcast = + ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, n_chunks, H_v * n_seqs); + + ggml_tensor * decay_mask = ggml_sub(ctx0, gcs_j_broadcast, gcs_i); + cb(decay_mask, "decay_mask", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); + decay_mask = ggml_exp(ctx0, decay_mask); + decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); + + ggml_tensor * kmulkbeta = ggml_mul_mat(ctx0, k, k_beta); + + ggml_tensor * k_decay = ggml_mul(ctx0, kmulkbeta, decay_mask); + ggml_tensor * attn = ggml_neg(ctx0, ggml_mul(ctx0, k_decay, causal_mask)); + cb(attn, "attn_pre_solve", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * attn_lower = ggml_mul(ctx0, attn, causal_mask); + ggml_tensor * lhs = ggml_sub(ctx0, ggml_repeat(ctx0, identity, attn_lower), attn_lower); + + ggml_tensor * lin_solve = ggml_solve_tri(ctx0, lhs, attn, true, true, false); + attn = ggml_mul(ctx0, lin_solve, causal_mask); + attn = ggml_add(ctx0, attn, identity); + cb(attn, "attn_solved", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + v = ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_beta)), attn); + + ggml_tensor * g_cumsum_t = ggml_cont(ctx0, ggml_transpose(ctx0, g_cumsum)); + ggml_tensor * gexp = ggml_exp(ctx0, g_cumsum_t); + + ggml_tensor * kbeta_gexp = ggml_mul(ctx0, k_beta, gexp); + cb(kbeta_gexp, "kbeta_gexp", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * k_cumdecay = + ggml_cont(ctx0, ggml_transpose(ctx0, ggml_mul_mat(ctx0, attn, ggml_cont(ctx0, ggml_transpose(ctx0, kbeta_gexp))))); + cb(k_cumdecay, "k_cumdecay", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * attn_kq = ggml_mul_mat(ctx0, k, q); + attn_kq = ggml_mul(ctx0, attn_kq, decay_mask); + attn_kq = ggml_mul(ctx0, attn_kq, diag_mask); + cb(attn_kq, "attn_kq", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + + // vectorized calculation of key_gdiff + // improved from the chunked version: + // g_last = torch.clamp(g_cum[:, :, -1], max=50.0).exp().unsqueeze(-1).unsqueeze(-1) + // g_diff = torch.clamp(g_cum[:, :, -1:] - g_cum, max=50.0).exp() + // key_gdiff = key * g_diff.unsqueeze(-1) + // kgdmulvnew = (key_gdiff).transpose(-1, -2) @ v_new + // last_recurrent_state = last_recurrent_state * g_last + kgdmulvnew + + // get last element in g_cumsum along chunk_size dimension (ne0) + // example: [[x, y, z, ..., last], ...] -> [[last], ...] + ggml_tensor * g_last = ggml_view_4d(ctx0, g_cumsum, 1, 1, g_cumsum->ne[2], g_cumsum->ne[3], + g_cumsum->nb[1], g_cumsum->nb[2], g_cumsum->nb[3], + (g_cumsum->ne[0] - 1) * ggml_element_size(g_cumsum)); + g_last = ggml_cont(ctx0, g_last); + cb(g_last, "g_last", il); // shape: (1, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * g_last_exp = ggml_exp(ctx0, g_last); + cb(g_last_exp, "g_last_exp", il); // shape: (1, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * g_diff = ggml_neg(ctx0, ggml_sub(ctx0, g_cumsum, g_last)); + cb(g_diff, "g_diff", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * g_diff_exp = ggml_exp(ctx0, g_diff); + ggml_tensor * g_diff_exp_t = ggml_reshape_4d(ctx0, g_diff_exp, + 1, chunk_size, n_chunks, g_diff_exp->ne[3]); + + ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp_t); + cb(key_gdiff, "key_gdiff", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * key_gdiff_t = ggml_cont(ctx0, ggml_transpose(ctx0, key_gdiff)); + cb(key_gdiff_t, "key_gdiff_t", il); // shape: (chunk_size, S_k, n_chunks, H_v * n_seqs) + + + // state to be updated per chunk + ggml_tensor * new_state = state; // ggml_dup(ctx0, state); + cb(new_state, "new_state", il); // shape: (S_v, S_v, H_v, n_seqs) + + // shape after loop of chunks: (S_v, chunk_size, n_chunks, H_v * n_seqs) + ggml_tensor * core_attn_out = nullptr; + + for (int64_t chunk = 0; chunk < n_chunks; chunk++) { + // shape: (S_k, chunk_size, 1, H_k * n_seqs) + ggml_tensor * q_chunk = get_slice_2d(ctx0, q, chunk); // (no cont), next op: ggml_mul + + // shape: (S_v, chunk_size, 1, H_v * n_seqs) + ggml_tensor * v_chunk = get_slice_2d(ctx0, v, chunk); // (no cont), next op: ggml_repeat + + // shape: (chunk_size, 1, n_chunks, H_v * n_seqs) + ggml_tensor * gexp_chunk = get_slice_2d(ctx0, gexp, chunk); // (no cont), next op: ggml_mul + + // shape: (chunk_size, 1, H_v * n_seqs) + ggml_tensor * k_cumdecay_chunk = get_slice_2d(ctx0, k_cumdecay, chunk); // (no cont), next op: ggml_mul_mat + + // attn = (q_i @ k_i.transpose(-1, -2) * decay_mask[:, :, i]).masked_fill_(mask, 0) + // replaced by precomputed attn_kq + ggml_tensor * attn_chunk = get_slice_2d(ctx0, attn_kq, chunk); + cb(attn_chunk, "attn_chunk", il); + + ggml_tensor * state_t = ggml_cont_4d(ctx0, ggml_permute(ctx0, new_state, 1, 0, 2, 3), S_v, S_v, 1, H_v * n_seqs); + + // v_prime = (k_cumdecay[:, :, i]) @ last_recurrent_state + ggml_tensor * v_prime = ggml_mul_mat(ctx0, state_t, k_cumdecay_chunk); + cb(v_prime, "v_prime_chunk", il); // shape: (S_v, 1, H_v * n_seqs) + + // v_new = v_i - v_prime + ggml_tensor * v_new = ggml_sub(ctx0, ggml_repeat(ctx0, v_chunk, v_prime), v_prime); + ggml_tensor * v_new_t = ggml_cont(ctx0, ggml_transpose(ctx0, v_new)); + cb(v_new, "v_new_chunk", il); + + // attn_inter = (q_i * g[:, :, i, :, None].exp()) @ last_recurrent_state + ggml_tensor * q_g_exp = ggml_mul(ctx0, q_chunk, gexp_chunk); + ggml_tensor * attn_inter = ggml_mul_mat(ctx0, state_t, q_g_exp); + cb(attn_inter, "attn_inter_chunk", il); + + // core_attn_out[:, :, i] = attn_inter + attn @ v_new + ggml_tensor * v_attn = ggml_mul_mat(ctx0, v_new_t, attn_chunk); + cb(v_attn, "v_attn_chunk", il); + + ggml_tensor * core_attn_out_chunk = ggml_add(ctx0, attn_inter, v_attn); + cb(core_attn_out_chunk, "core_attn_out_chunk", il); // shape: (S_v, chunk_size, 1, H_v * n_seqs) + + core_attn_out = core_attn_out == nullptr + ? core_attn_out_chunk + : ggml_concat(ctx0, core_attn_out, core_attn_out_chunk, 2); + + // kgdmulvnew = (key_gdiff).transpose(-1, -2) @ v_new + ggml_tensor * k_gdiff_t = get_slice_2d(ctx0, key_gdiff_t, chunk); + //ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, k_gdiff, v_new); // this is slower on metal, why? + ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, v_new_t, k_gdiff_t); + + // last_recurrent_state = last_recurrent_state * g_last + kgdmulvnew + ggml_tensor * gexp_last_chunk = ggml_cont(ctx0, get_slice_2d(ctx0, g_last_exp, chunk)); + new_state = ggml_add(ctx0, + ggml_mul(ctx0, new_state, ggml_reshape_4d(ctx0, gexp_last_chunk, gexp_last_chunk->ne[0], gexp_last_chunk->ne[1], H_v, n_seqs)), + ggml_reshape_4d(ctx0, kgdmulvnew, kgdmulvnew->ne[0], kgdmulvnew->ne[1], H_v, n_seqs)); + } + + // truncate padded tokens + ggml_tensor * output_tokens = ggml_view_4d(ctx0, core_attn_out, + S_v, n_tokens, H_v, n_seqs, + ggml_row_size(core_attn_out->type, S_v), + ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks), + ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks * H_v), 0); + output_tokens = ggml_cont(ctx0, output_tokens); + cb(output_tokens, "output_tokens", il); + + // permute back to (S_v, H_v, n_tokens, n_seqs) + output_tokens = ggml_permute(ctx0, output_tokens, 0, 2, 1, 3); + output_tokens = ggml_cont(ctx0, output_tokens); + + return {output_tokens, new_state}; +} + +std::pair llm_build_qwen3next::build_delta_net_autoregressive( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + int il) { + const int64_t S_k = q->ne[0]; + const int64_t H_k = q->ne[1]; + const int64_t n_tokens = q->ne[2]; + const int64_t n_seqs = q->ne[3]; + + const int64_t S_v = v->ne[0]; + const int64_t H_v = v->ne[1]; + + GGML_ASSERT(n_tokens == 1); // This function is optimized for single token processing + GGML_ASSERT(v->ne[2] == n_tokens); + GGML_ASSERT(k->ne[2] == n_tokens); + GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs); + GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs); + GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v * H_v && state->ne[2] == 1 && state->ne[3] == n_seqs); + + GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs); + GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs); + + GGML_ASSERT(H_k == H_v); // we did a repeat to make sure this is the case + + const float eps_norm = hparams.f_norm_rms_eps; + + q = ggml_l2_norm(ctx0, q, eps_norm); + k = ggml_l2_norm(ctx0, k, eps_norm); + + const float scale = 1.0f / sqrtf(S_v); + + q = ggml_scale(ctx0, q, scale); + beta = ggml_sigmoid(ctx0, beta); + + cb(q, "q_in", il); + cb(k, "k_in", il); + cb(v, "v_in", il); + cb(beta, "beta_in", il); + cb(g, "g_in", il); + + state = ggml_reshape_4d(ctx0, state, S_v, S_v, H_v, n_seqs); + + ggml_tensor * g_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, g), 1, 1, H_k, n_seqs); + ggml_tensor * beta_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, beta), 1, 1, H_k, n_seqs); + + // Apply exponential to g_t + g_t = ggml_exp(ctx0, g_t); + + // Apply the gated delta rule for the single timestep + // last_recurrent_state = last_recurrent_state * g_t + state = ggml_mul(ctx0, state, g_t); + + // kv_mem = (last_recurrent_state * k_t.unsqueeze(-1)).sum(dim=-2) + ggml_tensor * k_t_unsqueezed = ggml_reshape_4d(ctx0, k, 1, S_v, H_v, n_seqs); + ggml_tensor * kv_mem = ggml_mul(ctx0, state, k_t_unsqueezed); + // we need to sum over dim=-2, so we transpose, sum, then transpose again + kv_mem = ggml_transpose(ctx0, ggml_sum_rows(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, kv_mem)))); + + // v_t = v.unsqueeze(2) (we insert the singleton dimension after n_seqs and H_v) + ggml_tensor * v_t = ggml_reshape_4d(ctx0, v, S_v, 1, H_v, n_seqs); + // delta = (v_t - kv_mem) * beta_t + ggml_tensor * v_diff = ggml_sub(ctx0, v_t, kv_mem); // both should be [S_v, 1, H_v, n_seqs] + ggml_tensor * delta = ggml_mul(ctx0, v_diff, beta_t); + + // last_recurrent_state = last_recurrent_state + k_t.unsqueeze(-1) * delta + ggml_tensor * k_t_delta = ggml_mul(ctx0, ggml_repeat_4d(ctx0, k_t_unsqueezed, S_v, S_v, H_v, n_seqs), delta); + state = ggml_add(ctx0, state, k_t_delta); + + // Compute the attention output + // core_attn_out = (last_recurrent_state * q_t.unsqueeze(-1)).sum(dim=-2) + ggml_tensor * q_t_unsqueezed = ggml_reshape_4d(ctx0, q, 1, S_v, H_v, n_seqs); // unsqueeze q_t + ggml_tensor * state_q = ggml_mul(ctx0, state, q_t_unsqueezed); + // again, since it's over dim = -2, transpose, sum, transpose back + ggml_tensor * core_attn_out = + ggml_transpose(ctx0, ggml_sum_rows(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, state_q)))); + + // core_attn_out should be [S_v, 1, H_v, n_seqs] after this + cb(core_attn_out, "output_tokens", il); + cb(state, "new_state", il); + + return {core_attn_out, state}; +} + ggml_tensor * llm_build_qwen3next::build_norm_gated( ggml_tensor * input, ggml_tensor * weights, @@ -395,7 +752,7 @@ ggml_tensor * llm_build_qwen3next::build_layer_attn_linear( v_conv = ggml_cont_4d(ctx0, v_conv, head_v_dim, num_v_heads, n_seq_tokens, n_seqs); ggml_tensor * state = build_rs(inp, ssm_states_all, hparams.n_embd_s(), n_seqs); - state = ggml_reshape_4d(ctx0, state, head_v_dim, head_v_dim, num_v_heads, n_seqs); + state = ggml_reshape_4d(ctx0, state, head_v_dim, head_v_dim * num_v_heads, 1, n_seqs); cb(state, "state_predelta", il); // if head keys and value keys are different, repeat to force tensors into matching shapes @@ -424,10 +781,13 @@ ggml_tensor * llm_build_qwen3next::build_layer_attn_linear( cb(k_conv, "k_conv_predelta", il); cb(v_conv, "v_conv_predelta", il); - std::pair attn_out = build_delta_net_unified(ctx0, q_conv, k_conv, v_conv, - gate, beta, state, causal_mask, identity, diag_mask, - il, CHUNK_SIZE, hparams.f_norm_rms_eps); - + // Choose between build_delta_net_chunking, build_delta_net_recurrent, and build_delta_net_autoregressive based on n_tokens + std::pair attn_out; // pair of (output, new_state) + if (n_seq_tokens == 1) { + attn_out = build_delta_net_autoregressive(q_conv, k_conv, v_conv, gate, beta, state, il); + } else { + attn_out = build_delta_net_chunking(q_conv, k_conv, v_conv, gate, beta, state, causal_mask, identity, diag_mask, il); + } ggml_tensor * output = attn_out.first; ggml_tensor * new_state = attn_out.second; cb(output, "attn_output", il); From 81ddc60cb3b980a4503a9a0177b079dfa562c60e Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 9 Feb 2026 15:09:30 +0200 Subject: [PATCH 161/206] ci : add metal server workflows (#19293) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ci : add metal server workflows * cont : try fix python init * cont : move to a separate workflow that runs only on master * cont : fix num jobs Co-authored-by: Sigbjørn Skjæret --------- Co-authored-by: Sigbjørn Skjæret --- .github/workflows/server-metal.yml | 73 ++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 .github/workflows/server-metal.yml diff --git a/.github/workflows/server-metal.yml b/.github/workflows/server-metal.yml new file mode 100644 index 0000000000..1d707bef44 --- /dev/null +++ b/.github/workflows/server-metal.yml @@ -0,0 +1,73 @@ +name: Server-Metal + +on: + workflow_dispatch: # allows manual triggering + inputs: + sha: + description: 'Commit SHA1 to build' + required: false + type: string + slow_tests: + description: 'Run slow tests' + required: true + type: boolean + push: + branches: + - master + paths: ['.github/workflows/server-metal.yml', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', 'tools/server/**.*'] + +env: + LLAMA_LOG_COLORS: 1 + LLAMA_LOG_PREFIX: 1 + LLAMA_LOG_TIMESTAMPS: 1 + LLAMA_LOG_VERBOSITY: 10 + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + server-metal: + runs-on: [self-hosted, macOS, ARM64] + + name: server-metal (${{ matrix.wf_name }}) + strategy: + matrix: + build_type: [Release] + wf_name: ["GPUx1"] + include: + - build_type: Release + extra_args: "LLAMA_ARG_BACKEND_SAMPLING=1" + wf_name: "GPUx1, backend-sampling" + - build_type: Release + extra_args: "GGML_METAL_DEVICES=2" + wf_name: "GPUx2" + - build_type: Release + extra_args: "GGML_METAL_DEVICES=2 LLAMA_ARG_BACKEND_SAMPLING=1" + wf_name: "GPUx2, backend-sampling" + fail-fast: false + + steps: + - name: Clone + id: checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} + + - name: Build + id: cmake_build + run: | + cmake -B build -DGGML_SCHED_NO_REALLOC=ON + cmake --build build --config ${{ matrix.build_type }} -j $(sysctl -n hw.logicalcpu) --target llama-server + + - name: Tests + id: server_integration_tests + if: ${{ (!matrix.disabled_on_pr || !github.event.pull_request) }} + run: | + cd tools/server/tests + python3 -m venv venv + source venv/bin/activate + pip install -r requirements.txt + export ${{ matrix.extra_args }} + pytest -v -x -m "not slow" From 292f6908cdc6abb5c38581e34fa141973e5aba82 Mon Sep 17 00:00:00 2001 From: Sascha Rogmann <59577610+srogmann@users.noreply.github.com> Date: Mon, 9 Feb 2026 14:30:50 +0100 Subject: [PATCH 162/206] spec : remove check rate (#19377) * spec: remove parameter spec-ngram-check-rate * spec : renamed statistics vars * spec : add n_call_begin, n_call_accept * spec : don't enable key-map-stats --- common/arg.cpp | 10 ------- common/common.h | 1 - common/ngram-map.cpp | 7 ++--- common/ngram-map.h | 8 ++---- common/speculative.cpp | 55 ++++++++++++++++-------------------- docs/speculative.md | 13 ++++----- tools/server/server-task.cpp | 4 --- 7 files changed, 36 insertions(+), 62 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 5fbc9022c0..9c85696ebd 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -3437,16 +3437,6 @@ common_params_context common_params_parser_init(common_params & params, llama_ex params.speculative.ngram_size_m = value; } ).set_examples({LLAMA_EXAMPLE_SERVER})); - add_opt(common_arg( - {"--spec-ngram-check-rate"}, "N", - string_format("ngram check rate for ngram-simple/ngram-map speculative decoding (default: %d)", params.speculative.ngram_check_rate), - [](common_params & params, int value) { - if (value < 1) { - throw std::invalid_argument("ngram check rate must be at least 1"); - } - params.speculative.ngram_check_rate = value; - } - ).set_examples({LLAMA_EXAMPLE_SERVER})); add_opt(common_arg( {"--spec-ngram-min-hits"}, "N", string_format("minimum hits for ngram-map speculative decoding (default: %d)", params.speculative.ngram_min_hits), diff --git a/common/common.h b/common/common.h index 398ebb0960..b284244530 100644 --- a/common/common.h +++ b/common/common.h @@ -269,7 +269,6 @@ struct common_params_speculative { uint16_t ngram_size_n = 12; // ngram size for lookup uint16_t ngram_size_m = 48; // mgram size for speculative tokens - uint16_t ngram_check_rate = 1; // check rate for ngram lookup uint16_t ngram_min_hits = 1; // minimum hits at ngram/mgram lookup for mgram to be proposed std::shared_ptr ngram_mod; diff --git a/common/ngram-map.cpp b/common/ngram-map.cpp index c5b8fc75ed..2b876a6e99 100644 --- a/common/ngram-map.cpp +++ b/common/ngram-map.cpp @@ -231,10 +231,9 @@ void common_ngram_map_draft(common_ngram_map & map, GGML_ABORT("%s: cur_len exceeds UINT32_MAX: %zu", __func__, cur_len); } - // Only check every check_rate tokens to save compute - // i.e., perform check if (cur_len - idx_last_check) >= check_rate - if (map.idx_last_check + map.check_rate > cur_len) { - return; + if (map.idx_last_check > cur_len) { + // Should not happen because of common_ngram_map_begin(). + GGML_ABORT("%s: map.idx_last_check > cur_len: %zu > %zu", __func__, map.idx_last_check, cur_len); } map.idx_last_check = cur_len; diff --git a/common/ngram-map.h b/common/ngram-map.h index 9668bd5a7c..41b9530449 100644 --- a/common/ngram-map.h +++ b/common/ngram-map.h @@ -24,7 +24,6 @@ struct common_ngram_simple_config { uint16_t size_ngram; // size of n-grams to lookup in self-mode uint16_t size_mgram; // size of m-grams to draft in self-mode - uint16_t check_rate; // check for speculative decoding without draft model for each check_rate token }; // Searches for a n-gram in the history and checks whether a draft sequence should be generated. @@ -66,15 +65,14 @@ struct common_ngram_map { bool key_only; // true if only key n-grams are used, no values. std::vector keys; // key n-grams which occur several times in token-history - uint16_t check_rate; // check for speculative decoding without draft model for each check_rate token uint16_t min_hits; // minimum number of key hits to consider a draft - bool show_key_map_stats = false; // true, if statitics of the key_map should be printed. + bool show_key_map_stats = false; // true, if statistics of the key_map should be printed. common_ngram_map(uint16_t sz_key, uint16_t sz_value, bool only_keys, - uint16_t check_rate, uint16_t min_hits) + uint16_t min_hits) : size_key(sz_key), size_value(sz_value), key_only(only_keys), - check_rate(check_rate), min_hits(min_hits) { + min_hits(min_hits) { key_map.resize(COMMON_NGRAM_HASH_MAP_SIZE); // 2^18 hash entries, 0 entries if key_map shouldn't be used } diff --git a/common/speculative.cpp b/common/speculative.cpp index 84d2556ceb..3e68c38e49 100644 --- a/common/speculative.cpp +++ b/common/speculative.cpp @@ -113,13 +113,14 @@ static bool common_speculative_are_compatible( struct common_speculative_state { const enum common_speculative_type type; - // TODO: rename to n_call_draft, n_gen_drafts, n_acc_drafts, n_gen_tokens, n_acc_tokens - // TODO: add n_call_begin, n_call_accept - size_t drafts_call_count = 0; // number of times this implementation was called. - size_t drafts_generated_count = 0; // number of times a draft or part was generated by this implementation. - size_t drafts_accepted_count = 0; // number of times a draft or part was accepted by the target model. - size_t drafts_generated_tokens = 0; // number of tokens generated by this implementation. - size_t drafts_accepted_tokens = 0; // number of tokens accepted by the target model. + size_t n_call_begin = 0; // number of times this implementation was called for refresh. + size_t n_call_draft = 0; // number of times this implementation was called for generation. + size_t n_call_accept = 0; // number of times this implementation was called for accumulation. + + size_t n_gen_drafts = 0; // number of times a draft or part was generated by this implementation. + size_t n_acc_drafts = 0; // number of times a draft or part was accepted by the target model. + size_t n_gen_tokens = 0; // number of tokens generated by this implementation. + size_t n_acc_tokens = 0; // number of tokens accepted by the target model. // TODO: track performance of most recent calls const bool gen_perf = true; // whether to generate performance stats. @@ -465,8 +466,6 @@ struct common_speculative_state_eagle3 : public common_speculative_state { struct common_speculative_state_ngram_simple : public common_speculative_state { common_ngram_simple_config config; - uint16_t check_id = 0; // used to control the frequency of generating drafts - common_speculative_state_ngram_simple( enum common_speculative_type type, common_ngram_simple_config config) @@ -481,11 +480,6 @@ struct common_speculative_state_ngram_simple : public common_speculative_state { const llama_tokens & prompt_tgt, llama_token id_last, llama_tokens & result) override { - ++check_id; - if (check_id < config.check_rate) { - return; - } - check_id = 0; result = common_ngram_simple_draft(config, prompt_tgt, id_last); GGML_UNUSED(params); @@ -752,10 +746,9 @@ static common_ngram_map get_common_ngram_map(const common_speculative_config & c uint16_t size_key = config.params.ngram_size_n; uint16_t size_value = config.params.ngram_size_m; bool key_only = (config.type == COMMON_SPECULATIVE_TYPE_NGRAM_MAP_K); - uint16_t check_rate = config.params.ngram_check_rate; uint16_t min_hits = config.params.ngram_min_hits; - return common_ngram_map(size_key, size_value, key_only, check_rate, min_hits); + return common_ngram_map(size_key, size_value, key_only, min_hits); } static common_speculative_state_ngram_cache create_state_ngram_cache( @@ -931,12 +924,10 @@ common_speculative * common_speculative_init( uint16_t ngram_size_key = ngram_map.size_key; uint16_t mgram_size_value = ngram_map.size_value; - uint16_t check_rate = ngram_map.check_rate; auto config_simple = common_ngram_simple_config { /* .size_ngram = */ ngram_size_key, - /* .size_mgram = */ mgram_size_value, - /* .check_rate = */ check_rate + /* .size_mgram = */ mgram_size_value }; auto state = std::make_unique( /* .type = */ config.type, @@ -997,6 +988,7 @@ void common_speculative_begin(common_speculative * spec, const llama_tokens & pr for (auto & impl : spec->impls) { common_time_meas tm(impl->t_begin_us, !impl->gen_perf); impl->begin(prompt); + impl->n_call_begin++; } } @@ -1013,17 +1005,17 @@ llama_tokens common_speculative_draft( { common_time_meas tm(impl->t_draft_us, !impl->gen_perf); impl->draft(params, prompt_tgt, id_last, result); - impl->drafts_call_count++; + impl->n_call_draft++; } if (!result.empty()) { LOG_DBG("%s: called impl %s, hist size = %zu, call_count = %zu, gen = %zu\n", __func__, common_speculative_type_to_str(impl.get()->type).c_str(), prompt_tgt.size(), - impl.get()->drafts_call_count, result.size()); + impl.get()->n_call_draft, result.size()); spec->curr_impl = impl.get(); // set current implementation for stats - impl->drafts_generated_count++; - impl->drafts_generated_tokens += result.size(); + impl->n_gen_drafts++; + impl->n_gen_tokens += result.size(); break; // We have a draft, so break out of the loop and return it. } @@ -1044,11 +1036,12 @@ void common_speculative_accept(common_speculative * spec, uint16_t n_accepted) { { common_time_meas tm(impl->t_accept_us, !impl->gen_perf); if (n_accepted > 0) { - impl->drafts_accepted_count++; - impl->drafts_accepted_tokens += n_accepted; + impl->n_acc_drafts++; + impl->n_acc_tokens += n_accepted; } impl->accept(n_accepted); + impl->n_call_accept++; } } @@ -1069,13 +1062,13 @@ void common_speculative_print_stats(const common_speculative * spec) { str_perf = ""; } - LOG_INF("statistics %s: #calls = %zu, #gen drafts = %zu, #acc drafts = %zu, #gen tokens = %zu, #acc tokens = %zu%s\n", + LOG_INF("statistics %s: #calls(b,g,a) = %zu %zu %zu, #gen drafts = %zu, #acc drafts = %zu, #gen tokens = %zu, #acc tokens = %zu%s\n", common_speculative_type_to_str(impl->type).c_str(), - impl->drafts_call_count, - impl->drafts_generated_count, - impl->drafts_accepted_count, - impl->drafts_generated_tokens, - impl->drafts_accepted_tokens, + impl->n_call_begin, impl->n_call_draft, impl->n_call_accept, + impl->n_gen_drafts, + impl->n_acc_drafts, + impl->n_gen_tokens, + impl->n_acc_tokens, str_perf.c_str()); } } diff --git a/docs/speculative.md b/docs/speculative.md index 03afab5b41..29da332875 100644 --- a/docs/speculative.md +++ b/docs/speculative.md @@ -119,8 +119,6 @@ If a draft model is combined with a draftless decoding the draftless decoding ha of lookup n-gram (default: 12) --spec-ngram-size-m N ngram size M for ngram-simple/ngram-map speculative decoding, length of draft m-gram (default: 48) ---spec-ngram-check-rate N ngram check rate for ngram-simple/ngram-map speculative decoding - (default: 1) --spec-ngram-min-hits N minimum hits for ngram-map speculative decoding (default: 1) ``` @@ -153,10 +151,6 @@ Sets the size M of the draft m-gram for n-gram map based speculative decoding. The m-gram size determines how many tokens to draft when a match is found. Larger values can provide more speedup but may reduce acceptance rate. -### `--spec-ngram-check-rate R` - -This option aims at performance if the n-gram lookup in history is to costly. A lookup will be executed at every R tokens (default is 1, every token). - ### `--spec-ngram-min-hits H` This option defines how often a key has to appear in the token history to be used as a draft (default is 1). @@ -175,7 +169,12 @@ draft acceptance rate = 0.70312 ( 90 accepted / 128 generated) statistics ngram_mod: #calls = 810, #gen drafts = 15, #acc drafts = 15, #gen tokens = 960, #acc tokens = 730, dur(b,g,a) = 0.149, 0.347, 0.005 ms ``` -- `#calls`: number of calls of this implementations +``` +statistics ngram_map_k: #calls(b,g,a) = 6 1690 26, #gen drafts = 26, #acc drafts = 26, #gen tokens = 1248, #acc tokens = 968, dur(b,g,a) = 2.234, 1.427, 0.016 ms +``` + + +- `#calls(b,g,a)`: number of calls of begin (new prompt), generation and accumulation of this implementations - `#gen drafts`: number of drafts generated by this implementation - `#acc drafts`: number of drafts accepted (partially) by the main model - `#gen tokens`: number of tokens generated by this implementation (including rejected tokens) diff --git a/tools/server/server-task.cpp b/tools/server/server-task.cpp index 2d25db63b7..a137427c69 100644 --- a/tools/server/server-task.cpp +++ b/tools/server/server-task.cpp @@ -80,7 +80,6 @@ json task_params::to_json(bool only_metrics) const { {"speculative.type", common_speculative_type_to_str(speculative.type)}, {"speculative.ngram_size_n", speculative.ngram_size_n}, {"speculative.ngram_size_m", speculative.ngram_size_m}, - {"speculative.ngram_c_rate", speculative.ngram_check_rate}, {"speculative.ngram_m_hits", speculative.ngram_min_hits}, {"timings_per_token", timings_per_token}, {"post_sampling_probs", post_sampling_probs}, @@ -144,7 +143,6 @@ json task_params::to_json(bool only_metrics) const { {"speculative.type", common_speculative_type_to_str(speculative.type)}, {"speculative.ngram_size_n", speculative.ngram_size_n}, {"speculative.ngram_size_m", speculative.ngram_size_m}, - {"speculative.ngram_c_rate", speculative.ngram_check_rate}, {"speculative.ngram_m_hits", speculative.ngram_min_hits}, {"timings_per_token", timings_per_token}, {"post_sampling_probs", post_sampling_probs}, @@ -257,12 +255,10 @@ task_params server_task::params_from_json_cmpl( params.speculative.ngram_size_n = json_value(data, "speculative.ngram_size_n", defaults.speculative.ngram_size_n); params.speculative.ngram_size_m = json_value(data, "speculative.ngram_size_m", defaults.speculative.ngram_size_m); - params.speculative.ngram_check_rate = json_value(data, "speculative.ngram_c_rate", defaults.speculative.ngram_check_rate); params.speculative.ngram_min_hits = json_value(data, "speculative.ngram_m_hits", defaults.speculative.ngram_min_hits); params.speculative.ngram_size_n = std::max(std::min(1, (int) params.speculative.ngram_size_n), 1024); params.speculative.ngram_size_m = std::max(std::min(1, (int) params.speculative.ngram_size_m), 1024); - params.speculative.ngram_check_rate = std::max(std::min(1, (int) params.speculative.ngram_check_rate), 1024); params.speculative.ngram_min_hits = std::max(std::min(1, (int) params.speculative.ngram_min_hits), 1024); // Use OpenAI API logprobs only if n_probs wasn't provided From 820ebfa6f45347c77e9ddfcc670e44109d6df43f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=86=90=ED=9D=AC=EC=A4=80?= Date: Tue, 10 Feb 2026 00:22:57 +0900 Subject: [PATCH 163/206] Server: log when converting requests to chat completions format (#19457) * Log converting requests * Print as debug instead of info [no ci] --------- Co-authored-by: openingnow <> --- tools/server/server-context.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/server/server-context.cpp b/tools/server/server-context.cpp index 8ec8451339..ceafcac179 100644 --- a/tools/server/server-context.cpp +++ b/tools/server/server-context.cpp @@ -3584,6 +3584,8 @@ void server_routes::init_routes() { auto res = create_response(); std::vector files; json body = convert_responses_to_chatcmpl(json::parse(req.body)); + SRV_DBG("%s\n", "Request converted: OpenAI Responses -> OpenAI Chat Completions"); + SRV_DBG("converted request: %s\n", body.dump().c_str()); json body_parsed = oaicompat_chat_params_parse( body, meta->chat_params, @@ -3600,6 +3602,8 @@ void server_routes::init_routes() { auto res = create_response(); std::vector files; json body = convert_anthropic_to_oai(json::parse(req.body)); + SRV_DBG("%s\n", "Request converted: Anthropic -> OpenAI Chat Completions"); + SRV_DBG("converted request: %s\n", body.dump().c_str()); json body_parsed = oaicompat_chat_params_parse( body, meta->chat_params, @@ -3616,6 +3620,8 @@ void server_routes::init_routes() { auto res = create_response(); std::vector files; json body = convert_anthropic_to_oai(json::parse(req.body)); + SRV_DBG("%s\n", "Request converted: Anthropic -> OpenAI Chat Completions"); + SRV_DBG("converted request: %s\n", body.dump().c_str()); json body_parsed = oaicompat_chat_params_parse( body, meta->chat_params, From 262364e31d1da43596fe84244fba44e94a0de64e Mon Sep 17 00:00:00 2001 From: Tarek Dakhran Date: Mon, 9 Feb 2026 17:30:32 +0100 Subject: [PATCH 164/206] mtmd: Implement tiling for LFM2-VL (#19454) --- tools/mtmd/clip.cpp | 136 ++++++++++++++++++++++++++++++++++++++++++-- tools/mtmd/mtmd.cpp | 19 ++++++- 2 files changed, 147 insertions(+), 8 deletions(-) diff --git a/tools/mtmd/clip.cpp b/tools/mtmd/clip.cpp index 9fa5afc390..614fe66fde 100644 --- a/tools/mtmd/clip.cpp +++ b/tools/mtmd/clip.cpp @@ -10,6 +10,7 @@ #include "ggml-backend.h" #include "gguf.h" +#include #include #include #include @@ -1116,9 +1117,8 @@ struct clip_model_loader { case PROJECTOR_TYPE_LFM2: { get_u32(KEY_PROJ_SCALE_FACTOR, hparams.n_merge, false); - // ref: https://huggingface.co/LiquidAI/LFM2-VL-3B/blob/main/preprocessor_config.json - // config above specifies number of tokens after downsampling, while here it is before, relax lowerbound to 64 - hparams.set_limit_image_tokens(64, 1024); + // ref: https://huggingface.co/LiquidAI/LFM2.5-VL-1.6B/blob/main/processor_config.json + hparams.set_limit_image_tokens(64, 256); } break; case PROJECTOR_TYPE_PIXTRAL: case PROJECTOR_TYPE_LIGHTONOCR: @@ -2807,6 +2807,119 @@ private: } }; +// ref: https://github.com/huggingface/transformers/blob/v5.1.0/src/transformers/models/lfm2_vl/image_processing_lfm2_vl_fast.py +// some of the logic is similar to llava_uhd, but with different hyperparameters and some logic is unique (e.g. grid layout) +struct lfm2_vl_image_processor { + // ref: https://huggingface.co/LiquidAI/LFM2.5-VL-1.6B/blob/main/processor_config.json + static constexpr int min_tiles = 2; + static constexpr int max_tiles = 10; + static constexpr float max_pixels_tolerance = 2.0f; + static constexpr int tile_size = 512; + + static llava_uhd::slice_instructions get_slice_instructions(struct clip_ctx * ctx, const clip_image_size & original_size) { + llava_uhd::slice_instructions inst; + const auto & params = ctx->model.hparams; + const int align_size = params.patch_size * params.n_merge; + + inst.interpolation_overview = img_tool::RESIZE_ALGO_BILINEAR; + inst.interpolation_refined = img_tool::RESIZE_ALGO_BILINEAR; + inst.overview_size = img_tool::calc_size_preserved_ratio(original_size, align_size, params.image_min_pixels, params.image_max_pixels); + + // tile if either dimension exceeds tile_size with tolerance + const bool needs_tiling = original_size.width > tile_size * max_pixels_tolerance || original_size.height > tile_size * max_pixels_tolerance; + + if (!needs_tiling) { + inst.refined_size = clip_image_size{0, 0}; + inst.grid_size = clip_image_size{0, 0}; + return inst; + } + + const clip_image_size grid = get_grid_layout(original_size.height, original_size.width); + + inst.grid_size = grid; + inst.refined_size = clip_image_size{tile_size * grid.width, tile_size * grid.height}; + + LOG_DBG("%s: original size: %d x %d, overview size: %d x %d, refined size: %d x %d, grid size: %d x %d\n", + __func__, + original_size.width, original_size.height, + inst.overview_size.width, inst.overview_size.height, + inst.refined_size.width, inst.refined_size.height, + grid.width, grid.height); + + for (int row = 0; row < grid.height; row++) { + for (int col = 0; col < grid.width; col++) { + llava_uhd::slice_coordinates slice; + slice.x = col * tile_size; + slice.y = row * tile_size; + slice.size = clip_image_size{tile_size, tile_size}; + inst.slices.push_back(slice); + LOG_DBG("%s: slice %d: x=%d, y=%d, size=%d x %d\n", + __func__, (int)inst.slices.size() - 1, + slice.x, slice.y, slice.size.width, slice.size.height); + } + } + + return inst; + } + +private: + static clip_image_size find_closest_aspect_ratio( + float aspect_ratio, + const std::vector & target_ratios, + int width, int height) { + float best_ratio_diff = std::numeric_limits::max(); + clip_image_size best_ratio = {1, 1}; + const float area = static_cast(width * height); + + for (const auto & ratio : target_ratios) { + const float target_aspect_ratio = static_cast(ratio.width) / ratio.height; + const float ratio_diff = std::abs(aspect_ratio - target_aspect_ratio); + if (ratio_diff < best_ratio_diff) { + best_ratio_diff = ratio_diff; + best_ratio = ratio; + } else if (ratio_diff == best_ratio_diff) { + const float target_area = static_cast(tile_size * tile_size * ratio.width * ratio.height); + if (area > 0.5f * target_area) { + best_ratio = ratio; + } + } + } + return best_ratio; + } + + static std::vector get_target_ratios() { + std::vector ratios; + for (int n = min_tiles; n <= max_tiles; n++) { + for (int w = 1; w <= n; w++) { + for (int h = 1; h <= n; h++) { + if (w * h >= min_tiles && w * h <= max_tiles) { + bool found = false; + for (const auto & r : ratios) { + if (r.width == w && r.height == h) { + found = true; + break; + } + } + if (!found) { + ratios.push_back({w, h}); + } + } + } + } + } + std::sort(ratios.begin(), ratios.end(), [](const clip_image_size & a, const clip_image_size & b) { + return a.width * a.height < b.width * b.height; + }); + return ratios; + } + + static clip_image_size get_grid_layout(int height, int width) { + const float aspect_ratio = static_cast(width) / height; + const auto ratios = get_target_ratios(); + return find_closest_aspect_ratio(aspect_ratio, ratios, width, height); + } +}; + // returns the normalized float tensor for llava-1.5, for spatial_unpad with anyres processing for llava-1.6 it returns the normalized image patch tensors as a vector // res_imgs memory is being allocated here, previous allocations will be freed if found bool clip_image_preprocess(struct clip_ctx * ctx, const clip_image_u8 * img, struct clip_image_f32_batch * res_imgs) { @@ -3021,6 +3134,20 @@ bool clip_image_preprocess(struct clip_ctx * ctx, const clip_image_u8 * img, str } break; case PROJECTOR_TYPE_LFM2: + { + auto const inst = lfm2_vl_image_processor::get_slice_instructions(ctx, original_size); + std::vector imgs = llava_uhd::slice_image(img, inst); + + for (size_t i = 0; i < imgs.size(); ++i) { + clip_image_f32_ptr res(clip_image_f32_init()); + normalize_image_u8_to_f32(*imgs[i], *res, params.image_mean, params.image_std); + res_imgs->entries.push_back(std::move(res)); + } + + res_imgs->grid_x = inst.grid_size.width; + res_imgs->grid_y = inst.grid_size.height; + } break; + case PROJECTOR_TYPE_KIMIVL: { GGML_ASSERT(params.image_min_pixels > 0 && params.image_max_pixels > 0); @@ -3032,8 +3159,7 @@ bool clip_image_preprocess(struct clip_ctx * ctx, const clip_image_u8 * img, str const std::array pad_color = {122, 116, 104}; clip_image_u8 resized_img; - const bool pad = (ctx->proj_type() != PROJECTOR_TYPE_LFM2); - img_tool::resize(*img, resized_img, target_size, img_tool::RESIZE_ALGO_BILINEAR, pad, pad_color); + img_tool::resize(*img, resized_img, target_size, img_tool::RESIZE_ALGO_BILINEAR, true, pad_color); clip_image_f32_ptr res(clip_image_f32_init()); normalize_image_u8_to_f32(resized_img, *res, params.image_mean, params.image_std); res_imgs->entries.push_back(std::move(res)); diff --git a/tools/mtmd/mtmd.cpp b/tools/mtmd/mtmd.cpp index d037e834f3..b7636279cb 100644 --- a/tools/mtmd/mtmd.cpp +++ b/tools/mtmd/mtmd.cpp @@ -85,6 +85,7 @@ enum mtmd_slice_tmpl { MTMD_SLICE_TMPL_MINICPMV_2_6, MTMD_SLICE_TMPL_LLAMA4, MTMD_SLICE_TMPL_IDEFICS3, + MTMD_SLICE_TMPL_LFM2, }; const char * mtmd_default_marker() { @@ -307,9 +308,19 @@ struct mtmd_context { img_end = "<|im_end|>"; } else if (proj == PROJECTOR_TYPE_LFM2) { - img_beg = "<|image_start|>"; - img_end = "<|image_end|>"; - + // multi-tile: + // <|image_start|> + // <|img_row_1_col_1|> (tile) <|img_row_1_col_2|> (tile) ... + // <|img_thumbnail|> (thumbnail) + // <|image_end|> + // single-tile: + // <|image_start|> (image) <|image_end|> + img_beg = "<|image_start|>"; + img_end = "<|image_end|>"; + slice_tmpl = MTMD_SLICE_TMPL_LFM2; + sli_img_start_tmpl = "<|img_row_%d_col_%d|>"; + tok_ov_img_start = {lookup_token("<|img_thumbnail|>")}; + ov_img_first = false; } else if (proj == PROJECTOR_TYPE_GLM4V) { img_beg = "<|begin_of_image|>"; img_end = "<|end_of_image|>"; @@ -562,11 +573,13 @@ struct mtmd_tokenizer { } // handle llava-uhd style preprocessing + const bool has_tiling_grid = batch_f32.grid_x > 0 && batch_f32.grid_y > 0; if ( ctx->slice_tmpl == MTMD_SLICE_TMPL_MINICPMV_2_5 || ctx->slice_tmpl == MTMD_SLICE_TMPL_MINICPMV_2_6 || ctx->slice_tmpl == MTMD_SLICE_TMPL_LLAMA4 || ctx->slice_tmpl == MTMD_SLICE_TMPL_IDEFICS3 + || (ctx->slice_tmpl == MTMD_SLICE_TMPL_LFM2 && has_tiling_grid) ) { const int n_col = batch_f32.grid_x; const int n_row = batch_f32.grid_y; From 98e57ca422c5adb33663a6406c2f2d5b7d255da7 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Mon, 9 Feb 2026 22:14:12 +0100 Subject: [PATCH 165/206] chat: fix case where template accepts type content only (#19419) * chat: fix case where template accepts type content only * rm stray log * reuse render_message_to_json --- common/chat.cpp | 39 +++++++++++++++++++++++++++++++++++---- common/chat.h | 2 ++ common/jinja/caps.cpp | 13 +++++++++---- common/jinja/caps.h | 4 +++- common/jinja/runtime.cpp | 6 ++++++ 5 files changed, 55 insertions(+), 9 deletions(-) diff --git a/common/chat.cpp b/common/chat.cpp index 2bf4632669..47a34d5822 100644 --- a/common/chat.cpp +++ b/common/chat.cpp @@ -380,15 +380,46 @@ std::vector common_chat_msgs_parse_oaicompat(const json & messa return msgs; } -json common_chat_msgs_to_json_oaicompat(const std::vector & msgs, bool concat_typed_text) { +static json render_message_to_json(const std::vector & msgs, const jinja::caps & c) { + if (!c.supports_string_content && !c.supports_typed_content) { + LOG_WRN("%s: Neither string content nor typed content is supported by the template. This is unexpected and may lead to issues.\n", __func__); + } + + bool only_string_accepted = c.supports_string_content && !c.supports_typed_content; + bool only_typed_accepted = !c.supports_string_content && c.supports_typed_content; + json messages = json::array(); for (const auto & msg : msgs) { - json jmsg = msg.to_json_oaicompat(concat_typed_text); - messages.push_back(jmsg); + if (only_string_accepted) { + json jmsg = msg.to_json_oaicompat(/* concat_typed_text= */ true); + messages.push_back(jmsg); + } else if (only_typed_accepted) { + json jmsg = msg.to_json_oaicompat(/* concat_typed_text= */ false); + if (jmsg.at("content").is_string()) { + jmsg["content"] = json::array({ + json{ + {"type", "text"}, + {"text", jmsg.at("content").get()}, + } + }); + } + messages.push_back(jmsg); + } else { + json jmsg = msg.to_json_oaicompat(/* concat_typed_text= */ false); + messages.push_back(jmsg); + } } return messages; } +// DEPRECATED: only used in tests +json common_chat_msgs_to_json_oaicompat(const std::vector & msgs, bool concat_typed_text) { + jinja::caps c; + c.supports_string_content = true; + c.supports_typed_content = !concat_typed_text; + return render_message_to_json(msgs, c); +} + std::vector common_chat_tools_parse_oaicompat(const json & tools) { std::vector result; @@ -3020,7 +3051,7 @@ static common_chat_params common_chat_templates_apply_jinja( : *tmpls->template_default; const auto & src = tmpl.source(); const auto & caps = tmpl.original_caps(); - params.messages = common_chat_msgs_to_json_oaicompat(inputs.messages, /* concat_text= */ !tmpl.original_caps().requires_typed_content); + params.messages = render_message_to_json(inputs.messages, tmpl.original_caps()); params.add_generation_prompt = inputs.add_generation_prompt; params.tool_choice = inputs.tool_choice; params.reasoning_format = inputs.reasoning_format; diff --git a/common/chat.h b/common/chat.h index 24aa4aab5c..1bf43f7261 100644 --- a/common/chat.h +++ b/common/chat.h @@ -240,6 +240,8 @@ bool common_chat_templates_support_enable_thinking(const common_chat_templates * // Parses a JSON array of messages in OpenAI's chat completion API format. std::vector common_chat_msgs_parse_oaicompat(const nlohmann::ordered_json & messages); + +// DEPRECATED: only used in tests nlohmann::ordered_json common_chat_msgs_to_json_oaicompat(const std::vector & msgs, bool concat_typed_text = false); std::vector common_chat_tools_parse_oaicompat(const nlohmann::ordered_json & tools); diff --git a/common/jinja/caps.cpp b/common/jinja/caps.cpp index f27490f1fb..dbaaed500a 100644 --- a/common/jinja/caps.cpp +++ b/common/jinja/caps.cpp @@ -63,7 +63,8 @@ static void caps_print_stats(value & v, const std::string & path) { std::map caps::to_map() const { return { - {"requires_typed_content", requires_typed_content}, + {"supports_string_content", supports_string_content}, + {"supports_typed_content", supports_typed_content}, {"supports_tools", supports_tools}, {"supports_tool_calls", supports_tool_calls}, {"supports_parallel_tool_calls", supports_parallel_tool_calls}, @@ -89,7 +90,7 @@ caps caps_get(jinja::program & prog) { return v->stats.ops.find(op_name) != v->stats.ops.end(); }; - // case: typed content requirement + // case: typed content support caps_try_execute( prog, [&]() { @@ -105,12 +106,16 @@ caps caps_get(jinja::program & prog) { // tools return json{nullptr}; }, - [&](bool, value & messages, value &) { + [&](bool success, value & messages, value &) { auto & content = messages->at(0)->at("content"); caps_print_stats(content, "messages[0].content"); if (has_op(content, "selectattr") || has_op(content, "array_access")) { // accessed as an array - result.requires_typed_content = true; + result.supports_typed_content = true; + } + if (!success) { + // failed to execute with content as string + result.supports_string_content = false; } } ); diff --git a/common/jinja/caps.h b/common/jinja/caps.h index 77df117baa..e694e7bfaa 100644 --- a/common/jinja/caps.h +++ b/common/jinja/caps.h @@ -14,7 +14,9 @@ struct caps { bool supports_parallel_tool_calls = true; bool supports_preserve_reasoning = false; // support assistant message with reasoning_content - bool requires_typed_content = false; // default: use string content + // one of the 2 content capabilities must be true + bool supports_string_content = true; + bool supports_typed_content = false; // for reporting on server std::map to_map() const; diff --git a/common/jinja/runtime.cpp b/common/jinja/runtime.cpp index 4453d86e6d..cc012c892f 100644 --- a/common/jinja/runtime.cpp +++ b/common/jinja/runtime.cpp @@ -446,6 +446,12 @@ value for_statement::execute_impl(context & ctx) { value iterable_val = iter_expr->execute(scope); + // mark the variable being iterated as used for stats + if (ctx.is_get_stats) { + iterable_val->stats.used = true; + iterable_val->stats.ops.insert("array_access"); + } + if (iterable_val->is_undefined()) { JJ_DEBUG("%s", "For loop iterable is undefined, skipping loop"); iterable_val = mk_val(); From a0d585537cb7f0352c4859acbad64d5084dbe964 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Tue, 10 Feb 2026 08:07:16 +0200 Subject: [PATCH 166/206] cuda : extend GGML_OP_PAD to work with non-cont src0 (#19429) * cuda : extend GGML_OP_PAD to work with non-cont src0 * tests : add permuted pad --- ggml/src/ggml-cpu/ops.cpp | 3 +-- ggml/src/ggml-cuda/ggml-cuda.cu | 3 ++- ggml/src/ggml-cuda/pad.cu | 23 +++++++++++++---------- tests/test-backend-ops.cpp | 21 ++++++++++++--------- 4 files changed, 28 insertions(+), 22 deletions(-) diff --git a/ggml/src/ggml-cpu/ops.cpp b/ggml/src/ggml-cpu/ops.cpp index ce15b18ce0..ed45350207 100644 --- a/ggml/src/ggml-cpu/ops.cpp +++ b/ggml/src/ggml-cpu/ops.cpp @@ -7629,8 +7629,7 @@ static void ggml_compute_forward_pad_f32( const ggml_tensor * src0 = dst->src[0]; - GGML_ASSERT(src0->nb[0] == sizeof(float)); - GGML_ASSERT( dst->nb[0] == sizeof(float)); + assert(dst->nb[0] == sizeof(float)); const int ith = params->ith; const int nth = params->nth; diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 9e77c231c8..b163468789 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -4834,8 +4834,9 @@ static bool ggml_backend_cuda_device_supports_op(ggml_backend_dev_t dev, const g case GGML_OP_SUM_ROWS: case GGML_OP_MEAN: case GGML_OP_GROUP_NORM: - case GGML_OP_PAD: return ggml_is_contiguous(op->src[0]); + case GGML_OP_PAD: + return true; case GGML_OP_UPSCALE: case GGML_OP_PAD_REFLECT_1D: case GGML_OP_ARANGE: diff --git a/ggml/src/ggml-cuda/pad.cu b/ggml/src/ggml-cuda/pad.cu index 660c192e48..31cd00f778 100644 --- a/ggml/src/ggml-cuda/pad.cu +++ b/ggml/src/ggml-cuda/pad.cu @@ -7,7 +7,7 @@ __device__ __forceinline__ int64_t wrap_around(int64_t coord, int64_t size) { return (coord + size) % size; } -static __global__ void pad_f32(const float * src, float * dst, +static __global__ void pad_f32(const float * src, size_t s00, size_t s01, size_t s02, size_t s03, float * dst, const int lp0, const int rp0, const int lp1, const int rp1, const int lp2, const int rp2, const int lp3, const int rp3, const int ne0, const int ne1, const int ne2, const int ne3, @@ -34,11 +34,8 @@ static __global__ void pad_f32(const float * src, float * dst, const int64_t i01 = i1 - lp1; const int64_t i02 = i2 - lp2; const int64_t i03 = i3 - lp3; - const int64_t ne02 = ne2 - lp2 - rp2; - const int64_t ne01 = ne1 - lp1 - rp1; - const int64_t ne00 = ne0 - lp0 - rp0; - const int64_t src_idx = i03 * (ne00 * ne01 * ne02) + i02 * (ne00 * ne01) + i01 * ne00 + i00; + const int64_t src_idx = i03 * s03 + i02 * s02 + i01 * s01 + i00 * s00; dst[dst_idx] = src[src_idx]; } else { @@ -57,21 +54,21 @@ static __global__ void pad_f32(const float * src, float * dst, const int64_t i02 = wrap_around(i2 - lp2, ne02); const int64_t i03 = wrap_around(i3 - lp3, ne03); - const int64_t src_idx = i03 * (ne00 * ne01 * ne02) + i02 * (ne00 * ne01) + i01 * ne00 + i00; + const int64_t src_idx = i03 * s03 + i02 * s02 + i01 * s01 + i00 * s00; dst[dst_idx] = src[src_idx]; } } -static void pad_f32_cuda(const float * src, float * dst, +static void pad_f32_cuda(const float * src, size_t s00, size_t s01, size_t s02, size_t s03, float * dst, const int lp0, const int rp0, const int lp1, const int rp1, const int lp2, const int rp2, const int lp3, const int rp3, const int ne0, const int ne1, const int ne2, const int ne3, const bool circular, cudaStream_t stream) { int num_blocks = (ne0 + CUDA_PAD_BLOCK_SIZE - 1) / CUDA_PAD_BLOCK_SIZE; dim3 gridDim(num_blocks, ne1, ne2 * ne3); - pad_f32<<>>(src, dst, + pad_f32<<>>(src, s00, s01, s02, s03, dst, lp0, rp0, lp1, rp1, lp2, rp2, lp3, rp3, ne0, ne1, ne2, ne3, circular); } @@ -82,9 +79,10 @@ void ggml_cuda_op_pad(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { float * dst_d = (float *) dst->data; cudaStream_t stream = ctx.stream(); + GGML_TENSOR_UNARY_OP_LOCALS; + GGML_ASSERT(src0->type == GGML_TYPE_F32); GGML_ASSERT(dst->type == GGML_TYPE_F32); - GGML_ASSERT(ggml_is_contiguous(src0)); const int32_t lp0 = ((const int32_t *) (dst->op_params))[0]; const int32_t rp0 = ((const int32_t *) (dst->op_params))[1]; @@ -96,7 +94,12 @@ void ggml_cuda_op_pad(ggml_backend_cuda_context & ctx, ggml_tensor * dst) { const int32_t rp3 = ((const int32_t *) (dst->op_params))[7]; const int32_t circular = ((const int32_t *) (dst->op_params))[8]; - pad_f32_cuda(src0_d, dst_d, + const size_t s00 = nb00 / ggml_type_size(src0->type); + const size_t s01 = nb01 / ggml_type_size(src0->type); + const size_t s02 = nb02 / ggml_type_size(src0->type); + const size_t s03 = nb03 / ggml_type_size(src0->type); + + pad_f32_cuda(src0_d, s00, s01, s02, s03, dst_d, lp0, rp0, lp1, rp1, lp2, rp2, lp3, rp3, dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], (bool) circular, stream); diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 6fe1780f3b..56dadb9b36 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -5894,33 +5894,36 @@ struct test_pad_ext : public test_case { const int rp2; const int lp3; const int rp3; - const bool v; + const int tfrm; // 0 - none, 1 - non-cont, 2 - perm const bool circular; std::string vars() override { - return VARS_TO_STR12(type, ne_a, lp0, rp0, lp1, rp1, lp2, rp2, lp3, rp3, v, circular); + return VARS_TO_STR12(type, ne_a, lp0, rp0, lp1, rp1, lp2, rp2, lp3, rp3, tfrm, circular); } test_pad_ext(ggml_type type = GGML_TYPE_F32, std::array ne_a = {512, 512, 3, 1}, int lp0 = 1, int rp0 = 1, int lp1 = 1, int rp1 = 1, int lp2 = 1, int rp2 = 1, int lp3 = 1, int rp3 = 1, - bool v = false, bool circular = false) + int tfrm = 0, bool circular = false) : type(type), ne_a(ne_a), lp0(lp0), rp0(rp0), lp1(lp1), rp1(rp1), lp2(lp2), rp2(rp2), lp3(lp3), rp3(rp3), - v(v), circular(circular) {} + tfrm(tfrm), circular(circular) {} ggml_tensor * build_graph(ggml_context * ctx) override { ggml_tensor * a = ggml_new_tensor(ctx, type, 4, ne_a.data()); ggml_set_name(a, "a"); - if (v) { + if (tfrm == 1) { a = ggml_view_4d(ctx, a, (a->ne[0] + 1) / 2, (a->ne[1] + 1) / 2, (a->ne[2] + 1) / 2, (a->ne[3] + 1) / 2, a->nb[1], a->nb[2], a->nb[3], 0); ggml_set_name(a, "view of a"); + } else if (tfrm == 2) { + a = ggml_permute(ctx, a, 2, 1, 0, 3); + ggml_set_name(a, "permuted a"); } ggml_tensor * out = circular ? ggml_pad_ext_circular(ctx, a, lp0, rp0, lp1, rp1, lp2, rp2, lp3, rp3) - : ggml_pad_ext(ctx, a, lp0, rp0, lp1, rp1, lp2, rp2, lp3, rp3); + : ggml_pad_ext (ctx, a, lp0, rp0, lp1, rp1, lp2, rp2, lp3, rp3); ggml_set_name(out, "out"); return out; @@ -8198,10 +8201,10 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_solve_tri(GGML_TYPE_F32, { 64, 64, 4, 4 }, { 200, 64, 4, 4 })); test_cases.emplace_back(new test_solve_tri(GGML_TYPE_F32, { 64, 64, 4, 4 }, { 384, 64, 4, 4 })); - for (bool v : {false, true}) { + for (int tfrm : {0, 1, 2}) { for (bool circular : {false, true}) { - test_cases.emplace_back(new test_pad_ext(GGML_TYPE_F32, {512, 512, 1, 1}, 0, 1, 0, 1, 0, 0, 0, 0, v, circular)); - test_cases.emplace_back(new test_pad_ext(GGML_TYPE_F32, {11, 22, 33, 44}, 1, 2, 3, 4, 5, 6, 7, 8, v, circular)); + test_cases.emplace_back(new test_pad_ext(GGML_TYPE_F32, {512, 512, 1, 1}, 0, 1, 0, 1, 0, 0, 0, 0, tfrm, circular)); + test_cases.emplace_back(new test_pad_ext(GGML_TYPE_F32, {11, 22, 33, 44}, 1, 2, 3, 4, 5, 6, 7, 8, tfrm, circular)); } } From 52e38faf8c1c8e0d32fca7a43d5efd3a2f5efdc8 Mon Sep 17 00:00:00 2001 From: hipudding Date: Tue, 10 Feb 2026 14:18:59 +0800 Subject: [PATCH 167/206] CANN: implement quantized MUL_MAT_ID for MoE models (#19228) Implement ggml_cann_mul_mat_id_quant function to support quantized matrix multiplication for Mixture of Experts (MoE) architectures on CANN backend. Key features: - Support Q4_0 and Q8_0 quantized weight formats - Use IndexSelect to dynamically route expert-specific weights based on indices - Leverage WeightQuantBatchMatmulV2 for efficient quantized computation - Handle automatic F16 type conversion for hardware compatibility - Support both per-expert and broadcast input modes Implementation details: - Extract expert weights and scales using CANN IndexSelect operation - Process each batch and expert combination independently - Create proper tensor views with correct stride for matmul operations - Automatic input/output type casting to/from F16 as needed Testing: All test cases passed for supported types (F32, F16, Q4_0, Q8_0). --- ggml/src/ggml-cann/aclnn_ops.cpp | 291 ++++++++++++++++++++----------- 1 file changed, 192 insertions(+), 99 deletions(-) diff --git a/ggml/src/ggml-cann/aclnn_ops.cpp b/ggml/src/ggml-cann/aclnn_ops.cpp index 87ac05748e..fc7c3e3b72 100644 --- a/ggml/src/ggml-cann/aclnn_ops.cpp +++ b/ggml/src/ggml-cann/aclnn_ops.cpp @@ -3286,130 +3286,223 @@ static void ggml_cann_mul_mat_id_fp(ggml_backend_cann_context & ctx, ggml_tensor } /** - * @brief Performs expert-specific matrix multiplication (MoE) with - * quantized precision using the CANN backend. + * @brief Performs quantized matrix multiplication for Mixture of Experts (MoE) + * models using the CANN backend. * - * This function executes a matrix multiplication operation tailored for - * Mixture of Experts (MoE) models, where the input tensor is multiplied - * with expert-specific quantized weight matrices. It leverages the CANN - * backend to perform efficient low-precision computations and stores the - * quantized result in the destination tensor `dst`. + * This function implements MUL_MAT_ID operation for quantized weight matrices + * (Q4_0 and Q8_0 formats). It selects expert-specific weight matrices based on + * the provided expert indices, and computes matrix multiplication using CANN's + * WeightQuantBatchMatmulV2 operator. * - * Quantization techniques reduce memory footprint and improve performance - * by using lower-bit representations (e.g., int8) instead of floating-point. - * This function is designed to work with such formats and may incorporate - * optimizations like identity-based fast paths or routing masks for sparse - * expert selection. + * The function performs the following steps: + * 1. Converts input/output tensors to F16 format if necessary + * 2. Uses IndexSelect to extract expert-specific weights and scales based on indices + * 3. Performs quantized matrix multiplication for each expert using WeightQuantBatchMatmulV2 + * 4. Converts output back to the target type if needed * - * @param ctx The context for executing CANN backend operations. - * @param dst The destination tensor where the quantized MoE multiplication result - * will be stored. + * Tensor shapes: + * - dst: [M, K, N, 1] - output tensor + * - src0: [D, M, A, 1] - quantized weight matrices (Q4_0 or Q8_0) + * - src1: [D, B, N, 1] - input activations (B = K for per-expert input, or B = 1 for broadcast) + * - ids: [K, N] - expert indices for routing * - * @note This function assumes quantized data types and is designed for - * MoE architectures with potential sparse expert routing. + * @param ctx The CANN backend context for operation execution. + * @param dst The destination tensor where the multiplication result will be stored. + * + * @note Only Q4_0 and Q8_0 quantization formats are supported. + * @note The function handles automatic type conversion to/from F16 as needed by the hardware. */ static void ggml_cann_mul_mat_id_quant(ggml_backend_cann_context & ctx, ggml_tensor * dst) { - // TODO: Use aclnnGroupedMatMul - //dst [M, K, N, 1] - ggml_tensor * src0 = dst->src[0]; //src0 [D, M, A, 1] - ggml_tensor * src1 = dst->src[1]; //src1 [D, B, N, 1], B = K or B = 1 - ggml_tensor * ids = dst->src[2]; //ids [K, N] + // dst: [M, K, N, 1] + // src0: [D, M, A, 1] - quantized weights + // src1: [D, B, N, 1] - input activations, B = K or B = 1 + // ids: [K, N] - expert indices + ggml_tensor * src0 = dst->src[0]; + ggml_tensor * src1 = dst->src[1]; + ggml_tensor * ids = dst->src[2]; - GGML_TENSOR_BINARY_OP_LOCALS + GGML_ASSERT(src0->ne[3] == 1); + GGML_ASSERT(src1->ne[3] == 1); + GGML_ASSERT(dst->ne[3] == 1); + GGML_ASSERT(src1->ne[2] == ids->ne[1]); - // copy index from npu to cpu - int64_t n_as = ne02; // A - int64_t n_ids = ids->ne[0]; // K + const int64_t n_batches = ids->ne[1]; + const int64_t n_select_experts = ids->ne[0]; + const enum ggml_type type = src0->type; - std::vector ids_host(ggml_nbytes(ids)); - ACL_CHECK(aclrtMemcpyAsync(ids_host.data(), ggml_nbytes(ids), ids->data, ggml_nbytes(ids), - ACL_MEMCPY_DEVICE_TO_HOST, ctx.stream())); - ACL_CHECK(aclrtSynchronizeStream(ctx.stream())); + const int32_t group_size = QK8_0; // Both Q4_0 and Q8_0 use group size of 32 + GGML_ASSERT(group_size == QK4_0); - char * src0_original = (char *) src0->data; - char * src1_original = (char *) src1->data; - char * dst_original = (char *) dst->data; + // Calculate element size for quantized weights + const float weight_elem_size = + (type == GGML_TYPE_Q4_0) ? 0.5f : + (type == GGML_TYPE_Q8_0) ? 1.0f : + (GGML_ABORT("MUL_MAT_ID only supports Q4_0 and Q8_0"), 0.0f); - ggml_tensor src0_row = *src0; - ggml_tensor src1_row = *src1; - ggml_tensor dst_row = *dst; + // Calculate scale offset in memory + const size_t weight_size = src0->ne[0] * src0->ne[1] * src0->ne[2] * weight_elem_size; + const size_t scale_elem_size = sizeof(uint16_t); + char * scale_data = (char *) src0->data + weight_size; - const enum ggml_type type = dst->src[0]->type; - float weight_elem_size; - if (type == GGML_TYPE_Q4_0) { - weight_elem_size = float(sizeof(uint8_t)) / 2; - } else if (type == GGML_TYPE_Q8_0) { - weight_elem_size = float(sizeof(uint8_t)); - } else { - GGML_ABORT("MUL_MAT_ID only support quant type Q4_0 and Q8_0 "); - } + // Allocate buffers for selected expert weights and scales + const size_t selected_weight_size = src0->ne[0] * src0->ne[1] * n_select_experts * weight_elem_size; + ggml_cann_pool_alloc selected_weight_alloc(ctx.pool(), selected_weight_size); + void * selected_weight_buffer = selected_weight_alloc.get(); - // src0_row [D, M, 1, 1] weight without permute - src0_row.ne[2] = 1; - src0_row.ne[3] = 1; - src0_row.nb[0] = weight_elem_size; - src0_row.nb[1] = weight_elem_size * ne00; - src0_row.nb[2] = weight_elem_size * ne00; - src0_row.nb[3] = weight_elem_size * ne00; - size_t weight_stride = ne00 * ne01 * weight_elem_size; - size_t weight_size = weight_stride * ne02 * ne03; + const size_t selected_scale_size = (src0->ne[0] / group_size) * src0->ne[1] * n_select_experts * scale_elem_size; + ggml_cann_pool_alloc selected_scale_alloc(ctx.pool(), selected_scale_size); + void * selected_scale_buffer = selected_scale_alloc.get(); - // scale [D, M, 1, 1] -> scale && permute - size_t scale_elem_size = sizeof(uint16_t); - size_t scale_stride = src0->ne[1] * src0->ne[0] / QK8_0 * scale_elem_size; + // Helper lambda to allocate and cast tensor to F16 if needed + constexpr size_t f16_elem_size = sizeof(uint16_t); + auto prepare_f16_buffer = [&](ggml_tensor * tensor, ggml_cann_pool_alloc & allocator, + bool need_cast = false) -> void * { + if (tensor->type == GGML_TYPE_F16) { + return tensor->data; + } - // src1_row [D, 1, 1, 1] -> input - src1_row.ne[1] = 1; - src1_row.ne[2] = 1; - src1_row.ne[3] = 1; - src1_row.nb[2] = nb11; - src1_row.nb[3] = nb11; + size_t total_size = f16_elem_size; + for (int i = 0; i < GGML_MAX_DIMS; i++) { + total_size *= tensor->ne[i]; + } + void * buffer = allocator.alloc(total_size); - // dst_row [M, 1, 1, 1] -> out - dst_row.ne[1] = 1; - dst_row.ne[2] = 1; - dst_row.ne[3] = 1; - dst_row.nb[2] = nb1; - dst_row.nb[3] = nb1; + if (need_cast == false) { + return buffer; + } - //create weight for one row - ggml_cann_pool_alloc weight_allocator(ctx.pool()); - void * weight_buffer = weight_allocator.alloc(nb02); - for (int64_t iid1 = 0; iid1 < ids->ne[1]; iid1++) { - for (int64_t id = 0; id < n_ids; id++) { - // expert index - int32_t i02 = *(int32_t *) (ids_host.data() + iid1 * ids->nb[1] + id * ids->nb[0]); - GGML_ASSERT(i02 >= 0 && i02 < n_as); + int64_t ne[GGML_MAX_DIMS]; + size_t nb[GGML_MAX_DIMS] = { f16_elem_size }; + for (int i = 0; i < GGML_MAX_DIMS; i++) { + ne[i] = tensor->ne[i]; + if (i > 0) { + nb[i] = nb[i - 1] * ne[i - 1]; + } + } - // If B = 1 (broadcast), always use 0; otherwise, use id. - int64_t i11 = (ne11 == 1 ? 0 : id); - int64_t i12 = iid1; + acl_tensor_ptr src_tensor = ggml_cann_create_tensor(tensor); + acl_tensor_ptr f16_tensor = ggml_cann_create_tensor(buffer, ACL_FLOAT16, f16_elem_size, ne, nb, GGML_MAX_DIMS); + aclnn_cast(ctx, src_tensor.get(), f16_tensor.get(), ACL_FLOAT16); - int64_t i1 = id; - int64_t i2 = i12; + return buffer; + }; - void * src0_tmp_ptr = src0_original + i02 * weight_stride; - void * scale_tmp_ptr = src0_original + weight_size + i02 * scale_stride; - void * src1_tmp_ptr = src1_original + i11 * nb11 + i12 * nb12; - void * dst_tmp_ptr = dst_original + i1 * nb1 + i2 * nb2; + // Prepare input and output buffers + ggml_cann_pool_alloc input_alloc(ctx.pool()); + void * input_buffer = prepare_f16_buffer(src1, input_alloc, true); - // mem cpy - ACL_CHECK(aclrtMemcpyAsync(weight_buffer, weight_stride, src0_tmp_ptr, weight_stride, - ACL_MEMCPY_DEVICE_TO_DEVICE, ctx.stream())); - void * scale_buffer = (char *) weight_buffer + weight_stride; - ACL_CHECK(aclrtMemcpyAsync(scale_buffer, scale_stride, scale_tmp_ptr, scale_stride, - ACL_MEMCPY_DEVICE_TO_DEVICE, ctx.stream())); + ggml_cann_pool_alloc output_alloc(ctx.pool()); + void * output_buffer = prepare_f16_buffer(dst, output_alloc, false); - src0_row.data = weight_buffer; - src1_row.data = src1_tmp_ptr; - dst_row.data = dst_tmp_ptr; - dst_row.src[0] = &src0_row; - dst_row.src[1] = &src1_row; + // Process each batch + for (int64_t batch_idx = 0; batch_idx < n_batches; batch_idx++) { + // Create index tensor for current batch + const size_t index_offset = batch_idx * ids->nb[1]; + acl_tensor_ptr batch_indices = ggml_cann_create_tensor(ids, ids->ne, ids->nb, 1, ACL_FORMAT_ND, index_offset); - ggml_cann_mul_mat(ctx, &dst_row); + // Select quantized weights using expert indices + // Q4_0 stores 2 values per byte, Q8_0 stores 1 value per byte + const int64_t weight_d = (type == GGML_TYPE_Q4_0) ? src0->ne[0] / 2 : src0->ne[0]; + const int64_t weight_m = src0->ne[1]; + const int64_t weight_n_experts = src0->ne[2]; + + int64_t weight_ne[3] = { weight_d, weight_m, weight_n_experts }; + size_t weight_nb[3] = { sizeof(int8_t), weight_d * sizeof(int8_t), weight_d * weight_m * sizeof(int8_t) }; + + acl_tensor_ptr all_weights = + ggml_cann_create_tensor(src0->data, ACL_INT8, sizeof(int8_t), weight_ne, weight_nb, 3); + + int64_t selected_weight_ne[3] = { weight_d, weight_m, n_select_experts }; + size_t selected_weight_nb[3] = { sizeof(int8_t), weight_d * sizeof(int8_t), + weight_d * weight_m * sizeof(int8_t) }; + + acl_tensor_ptr selected_weights = ggml_cann_create_tensor(selected_weight_buffer, ACL_INT8, sizeof(int8_t), + selected_weight_ne, selected_weight_nb, 3); + + GGML_CANN_CALL_ACLNN_OP(ctx, IndexSelect, all_weights.get(), 0, batch_indices.get(), selected_weights.get()); + + // Select scales using the same expert indices + const int64_t scale_d = src0->ne[0] / group_size; + int64_t scale_ne[3] = { scale_d, weight_m, weight_n_experts }; + size_t scale_nb[3] = { scale_elem_size, scale_d * scale_elem_size, scale_d * weight_m * scale_elem_size }; + + acl_tensor_ptr all_scales = + ggml_cann_create_tensor(scale_data, ACL_FLOAT16, scale_elem_size, scale_ne, scale_nb, 3); + + int64_t selected_scale_ne[3] = { scale_d, weight_m, n_select_experts }; + size_t selected_scale_nb[3] = { scale_elem_size, scale_d * scale_elem_size, + scale_d * weight_m * scale_elem_size }; + + acl_tensor_ptr selected_scales = ggml_cann_create_tensor(selected_scale_buffer, ACL_FLOAT16, scale_elem_size, + selected_scale_ne, selected_scale_nb, 3); + + GGML_CANN_CALL_ACLNN_OP(ctx, IndexSelect, all_scales.get(), 0, batch_indices.get(), selected_scales.get()); + + // Process each expert for current batch + // IndexSelect output layout: [D, M, K] in contiguous format + // WeightQuantBatchMatmulV2 expects: [M, D] with row-major stride + for (int64_t expert_idx = 0; expert_idx < n_select_experts; expert_idx++) { + // Determine input offset: broadcast if src1->ne[1]==1, otherwise use per-expert input + const size_t input_offset = + (batch_idx * src1->ne[1] + (src1->ne[1] == 1 ? 0 : expert_idx)) * src1->ne[0] * f16_elem_size; + const size_t output_offset = (batch_idx * dst->ne[1] + expert_idx) * dst->ne[0] * f16_elem_size; + + // Create weight view for current expert: [D, M, K] -> [M, D] + int64_t weight_view_ne[2] = { weight_m, src0->ne[0] }; + float weight_view_nb[2] = { src0->ne[0] * weight_elem_size, weight_elem_size }; + const size_t weight_view_offset = expert_idx * selected_weight_nb[2]; + + acl_tensor_ptr weight_view = + ggml_cann_create_tensor(selected_weight_buffer, ggml_cann_type_mapping(type), weight_elem_size, + weight_view_ne, weight_view_nb, 2, ACL_FORMAT_ND, weight_view_offset); + + // Create scale view for current expert: [D, M, K] -> [M, D] + int64_t scale_view_ne[2] = { weight_m, scale_d }; + size_t scale_view_nb[2] = { selected_scale_nb[1], selected_scale_nb[0] }; + const size_t scale_view_offset = expert_idx * selected_scale_nb[2]; + + acl_tensor_ptr scale_view = + ggml_cann_create_tensor(selected_scale_buffer, ACL_FLOAT16, scale_elem_size, scale_view_ne, + scale_view_nb, 2, ACL_FORMAT_ND, scale_view_offset); + + // Create input activation tensor [D, 1] + int64_t input_ne[2] = { src1->ne[0], 1 }; + size_t input_nb[2] = { f16_elem_size, src1->ne[0] * f16_elem_size }; + + acl_tensor_ptr input_tensor = ggml_cann_create_tensor(input_buffer, ACL_FLOAT16, f16_elem_size, input_ne, + input_nb, 2, ACL_FORMAT_ND, input_offset); + + // Create output tensor [M, 1] + int64_t output_ne[2] = { dst->ne[0], 1 }; + size_t output_nb[2] = { f16_elem_size, dst->ne[0] * f16_elem_size }; + + acl_tensor_ptr output_tensor = ggml_cann_create_tensor(output_buffer, ACL_FLOAT16, f16_elem_size, output_ne, + output_nb, 2, ACL_FORMAT_ND, output_offset); + + // Perform quantized matrix multiplication + GGML_CANN_CALL_ACLNN_OP(ctx, WeightQuantBatchMatmulV2, input_tensor.get(), weight_view.get(), + scale_view.get(), nullptr, nullptr, nullptr, nullptr, group_size, + output_tensor.get()); } } - return; + + // Cast output back to original type if we used a temporary F16 buffer + if (dst->type != GGML_TYPE_F16) { + int64_t ne[GGML_MAX_DIMS]; + size_t nb[GGML_MAX_DIMS] = { f16_elem_size }; + for (int i = 0; i < GGML_MAX_DIMS; i++) { + ne[i] = dst->ne[i]; + if (i > 0) { + nb[i] = nb[i - 1] * ne[i - 1]; + } + } + + acl_tensor_ptr f16_output = + ggml_cann_create_tensor(output_buffer, ACL_FLOAT16, f16_elem_size, ne, nb, GGML_MAX_DIMS); + acl_tensor_ptr dst_tensor = ggml_cann_create_tensor(dst); + + aclnn_cast(ctx, f16_output.get(), dst_tensor.get(), ggml_cann_type_mapping(dst->type)); + } } void ggml_cann_mul_mat_id(ggml_backend_cann_context & ctx, ggml_tensor * dst) { From f0bfe54f552f4783588f333b90d73920a57c5096 Mon Sep 17 00:00:00 2001 From: Raul Torres <138264735+rauletorresc@users.noreply.github.com> Date: Tue, 10 Feb 2026 06:19:30 +0000 Subject: [PATCH 168/206] CANN: Remove unnecessary wrapper for `gml_backend_buft_is_cann` (#18968) --- ggml/src/ggml-cann/ggml-cann.cpp | 89 +++++++++++++------------------- 1 file changed, 37 insertions(+), 52 deletions(-) diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index 6b2dbdd359..3f3de9f0bc 100644 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -794,19 +794,44 @@ struct ggml_backend_cann_buffer_context { ~ggml_backend_cann_buffer_context() { ACL_CHECK(aclrtFree(dev_ptr)); } }; +// cann buffer type /** - * @brief Check if a buffer is a CANN buffer. - * - * This function checks if a given buffer is a CANN buffer by comparing its - * `get_name` function pointer to `ggml_backend_cann_buffer_get_name`. - * - * @param buffer The buffer to check. - * @return true if the buffer is a CANN buffer, false otherwise. + * @brief Structure representing context information for a specific backend + * buffer type. */ -static bool ggml_backend_buft_is_cann(ggml_backend_buffer_type_t buft); +struct ggml_backend_cann_buffer_type_context { + int32_t device; /**< Device identifier associated with the buffer context. */ + std::string name; /**< Name associated with the buffer context. */ +}; -static bool ggml_backend_buffer_is_cann(ggml_backend_buffer_t buffer) { - return ggml_backend_buft_is_cann(buffer->buft); +/** + * @brief Retrieves the name associated with a CANN buffer type. + * + * This function returns the descriptive name associated with the specified + * CANN buffer type context. + * + * @param buft Pointer to the buffer type context. + * @return Const pointer to the C-style string containing the name. + */ +static const char * ggml_backend_cann_buffer_type_name(ggml_backend_buffer_type_t buft) { + ggml_backend_cann_buffer_type_context * buft_ctx = (ggml_backend_cann_buffer_type_context *) buft->context; + + return buft_ctx->name.c_str(); +} + +/** + * @brief Checks if the backend buffer type is associated with the CANN backend. + * + * This function checks whether the provided backend buffer type is associated + * with the CANN backend based on the comparison of its name retrieval function + * pointer. + * + * @param buft Pointer to the backend buffer type to check. + * @return bool Returns true if the buffer type is associated with the CANN + * backend, otherwise false. + */ +static bool ggml_backend_buft_is_cann(ggml_backend_buffer_type_t buft) { + return buft->iface.get_name == ggml_backend_cann_buffer_type_name; } /** @@ -1271,7 +1296,7 @@ static void ggml_backend_cann_buffer_get_tensor(ggml_backend_buffer_t buffer, static bool ggml_backend_cann_buffer_cpy_tensor(ggml_backend_buffer_t buffer, const ggml_tensor * src, ggml_tensor * dst) { - if (ggml_backend_buffer_is_cann(src->buffer)) { + if (ggml_backend_buft_is_cann(src->buffer->buft)) { ggml_backend_cann_buffer_context * src_ctx = (ggml_backend_cann_buffer_context *) src->buffer->context; ggml_backend_cann_buffer_context * dst_ctx = (ggml_backend_cann_buffer_context *) buffer->context; @@ -1335,31 +1360,6 @@ static const ggml_backend_buffer_i ggml_backend_cann_buffer_interface = { /* .reset = */ NULL, }; -// cann buffer type -/** - * @brief Structure representing context information for a specific backend - * buffer type. - */ -struct ggml_backend_cann_buffer_type_context { - int32_t device; /**< Device identifier associated with the buffer context. */ - std::string name; /**< Name associated with the buffer context. */ -}; - -/** - * @brief Retrieves the name associated with a CANN buffer type. - * - * This function returns the descriptive name associated with the specified - * CANN buffer type context. - * - * @param buft Pointer to the buffer type context. - * @return Const pointer to the C-style string containing the name. - */ -static const char * ggml_backend_cann_buffer_type_name(ggml_backend_buffer_type_t buft) { - ggml_backend_cann_buffer_type_context * buft_ctx = (ggml_backend_cann_buffer_type_context *) buft->context; - - return buft_ctx->name.c_str(); -} - /** * @brief Allocates a new CANN buffer of the specified type and size. * @@ -1997,7 +1997,7 @@ static bool ggml_backend_cann_cpy_tensor_async(ggml_backend_t backend_src, GGML_ASSERT(!is_matmul_weight((const ggml_tensor *) src)); - if (!ggml_backend_buffer_is_cann(src->buffer) || !ggml_backend_buffer_is_cann(dst->buffer)) { + if (!ggml_backend_buft_is_cann(src->buffer->buft) || !ggml_backend_buft_is_cann(dst->buffer->buft)) { return false; } @@ -2523,21 +2523,6 @@ static bool ggml_backend_cann_supports_op(ggml_backend_dev_t dev, const ggml_ten GGML_UNUSED(dev); } -/** - * @brief Checks if the backend buffer type is associated with the CANN backend. - * - * This function checks whether the provided backend buffer type is associated - * with the CANN backend based on the comparison of its name retrieval function - * pointer. - * - * @param buft Pointer to the backend buffer type to check. - * @return bool Returns true if the buffer type is associated with the CANN - * backend, otherwise false. - */ -static bool ggml_backend_buft_is_cann(ggml_backend_buffer_type_t buft) { - return buft->iface.get_name == ggml_backend_cann_buffer_type_name; -} - /** * @brief Records an event on the CANN backend stream. * From 66d403c48098a999406c4850b9d7e6256b73d6da Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 10 Feb 2026 07:30:41 +0100 Subject: [PATCH 169/206] tts : fix typos in README.md [no ci] (#19463) --- tools/tts/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/tts/README.md b/tools/tts/README.md index 48302c070b..4749bb9f5a 100644 --- a/tools/tts/README.md +++ b/tools/tts/README.md @@ -34,7 +34,7 @@ $ build/bin/llama-quantize models/outetts-0.2-0.5B-f16.gguf \ ``` The quantized model will be `models/outetts-0.2-0.5B-q8_0.gguf`. -Next we do something simlar for the audio decoder. First download or checkout +Next we do something similar for the audio decoder. First download or checkout the model for the voice decoder: ```console $ pushd models @@ -42,7 +42,7 @@ $ git clone --branch main --single-branch --depth 1 https://huggingface.co/novat $ cd WavTokenizer-large-speech-75token && git lfs install && git lfs pull $ popd ``` -This model file is PyTorch checkpoint (.ckpt) and we first need to convert it to +This model file is a PyTorch checkpoint (.ckpt) and we first need to convert it to huggingface format: ```console (venv) python tools/tts/convert_pt_to_hf.py \ From 854b09f0d7825dd9b8ca542a7f63c2374d66121a Mon Sep 17 00:00:00 2001 From: "Piotr Wilkin (ilintar)" Date: Tue, 10 Feb 2026 09:01:37 +0100 Subject: [PATCH 170/206] convert : move experts permutation from Qwen2MoeModel to Qwen3VLMoeTextModel (#19445) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add special case for Qwen3VLMoe * Fix down path, remove arrows and checkmarks * ws * Moved to Qwen3VL * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret --------- Co-authored-by: Sigbjørn Skjæret --- convert_hf_to_gguf.py | 65 ++++++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 22 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 843c00a896..0951469149 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -4109,37 +4109,29 @@ class Qwen2MoeModel(TextModel): # Expected GGML ne: {n_embd, n_ff_exp, n_expert} for gate/up, {n_ff_exp, n_embd, n_expert} for down if name.endswith("mlp.experts.down_proj") or name.endswith("mlp.experts.down_proj.weight"): mapped = f"{name}.weight" if not name.endswith(".weight") else name - # Input: (n_expert=128, n_ff_exp=768, n_embd=2048) - # Want GGML ne: {n_ff_exp, n_embd, n_expert} = {768, 2048, 128} - # Need PyTorch: (128, 2048, 768) [reversed of GGML] - # So: permute(0, 2, 1): (128, 768, 2048) -> (128, 2048, 768) - permuted = data_torch.permute(0, 2, 1).contiguous() - yield from super().modify_tensors(permuted, mapped, bid) + # HF: [n_expert, n_embd, n_ff] -> GGML: {n_ff, n_embd, n_expert} + yield from super().modify_tensors(data_torch, mapped, bid) return if name.endswith("mlp.experts.gate_up_proj") or name.endswith("mlp.experts.gate_up_proj.weight"): - if data_torch.ndim < 3 or data_torch.shape[-1] % 2 != 0: + if data_torch.ndim < 3 or data_torch.shape[-2] % 2 != 0: raise ValueError(f"Unexpected gate_up_proj shape for {name}: {tuple(data_torch.shape)}") - split_dim = data_torch.shape[-1] // 2 - gate = data_torch[..., :split_dim].contiguous() - up = data_torch[..., split_dim:].contiguous() - # Input gate/up: (n_expert=128, n_embd=2048, n_ff_exp=768) - # Want GGML ne: {n_embd, n_ff_exp, n_expert} = {2048, 768, 128} - # Need PyTorch: (128, 768, 2048) [reversed of GGML] - # So: permute(0, 2, 1): (128, 2048, 768) -> (128, 768, 2048) - base_name = name.removesuffix(".weight") - base = base_name.rsplit('.', 1)[0] - mapped_gate = f"{base}.gate_proj.weight" - mapped_up = f"{base}.up_proj.weight" - perm_gate = gate.permute(0, 2, 1).contiguous() - perm_up = up.permute(0, 2, 1).contiguous() - yield from super().modify_tensors(perm_gate, mapped_gate, bid) - yield from super().modify_tensors(perm_up, mapped_up, bid) + # HF: [n_expert, 2*n_ff, n_embd] -> split on dim=-2 + n_ff = data_torch.shape[-2] // 2 + gate = data_torch[..., :n_ff, :].contiguous() + up = data_torch[..., n_ff:, :].contiguous() + # gate/up: [n_expert, n_ff, n_embd] -> GGML: {n_embd, n_ff, n_expert} + base_name = name.removesuffix(".weight").removesuffix(".gate_up_proj") + mapped_gate = f"{base_name}.gate_proj.weight" + mapped_up = f"{base_name}.up_proj.weight" + yield from super().modify_tensors(gate, mapped_gate, bid) + yield from super().modify_tensors(up, mapped_up, bid) return if name.startswith("mlp") or name.startswith("vision_model") or name.startswith("model.vision_tower") or name.startswith("model.multi_modal_projector") or name.startswith("model.visual"): # skip visual tensors return + if name.find("experts") != -1: n_experts = self.hparams["num_experts"] assert bid is not None @@ -4535,6 +4527,35 @@ class Qwen3VLMoeTextModel(Qwen3MoeModel): if name.startswith("model.visual."): return + # Qwen3VL has transposed packed tensors, so we treat it differently from general Qwen2MoE packed tensors + if name.endswith("mlp.experts.down_proj") or name.endswith("mlp.experts.down_proj.weight"): + name = name.replace("language_model.", "") + mapped = f"{name}.weight" if not name.endswith(".weight") else name + permuted = data_torch.permute(0, 2, 1).contiguous() + yield from ModelBase.modify_tensors(self, permuted, mapped, bid) + return + + if name.endswith("mlp.experts.gate_up_proj") or name.endswith("mlp.experts.gate_up_proj.weight"): + name = name.replace("language_model.", "") + if data_torch.ndim < 3 or data_torch.shape[-1] % 2 != 0: + raise ValueError(f"Unexpected gate_up_proj shape for {name}: {tuple(data_torch.shape)}") + split_dim = data_torch.shape[-1] // 2 + gate = data_torch[..., :split_dim].contiguous() + up = data_torch[..., split_dim:].contiguous() + # Input gate/up: (n_expert=128, n_embd=2048, n_ff_exp=768) + # Want GGML ne: {n_embd, n_ff_exp, n_expert} = {2048, 768, 128} + # Need PyTorch: (128, 768, 2048) [reversed of GGML] + # So: permute(0, 2, 1): (128, 2048, 768) -> (128, 768, 2048) + base_name = name.removesuffix(".weight") + base = base_name.rsplit('.', 1)[0] + mapped_gate = f"{base}.gate_proj.weight" + mapped_up = f"{base}.up_proj.weight" + perm_gate = gate.permute(0, 2, 1).contiguous() + perm_up = up.permute(0, 2, 1).contiguous() + yield from ModelBase.modify_tensors(self, perm_gate, mapped_gate, bid) + yield from ModelBase.modify_tensors(self, perm_up, mapped_up, bid) + return + yield from super().modify_tensors(data_torch, name, bid) From 6948adc90d77949e7802616d4c030396cf03b9c7 Mon Sep 17 00:00:00 2001 From: k4ss4n <128936199+k4ss4n@users.noreply.github.com> Date: Tue, 10 Feb 2026 10:57:48 +0100 Subject: [PATCH 171/206] ggml : use noexcept overload for is_regular_file in backend registration (#19452) using noexcept std::filesystem::directory_entry::is_regular_file overload prevents abnormal termination upon throwing an error (as caused by symlinks to non-existent folders on linux) Resolves: #18560 --- ggml/src/ggml-backend-reg.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-backend-reg.cpp b/ggml/src/ggml-backend-reg.cpp index 8a693f84af..311fa5fe36 100644 --- a/ggml/src/ggml-backend-reg.cpp +++ b/ggml/src/ggml-backend-reg.cpp @@ -471,9 +471,10 @@ static ggml_backend_reg_t ggml_backend_load_best(const char * name, bool silent, int best_score = 0; fs::path best_path; + std::error_code ec; for (const auto & search_path : search_paths) { - if (std::error_code ec; !fs::exists(search_path, ec)) { + if (!fs::exists(search_path, ec)) { if (ec) { GGML_LOG_DEBUG("%s: posix_stat(%s) failure, error-message: %s\n", __func__, path_str(search_path).c_str(), ec.message().c_str()); } else { @@ -483,7 +484,7 @@ static ggml_backend_reg_t ggml_backend_load_best(const char * name, bool silent, } fs::directory_iterator dir_it(search_path, fs::directory_options::skip_permission_denied); for (const auto & entry : dir_it) { - if (entry.is_regular_file()) { + if (entry.is_regular_file(ec)) { auto filename = entry.path().filename(); auto ext = entry.path().extension(); if (filename.native().find(file_prefix) == 0 && ext == file_extension) { From c03a5a46f0b9d05dd6099d64ab6ed091feabdb97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Cabrera=20P=C3=A9rez?= <1478977+Alcpz@users.noreply.github.com> Date: Tue, 10 Feb 2026 10:47:45 +0000 Subject: [PATCH 172/206] ggml-cpu: arm64: q6_K repack gemm and gemv (and generic) implementations (dotprod) (#19360) * First working version of GEMM and GEMV * interleave loads and compute * Clang-format * Added missing fallback. Removed tested TODO. * Swap M and N to be consistent with the repack template convention --- ggml/src/ggml-cpu/arch-fallback.h | 16 +- ggml/src/ggml-cpu/arch/arm/repack.cpp | 400 +++++++++++++++++++++++- ggml/src/ggml-cpu/repack.cpp | 425 ++++++++++++++------------ ggml/src/ggml-cpu/repack.h | 4 + 4 files changed, 643 insertions(+), 202 deletions(-) diff --git a/ggml/src/ggml-cpu/arch-fallback.h b/ggml/src/ggml-cpu/arch-fallback.h index 427c1146e4..c6eb75b230 100644 --- a/ggml/src/ggml-cpu/arch-fallback.h +++ b/ggml/src/ggml-cpu/arch-fallback.h @@ -43,6 +43,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x4_q8_K_generic ggml_gemv_q6_K_8x4_q8_K #define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 @@ -55,7 +56,8 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K -# define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K +#define ggml_gemm_q6_K_8x4_q8_K_generic ggml_gemm_q6_K_8x4_q8_K +#define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 @@ -76,6 +78,7 @@ #define ggml_gemv_q4_0_4x8_q8_0_generic ggml_gemv_q4_0_4x8_q8_0 #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x4_q8_K_generic ggml_gemv_q6_K_8x4_q8_K #define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_q8_0_4x4_q8_0_generic ggml_gemv_q8_0_4x4_q8_0 @@ -84,6 +87,7 @@ #define ggml_gemm_q4_0_4x8_q8_0_generic ggml_gemm_q4_0_4x8_q8_0 #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x4_q8_K_generic ggml_gemm_q6_K_8x4_q8_K #define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_q8_0_4x4_q8_0_generic ggml_gemm_q8_0_4x4_q8_0 @@ -107,6 +111,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x4_q8_K_generic ggml_gemv_q6_K_8x4_q8_K #define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 @@ -119,6 +124,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x4_q8_K_generic ggml_gemm_q6_K_8x4_q8_K #define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 @@ -143,6 +149,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x4_q8_K_generic ggml_gemv_q6_K_8x4_q8_K #define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 @@ -155,6 +162,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x4_q8_K_generic ggml_gemm_q6_K_8x4_q8_K #define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 @@ -186,6 +194,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x4_q8_K_generic ggml_gemv_q6_K_8x4_q8_K #define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 @@ -197,6 +206,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x4_q8_K_generic ggml_gemm_q6_K_8x4_q8_K #define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 @@ -227,6 +237,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x4_q8_K_generic ggml_gemv_q6_K_8x4_q8_K #define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 @@ -239,6 +250,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x4_q8_K_generic ggml_gemm_q6_K_8x4_q8_K #define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 @@ -271,6 +283,7 @@ #define ggml_gemv_q4_K_8x4_q8_K_generic ggml_gemv_q4_K_8x4_q8_K #define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_q5_K_8x8_q8_K_generic ggml_gemv_q5_K_8x8_q8_K +#define ggml_gemv_q6_K_8x4_q8_K_generic ggml_gemv_q6_K_8x4_q8_K #define ggml_gemv_q6_K_8x8_q8_K_generic ggml_gemv_q6_K_8x8_q8_K #define ggml_gemv_iq4_nl_4x4_q8_0_generic ggml_gemv_iq4_nl_4x4_q8_0 #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 @@ -283,6 +296,7 @@ #define ggml_gemm_q4_K_8x4_q8_K_generic ggml_gemm_q4_K_8x4_q8_K #define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_q5_K_8x8_q8_K_generic ggml_gemm_q5_K_8x8_q8_K +#define ggml_gemm_q6_K_8x4_q8_K_generic ggml_gemm_q6_K_8x4_q8_K #define ggml_gemm_q6_K_8x8_q8_K_generic ggml_gemm_q6_K_8x8_q8_K #define ggml_gemm_iq4_nl_4x4_q8_0_generic ggml_gemm_iq4_nl_4x4_q8_0 #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 diff --git a/ggml/src/ggml-cpu/arch/arm/repack.cpp b/ggml/src/ggml-cpu/arch/arm/repack.cpp index 99bb70274c..fd05c609f7 100644 --- a/ggml/src/ggml-cpu/arch/arm/repack.cpp +++ b/ggml/src/ggml-cpu/arch/arm/repack.cpp @@ -1072,6 +1072,195 @@ void ggml_gemv_q5_K_8x8_q8_K(int n, ggml_gemv_q5_K_8x8_q8_K_generic(n, s, bs, vx, vy, nr, nc); } +void ggml_gemv_q6_K_8x4_q8_K(int n, + float * GGML_RESTRICT s, + size_t bs, + const void * GGML_RESTRICT vx, + const void * GGML_RESTRICT vy, + int nr, + int nc) { + constexpr int qk = QK_K; + const int nb = n / qk; + + constexpr int ncols_interleaved = 8; + constexpr int blocklen = 4; + + assert(n % qk == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(nb); + UNUSED(ncols_interleaved); + UNUSED(blocklen); + +#if defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_DOTPROD) + constexpr int col_groups = ncols_interleaved / 4; + const uint8x16_t m4b = vdupq_n_u8(0x0f); + const uint8x16_t mask_lo = vdupq_n_u8(0x03); + const uint8x16_t mask_hi = vdupq_n_u8(0x30); + + // 1x8 tile = 2 x 4 + float32x4_t acc_f32[2]; + + const block_q8_K * GGML_RESTRICT q8_ptr = (const block_q8_K *) vy; + + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q6_Kx8 * GGML_RESTRICT q6_ptr = (const block_q6_Kx8 *) vx + (x * nb); + + for (int i = 0; i < col_groups; i++) { + acc_f32[i] = vdupq_n_f32(0); + } + + for (int b = 0; b < nb; b++) { + float32x4_t q6_d_0 = vcvt_f32_f16(vld1_f16((const __fp16 *) q6_ptr[b].d)); // d0 d1 d2 d3 + float32x4_t q6_d_1 = vcvt_f32_f16(vld1_f16((const __fp16 *) q6_ptr[b].d + 4)); // d4 d5 d6 d7 + float32x4_t q8_d = vdupq_n_f32(q8_ptr[b].d); + float32x4_t sb_scale_0 = vmulq_f32(q6_d_0, q8_d); + float32x4_t sb_scale_1 = vmulq_f32(q6_d_1, q8_d); + + int32x4_t acc[col_groups]; + for (int i = 0; i < col_groups; i++) { + acc[i] = vdupq_n_s32(0); + } + + // Load all 16 scales once and widen to int16 (Q6_K has 16 scales per block) + // Reused for bias and dequantization later + int16_t q6_scales[16 * 8]; + for (int i = 0; i < 16; i++) { + int16x8_t scales = vmovl_s8(vld1_s8(q6_ptr[b].scales + i * 8)); + vst1q_s16(q6_scales + i * 8, scales); + } + + // Compute bias per column using q8 bsums and preloaded scales to skip the -32 shift + int32x4_t bias_lo = vdupq_n_s32(0); + int32x4_t bias_hi = vdupq_n_s32(0); + + // Load bsums in chunks of 4 to process with vectorized operations + for (int i = 0; i < 16; i += 4) { + int16x4_t bsums_vec = vld1_s16(q8_ptr[b].bsums + i); + int16x4_t scales_lo_0 = vld1_s16(q6_scales + (i + 0) * 8); + int16x4_t scales_hi_0 = vld1_s16(q6_scales + (i + 0) * 8 + 4); + int16x4_t scales_lo_1 = vld1_s16(q6_scales + (i + 1) * 8); + int16x4_t scales_hi_1 = vld1_s16(q6_scales + (i + 1) * 8 + 4); + int16x4_t scales_lo_2 = vld1_s16(q6_scales + (i + 2) * 8); + int16x4_t scales_hi_2 = vld1_s16(q6_scales + (i + 2) * 8 + 4); + int16x4_t scales_lo_3 = vld1_s16(q6_scales + (i + 3) * 8); + int16x4_t scales_hi_3 = vld1_s16(q6_scales + (i + 3) * 8 + 4); + + bias_lo = vmlal_lane_s16(bias_lo, scales_lo_0, bsums_vec, 0); + bias_hi = vmlal_lane_s16(bias_hi, scales_hi_0, bsums_vec, 0); + bias_lo = vmlal_lane_s16(bias_lo, scales_lo_1, bsums_vec, 1); + bias_hi = vmlal_lane_s16(bias_hi, scales_hi_1, bsums_vec, 1); + bias_lo = vmlal_lane_s16(bias_lo, scales_lo_2, bsums_vec, 2); + bias_hi = vmlal_lane_s16(bias_hi, scales_hi_2, bsums_vec, 2); + bias_lo = vmlal_lane_s16(bias_lo, scales_lo_3, bsums_vec, 3); + bias_hi = vmlal_lane_s16(bias_hi, scales_hi_3, bsums_vec, 3); + } + bias_lo = vshlq_n_s32(bias_lo, 5); + bias_hi = vshlq_n_s32(bias_hi, 5); + + // Process two 128-value halves per superblock + for (int half = 0; half < 2; half++) { + const uint8_t * ql_base = q6_ptr[b].ql + half * 512; + const uint8_t * qh_base = q6_ptr[b].qh + half * 256; + + // A subblock (sb) is a set of weights that share the scale + // Since q6_K scales are per 16 elements + // num sbs -> 256 elements / (16 elements/scale * 2 elements/byte * 2 halves) + for (int sb = 0; sb < QK_K / 64; sb++) { + const int8_t * q8_base_l = q8_ptr[b].qs + half * 128 + sb * 16; + const int8_t * q8_base_h = q8_base_l + 64; + + // Load and duplicate q8 values (each register covers four interleaved columns of q6) + int8x16_t q8_l[4]; + int8x16_t q8_h[4]; + for (int i = 0; i < 4; i++) { + q8_l[i] = (int8x16_t) vld1q_dup_s32((const int32_t *) (q8_base_l + i * 4)); + q8_h[i] = (int8x16_t) vld1q_dup_s32((const int32_t *) (q8_base_h + i * 4)); + } + + const int ql_off_base = sb * QK_K / 2; + const int qh_off_base = ql_off_base & 255; // wraps after 256 bytes + + // Load 4 vectors at once (64 bytes each for ql_0, ql_1, qh_0, qh_1) + uint8x16x4_t q6_ql_0 = vld1q_u8_x4(ql_base + ql_off_base); + uint8x16x4_t q6_ql_1 = vld1q_u8_x4(ql_base + ql_off_base + 64); + uint8x16x4_t q6_qh_0 = vld1q_u8_x4(qh_base + qh_off_base); + uint8x16x4_t q6_qh_1 = vld1q_u8_x4(qh_base + qh_off_base + 64); + + // Adjust qh for subblocks 2 and 3 (shift right by 2) + if (sb > 1) { + q6_qh_0.val[0] = vshrq_n_u8(q6_qh_0.val[0], 2); + q6_qh_0.val[1] = vshrq_n_u8(q6_qh_0.val[1], 2); + q6_qh_0.val[2] = vshrq_n_u8(q6_qh_0.val[2], 2); + q6_qh_0.val[3] = vshrq_n_u8(q6_qh_0.val[3], 2); + q6_qh_1.val[0] = vshrq_n_u8(q6_qh_1.val[0], 2); + q6_qh_1.val[1] = vshrq_n_u8(q6_qh_1.val[1], 2); + q6_qh_1.val[2] = vshrq_n_u8(q6_qh_1.val[2], 2); + q6_qh_1.val[3] = vshrq_n_u8(q6_qh_1.val[3], 2); + } + + const uint8x16_t q6_ql[8] = { q6_ql_0.val[0], q6_ql_0.val[1], q6_ql_0.val[2], q6_ql_0.val[3], + q6_ql_1.val[0], q6_ql_1.val[1], q6_ql_1.val[2], q6_ql_1.val[3] }; + const uint8x16_t q6_qh[8] = { q6_qh_0.val[0], q6_qh_0.val[1], q6_qh_0.val[2], q6_qh_0.val[3], + q6_qh_1.val[0], q6_qh_1.val[1], q6_qh_1.val[2], q6_qh_1.val[3] }; + + // Process column groups (0-3, 4-7) + for (int g = 0; g < col_groups; g++) { + int32x4_t sb_acc_l = vdupq_n_s32(0); + int32x4_t sb_acc_h = vdupq_n_s32(0); + + for (int chunk = 0; chunk < 4; chunk++) { + const int idx = chunk * 2 + g; + + const uint8x16_t q6_qs_l = q6_ql[idx]; + const uint8x16_t q6_qs_h = q6_qh[idx]; + + // Extract high 2 bits for upper nibble reconstruction + const uint8x16_t q6_qs_hh = vandq_u8(q6_qs_h, mask_hi); + + // q6 = (low4 | high2<<4), without -32 bias (handled via bsums) + const int8x16_t q6_l = + vreinterpretq_s8_u8(vsliq_n_u8(vandq_u8(q6_qs_l, m4b), vandq_u8(q6_qs_h, mask_lo), 4)); + const int8x16_t q6_h = vreinterpretq_s8_u8(vorrq_u8(vshrq_n_u8(q6_qs_l, 4), q6_qs_hh)); + + sb_acc_l = vdotq_s32(sb_acc_l, q6_l, q8_l[chunk]); + sb_acc_h = vdotq_s32(sb_acc_h, q6_h, q8_h[chunk]); + } + + const int scale_idx_l = half * 8 + sb; + const int scale_idx_h = half * 8 + sb + 4; + + const int32x4_t scale_vec_l = vmovl_s16(vld1_s16(q6_scales + scale_idx_l * 8 + g * 4)); + const int32x4_t scale_vec_h = vmovl_s16(vld1_s16(q6_scales + scale_idx_h * 8 + g * 4)); + + acc[g] = vmlaq_s32(acc[g], sb_acc_l, scale_vec_l); + acc[g] = vmlaq_s32(acc[g], sb_acc_h, scale_vec_h); + } + } + } // for half + + // Bias correction + acc[0] = vsubq_s32(acc[0], bias_lo); + acc[1] = vsubq_s32(acc[1], bias_hi); + + // Apply superblock scale (no mins for q6_K) + // acc[g] has [c0, c1, c2, c3] + float32x4_t w_0123 = vmulq_f32(vcvtq_f32_s32(acc[0]), sb_scale_0); + float32x4_t w_4567 = vmulq_f32(vcvtq_f32_s32(acc[1]), sb_scale_1); + + acc_f32[0] = vaddq_f32(acc_f32[0], w_0123); + acc_f32[1] = vaddq_f32(acc_f32[1], w_4567); + } // for b + + int base = x * ncols_interleaved; + vst1q_f32(s + base, acc_f32[0]); + vst1q_f32(s + base + 4, acc_f32[1]); + } // for x + return; +#endif // defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_DOTPROD) + ggml_gemv_q6_K_8x4_q8_K_generic(n, s, bs, vx, vy, nr, nc); +} + void ggml_gemv_q6_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, @@ -1177,15 +1366,14 @@ void ggml_gemv_q6_K_8x8_q8_K(int n, q8_h[i] = (int8x16_t) vld1q_dup_s64((const int64_t *) (q8_base_h + i * 8)); } - // TODO: Test other qh repack patterns to reduce loads const int ql_off_base = sb * QK_K / 2; const int qh_off_base = ql_off_base & 255; // wraps after 256 bytes // Load 4 vectors at once (64 bytes each for ql_0, ql_1, qh_0, qh_1) - ggml_uint8x16x4_t q6_ql_0 = ggml_vld1q_u8_x4(ql_base + ql_off_base); - ggml_uint8x16x4_t q6_ql_1 = ggml_vld1q_u8_x4(ql_base + ql_off_base + 64); - ggml_uint8x16x4_t q6_qh_0 = ggml_vld1q_u8_x4(qh_base + qh_off_base); - ggml_uint8x16x4_t q6_qh_1 = ggml_vld1q_u8_x4(qh_base + qh_off_base + 64); + uint8x16x4_t q6_ql_0 = vld1q_u8_x4(ql_base + ql_off_base); + uint8x16x4_t q6_ql_1 = vld1q_u8_x4(ql_base + ql_off_base + 64); + uint8x16x4_t q6_qh_0 = vld1q_u8_x4(qh_base + qh_off_base); + uint8x16x4_t q6_qh_1 = vld1q_u8_x4(qh_base + qh_off_base + 64); // Adjust qh for subblocks 2 and 3 (shift right by 2) if (sb > 1) { @@ -3474,6 +3662,208 @@ void ggml_gemm_q5_K_8x8_q8_K(int n, ggml_gemm_q5_K_8x8_q8_K_generic(n, s, bs, vx, vy, nr, nc); } +void ggml_gemm_q6_K_8x4_q8_K(int n, + float * GGML_RESTRICT s, + size_t bs, + const void * GGML_RESTRICT vx, + const void * GGML_RESTRICT vy, + int nr, + int nc) { + constexpr int qk = QK_K; + const int nb = n / qk; + + constexpr int ncols_interleaved = 8; + constexpr int blocklen = 4; + + assert(n % qk == 0); + assert(nr % 4 == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(nb); + UNUSED(ncols_interleaved); + UNUSED(blocklen); + +#if defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_DOTPROD) + constexpr int q8_k_blocklen = 4; + constexpr int col_groups = ncols_interleaved / 4; + constexpr int acc_size = q8_k_blocklen * col_groups; // 4 rows, 2 column groups + const uint8x16_t m4b = vdupq_n_u8(0x0f); + const uint8x16_t mask_lo = vdupq_n_u8(0x03); + const uint8x16_t mask_hi = vdupq_n_u8(0x30); + const int8x16_t m32s = vdupq_n_s8(32); + + float32x4_t acc_f32[acc_size]; + + for (int y = 0; y < nr / q8_k_blocklen; y++) { + const block_q8_Kx4 * GGML_RESTRICT q8_ptr = (const block_q8_Kx4 *) vy + (y * nb); + + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q6_Kx8 * GGML_RESTRICT q6_ptr = (const block_q6_Kx8 *) vx + (x * nb); + + for (int i = 0; i < acc_size; i++) { + acc_f32[i] = vdupq_n_f32(0); + } + + for (int b = 0; b < nb; b++) { + float32x4_t q6_d_0123 = vcvt_f32_f16(vld1_f16((const __fp16 *) q6_ptr[b].d)); + float32x4_t q6_d_4567 = vcvt_f32_f16(vld1_f16((const __fp16 *) q6_ptr[b].d + 4)); + float32x4_t q8_d_0123 = vld1q_f32(q8_ptr[b].d); + + float32x4_t sbd_scale_0123[q8_k_blocklen]; + float32x4_t sbd_scale_4567[q8_k_blocklen]; + + sbd_scale_0123[0] = vmulq_laneq_f32(q6_d_0123, q8_d_0123, 0); + sbd_scale_4567[0] = vmulq_laneq_f32(q6_d_4567, q8_d_0123, 0); + sbd_scale_0123[1] = vmulq_laneq_f32(q6_d_0123, q8_d_0123, 1); + sbd_scale_4567[1] = vmulq_laneq_f32(q6_d_4567, q8_d_0123, 1); + sbd_scale_0123[2] = vmulq_laneq_f32(q6_d_0123, q8_d_0123, 2); + sbd_scale_4567[2] = vmulq_laneq_f32(q6_d_4567, q8_d_0123, 2); + sbd_scale_0123[3] = vmulq_laneq_f32(q6_d_0123, q8_d_0123, 3); + sbd_scale_4567[3] = vmulq_laneq_f32(q6_d_4567, q8_d_0123, 3); + + int32x4_t acc_s32[acc_size]; + for (int i = 0; i < acc_size; i++) { + acc_s32[i] = vdupq_n_s32(0); + } + + int16_t q6_scales[8 * 16]; + for (int i = 0; i < 16; i++) { + int16x8_t scales = vmovl_s8(vld1_s8(q6_ptr[b].scales + i * 8)); + vst1q_s16(q6_scales + i * 8, scales); + } + + for (int half = 0; half < 2; half++) { + const uint8_t * ql_base = q6_ptr[b].ql + half * 512; + const uint8_t * qh_base = q6_ptr[b].qh + half * 256; + + for (int sb = 0; sb < QK_K / 64; sb++) { + int32x4_t acc_lo[acc_size]; + int32x4_t acc_hi[acc_size]; + for (int i = 0; i < acc_size; i++) { + acc_lo[i] = vdupq_n_s32(0); + acc_hi[i] = vdupq_n_s32(0); + } + + const int8_t * q8_base_l = q8_ptr[b].qs + half * 512 + sb * 64; + const int8_t * q8_base_h = q8_ptr[b].qs + half * 512 + 256 + sb * 64; + + // 4 rows * 16 elements per scale + // 4 reads of 16 bytes each + constexpr int reads_per_sb = 4; + int8x16_t q8_l[reads_per_sb]; + int8x16_t q8_h[reads_per_sb]; + for (int k = 0; k < reads_per_sb; k++) { + q8_l[k] = vld1q_s8(q8_base_l + 16 * k); + q8_h[k] = vld1q_s8(q8_base_h + 16 * k); + } + + const int ql_off_base = sb * QK_K / 2; + const int qh_off_base = ql_off_base & 255; + + uint8x16_t q6_ql_0123[reads_per_sb]; + uint8x16_t q6_ql_4567[reads_per_sb]; + uint8x16_t q6_qh_0123[reads_per_sb]; + uint8x16_t q6_qh_4567[reads_per_sb]; + + for (int k = 0; k < reads_per_sb; k++) { + q6_ql_0123[k] = vld1q_u8(ql_base + ql_off_base + k * 32); + q6_ql_4567[k] = vld1q_u8(ql_base + ql_off_base + k * 32 + 16); + q6_qh_0123[k] = vld1q_u8(qh_base + qh_off_base + k * 32); + q6_qh_4567[k] = vld1q_u8(qh_base + qh_off_base + k * 32 + 16); + } + + if (sb > 1) { + for (int k = 0; k < reads_per_sb; k++) { + q6_qh_0123[k] = vshrq_n_u8(q6_qh_0123[k], 2); + q6_qh_4567[k] = vshrq_n_u8(q6_qh_4567[k], 2); + } + } + + for (int k = 0; k < reads_per_sb; k++) { + // q = (ql | qh) - 32 + const uint8x16_t hbit_lo_0123 = vandq_u8(q6_qh_0123[k], mask_lo); + const uint8x16_t hbit_hi_0123 = vandq_u8(q6_qh_0123[k], mask_hi); + const uint8x16_t hbit_lo_4567 = vandq_u8(q6_qh_4567[k], mask_lo); + const uint8x16_t hbit_hi_4567 = vandq_u8(q6_qh_4567[k], mask_hi); + + const int8x16_t q6_0123_lo = vsubq_s8( + vreinterpretq_s8_u8(vsliq_n_u8(vandq_u8(q6_ql_0123[k], m4b), hbit_lo_0123, 4)), m32s); + const int8x16_t q6_0123_hi = vsubq_s8( + vreinterpretq_s8_u8(vorrq_u8(vshrq_n_u8(q6_ql_0123[k], 4), hbit_hi_0123)), m32s); + + acc_lo[0] = vdotq_laneq_s32(acc_lo[0], q6_0123_lo, q8_l[k], 0); // 0..3 r0 c0123 + acc_lo[1] = vdotq_laneq_s32(acc_lo[1], q6_0123_lo, q8_l[k], 1); // 0..3 r1 c0123 + acc_lo[2] = vdotq_laneq_s32(acc_lo[2], q6_0123_lo, q8_l[k], 2); // 0..3 r2 c0123 + acc_lo[3] = vdotq_laneq_s32(acc_lo[3], q6_0123_lo, q8_l[k], 3); // 0..3 r3 c0123 + + acc_hi[0] = vdotq_laneq_s32(acc_hi[0], q6_0123_hi, q8_h[k], 0); // 64..67 r0 c0123 + acc_hi[1] = vdotq_laneq_s32(acc_hi[1], q6_0123_hi, q8_h[k], 1); // 64..67 r1 c0123 + acc_hi[2] = vdotq_laneq_s32(acc_hi[2], q6_0123_hi, q8_h[k], 2); // 64..67 r2 c0123 + acc_hi[3] = vdotq_laneq_s32(acc_hi[3], q6_0123_hi, q8_h[k], 3); // 64..67 r3 c0123 + + const int8x16_t q6_4567_lo = vsubq_s8( + vreinterpretq_s8_u8(vsliq_n_u8(vandq_u8(q6_ql_4567[k], m4b), hbit_lo_4567, 4)), m32s); + const int8x16_t q6_4567_hi = vsubq_s8( + vreinterpretq_s8_u8(vorrq_u8(vshrq_n_u8(q6_ql_4567[k], 4), hbit_hi_4567)), m32s); + + acc_lo[4] = vdotq_laneq_s32(acc_lo[4], q6_4567_lo, q8_l[k], 0); // 0..3 r0 c4567 + acc_lo[5] = vdotq_laneq_s32(acc_lo[5], q6_4567_lo, q8_l[k], 1); // 0..3 r1 c4567 + acc_lo[6] = vdotq_laneq_s32(acc_lo[6], q6_4567_lo, q8_l[k], 2); // 0..3 r2 c4567 + acc_lo[7] = vdotq_laneq_s32(acc_lo[7], q6_4567_lo, q8_l[k], 3); // 0..3 r3 c4567 + + acc_hi[4] = vdotq_laneq_s32(acc_hi[4], q6_4567_hi, q8_h[k], 0); // 64..67 r0 c4567 + acc_hi[5] = vdotq_laneq_s32(acc_hi[5], q6_4567_hi, q8_h[k], 1); // 64..67 r1 c4567 + acc_hi[6] = vdotq_laneq_s32(acc_hi[6], q6_4567_hi, q8_h[k], 2); // 64..67 r2 c4567 + acc_hi[7] = vdotq_laneq_s32(acc_hi[7], q6_4567_hi, q8_h[k], 3); // 64..67 r3 c4567 + } + + // Scale and bias + const int scale_idx_l = half * 8 + sb; + const int scale_idx_h = half * 8 + sb + 4; + + for (int g = 0; g < col_groups; g++) { + const int16x4_t scales_l16 = vld1_s16(q6_scales + scale_idx_l * 8 + g * 4); + const int16x4_t scales_h16 = vld1_s16(q6_scales + scale_idx_h * 8 + g * 4); + const int32x4_t scale_vec_l = vmovl_s16(scales_l16); + const int32x4_t scale_vec_h = vmovl_s16(scales_h16); + const int acc_offset = g * q8_k_blocklen; + + for (int row = 0; row < q8_k_blocklen; row++) { + const int idx = row * 2 + g; + acc_s32[idx] = vmlaq_s32(acc_s32[idx], acc_lo[acc_offset + row], scale_vec_l); + acc_s32[idx] = vmlaq_s32(acc_s32[idx], acc_hi[acc_offset + row], scale_vec_h); + } + } + } + } + + // Finally we apply the superblock scales + for (int row = 0; row < q8_k_blocklen; row++) { + const int idx0 = 2 * row; + const int idx1 = 2 * row + 1; + const int32x4_t acc_0123 = acc_s32[idx0]; + const int32x4_t acc_4567 = acc_s32[idx1]; + + acc_f32[idx0] = vmlaq_f32(acc_f32[idx0], vcvtq_f32_s32(acc_0123), sbd_scale_0123[row]); + acc_f32[idx1] = vmlaq_f32(acc_f32[idx1], vcvtq_f32_s32(acc_4567), sbd_scale_4567[row]); + } + } // for b + + for (int i = 0; i < q8_k_blocklen; i++) { + int row = y * q8_k_blocklen + i; + for (int j = 0; j < 2; j++) { + int col = x * ncols_interleaved + j * 4; + int offset = row * bs + col; + vst1q_f32(s + offset, acc_f32[2 * i + j]); + } + } + } // for x + } // for y + return; +#endif // defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_DOTPROD) + ggml_gemm_q6_K_8x4_q8_K_generic(n, s, bs, vx, vy, nr, nc); +} + void ggml_gemm_q6_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, diff --git a/ggml/src/ggml-cpu/repack.cpp b/ggml/src/ggml-cpu/repack.cpp index 24e8ab4618..4cb7cdeb07 100644 --- a/ggml/src/ggml-cpu/repack.cpp +++ b/ggml/src/ggml-cpu/repack.cpp @@ -256,6 +256,200 @@ template <> void ggml_quantize_mat_t<8, GGML_TYPE_Q8_K>(const float * GGML_RESTR ggml_quantize_mat_q8_K_4x8(x, vy, n_per_row); } +template +static void ggml_gemv_q6_K_NxM_q8_K_generic_impl(int n, + float * GGML_RESTRICT s, + size_t bs, + const void * GGML_RESTRICT vx, + const void * GGML_RESTRICT vy, + int nr, + int nc) { + constexpr int blocklen = M; + constexpr int ncols_interleaved = N; + const int qk = QK_K; + const int nb = n / qk; + const int blocks_per_half = 64 / blocklen; + + assert(n % qk == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(bs); + UNUSED(nr); + + float sumf[8]; + + const block_q8_K * a_ptr = (const block_q8_K *) vy; + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q6_Kx8 * b_ptr = (const block_q6_Kx8 *) vx + (x * nb); + + for (int j = 0; j < ncols_interleaved; j++) { + sumf[j] = 0.0f; + } + + for (int l = 0; l < nb; l++) { + for (int k = 0; k < (qk / (2 * blocklen)); k++) { + const int base_l = (k / blocks_per_half) * 128 + (k % blocks_per_half) * blocklen; + const int base_h = base_l + 64; + + const int scale_idx_l = base_l / 16; + const int scale_idx_h = base_h / 16; + + const int qh_shift_l = ((base_l % 128) / 32) * 2; + const int qh_shift_h = ((base_h % 128) / 32) * 2; + + const int qh_half_l = (base_l / 128) * 32; + const int qh_half_h = (base_h / 128) * 32; + + for (int j = 0; j < ncols_interleaved; j++) { + const int8_t scale_l = b_ptr[l].scales[scale_idx_l * ncols_interleaved + j]; + const int8_t scale_h = b_ptr[l].scales[scale_idx_h * ncols_interleaved + j]; + + int sumi_l = 0; + int sumi_h = 0; + + for (int i = 0; i < blocklen; i++) { + const int ql_pos = k * ncols_interleaved * blocklen + j * blocklen + i; + const int l_4 = b_ptr[l].ql[ql_pos] & 0xF; + const int hi_4 = (b_ptr[l].ql[ql_pos] >> 4) & 0xF; + + const int qh_idx_l = qh_half_l + ((base_l + i) % 32); + const int qh_chunk_l = qh_idx_l / blocklen; + const int qh_pos_l = qh_idx_l % blocklen; + const int qh_offset_l = qh_chunk_l * (blocklen * ncols_interleaved) + j * blocklen + qh_pos_l; + const int hi_2_l = (b_ptr[l].qh[qh_offset_l] >> qh_shift_l) & 0x3; + + const int qh_idx_h = qh_half_h + ((base_h + i) % 32); + const int qh_chunk_h = qh_idx_h / blocklen; + const int qh_pos_h = qh_idx_h % blocklen; + const int qh_offset_h = qh_chunk_h * (blocklen * ncols_interleaved) + j * blocklen + qh_pos_h; + const int hi_2_h = (b_ptr[l].qh[qh_offset_h] >> qh_shift_h) & 0x3; + + const int q_l = ((hi_2_l << 4) | l_4) - 32; + const int q_h = ((hi_2_h << 4) | hi_4) - 32; + + const int8_t a_l = a_ptr[l].qs[base_l + i]; + const int8_t a_h = a_ptr[l].qs[base_h + i]; + + sumi_l += q_l * a_l; + sumi_h += q_h * a_h; + } + + sumf[j] += + (sumi_l * scale_l + sumi_h * scale_h) * GGML_CPU_FP16_TO_FP32(b_ptr[l].d[j]) * a_ptr[l].d; + } + } + } + + for (int j = 0; j < ncols_interleaved; j++) { + s[x * ncols_interleaved + j] = sumf[j]; + } + } +} + +template +static void ggml_gemm_q6_K_NxM_q8_K_generic_impl(int n, + float * GGML_RESTRICT s, + size_t bs, + const void * GGML_RESTRICT vx, + const void * GGML_RESTRICT vy, + int nr, + int nc) { + constexpr int blocklen = M; + constexpr int ncols_interleaved = N; + const int qk = QK_K; + const int nb = n / qk; + const int blocks_per_half = 64 / blocklen; + const int q8_half_stride = 512; + const int q8_low_high_step = 256; + + assert(n % qk == 0); + assert(nr % 4 == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(bs); + + float sumf[4][8]; + + for (int y = 0; y < nr / 4; y++) { + const block_q8_Kx4 * a_ptr = (const block_q8_Kx4 *) vy + (y * nb); + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q6_Kx8 * b_ptr = (const block_q6_Kx8 *) vx + (x * nb); + + for (int m = 0; m < 4; m++) { + for (int j = 0; j < ncols_interleaved; j++) { + sumf[m][j] = 0.0f; + } + } + + for (int l = 0; l < nb; l++) { + for (int k = 0; k < (qk / (2 * blocklen)); k++) { + const int base_l = (k / blocks_per_half) * 128 + (k % blocks_per_half) * blocklen; + const int base_h = base_l + 64; + + const int scale_idx_l = base_l / 16; + const int scale_idx_h = base_h / 16; + + const int qh_shift_l = ((base_l % 128) / 32) * 2; + const int qh_shift_h = ((base_h % 128) / 32) * 2; + + const int qh_half_l = (base_l / 128) * 32; + const int qh_half_h = (base_h / 128) * 32; + + const int q8_base = (k / blocks_per_half) * q8_half_stride + (k % blocks_per_half) * (blocklen * 4); + + for (int m = 0; m < 4; m++) { + for (int j = 0; j < ncols_interleaved; j++) { + const int8_t scale_l = b_ptr[l].scales[scale_idx_l * ncols_interleaved + j]; + const int8_t scale_h = b_ptr[l].scales[scale_idx_h * ncols_interleaved + j]; + + int sumi_l = 0; + int sumi_h = 0; + + for (int i = 0; i < blocklen; i++) { + const int ql_pos = k * ncols_interleaved * blocklen + j * blocklen + i; + const int l_4 = b_ptr[l].ql[ql_pos] & 0xF; + const int hi_4 = (b_ptr[l].ql[ql_pos] >> 4) & 0xF; + + const int qh_idx_l = qh_half_l + ((base_l + i) % 32); + const int qh_chunk_l = qh_idx_l / blocklen; + const int qh_pos_l = qh_idx_l % blocklen; + const int qh_offset_l = + qh_chunk_l * (blocklen * ncols_interleaved) + j * blocklen + qh_pos_l; + const int hi_2_l = (b_ptr[l].qh[qh_offset_l] >> qh_shift_l) & 0x3; + + const int qh_idx_h = qh_half_h + ((base_h + i) % 32); + const int qh_chunk_h = qh_idx_h / blocklen; + const int qh_pos_h = qh_idx_h % blocklen; + const int qh_offset_h = + qh_chunk_h * (blocklen * ncols_interleaved) + j * blocklen + qh_pos_h; + const int hi_2_h = (b_ptr[l].qh[qh_offset_h] >> qh_shift_h) & 0x3; + + const int q_l = ((hi_2_l << 4) | l_4) - 32; + const int q_h = ((hi_2_h << 4) | hi_4) - 32; + + const int8_t q8_l = a_ptr[l].qs[q8_base + m * blocklen + i]; + const int8_t q8_h = a_ptr[l].qs[q8_base + m * blocklen + i + q8_low_high_step]; + + sumi_l += q_l * q8_l; + sumi_h += q_h * q8_h; + } + + sumf[m][j] += (sumi_l * scale_l + sumi_h * scale_h) * GGML_CPU_FP16_TO_FP32(b_ptr[l].d[j]) * + a_ptr[l].d[m]; + } + } + } + } + + for (int m = 0; m < 4; m++) { + for (int j = 0; j < ncols_interleaved; j++) { + s[(y * 4 + m) * bs + x * ncols_interleaved + j] = sumf[m][j]; + } + } + } + } +} + extern "C" { void ggml_gemv_q4_0_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { @@ -704,94 +898,12 @@ void ggml_gemv_q5_K_8x8_q8_K_generic(int n, } +void ggml_gemv_q6_K_8x4_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { + ggml_gemv_q6_K_NxM_q8_K_generic_impl<4, 8>(n, s, bs, vx, vy, nr, nc); +} + void ggml_gemv_q6_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { - constexpr int qk = QK_K; - const int nb = n / qk; - const int ncols_interleaved = 8; - const int blocklen = 8; - - assert(n % qk == 0); - assert(nc % ncols_interleaved == 0); - - UNUSED(bs); - UNUSED(nr); - - float sumf[8]; - - const block_q8_K * a_ptr = (const block_q8_K *) vy; - for (int x = 0; x < nc / ncols_interleaved; x++) { - const block_q6_Kx8 * b_ptr = (const block_q6_Kx8 *) vx + (x * nb); - - for (int j = 0; j < ncols_interleaved; j++) { - sumf[j] = 0.0f; - } - - for (int l = 0; l < nb; l++) { - - - for (int k = 0; k < 16; k++) { - // k = 0.. 7 weights 0-63 low, 64-127 high - // k = 8..15 weights 128-191 low, 192-255 high - const int base_l = (k / 8) * 128 + (k % 8) * 8; - const int base_h = base_l + 64; - - const int scale_idx_l = base_l / 16; - const int scale_idx_h = base_h / 16; - - // Bit shift cycles 0,2,4,6 for each 32-value group within a 128-value half - const int qh_shift_l = ((base_l % 128) / 32) * 2; - const int qh_shift_h = ((base_h % 128) / 32) * 2; - - // qh_half: offset to the correct 32-byte half (0 or 32) - const int qh_half_l = (base_l / 128) * 32; - const int qh_half_h = (base_h / 128) * 32; - - for (int j = 0; j < ncols_interleaved; j++) { - // Interleaved scales - const int8_t scale_l = b_ptr[l].scales[scale_idx_l * 8 + j]; - const int8_t scale_h = b_ptr[l].scales[scale_idx_h * 8 + j]; - - int sumi_l = 0; - int sumi_h = 0; - - for (int i = 0; i < blocklen; i++) { - const int ql_pos = k * 64 + j * 8 + i; - const int l_4 = b_ptr[l].ql[ql_pos] & 0xF; - const int hi_4 = (b_ptr[l].ql[ql_pos] >> 4) & 0xF; - - // qh indexing with 8-byte interleaving (like q5_K) - const int qh_byte_l = qh_half_l + ((base_l + i) % 32); - const int qh_chunk_l = qh_byte_l / 8; - const int qh_pos_l = qh_byte_l % 8; - const int qh_offset_l = qh_chunk_l * 64 + j * 8 + qh_pos_l; - const int hi_2_l = (b_ptr[l].qh[qh_offset_l] >> qh_shift_l) & 0x3; - - const int qh_byte_h = qh_half_h + ((base_h + i) % 32); - const int qh_chunk_h = qh_byte_h / 8; - const int qh_pos_h = qh_byte_h % 8; - const int qh_offset_h = qh_chunk_h * 64 + j * 8 + qh_pos_h; - const int hi_2_h = (b_ptr[l].qh[qh_offset_h] >> qh_shift_h) & 0x3; - - const int q_l = ((hi_2_l << 4) | l_4) - 32; - const int q_h = ((hi_2_h << 4) | hi_4) - 32; - - const int8_t a_l = a_ptr[l].qs[base_l + i]; - const int8_t a_h = a_ptr[l].qs[base_h + i]; - - sumi_l += q_l * a_l; - sumi_h += q_h * a_h; - } - - sumf[j] += - (sumi_l * scale_l + sumi_h * scale_h) * GGML_CPU_FP16_TO_FP32(b_ptr[l].d[j]) * a_ptr[l].d; - } - } - } - - for (int j = 0; j < ncols_interleaved; j++) { - s[x * ncols_interleaved + j] = sumf[j]; - } - } + ggml_gemv_q6_K_NxM_q8_K_generic_impl<8, 8>(n, s, bs, vx, vy, nr, nc); } void ggml_gemv_iq4_nl_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { @@ -1485,109 +1597,12 @@ void ggml_gemm_q5_K_8x8_q8_K_generic(int n, } } -void ggml_gemm_q6_K_8x8_q8_K_generic(int n, - float * GGML_RESTRICT s, - size_t bs, - const void * GGML_RESTRICT vx, - const void * GGML_RESTRICT vy, - int nr, - int nc) { - const int qk = QK_K; - const int nb = n / qk; - const int ncols_interleaved = 8; - const int blocklen = 8; +void ggml_gemm_q6_K_8x4_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { + ggml_gemm_q6_K_NxM_q8_K_generic_impl<4, 8>(n, s, bs, vx, vy, nr, nc); +} - assert(n % qk == 0); - assert(nr % 4 == 0); - assert(nc % ncols_interleaved == 0); - - UNUSED(bs); - - float sumf[4][8]; - - for (int y = 0; y < nr / 4; y++) { - const block_q8_Kx4 * a_ptr = (const block_q8_Kx4 *) vy + (y * nb); - for (int x = 0; x < nc / ncols_interleaved; x++) { - const block_q6_Kx8 * b_ptr = (const block_q6_Kx8 *) vx + (x * nb); - - for (int m = 0; m < 4; m++) { - for (int j = 0; j < ncols_interleaved; j++) { - sumf[m][j] = 0.0f; - } - } - - for (int l = 0; l < nb; l++) { - for (int k = 0; k < 16; k++) { - // k = 0.. 7 weights 0-63 low, 64-127 high - // k = 8..15 weights 128-191 low, 192-255 high - const int base_l = (k / 8) * 128 + (k % 8) * 8; - const int base_h = base_l + 64; - - const int scale_idx_l = base_l / 16; - const int scale_idx_h = base_h / 16; - - // Bit shift cycles 0,2,4,6 for each 32-value group within a 128-value half - const int qh_shift_l = ((base_l % 128) / 32) * 2; - const int qh_shift_h = ((base_h % 128) / 32) * 2; - - // qh_half: offset to the correct 32-byte half (0 or 32) - const int qh_half_l = (base_l / 128) * 32; - const int qh_half_h = (base_h / 128) * 32; - - // Activation base indices for q8_Kx4 interleaved format - // Layout: 128-value halves (k/8), then 8-value sub-blocks (k%8) with stride 32 - const int q8_base = (k / 8) * 512 + (k % 8) * 32; - - for (int m = 0; m < 4; m++) { - for (int j = 0; j < ncols_interleaved; j++) { - // Interleaved scales - const int8_t scale_l = b_ptr[l].scales[scale_idx_l * 8 + j]; - const int8_t scale_h = b_ptr[l].scales[scale_idx_h * 8 + j]; - - int sumi_l = 0; - int sumi_h = 0; - - for (int i = 0; i < blocklen; i++) { - const int ql_pos = k * 64 + j * 8 + i; - const int l_4 = b_ptr[l].ql[ql_pos] & 0xF; - const int hi_4 = (b_ptr[l].ql[ql_pos] >> 4) & 0xF; - - const int qh_idx_l = qh_half_l + ((base_l + i) % 32); - const int qh_chunk_l = qh_idx_l / 8; - const int qh_pos_l = qh_idx_l % 8; - const int qh_offset_l = qh_chunk_l * 64 + j * 8 + qh_pos_l; - const int hi_2_l = (b_ptr[l].qh[qh_offset_l] >> qh_shift_l) & 0x3; - - const int qh_idx_h = qh_half_h + ((base_h + i) % 32); - const int qh_chunk_h = qh_idx_h / 8; - const int qh_pos_h = qh_idx_h % 8; - const int qh_offset_h = qh_chunk_h * 64 + j * 8 + qh_pos_h; - const int hi_2_h = (b_ptr[l].qh[qh_offset_h] >> qh_shift_h) & 0x3; - - const int q_l = ((hi_2_l << 4) | l_4) - 32; - const int q_h = ((hi_2_h << 4) | hi_4) - 32; - - const int8_t q8_l = a_ptr[l].qs[q8_base + m * 8 + i]; - const int8_t q8_h = a_ptr[l].qs[q8_base + m * 8 + i + 256]; - - sumi_l += q_l * q8_l; - sumi_h += q_h * q8_h; - } - - sumf[m][j] += (sumi_l * scale_l + sumi_h * scale_h) * GGML_CPU_FP16_TO_FP32(b_ptr[l].d[j]) * - a_ptr[l].d[m]; - } - } - } - } - - for (int m = 0; m < 4; m++) { - for (int j = 0; j < ncols_interleaved; j++) { - s[(y * 4 + m) * bs + x * ncols_interleaved + j] = sumf[m][j]; - } - } - } - } +void ggml_gemm_q6_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { + ggml_gemm_q6_K_NxM_q8_K_generic_impl<8, 8>(n, s, bs, vx, vy, nr, nc); } void ggml_gemm_iq4_nl_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { @@ -2097,18 +2112,18 @@ static block_q6_Kx8 make_block_q6_Kx8(block_q6_K * in, unsigned int blck_size_in } const int end_ls = QK_K * 4 / blck_size_interleave; - // Interleave Q6_K quants by taking 8 bytes at a time + // Interleave Q6_K quants by taking blck_size_interleave bytes at a time for (int i = 0; i < end_ls; ++i) { int src_id = i % n_blocks; int src_offset = (i / n_blocks) * blck_size_interleave; int dst_offset = i * blck_size_interleave; uint64_t elem_ls; - memcpy(&elem_ls, &in[src_id].ql[src_offset], sizeof(uint64_t)); - memcpy(&out.ql[dst_offset], &elem_ls, sizeof(uint64_t)); + memcpy(&elem_ls, &in[src_id].ql[src_offset], blck_size_interleave); + memcpy(&out.ql[dst_offset], &elem_ls, blck_size_interleave); } - // Interleave high bits using same 8-byte pattern as low bits + // Interleave high bits using same chunk size as low bits const int end_hs = end_ls / 2; for (int i = 0; i < end_hs; ++i) { int src_id = i % n_blocks; @@ -2116,8 +2131,8 @@ static block_q6_Kx8 make_block_q6_Kx8(block_q6_K * in, unsigned int blck_size_in int dst_offset = i * blck_size_interleave; uint64_t elem_hs; - memcpy(&elem_hs, &in[src_id].qh[src_offset], sizeof(uint64_t)); - memcpy(&out.qh[dst_offset], &elem_hs, sizeof(uint64_t)); + memcpy(&elem_hs, &in[src_id].qh[src_offset], blck_size_interleave); + memcpy(&out.qh[dst_offset], &elem_hs, blck_size_interleave); } // The below logic is designed so as to unpack and rearrange scales in Q6_K @@ -2262,7 +2277,7 @@ static int repack_q5_K_to_q5_K_8_bl(struct ggml_tensor * t, static int repack_q6_K_to_q6_K_8_bl(struct ggml_tensor * t, int interleave_block, const void * GGML_RESTRICT data, size_t data_size) { GGML_ASSERT(t->type == GGML_TYPE_Q6_K); - GGML_ASSERT(interleave_block == 8); + GGML_ASSERT(interleave_block == 4 || interleave_block == 8); constexpr int nrows_interleaved = 8; block_q6_Kx8 * dst = (block_q6_Kx8 *)t->data; @@ -2511,6 +2526,10 @@ template <> int repack(struct ggml_tensor * t, const void * da return repack_q5_K_to_q5_K_8_bl(t, 8, data, data_size); } +template <> int repack(struct ggml_tensor * t, const void * data, size_t data_size) { + return repack_q6_K_to_q6_K_8_bl(t, 4, data, data_size); +} + template <> int repack(struct ggml_tensor * t, const void * data, size_t data_size) { return repack_q6_K_to_q6_K_8_bl(t, 8, data, data_size); } @@ -2575,6 +2594,10 @@ template <> void gemv(int n, float * s, size_t ggml_gemv_q5_K_8x8_q8_K(n, s, bs, vx, vy, nr, nc); } +template <> void gemv(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { + ggml_gemv_q6_K_8x4_q8_K(n, s, bs, vx, vy, nr, nc); +} + template <> void gemv(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { ggml_gemv_q6_K_8x8_q8_K(n, s, bs, vx, vy, nr, nc); } @@ -2634,6 +2657,10 @@ template <> void gemm(int n, float * s, size_t ggml_gemm_q5_K_8x8_q8_K(n, s, bs, vx, vy, nr, nc); } +template <> void gemm(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { + ggml_gemm_q6_K_8x4_q8_K(n, s, bs, vx, vy, nr, nc); +} + template <> void gemm(int n, float * s, size_t bs, const void * vx, const void * vy, int nr, int nc) { ggml_gemm_q6_K_8x8_q8_K(n, s, bs, vx, vy, nr, nc); } @@ -3043,6 +3070,7 @@ static const ggml::cpu::tensor_traits * ggml_repack_get_optimal_repack_type(cons static const ggml::cpu::repack::tensor_traits q5_K_8x8_q8_K; // instance for Q6_K + static const ggml::cpu::repack::tensor_traits q6_K_8x4_q8_K; static const ggml::cpu::repack::tensor_traits q6_K_8x8_q8_K; // instance for Q2 @@ -3107,6 +3135,11 @@ static const ggml::cpu::tensor_traits * ggml_repack_get_optimal_repack_type(cons return &q6_K_8x8_q8_K; } } + if (ggml_cpu_has_neon() && ggml_cpu_has_dotprod()) { + if (cur->ne[1] % 8 == 0) { + return &q6_K_8x4_q8_K; + } + } } else if (cur->type == GGML_TYPE_IQ4_NL) { if (ggml_cpu_has_avx2()) { if (cur->ne[1] % 8 == 0) { diff --git a/ggml/src/ggml-cpu/repack.h b/ggml/src/ggml-cpu/repack.h index 855320eeeb..39b6b48238 100644 --- a/ggml/src/ggml-cpu/repack.h +++ b/ggml/src/ggml-cpu/repack.h @@ -112,6 +112,7 @@ void ggml_gemv_q2_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const vo void ggml_gemv_q4_K_8x4_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q4_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q5_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); +void ggml_gemv_q6_K_8x4_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q6_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_iq4_nl_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_iq4_nl_8x8_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); @@ -122,6 +123,7 @@ void ggml_gemm_q2_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const vo void ggml_gemm_q4_K_8x4_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q4_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q5_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); +void ggml_gemm_q6_K_8x4_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q6_K_8x8_q8_K(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_iq4_nl_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_iq4_nl_8x8_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); @@ -142,6 +144,7 @@ void ggml_gemv_q2_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, void ggml_gemv_q4_K_8x4_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q4_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q5_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); +void ggml_gemv_q6_K_8x4_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_q6_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_iq4_nl_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemv_iq4_nl_8x8_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); @@ -152,6 +155,7 @@ void ggml_gemm_q2_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, void ggml_gemm_q4_K_8x4_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q4_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q5_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); +void ggml_gemm_q6_K_8x4_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_q6_K_8x8_q8_K_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_iq4_nl_4x4_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); void ggml_gemm_iq4_nl_8x8_q8_0_generic(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc); From 9a9635272942541a2722135a3d9fffd5d3af0d9f Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Tue, 10 Feb 2026 14:37:50 +0100 Subject: [PATCH 173/206] test: fix IMROPE perf test case (#19465) --- tests/test-backend-ops.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 56dadb9b36..3bdb3d7ba9 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -8523,7 +8523,7 @@ static std::vector> make_test_cases_perf() { test_cases.emplace_back(new test_rope(type, { 80, 32, 512, 1}, 20, GGML_ROPE_TYPE_NEOX, 512, 1.0f, 0.0f, 1.0f, ff, v, fw)); // neox (stablelm) test_cases.emplace_back(new test_rope(type, { 64, 8, 512, 1}, 64, GGML_ROPE_TYPE_NEOX, 512, 1.0f, 0.0f, 1.0f, ff, v, fw)); // neox (falcon 40B) test_cases.emplace_back(new test_rope(type, {128, 12, 512, 1}, 128, GGML_ROPE_TYPE_MROPE, 512, 1.0f, 0.0f, 1.0f, ff, v, fw)); // rope_multi,m-rope (qwen2vl 2B) - test_cases.emplace_back(new test_rope(type, {128, 12, 2, 1}, 128, GGML_ROPE_TYPE_IMROPE, 512, 1.0f, 0.0f, 1.0f, ff, v, fw)); // rope_multi,imrope (qwen3vl 2B) + test_cases.emplace_back(new test_rope(type, {128, 12, 512, 1}, 128, GGML_ROPE_TYPE_IMROPE, 512, 1.0f, 0.0f, 1.0f, ff, v, fw)); // rope_multi,imrope (qwen3vl 2B) test_cases.emplace_back(new test_rope(type, { 80, 16, 2, 1}, 80, GGML_ROPE_TYPE_VISION, 512, 1.0f, 0.0f, 1.0f, ff, v, fw)); // rope_multi,m-rope (qwen2vl ViT) } } From fc0fe4004985d6749a7a05e250d161f9dbe41d65 Mon Sep 17 00:00:00 2001 From: JJJYmmm <92386084+JJJYmmm@users.noreply.github.com> Date: Wed, 11 Feb 2026 00:00:26 +0800 Subject: [PATCH 174/206] models : support qwen3.5 series (#19468) * support qwen3.5 series * remove deepstack for now, and some code clean * code clean * add FULL_ATTENTION_INTERVAL metadata * code clean * reorder v heads for linear attention to avoid expensive interleaved repeat --- convert_hf_to_gguf.py | 97 ++++- convert_hf_to_gguf_update.py | 1 + gguf-py/gguf/constants.py | 66 ++- gguf-py/gguf/gguf_writer.py | 3 + gguf-py/gguf/tensor_mapping.py | 9 +- src/CMakeLists.txt | 2 + src/llama-arch.cpp | 65 ++- src/llama-arch.h | 6 +- src/llama-context.cpp | 2 +- src/llama-model.cpp | 202 ++++++++- src/llama-model.h | 4 + src/llama-vocab.cpp | 11 + src/llama-vocab.h | 1 + src/models/models.h | 119 +++++ src/models/qwen35.cpp | 740 +++++++++++++++++++++++++++++++ src/models/qwen35moe.cpp | 774 +++++++++++++++++++++++++++++++++ tools/mtmd/models/qwen3vl.cpp | 4 +- 17 files changed, 2096 insertions(+), 10 deletions(-) create mode 100644 src/models/qwen35.cpp create mode 100644 src/models/qwen35moe.cpp diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 0951469149..61eb9839e0 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -1261,6 +1261,9 @@ class TextModel(ModelBase): if chkhsh == "6c81ce329e0802883b22eabab0d3fa48357337ef1ecb45443828bf1f6254833f": # ref: https://huggingface.co/LGAI-EXAONE/K-EXAONE-236B-A23B res = "exaone-moe" + if chkhsh == "d30d75d9059f1aa2c19359de71047b3ae408c70875e8a3ccf8c5fba56c9d8af4": + # ref: https://huggingface.co/Qwen/Qwen3.5-9B-Instruct + res = "qwen35" if res is None: logger.warning("\n") @@ -4287,6 +4290,7 @@ class Qwen3NextModel(Qwen2MoeModel): self.gguf_writer.add_ssm_group_count(self.hparams["linear_num_key_heads"]) self.gguf_writer.add_ssm_time_step_rank(self.hparams["linear_num_value_heads"]) self.gguf_writer.add_ssm_inner_size(self.hparams["linear_value_head_dim"] * self.hparams["linear_num_value_heads"]) + self.gguf_writer.add_full_attention_interval(self.hparams.get("full_attention_interval", 4)) if (rope_dim := self.hparams.get("head_dim")) is None: rope_dim = self.hparams["hidden_size"] // self.hparams["num_attention_heads"] self.gguf_writer.add_rope_dimension_count(int(rope_dim * self.hparams.get("partial_rotary_factor", 0.25))) @@ -4351,7 +4355,7 @@ class RND1Model(Qwen2MoeModel): self.gguf_writer.add_mask_token_id(mask_token_id) -@ModelBase.register("Qwen3VLForConditionalGeneration", "Qwen3VLMoeForConditionalGeneration") +@ModelBase.register("Qwen3VLForConditionalGeneration", "Qwen3VLMoeForConditionalGeneration", "Qwen3_5ForConditionalGeneration", "Qwen3_5MoeForConditionalGeneration") class Qwen3VLVisionModel(MmprojModel): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) @@ -4397,6 +4401,10 @@ class Qwen3VLVisionModel(MmprojModel): if name.startswith("model.language_model.") or name.startswith("lm_head."): return + # Skip MTP tensors + if name.startswith("mtp."): + return + if name.startswith("model.visual."): name = name.replace("model.visual.", "visual.", 1) @@ -4559,6 +4567,93 @@ class Qwen3VLMoeTextModel(Qwen3MoeModel): yield from super().modify_tensors(data_torch, name, bid) +class _LinearAttentionVReorderBase(Qwen3NextModel): + model_arch = gguf.MODEL_ARCH.QWEN3NEXT # overridden by subclasses + """reorders V heads from grouped to tiled order for ggml broadcast + + see https://github.com/ggml-org/llama.cpp/pull/19468#discussion_r2786394306 + + Linear attention may has num_k_heads < num_v_heads. The HF weights store + V heads grouped by K head: [G0_v0..v{r-1}, G1_v0..v{r-1}, ...]. + ggml binary ops use tiled broadcast: [K0, K1, ..., K0, K1, ...]. + We reorder V heads to tiled order so ggml_repeat can replace the expensive + interleaved repeat: [G0_v0, G1_v0, ..., G0_v1, G1_v1, ...]. + """ + + @staticmethod + def _reorder_v_heads(tensor: Tensor, dim: int, num_k_heads: int, num_v_per_k: int, head_dim: int) -> Tensor: + """Reorder V heads from grouped (by K head) to tiled order along the given dimension.""" + shape = list(tensor.shape) + if dim < 0: + dim += len(shape) + new_shape = shape[:dim] + [num_k_heads, num_v_per_k, head_dim] + shape[dim + 1:] + tensor = tensor.reshape(*new_shape) + perm = list(range(len(new_shape))) + perm[dim], perm[dim + 1] = perm[dim + 1], perm[dim] + return tensor.permute(*perm).contiguous().reshape(*shape) + + def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: + num_k_heads = self.hparams.get("linear_num_key_heads", 0) + num_v_heads = self.hparams.get("linear_num_value_heads", 0) + + if num_k_heads > 0 and num_v_heads > 0 and num_k_heads != num_v_heads and "linear_attn." in name: + head_k_dim = self.hparams["linear_key_head_dim"] + head_v_dim = self.hparams["linear_value_head_dim"] + num_v_per_k = num_v_heads // num_k_heads + + if ".in_proj_qkv." in name: + # QKV weight: reorder only the V rows + q_dim = head_k_dim * num_k_heads + k_dim = head_k_dim * num_k_heads + q = data_torch[:q_dim] + k = data_torch[q_dim:q_dim + k_dim] + v = data_torch[q_dim + k_dim:] + v = self._reorder_v_heads(v, 0, num_k_heads, num_v_per_k, head_v_dim) + data_torch = torch.cat([q, k, v], dim=0) + + elif ".in_proj_z." in name: + # Z gate weight: reorder rows (num_v_heads * head_v_dim) + data_torch = self._reorder_v_heads(data_torch, 0, num_k_heads, num_v_per_k, head_v_dim) + + elif ".in_proj_b." in name or ".in_proj_a." in name: + # Beta/Alpha weight: reorder rows (num_v_heads, head_dim=1) + data_torch = self._reorder_v_heads(data_torch, 0, num_k_heads, num_v_per_k, 1) + + elif ".A_log" in name or ".dt_bias" in name or ".dt_proj" in name: + # A_log / dt_bias: 1D parameters with num_v_heads elements + if data_torch.ndim == 1: + data_torch = self._reorder_v_heads( + data_torch.unsqueeze(-1), 0, num_k_heads, num_v_per_k, 1 + ).squeeze(-1) + else: + data_torch = self._reorder_v_heads(data_torch, -1, num_k_heads, num_v_per_k, 1) + + elif ".conv1d" in name: + # Conv1d kernel: reorder only the V channel portion + data = data_torch.squeeze() + qk_channels = head_k_dim * num_k_heads * 2 + qk_part = data[:qk_channels] + v_part = data[qk_channels:] + v_part = self._reorder_v_heads(v_part, 0, num_k_heads, num_v_per_k, head_v_dim) + data_torch = torch.cat([qk_part, v_part], dim=0) + + elif ".out_proj." in name: + # Out projection weight: reorder columns (input dimension) + data_torch = self._reorder_v_heads(data_torch, 1, num_k_heads, num_v_per_k, head_v_dim) + + yield from super().modify_tensors(data_torch, name, bid) + + +@ModelBase.register("Qwen3_5ForConditionalGeneration") +class Qwen3_5TextModel(_LinearAttentionVReorderBase): + model_arch = gguf.MODEL_ARCH.QWEN35 + + +@ModelBase.register("Qwen3_5MoeForConditionalGeneration") +class Qwen3_5MoeTextModel(_LinearAttentionVReorderBase): + model_arch = gguf.MODEL_ARCH.QWEN35MOE + + @ModelBase.register("GPT2LMHeadModel") class GPT2Model(TextModel): model_arch = gguf.MODEL_ARCH.GPT2 diff --git a/convert_hf_to_gguf_update.py b/convert_hf_to_gguf_update.py index 2811f7f884..a683451508 100755 --- a/convert_hf_to_gguf_update.py +++ b/convert_hf_to_gguf_update.py @@ -148,6 +148,7 @@ models = [ {"name": "youtu", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/tencent/Youtu-LLM-2B", }, {"name": "solar-open", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/upstage/Solar-Open-100B", }, {"name": "exaone-moe", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/LGAI-EXAONE/K-EXAONE-236B-A23B", }, + {"name": "qwen35", "tokt": TOKENIZER_TYPE.BPE, "repo": "https://huggingface.co/Qwen/Qwen3.5-9B-Instruct", } ] # some models are known to be broken upstream, so we will skip them as exceptions diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index 3af4fffe95..ec36b6292a 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -142,6 +142,7 @@ class Keys: EMBEDDING_SCALE = "{arch}.embedding_scale" TOKEN_SHIFT_COUNT = "{arch}.token_shift_count" INTERLEAVE_MOE_LAYER_STEP = "{arch}.interleave_moe_layer_step" + FULL_ATTENTION_INTERVAL = "{arch}.full_attention_interval" ACTIVATION_SPARSITY_SCALE = "{arch}.activation_sparsity_scale" ALTUP_ACTIVE_IDX = "{arch}.altup.active_idx" ALTUP_NUM_INPUTS = "{arch}.altup.num_inputs" @@ -384,6 +385,8 @@ class MODEL_ARCH(IntEnum): QWEN3NEXT = auto() QWEN3VL = auto() QWEN3VLMOE = auto() + QWEN35 = auto() + QWEN35MOE = auto() PHI2 = auto() PHI3 = auto() PHIMOE = auto() @@ -557,13 +560,14 @@ class MODEL_TENSOR(IntEnum): SSM_D = auto() SSM_NORM = auto() SSM_OUT = auto() + SSM_ALPHA = auto() # qwen3.5 SSM_BETA_ALPHA = auto() # qwen3next SSM_CONV1D_Q = auto() # Kimi Linear SSM_CONV1D_K = auto() # Kimi Linear SSM_CONV1D_V = auto() # Kimi Linear SSM_F_A = auto() # Kimi Linear SSM_F_B = auto() # Kimi Linear - SSM_BETA = auto() # Kimi Linear + SSM_BETA = auto() # Kimi Linear qwen3.5 SSM_G_A = auto() # Kimi Linear SSM_G_B = auto() # Kimi Linear TIME_MIX_W0 = auto() @@ -814,6 +818,8 @@ MODEL_ARCH_NAMES: dict[MODEL_ARCH, str] = { MODEL_ARCH.QWEN3NEXT: "qwen3next", MODEL_ARCH.QWEN3VL: "qwen3vl", MODEL_ARCH.QWEN3VLMOE: "qwen3vlmoe", + MODEL_ARCH.QWEN35: "qwen35", + MODEL_ARCH.QWEN35MOE: "qwen35moe", MODEL_ARCH.PHI2: "phi2", MODEL_ARCH.PHI3: "phi3", MODEL_ARCH.PHIMOE: "phimoe", @@ -985,13 +991,14 @@ TENSOR_NAMES: dict[MODEL_TENSOR, str] = { MODEL_TENSOR.SSM_D: "blk.{bid}.ssm_d", MODEL_TENSOR.SSM_NORM: "blk.{bid}.ssm_norm", MODEL_TENSOR.SSM_OUT: "blk.{bid}.ssm_out", + MODEL_TENSOR.SSM_ALPHA: "blk.{bid}.ssm_alpha", # qwen3.5 MODEL_TENSOR.SSM_BETA_ALPHA: "blk.{bid}.ssm_ba", MODEL_TENSOR.SSM_CONV1D_Q: "blk.{bid}.ssm_conv1d_q", # Kimi Linear MODEL_TENSOR.SSM_CONV1D_K: "blk.{bid}.ssm_conv1d_k", # Kimi Linear MODEL_TENSOR.SSM_CONV1D_V: "blk.{bid}.ssm_conv1d_v", # Kimi Linear MODEL_TENSOR.SSM_F_A: "blk.{bid}.ssm_f_a", # Kimi Linear MODEL_TENSOR.SSM_F_B: "blk.{bid}.ssm_f_b", # Kimi Linear - MODEL_TENSOR.SSM_BETA: "blk.{bid}.ssm_beta", # Kimi Linear + MODEL_TENSOR.SSM_BETA: "blk.{bid}.ssm_beta", # Kimi Linear qwen3.5 MODEL_TENSOR.SSM_G_A: "blk.{bid}.ssm_g_a", # Kimi Linear MODEL_TENSOR.SSM_G_B: "blk.{bid}.ssm_g_b", # Kimi Linear MODEL_TENSOR.TIME_MIX_W0: "blk.{bid}.time_mix_w0", @@ -1818,6 +1825,61 @@ MODEL_TENSORS: dict[MODEL_ARCH, list[MODEL_TENSOR]] = { MODEL_TENSOR.FFN_DOWN_EXP, MODEL_TENSOR.FFN_UP_EXP, ], + MODEL_ARCH.QWEN35: [ + MODEL_TENSOR.TOKEN_EMBD, + MODEL_TENSOR.OUTPUT_NORM, + MODEL_TENSOR.OUTPUT, + MODEL_TENSOR.ATTN_NORM, + MODEL_TENSOR.ATTN_Q, + MODEL_TENSOR.ATTN_Q_NORM, + MODEL_TENSOR.ATTN_K, + MODEL_TENSOR.ATTN_K_NORM, + MODEL_TENSOR.ATTN_V, + MODEL_TENSOR.ATTN_OUT, + MODEL_TENSOR.ATTN_POST_NORM, + MODEL_TENSOR.ATTN_GATE, + MODEL_TENSOR.ATTN_QKV, + MODEL_TENSOR.FFN_GATE, + MODEL_TENSOR.FFN_DOWN, + MODEL_TENSOR.FFN_UP, + MODEL_TENSOR.SSM_A, + MODEL_TENSOR.SSM_CONV1D, + MODEL_TENSOR.SSM_DT, + MODEL_TENSOR.SSM_NORM, + MODEL_TENSOR.SSM_BETA, + MODEL_TENSOR.SSM_ALPHA, + MODEL_TENSOR.SSM_OUT + ], + MODEL_ARCH.QWEN35MOE: [ + MODEL_TENSOR.TOKEN_EMBD, + MODEL_TENSOR.OUTPUT_NORM, + MODEL_TENSOR.OUTPUT, + MODEL_TENSOR.ATTN_NORM, + MODEL_TENSOR.ATTN_Q, + MODEL_TENSOR.ATTN_Q_NORM, + MODEL_TENSOR.ATTN_K, + MODEL_TENSOR.ATTN_K_NORM, + MODEL_TENSOR.ATTN_V, + MODEL_TENSOR.ATTN_OUT, + MODEL_TENSOR.ATTN_POST_NORM, + MODEL_TENSOR.ATTN_GATE, + MODEL_TENSOR.ATTN_QKV, + MODEL_TENSOR.FFN_GATE_INP, + MODEL_TENSOR.FFN_GATE_INP_SHEXP, + MODEL_TENSOR.FFN_UP_SHEXP, + MODEL_TENSOR.FFN_DOWN_SHEXP, + MODEL_TENSOR.FFN_GATE_SHEXP, + MODEL_TENSOR.FFN_DOWN_EXP, + MODEL_TENSOR.FFN_UP_EXP, + MODEL_TENSOR.FFN_GATE_EXP, + MODEL_TENSOR.SSM_A, + MODEL_TENSOR.SSM_CONV1D, + MODEL_TENSOR.SSM_DT, + MODEL_TENSOR.SSM_NORM, + MODEL_TENSOR.SSM_BETA, + MODEL_TENSOR.SSM_ALPHA, + MODEL_TENSOR.SSM_OUT + ], MODEL_ARCH.PLAMO: [ MODEL_TENSOR.TOKEN_EMBD, MODEL_TENSOR.OUTPUT_NORM, diff --git a/gguf-py/gguf/gguf_writer.py b/gguf-py/gguf/gguf_writer.py index 62172b24c3..a237537c8d 100644 --- a/gguf-py/gguf/gguf_writer.py +++ b/gguf-py/gguf/gguf_writer.py @@ -708,6 +708,9 @@ class GGUFWriter: def add_leading_dense_block_count(self, length: int) -> None: self.add_uint32(Keys.LLM.LEADING_DENSE_BLOCK_COUNT.format(arch=self.arch), length) + def add_full_attention_interval(self, interval: int) -> None: + self.add_uint32(Keys.LLM.FULL_ATTENTION_INTERVAL.format(arch=self.arch), interval) + def add_feed_forward_length(self, length: int | Sequence[int]) -> None: if isinstance(length, int): self.add_uint32(Keys.LLM.FEED_FORWARD_LENGTH.format(arch=self.arch), length) diff --git a/gguf-py/gguf/tensor_mapping.py b/gguf-py/gguf/tensor_mapping.py index 167ade7803..71dd7e887b 100644 --- a/gguf-py/gguf/tensor_mapping.py +++ b/gguf-py/gguf/tensor_mapping.py @@ -228,6 +228,7 @@ class TensorNameMap: "transformer_encoder.{bid}.qkv", # neobert "layers.{bid}.attn.Wqkv", # modern-bert "model.layers.{bid}.self_attn.language_expert_query_key_value", # cogvlm + "model.layers.{bid}.linear_attn.in_proj_qkv", # qwen3.5 ), # Attention query @@ -359,6 +360,7 @@ class TensorNameMap: MODEL_TENSOR.ATTN_GATE: ( "model.layers.{bid}.self_attn.gate_proj", # afmoe + "model.layers.{bid}.linear_attn.in_proj_z", # qwen3.5 "model.layers.{bid}.self_attn.g_proj", # step3.5 head-wise attention gate ), @@ -823,6 +825,10 @@ class TensorNameMap: "model.layers.layers.{bid}.mixer.out_proj", # plamo2 ), + MODEL_TENSOR.SSM_ALPHA: ( + "model.layers.{bid}.linear_attn.in_proj_a", # qwen3.5 + ), + MODEL_TENSOR.SSM_BETA_ALPHA: ( "model.layers.{bid}.linear_attn.in_proj_ba", # qwen3next ), @@ -844,7 +850,8 @@ class TensorNameMap: "model.layers.{bid}.self_attn.f_b_proj", ), MODEL_TENSOR.SSM_BETA: ( - "model.layers.{bid}.self_attn.b_proj", + "model.layers.{bid}.linear_attn.in_proj_b", # qwen3.5 + "model.layers.{bid}.self_attn.b_proj", # Kimi Linear ), MODEL_TENSOR.SSM_G_A: ( "model.layers.{bid}.self_attn.g_a_proj", diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2115fc4255..fdda05d3ea 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -122,6 +122,8 @@ add_library(llama models/qwen3vl-moe.cpp models/qwen3moe.cpp models/qwen3next.cpp + models/qwen35.cpp + models/qwen35moe.cpp models/refact.cpp models/rnd1.cpp models/rwkv6-base.cpp diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index bd78f1e556..a943d40dc4 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -37,6 +37,8 @@ static const std::map LLM_ARCH_NAMES = { { LLM_ARCH_QWEN3NEXT, "qwen3next" }, { LLM_ARCH_QWEN3VL, "qwen3vl" }, { LLM_ARCH_QWEN3VLMOE, "qwen3vlmoe" }, + { LLM_ARCH_QWEN35, "qwen35" }, + { LLM_ARCH_QWEN35MOE, "qwen35moe" }, { LLM_ARCH_PHI2, "phi2" }, { LLM_ARCH_PHI3, "phi3" }, { LLM_ARCH_PHIMOE, "phimoe" }, @@ -195,6 +197,7 @@ static const std::map LLM_KV_NAMES = { { LLM_KV_EMBEDDING_SCALE, "%s.embedding_scale" }, { LLM_KV_TOKEN_SHIFT_COUNT, "%s.token_shift_count" }, { LLM_KV_INTERLEAVE_MOE_LAYER_STEP, "%s.interleave_moe_layer_step" }, + { LLM_KV_FULL_ATTENTION_INTERVAL, "%s.full_attention_interval" }, { LLM_KV_ATTENTION_HEAD_COUNT, "%s.attention.head_count" }, { LLM_KV_ATTENTION_HEAD_COUNT_KV, "%s.attention.head_count_kv" }, @@ -366,6 +369,7 @@ static const std::map LLM_TENSOR_NAMES = { { LLM_TENSOR_SSM_CONV1D, "blk.%d.ssm_conv1d" }, { LLM_TENSOR_SSM_DT, "blk.%d.ssm_dt" }, { LLM_TENSOR_SSM_BETA_ALPHA, "blk.%d.ssm_ba" }, + { LLM_TENSOR_SSM_ALPHA, "blk.%d.ssm_alpha" }, { LLM_TENSOR_SSM_IN, "blk.%d.ssm_in" }, { LLM_TENSOR_SSM_NORM, "blk.%d.ssm_norm" }, { LLM_TENSOR_SSM_OUT, "blk.%d.ssm_out" }, @@ -968,7 +972,6 @@ static std::set llm_get_tensor_names(llm_arch arch) { LLM_TENSOR_ATTN_OUT, LLM_TENSOR_ATTN_QKV, LLM_TENSOR_ATTN_GATE, - LLM_TENSOR_FFN_NORM, LLM_TENSOR_FFN_GATE_INP, LLM_TENSOR_FFN_GATE_EXPS, LLM_TENSOR_FFN_DOWN_EXPS, @@ -985,6 +988,63 @@ static std::set llm_get_tensor_names(llm_arch arch) { LLM_TENSOR_SSM_NORM, LLM_TENSOR_SSM_OUT, }; + case LLM_ARCH_QWEN35: + return { + LLM_TENSOR_TOKEN_EMBD, + LLM_TENSOR_OUTPUT_NORM, + LLM_TENSOR_OUTPUT, + LLM_TENSOR_ATTN_NORM, + LLM_TENSOR_ATTN_POST_NORM, + LLM_TENSOR_ATTN_Q, + LLM_TENSOR_ATTN_Q_NORM, + LLM_TENSOR_ATTN_K, + LLM_TENSOR_ATTN_K_NORM, + LLM_TENSOR_ATTN_V, + LLM_TENSOR_ATTN_OUT, + LLM_TENSOR_ATTN_QKV, + LLM_TENSOR_ATTN_GATE, + LLM_TENSOR_FFN_GATE, + LLM_TENSOR_FFN_DOWN, + LLM_TENSOR_FFN_UP, + LLM_TENSOR_SSM_A_NOSCAN, + LLM_TENSOR_SSM_CONV1D, + LLM_TENSOR_SSM_DT, + LLM_TENSOR_SSM_BETA, + LLM_TENSOR_SSM_ALPHA, + LLM_TENSOR_SSM_NORM, + LLM_TENSOR_SSM_OUT, + }; + case LLM_ARCH_QWEN35MOE: + return { + LLM_TENSOR_TOKEN_EMBD, + LLM_TENSOR_OUTPUT_NORM, + LLM_TENSOR_OUTPUT, + LLM_TENSOR_ATTN_NORM, + LLM_TENSOR_ATTN_POST_NORM, + LLM_TENSOR_ATTN_Q, + LLM_TENSOR_ATTN_Q_NORM, + LLM_TENSOR_ATTN_K, + LLM_TENSOR_ATTN_K_NORM, + LLM_TENSOR_ATTN_V, + LLM_TENSOR_ATTN_OUT, + LLM_TENSOR_ATTN_QKV, + LLM_TENSOR_ATTN_GATE, + LLM_TENSOR_FFN_GATE_INP, + LLM_TENSOR_FFN_GATE_EXPS, + LLM_TENSOR_FFN_DOWN_EXPS, + LLM_TENSOR_FFN_UP_EXPS, + LLM_TENSOR_FFN_GATE_INP_SHEXP, + LLM_TENSOR_FFN_GATE_SHEXP, + LLM_TENSOR_FFN_DOWN_SHEXP, + LLM_TENSOR_FFN_UP_SHEXP, + LLM_TENSOR_SSM_A_NOSCAN, + LLM_TENSOR_SSM_CONV1D, + LLM_TENSOR_SSM_DT, + LLM_TENSOR_SSM_BETA, + LLM_TENSOR_SSM_ALPHA, + LLM_TENSOR_SSM_NORM, + LLM_TENSOR_SSM_OUT, + }; case LLM_ARCH_QWEN3VL: case LLM_ARCH_CHAMELEON: case LLM_ARCH_HUNYUAN_DENSE: @@ -2456,6 +2516,7 @@ static const std::map LLM_TENSOR_INFOS = { {LLM_TENSOR_SSM_X, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, {LLM_TENSOR_SSM_DT, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, {LLM_TENSOR_SSM_OUT, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, + {LLM_TENSOR_SSM_ALPHA, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, {LLM_TENSOR_SSM_BETA_ALPHA, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, {LLM_TENSOR_TIME_MIX_W1, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, {LLM_TENSOR_TIME_MIX_W2, {LLM_TENSOR_LAYER_REPEATING, GGML_OP_MUL_MAT}}, @@ -2675,6 +2736,8 @@ bool llm_arch_is_hybrid(const llm_arch & arch) { case LLM_ARCH_NEMOTRON_H_MOE: case LLM_ARCH_QWEN3NEXT: case LLM_ARCH_KIMI_LINEAR: + case LLM_ARCH_QWEN35: + case LLM_ARCH_QWEN35MOE: return true; default: return false; diff --git a/src/llama-arch.h b/src/llama-arch.h index e8263369b8..4f7b51e70d 100644 --- a/src/llama-arch.h +++ b/src/llama-arch.h @@ -41,6 +41,8 @@ enum llm_arch { LLM_ARCH_QWEN3NEXT, LLM_ARCH_QWEN3VL, LLM_ARCH_QWEN3VLMOE, + LLM_ARCH_QWEN35, + LLM_ARCH_QWEN35MOE, LLM_ARCH_PHI2, LLM_ARCH_PHI3, LLM_ARCH_PHIMOE, @@ -199,6 +201,7 @@ enum llm_kv { LLM_KV_EMBEDDING_SCALE, LLM_KV_TOKEN_SHIFT_COUNT, LLM_KV_INTERLEAVE_MOE_LAYER_STEP, + LLM_KV_FULL_ATTENTION_INTERVAL, LLM_KV_ATTENTION_HEAD_COUNT, LLM_KV_ATTENTION_HEAD_COUNT_KV, @@ -404,13 +407,14 @@ enum llm_tensor { LLM_TENSOR_SSM_NORM, LLM_TENSOR_SSM_OUT, LLM_TENSOR_SSM_BETA_ALPHA, // qwen3next + LLM_TENSOR_SSM_ALPHA, // qwen3.5 // Kimi Linear KDA (using SSM_ prefix for consistency) LLM_TENSOR_SSM_CONV1D_Q, // kimi: Q conv1d weight LLM_TENSOR_SSM_CONV1D_K, // kimi: K conv1d weight LLM_TENSOR_SSM_CONV1D_V, // kimi: V conv1d weight LLM_TENSOR_SSM_F_A, // kimi: forget gate projection A LLM_TENSOR_SSM_F_B, // kimi: forget gate projection B - LLM_TENSOR_SSM_BETA, // kimi: beta mixing coefficient + LLM_TENSOR_SSM_BETA, // kimi: beta mixing coefficient and qwen3.5 LLM_TENSOR_SSM_G_A, // kimi: output gate projection A LLM_TENSOR_SSM_G_B, // kimi: output gate projection B LLM_TENSOR_TIME_MIX_W0, diff --git a/src/llama-context.cpp b/src/llama-context.cpp index a6df893a31..1a35ce369c 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -2013,7 +2013,7 @@ void llama_context::output_reorder() { // uint32_t llama_context::graph_max_nodes(uint32_t n_tokens) const { - if (model.arch == LLM_ARCH_QWEN3NEXT || model.arch == LLM_ARCH_KIMI_LINEAR) { + if (model.arch == LLM_ARCH_QWEN3NEXT || model.arch == LLM_ARCH_KIMI_LINEAR || model.arch == LLM_ARCH_QWEN35 || model.arch == LLM_ARCH_QWEN35MOE) { return std::max(n_tokens * 40, 32u * model.n_tensors()); } uint32_t res = std::max(1024u, 8u*model.n_tensors()); diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 674d06c891..7a06e96c87 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -125,6 +125,7 @@ const char * llm_type_name(llm_type type) { case LLM_TYPE_21B_A3B: return "21B.A3B"; case LLM_TYPE_30B_A3B: return "30B.A3B"; case LLM_TYPE_31B_A3_5B: return "31B.A3.5B"; + case LLM_TYPE_35B_A3B: return "35B.A3B"; case LLM_TYPE_48B_A3B: return "48B.A3B"; case LLM_TYPE_80B_A3B: return "80B.A3B"; case LLM_TYPE_100B_A6B: return "100B.A6B"; @@ -2403,8 +2404,12 @@ void llama_model::load_hparams(llama_model_loader & ml) { ml.get_key(LLM_KV_SSM_GROUP_COUNT, hparams.ssm_n_group); // Mark recurrent layers (linear attention layers) - for (uint32_t i = 0; i < hparams.n_layer; ++i) { - hparams.recurrent_layer_arr[i] = ((i + 1) % 4 != 0); // TODO: extract the magic 4 from "full_attention_interval" + { + uint32_t full_attn_interval = 4; + ml.get_key(LLM_KV_FULL_ATTENTION_INTERVAL, full_attn_interval, false); + for (uint32_t i = 0; i < hparams.n_layer; ++i) { + hparams.recurrent_layer_arr[i] = ((i + 1) % full_attn_interval != 0); + } } switch (hparams.n_layer) { @@ -2412,6 +2417,62 @@ void llama_model::load_hparams(llama_model_loader & ml) { default: type = LLM_TYPE_UNKNOWN; } } break; + case LLM_ARCH_QWEN35: + { + ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); + ml.get_key_or_arr(LLM_KV_ROPE_DIMENSION_SECTIONS, hparams.rope_sections, 4, true); + + // Load linear attention (gated delta net) parameters + ml.get_key(LLM_KV_SSM_CONV_KERNEL, hparams.ssm_d_conv); + ml.get_key(LLM_KV_SSM_INNER_SIZE, hparams.ssm_d_inner); + ml.get_key(LLM_KV_SSM_STATE_SIZE, hparams.ssm_d_state); + ml.get_key(LLM_KV_SSM_TIME_STEP_RANK, hparams.ssm_dt_rank); + ml.get_key(LLM_KV_SSM_GROUP_COUNT, hparams.ssm_n_group); + + // Mark recurrent layers (linear attention layers) + { + uint32_t full_attn_interval = 4; + ml.get_key(LLM_KV_FULL_ATTENTION_INTERVAL, full_attn_interval, false); + for (uint32_t i = 0; i < hparams.n_layer; ++i) { + hparams.recurrent_layer_arr[i] = ((i + 1) % full_attn_interval != 0); + } + } + + switch (hparams.n_layer) { + case 24: type = LLM_TYPE_2B; break; + default: type = LLM_TYPE_UNKNOWN; + } + } break; + case LLM_ARCH_QWEN35MOE: + { + ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH, hparams.n_ff_exp, false); + ml.get_key(LLM_KV_EXPERT_SHARED_FEED_FORWARD_LENGTH, hparams.n_ff_shexp, false); + ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); + + ml.get_key_or_arr(LLM_KV_ROPE_DIMENSION_SECTIONS, hparams.rope_sections, 4, true); + + // Load linear attention (gated delta net) parameters + ml.get_key(LLM_KV_SSM_CONV_KERNEL, hparams.ssm_d_conv); + ml.get_key(LLM_KV_SSM_INNER_SIZE, hparams.ssm_d_inner); + ml.get_key(LLM_KV_SSM_STATE_SIZE, hparams.ssm_d_state); + ml.get_key(LLM_KV_SSM_TIME_STEP_RANK, hparams.ssm_dt_rank); + ml.get_key(LLM_KV_SSM_GROUP_COUNT, hparams.ssm_n_group); + + // Mark recurrent layers (linear attention layers) + { + uint32_t full_attn_interval = 4; + ml.get_key(LLM_KV_FULL_ATTENTION_INTERVAL, full_attn_interval, false); + for (uint32_t i = 0; i < hparams.n_layer; ++i) { + hparams.recurrent_layer_arr[i] = ((i + 1) % full_attn_interval != 0); + } + } + + switch (hparams.n_layer) { + case 28: type = LLM_TYPE_35B_A3B; break; + case 48: type = LLM_TYPE_80B_A3B; break; + default: type = LLM_TYPE_UNKNOWN; + } + } break; case LLM_ARCH_MISTRAL3: { ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); @@ -7101,6 +7162,131 @@ bool llama_model::load_tensors(llama_model_loader & ml) { layer.ffn_down_shexp = create_tensor(tn(LLM_TENSOR_FFN_DOWN_SHEXP, "weight", i), { hparams.n_ff_shexp, n_embd }, 0); } } break; + case LLM_ARCH_QWEN35MOE: + { + tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, 0); + + // output + output_norm = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "weight"), { n_embd }, 0); + output = create_tensor(tn(LLM_TENSOR_OUTPUT, "weight"), { n_embd, n_vocab }, TENSOR_NOT_REQUIRED); + + // if output is NULL, init from the input tok embed + if (output == NULL) { + output = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, TENSOR_DUPLICATED); + } + + const int64_t n_ff_exp = hparams.n_ff_exp ? hparams.n_ff_exp : n_ff / n_expert_used; + + // Calculate dimensions from hyperparameters + const int64_t head_k_dim = hparams.ssm_d_state; + const int64_t head_v_dim = hparams.ssm_d_state; + const int64_t n_k_heads = hparams.ssm_n_group; + const int64_t n_v_heads = hparams.ssm_dt_rank; + const int64_t key_dim = head_k_dim * n_k_heads; + const int64_t value_dim = head_v_dim * n_v_heads; + const int64_t conv_dim = key_dim * 2 + value_dim; + + for (int i = 0; i < n_layer; ++i) { + auto & layer = layers[i]; + + layer.attn_norm = create_tensor(tn(LLM_TENSOR_ATTN_NORM, "weight", i), { n_embd }, 0); + layer.attn_post_norm = create_tensor(tn(LLM_TENSOR_ATTN_POST_NORM, "weight", i), { n_embd }, 0); + + if (!hparams.is_recurrent(i)) { + // Attention layers + layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q, "weight", i), { n_embd, n_embd_head_k * n_head * 2 }, 0); + layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K, "weight", i), { n_embd, n_embd_k_gqa }, 0); + layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V, "weight", i), { n_embd, n_embd_v_gqa }, 0); + layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), { n_embd_head_k * n_head, n_embd }, 0); + + // Q/K normalization for attention layers + layer.attn_q_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_NORM, "weight", i), { n_embd_head_k }, 0); + layer.attn_k_norm = create_tensor(tn(LLM_TENSOR_ATTN_K_NORM, "weight", i), { n_embd_head_k }, 0); + } else { + // Linear attention (gated delta net) specific tensors + // Create tensors with calculated dimensions + layer.wqkv = create_tensor(tn(LLM_TENSOR_ATTN_QKV, "weight", i), { n_embd, key_dim * 2 + value_dim }, TENSOR_NOT_REQUIRED); + layer.wqkv_gate = create_tensor(tn(LLM_TENSOR_ATTN_GATE, "weight", i), { n_embd, value_dim }, TENSOR_NOT_REQUIRED); + layer.ssm_conv1d = create_tensor(tn(LLM_TENSOR_SSM_CONV1D, "weight", i), { hparams.ssm_d_conv, conv_dim }, 0); + layer.ssm_dt = create_tensor(tn(LLM_TENSOR_SSM_DT, "bias", i), { hparams.ssm_dt_rank }, 0); + layer.ssm_a = create_tensor(tn(LLM_TENSOR_SSM_A_NOSCAN, i), { hparams.ssm_dt_rank }, 0); + layer.ssm_beta = create_tensor(tn(LLM_TENSOR_SSM_BETA, "weight", i), { n_embd, n_v_heads }, 0); + layer.ssm_alpha = create_tensor(tn(LLM_TENSOR_SSM_ALPHA, "weight", i), { n_embd, n_v_heads }, 0); + layer.ssm_norm = create_tensor(tn(LLM_TENSOR_SSM_NORM, "weight", i), { head_v_dim }, 0); + layer.ssm_out = create_tensor(tn(LLM_TENSOR_SSM_OUT, "weight", i), { value_dim, n_embd }, 0); + } + + layer.ffn_gate_inp = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP, "weight", i), { n_embd, n_expert }, 0); + layer.ffn_gate_exps = create_tensor(tn(LLM_TENSOR_FFN_GATE_EXPS, "weight", i), { n_embd, n_ff_exp, n_expert }, 0); + layer.ffn_down_exps = create_tensor(tn(LLM_TENSOR_FFN_DOWN_EXPS, "weight", i), { n_ff_exp, n_embd, n_expert }, 0); + layer.ffn_up_exps = create_tensor(tn(LLM_TENSOR_FFN_UP_EXPS, "weight", i), { n_embd, n_ff_exp, n_expert }, 0); + + // Shared experts + const int64_t n_ff_shexp = hparams.n_ff_shexp ? hparams.n_ff_shexp : n_ff; + + layer.ffn_gate_inp_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_INP_SHEXP, "weight", i), { n_embd }, 0); + layer.ffn_gate_shexp = create_tensor(tn(LLM_TENSOR_FFN_GATE_SHEXP, "weight", i), { n_embd, n_ff_shexp }, 0); + layer.ffn_up_shexp = create_tensor(tn(LLM_TENSOR_FFN_UP_SHEXP, "weight", i), { n_embd, n_ff_shexp }, 0); + layer.ffn_down_shexp = create_tensor(tn(LLM_TENSOR_FFN_DOWN_SHEXP, "weight", i), { n_ff_shexp, n_embd }, 0); + } + } break; + case LLM_ARCH_QWEN35: + { + tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, 0); + + // output + output_norm = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "weight"), { n_embd }, 0); + output = create_tensor(tn(LLM_TENSOR_OUTPUT, "weight"), { n_embd, n_vocab }, TENSOR_NOT_REQUIRED); + + // if output is NULL, init from the input tok embed + if (output == NULL) { + output = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), { n_embd, n_vocab }, TENSOR_DUPLICATED); + } + + // Calculate dimensions from hyperparameters + const int64_t head_k_dim = hparams.ssm_d_state; + const int64_t head_v_dim = hparams.ssm_d_state; + const int64_t n_k_heads = hparams.ssm_n_group; + const int64_t n_v_heads = hparams.ssm_dt_rank; + const int64_t key_dim = head_k_dim * n_k_heads; + const int64_t value_dim = head_v_dim * n_v_heads; + const int64_t conv_dim = key_dim * 2 + value_dim; + + for (int i = 0; i < n_layer; ++i) { + auto & layer = layers[i]; + + layer.attn_norm = create_tensor(tn(LLM_TENSOR_ATTN_NORM, "weight", i), { n_embd }, 0); + layer.attn_post_norm = create_tensor(tn(LLM_TENSOR_ATTN_POST_NORM, "weight", i), { n_embd }, 0); + + if (!hparams.is_recurrent(i)) { + // Attention layers + layer.wq = create_tensor(tn(LLM_TENSOR_ATTN_Q, "weight", i), { n_embd, n_embd_head_k * n_head * 2 }, 0); + layer.wk = create_tensor(tn(LLM_TENSOR_ATTN_K, "weight", i), { n_embd, n_embd_k_gqa }, 0); + layer.wv = create_tensor(tn(LLM_TENSOR_ATTN_V, "weight", i), { n_embd, n_embd_v_gqa }, 0); + layer.wo = create_tensor(tn(LLM_TENSOR_ATTN_OUT, "weight", i), { n_embd_head_k * n_head, n_embd }, 0); + + // Q/K normalization for attention layers + layer.attn_q_norm = create_tensor(tn(LLM_TENSOR_ATTN_Q_NORM, "weight", i), { n_embd_head_k }, 0); + layer.attn_k_norm = create_tensor(tn(LLM_TENSOR_ATTN_K_NORM, "weight", i), { n_embd_head_k }, 0); + } else { + // Linear attention (gated delta net) specific tensors + // Create tensors with calculated dimensions + layer.wqkv = create_tensor(tn(LLM_TENSOR_ATTN_QKV, "weight", i), { n_embd, key_dim * 2 + value_dim }, TENSOR_NOT_REQUIRED); + layer.wqkv_gate = create_tensor(tn(LLM_TENSOR_ATTN_GATE, "weight", i), { n_embd, value_dim }, TENSOR_NOT_REQUIRED); + layer.ssm_conv1d = create_tensor(tn(LLM_TENSOR_SSM_CONV1D, "weight", i), { hparams.ssm_d_conv, conv_dim }, 0); + layer.ssm_dt = create_tensor(tn(LLM_TENSOR_SSM_DT, "bias", i), { hparams.ssm_dt_rank }, 0); + layer.ssm_a = create_tensor(tn(LLM_TENSOR_SSM_A_NOSCAN, i), { hparams.ssm_dt_rank }, 0); + layer.ssm_beta = create_tensor(tn(LLM_TENSOR_SSM_BETA, "weight", i), { n_embd, n_v_heads }, 0); + layer.ssm_alpha = create_tensor(tn(LLM_TENSOR_SSM_ALPHA, "weight", i), { n_embd, n_v_heads }, 0); + layer.ssm_norm = create_tensor(tn(LLM_TENSOR_SSM_NORM, "weight", i), { head_v_dim }, 0); + layer.ssm_out = create_tensor(tn(LLM_TENSOR_SSM_OUT, "weight", i), { value_dim, n_embd }, 0); + } + + layer.ffn_gate = create_tensor(tn(LLM_TENSOR_FFN_GATE, "weight", i), {n_embd, n_ff}, 0); + layer.ffn_down = create_tensor(tn(LLM_TENSOR_FFN_DOWN, "weight", i), { n_ff, n_embd}, 0); + layer.ffn_up = create_tensor(tn(LLM_TENSOR_FFN_UP, "weight", i), {n_embd, n_ff}, 0); + } + } break; case LLM_ARCH_MIMO2: { tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, 0); @@ -7545,6 +7731,8 @@ void llama_model::print_info() const { arch == LLM_ARCH_PLAMO2 || arch == LLM_ARCH_GRANITE_HYBRID || arch == LLM_ARCH_QWEN3NEXT || + arch == LLM_ARCH_QWEN35 || + arch == LLM_ARCH_QWEN35MOE || arch == LLM_ARCH_NEMOTRON_H || arch == LLM_ARCH_NEMOTRON_H_MOE) { LLAMA_LOG_INFO("%s: ssm_d_conv = %u\n", __func__, hparams.ssm_d_conv); @@ -8343,6 +8531,14 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const { { llm = std::make_unique(*this, params); } break; + case LLM_ARCH_QWEN35: + { + llm = std::make_unique(*this, params); + } break; + case LLM_ARCH_QWEN35MOE: + { + llm = std::make_unique(*this, params); + } break; case LLM_ARCH_MISTRAL3: { llm = std::make_unique(*this, params); @@ -8611,6 +8807,8 @@ llama_rope_type llama_model_rope_type(const llama_model * model) { return LLAMA_ROPE_TYPE_MROPE; case LLM_ARCH_QWEN3VL: case LLM_ARCH_QWEN3VLMOE: + case LLM_ARCH_QWEN35: + case LLM_ARCH_QWEN35MOE: return LLAMA_ROPE_TYPE_IMROPE; case LLM_ARCH_GLM4: diff --git a/src/llama-model.h b/src/llama-model.h index 7b580043b3..adc8ff6479 100644 --- a/src/llama-model.h +++ b/src/llama-model.h @@ -118,6 +118,7 @@ enum llm_type { LLM_TYPE_21B_A3B, // Ernie MoE small LLM_TYPE_30B_A3B, LLM_TYPE_31B_A3_5B, + LLM_TYPE_35B_A3B, // Qwen3.5 LLM_TYPE_48B_A3B, // Kimi Linear LLM_TYPE_80B_A3B, // Qwen3 Next LLM_TYPE_100B_A6B, @@ -322,6 +323,9 @@ struct llama_layer { // qwen3next struct ggml_tensor * ssm_beta_alpha = nullptr; + // qwen3.5 + struct ggml_tensor * ssm_alpha = nullptr; + // rwkv struct ggml_tensor * time_mix_w1 = nullptr; struct ggml_tensor * time_mix_w2 = nullptr; diff --git a/src/llama-vocab.cpp b/src/llama-vocab.cpp index 6d6bdfa090..62e137fb84 100644 --- a/src/llama-vocab.cpp +++ b/src/llama-vocab.cpp @@ -368,6 +368,13 @@ struct llm_tokenizer_bpe : llm_tokenizer { "(?:'[sS]|'[tT]|'[rR][eE]|'[vV][eE]|'[mM]|'[lL][lL]|'[dD])|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+", }; break; + case LLAMA_VOCAB_PRE_TYPE_QWEN35: + regex_exprs = { + // original regex from tokenizer.json + // "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+" + "(?:'[sS]|'[tT]|'[rR][eE]|'[vV][eE]|'[mM]|'[lL][lL]|'[dD])|[^\\r\\n\\p{L}\\p{N}]?[\\p{L}\\p{M}]+|\\p{N}| ?[^\\s\\p{L}\\p{M}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+", + }; + break; case LLAMA_VOCAB_PRE_TYPE_PORO: case LLAMA_VOCAB_PRE_TYPE_BLOOM: case LLAMA_VOCAB_PRE_TYPE_GPT3_FINNISH: @@ -1926,6 +1933,10 @@ void llama_vocab::impl::load(llama_model_loader & ml, const LLM_KV & kv) { tokenizer_pre == "kormo") { pre_type = LLAMA_VOCAB_PRE_TYPE_QWEN2; clean_spaces = false; + } else if ( + tokenizer_pre == "qwen35") { + pre_type = LLAMA_VOCAB_PRE_TYPE_QWEN35; + clean_spaces = false; } else if ( tokenizer_pre == "stablelm2") { pre_type = LLAMA_VOCAB_PRE_TYPE_STABLELM2; diff --git a/src/llama-vocab.h b/src/llama-vocab.h index 28c3a82b91..718238fb86 100644 --- a/src/llama-vocab.h +++ b/src/llama-vocab.h @@ -54,6 +54,7 @@ enum llama_vocab_pre_type { LLAMA_VOCAB_PRE_TYPE_SOLAR_OPEN = 43, LLAMA_VOCAB_PRE_TYPE_YOUTU = 44, LLAMA_VOCAB_PRE_TYPE_EXAONE_MOE = 45, + LLAMA_VOCAB_PRE_TYPE_QWEN35 = 46, }; struct LLM_KV; diff --git a/src/models/models.h b/src/models/models.h index cfcbb9aaa5..3c66d32531 100644 --- a/src/models/models.h +++ b/src/models/models.h @@ -476,6 +476,7 @@ struct llm_build_qwen3vl : public llm_graph_context { struct llm_build_qwen3vlmoe : public llm_graph_context { llm_build_qwen3vlmoe(const llama_model & model, const llm_graph_params & params); }; + struct llm_build_qwen3next : public llm_graph_context_mamba { llm_build_qwen3next(const llama_model & model, const llm_graph_params & params); private: @@ -534,6 +535,124 @@ private: const llama_model & model; }; +struct llm_build_qwen35 : public llm_graph_context_mamba { + llm_build_qwen35(const llama_model & model, const llm_graph_params & params); +private: + ggml_tensor * build_layer_attn( + llm_graph_input_attn_kv * inp_attn, + ggml_tensor * cur, + ggml_tensor * inp_pos, + int * sections, + int il); + + ggml_tensor * build_layer_attn_linear( + llm_graph_input_rs * inp, + ggml_tensor * cur, + ggml_tensor * causal_mask, + ggml_tensor * identity, + ggml_tensor * diag_mask, + int il); + + ggml_tensor * build_layer_ffn( + ggml_tensor * cur, + int il); + + // returns pair of output and new state + std::pair build_delta_net_chunking( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + ggml_tensor * causal_mask, + ggml_tensor * identity, + ggml_tensor * diag_mask, + int il); + + // returns pair of output and new state + std::pair build_delta_net_autoregressive( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + int il); + + ggml_tensor * build_norm_gated( + ggml_tensor * input, + ggml_tensor * weights, + ggml_tensor * gate, + int layer); + + // returns pair of qkv, z + std::pair build_qkvz( + ggml_tensor * input, + int il); + + const llama_model & model; +}; + +struct llm_build_qwen35moe : public llm_graph_context_mamba { + llm_build_qwen35moe(const llama_model & model, const llm_graph_params & params); +private: + ggml_tensor * build_layer_attn( + llm_graph_input_attn_kv * inp_attn, + ggml_tensor * cur, + ggml_tensor * inp_pos, + int * sections, + int il); + + ggml_tensor * build_layer_attn_linear( + llm_graph_input_rs * inp, + ggml_tensor * cur, + ggml_tensor * causal_mask, + ggml_tensor * identity, + ggml_tensor * diag_mask, + int il); + + ggml_tensor * build_layer_ffn( + ggml_tensor * cur, + int il); + + // returns pair of output and new state + std::pair build_delta_net_chunking( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + ggml_tensor * causal_mask, + ggml_tensor * identity, + ggml_tensor * diag_mask, + int il); + + // returns pair of output and new state + std::pair build_delta_net_autoregressive( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + int il); + + ggml_tensor * build_norm_gated( + ggml_tensor * input, + ggml_tensor * weights, + ggml_tensor * gate, + int layer); + + // returns pair of qkv, z + std::pair build_qkvz( + ggml_tensor * input, + int il); + + const llama_model & model; +}; + struct llm_build_qwen : public llm_graph_context { llm_build_qwen(const llama_model & model, const llm_graph_params & params); }; diff --git a/src/models/qwen35.cpp b/src/models/qwen35.cpp new file mode 100644 index 0000000000..592c170457 --- /dev/null +++ b/src/models/qwen35.cpp @@ -0,0 +1,740 @@ +#include "ggml.h" +#include "models.h" + +#define CHUNK_SIZE 64 + +llm_build_qwen35::llm_build_qwen35(const llama_model & model, const llm_graph_params & params) : + llm_graph_context_mamba(params), model(model) { + const int64_t n_embd_head = hparams.n_embd_head_v; + + GGML_ASSERT(n_embd_head == hparams.n_embd_head_k); + + int sections[4]; + std::copy(std::begin(hparams.rope_sections), std::begin(hparams.rope_sections) + 4, sections); + + ggml_tensor * cur; + ggml_tensor * inpL; + + inpL = build_inp_embd(model.tok_embd); + + cb(inpL, "model.input_embed", -1); + + auto * inp = build_inp_mem_hybrid(); + + ggml_tensor * inp_pos = build_inp_pos(); + ggml_tensor * inp_out_ids = build_inp_out_ids(); + + ggml_tensor * causal_mask = + ggml_tri(ctx0, ggml_fill(ctx0, ggml_new_tensor_2d(ctx0, GGML_TYPE_F32, CHUNK_SIZE, CHUNK_SIZE), 1.0f), + GGML_TRI_TYPE_LOWER); + + ggml_tensor * identity = ggml_diag(ctx0, ggml_fill(ctx0, ggml_new_tensor_1d(ctx0, GGML_TYPE_F32, CHUNK_SIZE), 1.0f)); + ggml_tensor * diag_mask = ggml_add(ctx0, causal_mask, identity); + + ggml_build_forward_expand(gf, causal_mask); + ggml_build_forward_expand(gf, identity); + ggml_build_forward_expand(gf, diag_mask); + + for (int il = 0; il < n_layer; ++il) { + ggml_tensor * inpSA = inpL; + + cur = build_norm(inpL, model.layers[il].attn_norm, nullptr, LLM_NORM_RMS, il); + cb(cur, "attn_norm", il); + + // Determine layer type and build appropriate attention mechanism + if (hparams.is_recurrent(il)) { + // Linear attention layer (gated delta net) + cur = build_layer_attn_linear(inp->get_recr(), cur, causal_mask, identity, diag_mask, il); + } else { + // Full attention layer + cur = build_layer_attn(inp->get_attn(), cur, inp_pos, sections, il); + } + + if (il == n_layer - 1 && inp_out_ids) { + cur = ggml_get_rows(ctx0, cur, inp_out_ids); + inpSA = ggml_get_rows(ctx0, inpSA, inp_out_ids); + } + + // Residual connection + cur = ggml_add(ctx0, cur, inpSA); + cb(cur, "attn_residual", il); + + // Save the tensor before post-attention norm for residual connection + ggml_tensor * ffn_residual = cur; + + // Post-attention norm + ggml_tensor * attn_post_norm = build_norm(cur, model.layers[il].attn_post_norm, nullptr, LLM_NORM_RMS, il); + cb(attn_post_norm, "attn_post_norm", il); + + // Dense FFN layer - without residual connection + cur = build_layer_ffn(attn_post_norm, il); + cb(cur, "ffn_out", il); + + // Residual connection for FFN - add to the tensor from before post_attention_layernorm + cur = ggml_add(ctx0, cur, ffn_residual); + cb(cur, "post_ffn", il); + + // Input for next layer + inpL = cur; + } + cur = inpL; + + // Final norm + cur = build_norm(cur, model.output_norm, nullptr, LLM_NORM_RMS, -1); + + cb(cur, "result_norm", -1); + res->t_embd = cur; + + // LM head + cur = build_lora_mm(model.output, cur); + + cb(cur, "result_output", -1); + res->t_logits = cur; + + ggml_build_forward_expand(gf, cur); +} + +// utility to get one slice from the third dimension +// input dim: [x, y, c, b] +// output dim: [x, y, 1, b] +static ggml_tensor * get_slice_2d(ggml_context * ctx0, ggml_tensor * t, int64_t c) { + return ggml_view_4d(ctx0, t, t->ne[0], t->ne[1], 1, t->ne[3], + t->nb[1], t->nb[2], t->nb[3], t->nb[2] * c); +} + +std::pair llm_build_qwen35::build_delta_net_chunking( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + ggml_tensor * causal_mask, + ggml_tensor * identity, + ggml_tensor * diag_mask, + int il) { + const int64_t S_k = q->ne[0]; + const int64_t H_k = q->ne[1]; + const int64_t n_tokens = q->ne[2]; + const int64_t n_seqs = q->ne[3]; + + const int64_t S_v = v->ne[0]; + const int64_t H_v = v->ne[1]; + + GGML_ASSERT(v->ne[2] == n_tokens); + GGML_ASSERT(k->ne[2] == n_tokens); + GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs); + GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs); + GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v * H_v && state->ne[2] == 1 && state->ne[3] == n_seqs); + + GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs); + GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs); + + GGML_ASSERT(H_k == H_v); // we did a repeat to make sure this is the case + + const float eps_norm = hparams.f_norm_rms_eps; + + q = ggml_l2_norm(ctx0, q, eps_norm); + k = ggml_l2_norm(ctx0, k, eps_norm); + + const float scale = 1.0f / sqrtf(S_v); + + q = ggml_scale(ctx0, q, scale); + + beta = ggml_sigmoid(ctx0, beta); + + cb(q, "q_in", il); + cb(k, "k_in", il); + cb(v, "v_in", il); + cb(beta, "beta_in", il); + cb(g, "g_in", il); + + q = ggml_cont_4d(ctx0, ggml_permute(ctx0, q, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); + k = ggml_cont_4d(ctx0, ggml_permute(ctx0, k, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); + v = ggml_cont_4d(ctx0, ggml_permute(ctx0, v, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); + g = ggml_cont_4d(ctx0, ggml_permute(ctx0, g, 2, 0, 3, 1), n_tokens, 1, H_k, n_seqs); + + beta = ggml_cont(ctx0, ggml_permute(ctx0, beta, 2, 0, 1, 3)); + state = ggml_reshape_4d(ctx0, state, S_v, S_v, H_v, n_seqs); + + cb(q, "q_perm", il); + cb(k, "k_perm", il); + cb(v, "v_perm", il); + cb(beta, "beta_perm", il); + cb(g, "g_perm", il); + cb(state, "state_in", il); + + GGML_ASSERT(q->ne[1] == n_tokens && q->ne[0] == S_k && q->ne[2] == H_k && q->ne[3] == n_seqs); + GGML_ASSERT(k->ne[1] == n_tokens && k->ne[0] == S_k && k->ne[2] == H_k && k->ne[3] == n_seqs); + GGML_ASSERT(v->ne[1] == n_tokens && v->ne[0] == S_v && v->ne[2] == H_k && v->ne[3] == n_seqs); + GGML_ASSERT(beta->ne[1] == n_tokens && beta->ne[2] == H_k && beta->ne[0] == 1 && beta->ne[3] == n_seqs); + + // Do padding + const int64_t chunk_size = CHUNK_SIZE; + + const int64_t pad = (chunk_size - n_tokens % chunk_size) % chunk_size; + const int64_t n_chunks = (n_tokens + pad) / chunk_size; + + q = ggml_pad(ctx0, q, 0, pad, 0, 0); + k = ggml_pad(ctx0, k, 0, pad, 0, 0); + v = ggml_pad(ctx0, v, 0, pad, 0, 0); + g = ggml_pad(ctx0, g, pad, 0, 0, 0); + beta = ggml_pad(ctx0, beta, 0, pad, 0, 0); + + cb(q, "q_pad", il); + cb(k, "k_pad", il); + cb(v, "v_pad", il); + cb(beta, "beta_pad", il); + cb(g, "g_pad", il); + + ggml_tensor * v_beta = ggml_mul(ctx0, v, beta); + ggml_tensor * k_beta = ggml_mul(ctx0, k, beta); + + cb(v_beta, "v_beta", il); + cb(k_beta, "k_beta", il); + + q = ggml_reshape_4d(ctx0, q, S_k, chunk_size, n_chunks, H_k * n_seqs); + k = ggml_reshape_4d(ctx0, k, S_k, chunk_size, n_chunks, H_k * n_seqs); + k_beta = ggml_reshape_4d(ctx0, k_beta, S_k, chunk_size, n_chunks, H_k * n_seqs); + v = ggml_reshape_4d(ctx0, v, S_v, chunk_size, n_chunks, H_v * n_seqs); + v_beta = ggml_reshape_4d(ctx0, v_beta, S_v, chunk_size, n_chunks, H_v * n_seqs); + + g = ggml_reshape_4d(ctx0, g, chunk_size, 1, n_chunks, H_k * n_seqs); + beta = ggml_reshape_4d(ctx0, beta, 1, chunk_size, n_chunks, H_k * n_seqs); + + ggml_tensor * g_cumsum = ggml_cumsum(ctx0, g); + cb(g_cumsum, "g_cumsum", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * gcs_i = g_cumsum; // ggml_reshape_4d(ctx0, g_cumsum, chunk_size, 1, n_chunks, H_v * n_seqs); + ggml_tensor * gcs_j = ggml_reshape_4d(ctx0, g_cumsum, 1, chunk_size, n_chunks, H_v * n_seqs); + + ggml_tensor * gcs_j_broadcast = + ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, n_chunks, H_v * n_seqs); + + ggml_tensor * decay_mask = ggml_sub(ctx0, gcs_j_broadcast, gcs_i); + cb(decay_mask, "decay_mask", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); + decay_mask = ggml_exp(ctx0, decay_mask); + decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); + + ggml_tensor * kmulkbeta = ggml_mul_mat(ctx0, k, k_beta); + + ggml_tensor * k_decay = ggml_mul(ctx0, kmulkbeta, decay_mask); + ggml_tensor * attn = ggml_neg(ctx0, ggml_mul(ctx0, k_decay, causal_mask)); + cb(attn, "attn_pre_solve", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * attn_lower = ggml_mul(ctx0, attn, causal_mask); + ggml_tensor * lhs = ggml_sub(ctx0, ggml_repeat(ctx0, identity, attn_lower), attn_lower); + + ggml_tensor * lin_solve = ggml_solve_tri(ctx0, lhs, attn, true, true, false); + attn = ggml_mul(ctx0, lin_solve, causal_mask); + attn = ggml_add(ctx0, attn, identity); + cb(attn, "attn_solved", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + v = ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_beta)), attn); + + ggml_tensor * g_cumsum_t = ggml_cont(ctx0, ggml_transpose(ctx0, g_cumsum)); + ggml_tensor * gexp = ggml_exp(ctx0, g_cumsum_t); + + ggml_tensor * kbeta_gexp = ggml_mul(ctx0, k_beta, gexp); + cb(kbeta_gexp, "kbeta_gexp", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * k_cumdecay = + ggml_cont(ctx0, ggml_transpose(ctx0, ggml_mul_mat(ctx0, attn, ggml_cont(ctx0, ggml_transpose(ctx0, kbeta_gexp))))); + cb(k_cumdecay, "k_cumdecay", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * attn_kq = ggml_mul_mat(ctx0, k, q); + attn_kq = ggml_mul(ctx0, attn_kq, decay_mask); + attn_kq = ggml_mul(ctx0, attn_kq, diag_mask); + cb(attn_kq, "attn_kq", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + + // vectorized calculation of key_gdiff + // improved from the chunked version: + // g_last = torch.clamp(g_cum[:, :, -1], max=50.0).exp().unsqueeze(-1).unsqueeze(-1) + // g_diff = torch.clamp(g_cum[:, :, -1:] - g_cum, max=50.0).exp() + // key_gdiff = key * g_diff.unsqueeze(-1) + // kgdmulvnew = (key_gdiff).transpose(-1, -2) @ v_new + // last_recurrent_state = last_recurrent_state * g_last + kgdmulvnew + + // get last element in g_cumsum along chunk_size dimension (ne0) + // example: [[x, y, z, ..., last], ...] -> [[last], ...] + ggml_tensor * g_last = ggml_view_4d(ctx0, g_cumsum, 1, 1, g_cumsum->ne[2], g_cumsum->ne[3], + g_cumsum->nb[1], g_cumsum->nb[2], g_cumsum->nb[3], + (g_cumsum->ne[0] - 1) * ggml_element_size(g_cumsum)); + g_last = ggml_cont(ctx0, g_last); + cb(g_last, "g_last", il); // shape: (1, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * g_last_exp = ggml_exp(ctx0, g_last); + cb(g_last_exp, "g_last_exp", il); // shape: (1, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * g_diff = ggml_neg(ctx0, ggml_sub(ctx0, g_cumsum, g_last)); + cb(g_diff, "g_diff", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * g_diff_exp = ggml_exp(ctx0, g_diff); + ggml_tensor * g_diff_exp_t = ggml_reshape_4d(ctx0, g_diff_exp, + 1, chunk_size, n_chunks, g_diff_exp->ne[3]); + + ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp_t); + cb(key_gdiff, "key_gdiff", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * key_gdiff_t = ggml_cont(ctx0, ggml_transpose(ctx0, key_gdiff)); + cb(key_gdiff_t, "key_gdiff_t", il); // shape: (chunk_size, S_k, n_chunks, H_v * n_seqs) + + // state to be updated per chunk + ggml_tensor * new_state = state; // ggml_dup(ctx0, state); + cb(new_state, "new_state", il); // shape: (S_v, S_v, H_v, n_seqs) + + // shape after loop of chunks: (S_v, chunk_size, n_chunks, H_v * n_seqs) + ggml_tensor * core_attn_out = nullptr; + + for (int64_t chunk = 0; chunk < n_chunks; chunk++) { + // shape: (S_k, chunk_size, 1, H_k * n_seqs) + ggml_tensor * q_chunk = get_slice_2d(ctx0, q, chunk); // (no cont), next op: ggml_mul + + // shape: (S_v, chunk_size, 1, H_v * n_seqs) + ggml_tensor * v_chunk = get_slice_2d(ctx0, v, chunk); // (no cont), next op: ggml_repeat + + // shape: (chunk_size, 1, n_chunks, H_v * n_seqs) + ggml_tensor * gexp_chunk = get_slice_2d(ctx0, gexp, chunk); // (no cont), next op: ggml_mul + + // shape: (chunk_size, 1, H_v * n_seqs) + ggml_tensor * k_cumdecay_chunk = get_slice_2d(ctx0, k_cumdecay, chunk); // (no cont), next op: ggml_mul_mat + + // attn = (q_i @ k_i.transpose(-1, -2) * decay_mask[:, :, i]).masked_fill_(mask, 0) + // replaced by precomputed attn_kq + ggml_tensor * attn_chunk = get_slice_2d(ctx0, attn_kq, chunk); + cb(attn_chunk, "attn_chunk", il); + + ggml_tensor * state_t = ggml_cont_4d(ctx0, ggml_permute(ctx0, new_state, 1, 0, 2, 3), S_v, S_v, 1, H_v * n_seqs); + + // v_prime = (k_cumdecay[:, :, i]) @ last_recurrent_state + ggml_tensor * v_prime = ggml_mul_mat(ctx0, state_t, k_cumdecay_chunk); + cb(v_prime, "v_prime_chunk", il); // shape: (S_v, 1, H_v * n_seqs) + + // v_new = v_i - v_prime + ggml_tensor * v_new = ggml_sub(ctx0, ggml_repeat(ctx0, v_chunk, v_prime), v_prime); + ggml_tensor * v_new_t = ggml_cont(ctx0, ggml_transpose(ctx0, v_new)); + cb(v_new, "v_new_chunk", il); + + // attn_inter = (q_i * g[:, :, i, :, None].exp()) @ last_recurrent_state + ggml_tensor * q_g_exp = ggml_mul(ctx0, q_chunk, gexp_chunk); + ggml_tensor * attn_inter = ggml_mul_mat(ctx0, state_t, q_g_exp); + cb(attn_inter, "attn_inter_chunk", il); + + // core_attn_out[:, :, i] = attn_inter + attn @ v_new + ggml_tensor * v_attn = ggml_mul_mat(ctx0, v_new_t, attn_chunk); + cb(v_attn, "v_attn_chunk", il); + + ggml_tensor * core_attn_out_chunk = ggml_add(ctx0, attn_inter, v_attn); + cb(core_attn_out_chunk, "core_attn_out_chunk", il); // shape: (S_v, chunk_size, 1, H_v * n_seqs) + + core_attn_out = core_attn_out == nullptr + ? core_attn_out_chunk + : ggml_concat(ctx0, core_attn_out, core_attn_out_chunk, 2); + + // kgdmulvnew = (key_gdiff).transpose(-1, -2) @ v_new + ggml_tensor * k_gdiff_t = get_slice_2d(ctx0, key_gdiff_t, chunk); + //ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, k_gdiff, v_new); // this is slower on metal, why? + ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, v_new_t, k_gdiff_t); + + // last_recurrent_state = last_recurrent_state * g_last + kgdmulvnew + ggml_tensor * gexp_last_chunk = ggml_cont(ctx0, get_slice_2d(ctx0, g_last_exp, chunk)); + new_state = ggml_add(ctx0, + ggml_mul(ctx0, new_state, ggml_reshape_4d(ctx0, gexp_last_chunk, gexp_last_chunk->ne[0], gexp_last_chunk->ne[1], H_v, n_seqs)), + ggml_reshape_4d(ctx0, kgdmulvnew, kgdmulvnew->ne[0], kgdmulvnew->ne[1], H_v, n_seqs)); + } + + // truncate padded tokens + ggml_tensor * output_tokens = ggml_view_4d(ctx0, core_attn_out, + S_v, n_tokens, H_v, n_seqs, + ggml_row_size(core_attn_out->type, S_v), + ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks), + ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks * H_v), 0); + output_tokens = ggml_cont(ctx0, output_tokens); + cb(output_tokens, "output_tokens", il); + + // permute back to (S_v, H_v, n_tokens, n_seqs) + output_tokens = ggml_permute(ctx0, output_tokens, 0, 2, 1, 3); + output_tokens = ggml_cont(ctx0, output_tokens); + + return {output_tokens, new_state}; +} + +std::pair llm_build_qwen35::build_delta_net_autoregressive( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + int il) { + const int64_t S_k = q->ne[0]; + const int64_t H_k = q->ne[1]; + const int64_t n_tokens = q->ne[2]; + const int64_t n_seqs = q->ne[3]; + + const int64_t S_v = v->ne[0]; + const int64_t H_v = v->ne[1]; + + GGML_ASSERT(n_tokens == 1); // This function is optimized for single token processing + GGML_ASSERT(v->ne[2] == n_tokens); + GGML_ASSERT(k->ne[2] == n_tokens); + GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs); + GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs); + GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v * H_v && state->ne[2] == 1 && state->ne[3] == n_seqs); + + GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs); + GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs); + + GGML_ASSERT(H_k == H_v); // we did a repeat to make sure this is the case + + const float eps_norm = hparams.f_norm_rms_eps; + + q = ggml_l2_norm(ctx0, q, eps_norm); + k = ggml_l2_norm(ctx0, k, eps_norm); + + const float scale = 1.0f / sqrtf(S_v); + + q = ggml_scale(ctx0, q, scale); + beta = ggml_sigmoid(ctx0, beta); + + cb(q, "q_in", il); + cb(k, "k_in", il); + cb(v, "v_in", il); + cb(beta, "beta_in", il); + cb(g, "g_in", il); + + state = ggml_reshape_4d(ctx0, state, S_v, S_v, H_v, n_seqs); + + ggml_tensor * g_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, g), 1, 1, H_k, n_seqs); + ggml_tensor * beta_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, beta), 1, 1, H_k, n_seqs); + + // Apply exponential to g_t + g_t = ggml_exp(ctx0, g_t); + + // Apply the gated delta rule for the single timestep + // last_recurrent_state = last_recurrent_state * g_t + state = ggml_mul(ctx0, state, g_t); + + // kv_mem = (last_recurrent_state * k_t.unsqueeze(-1)).sum(dim=-2) + ggml_tensor * k_t_unsqueezed = ggml_reshape_4d(ctx0, k, 1, S_v, H_v, n_seqs); + ggml_tensor * kv_mem = ggml_mul(ctx0, state, k_t_unsqueezed); + // we need to sum over dim=-2, so we transpose, sum, then transpose again + kv_mem = ggml_transpose(ctx0, ggml_sum_rows(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, kv_mem)))); + + // v_t = v.unsqueeze(2) (we insert the singleton dimension after n_seqs and H_v) + ggml_tensor * v_t = ggml_reshape_4d(ctx0, v, S_v, 1, H_v, n_seqs); + // delta = (v_t - kv_mem) * beta_t + ggml_tensor * v_diff = ggml_sub(ctx0, v_t, kv_mem); // both should be [S_v, 1, H_v, n_seqs] + ggml_tensor * delta = ggml_mul(ctx0, v_diff, beta_t); + + // last_recurrent_state = last_recurrent_state + k_t.unsqueeze(-1) * delta + ggml_tensor * k_t_delta = ggml_mul(ctx0, ggml_repeat_4d(ctx0, k_t_unsqueezed, S_v, S_v, H_v, n_seqs), delta); + state = ggml_add(ctx0, state, k_t_delta); + + // Compute the attention output + // core_attn_out = (last_recurrent_state * q_t.unsqueeze(-1)).sum(dim=-2) + ggml_tensor * q_t_unsqueezed = ggml_reshape_4d(ctx0, q, 1, S_v, H_v, n_seqs); // unsqueeze q_t + ggml_tensor * state_q = ggml_mul(ctx0, state, q_t_unsqueezed); + // again, since it's over dim = -2, transpose, sum, transpose back + ggml_tensor * core_attn_out = + ggml_transpose(ctx0, ggml_sum_rows(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, state_q)))); + + // core_attn_out should be [S_v, 1, H_v, n_seqs] after this + cb(core_attn_out, "output_tokens", il); + cb(state, "new_state", il); + + return {core_attn_out, state}; +} + +std::pair llm_build_qwen35::build_qkvz( + ggml_tensor * input, + int il) { + const int64_t n_seqs = ubatch.n_seqs; + const int64_t n_seq_tokens = ubatch.n_seq_tokens; + + ggml_tensor * qkv_mixed = build_lora_mm(model.layers[il].wqkv, input); + qkv_mixed = ggml_reshape_3d(ctx0, qkv_mixed, qkv_mixed->ne[0], n_seq_tokens, n_seqs); + cb(qkv_mixed, "linear_attn_qkv_mixed", il); + + ggml_tensor * z = build_lora_mm(model.layers[il].wqkv_gate, input); + cb(z, "z", il); + + return { qkv_mixed, z }; +} + +ggml_tensor * llm_build_qwen35::build_norm_gated( + ggml_tensor * input, + ggml_tensor * weights, + ggml_tensor * gate, + int layer) { + ggml_tensor * normalized = build_norm(input, weights, nullptr, LLM_NORM_RMS, layer); + ggml_tensor * gated_silu = ggml_silu(ctx0, gate); + + return ggml_mul(ctx0, normalized, gated_silu); +} + +ggml_tensor * llm_build_qwen35::build_layer_attn( + llm_graph_input_attn_kv * inp, + ggml_tensor * cur, + ggml_tensor * inp_pos, + int * sections, + int il) { + const int64_t n_embd_head = hparams.n_embd_head_v; + GGML_ASSERT(n_embd_head == hparams.n_embd_head_k); + + // Order: joint QG projection, QG split, Q norm, KV projection, K norm, RoPE, attention + + // Qwen3Next uses a single Q projection that outputs query + gate + ggml_tensor * Qcur_full = build_lora_mm(model.layers[il].wq, cur); // [ (n_embd_head * 2) * n_head, n_tokens ] + cb(Qcur_full, "Qcur_full", il); + + ggml_tensor * Qcur = ggml_view_3d(ctx0, Qcur_full, n_embd_head, n_head, n_tokens, + ggml_element_size(Qcur_full) * n_embd_head * 2, + ggml_element_size(Qcur_full) * n_embd_head * 2 * n_head, 0); + cb(Qcur, "Qcur_reshaped", il); + + // Apply Q normalization + Qcur = build_norm(Qcur, model.layers[il].attn_q_norm, nullptr, LLM_NORM_RMS, il); + cb(Qcur, "Qcur_normed", il); + + ggml_tensor * Kcur = build_lora_mm(model.layers[il].wk, cur); + cb(Kcur, "Kcur", il); + + ggml_tensor * Vcur = build_lora_mm(model.layers[il].wv, cur); + cb(Vcur, "Vcur", il); + + // Apply K normalization + Kcur = ggml_reshape_3d(ctx0, Kcur, n_embd_head, n_head_kv, n_tokens); + Kcur = build_norm(Kcur, model.layers[il].attn_k_norm, nullptr, LLM_NORM_RMS, il); + cb(Kcur, "Kcur_normed", il); + + ggml_tensor * gate = ggml_view_3d(ctx0, Qcur_full, n_embd_head, n_head, n_tokens, + ggml_element_size(Qcur_full) * n_embd_head * 2, + ggml_element_size(Qcur_full) * n_embd_head * 2 * n_head, + ggml_element_size(Qcur_full) * n_embd_head); + gate = ggml_cont_2d(ctx0, gate, n_embd_head * n_head, n_tokens); + cb(gate, "gate_reshaped", il); + + Vcur = ggml_reshape_3d(ctx0, Vcur, n_embd_head, n_head_kv, n_tokens); + + // Apply MRoPE + Qcur = ggml_rope_multi( + ctx0, Qcur, inp_pos, nullptr, + n_rot, sections, rope_type, n_ctx_orig, freq_base, freq_scale, + ext_factor, attn_factor, beta_fast, beta_slow + ); + + Kcur = ggml_rope_multi( + ctx0, Kcur, inp_pos, nullptr, + n_rot, sections, rope_type, n_ctx_orig, freq_base, freq_scale, + ext_factor, attn_factor, beta_fast, beta_slow + ); + + cb(Qcur, "Qcur", il); + cb(Kcur, "Kcur", il); + cb(Vcur, "Vcur", il); + + // Attention computation + const float kq_scale = hparams.f_attention_scale == 0.0f ? 1.0f / sqrtf(float(n_embd_head)) : hparams.f_attention_scale; + + cur = build_attn(inp, + nullptr, nullptr, + Qcur, Kcur, Vcur, nullptr, nullptr, nullptr, kq_scale, il); + cb(cur, "attn_pregate", il); + + ggml_tensor * gate_sigmoid = ggml_sigmoid(ctx0, gate); + cb(gate_sigmoid, "gate_sigmoid", il); + + cur = ggml_mul(ctx0, cur, gate_sigmoid); + cb(cur, "attn_gated", il); + + cur = build_lora_mm(model.layers[il].wo, cur); + cb(cur, "attn_output", il); + + return cur; +} + +ggml_tensor * llm_build_qwen35::build_layer_attn_linear( + llm_graph_input_rs * inp, + ggml_tensor * cur, + ggml_tensor * causal_mask, + ggml_tensor * identity, + ggml_tensor * diag_mask, + int il) { + const auto * mctx_cur = inp->mctx; + + const int64_t d_inner = hparams.ssm_d_inner; + const int64_t n_seqs = ubatch.n_seqs; + const int64_t head_k_dim = hparams.ssm_d_state; + const int64_t num_k_heads = hparams.ssm_n_group; + const int64_t num_v_heads = hparams.ssm_dt_rank; + const int64_t head_v_dim = d_inner / num_v_heads; + const int64_t n_seq_tokens = ubatch.n_seq_tokens; + + const auto kv_head = mctx_cur->get_head(); + + GGML_ASSERT(n_seqs != 0); + GGML_ASSERT(ubatch.equal_seqs()); + GGML_ASSERT(ubatch.n_tokens == n_seq_tokens * n_seqs); + + // Input projections + auto qkvz = build_qkvz(cur, il); + ggml_tensor * qkv_mixed = qkvz.first; + ggml_tensor * z = qkvz.second; + + ggml_tensor * beta = build_lora_mm(model.layers[il].ssm_beta, cur); + beta = ggml_reshape_4d(ctx0, beta, num_v_heads, 1, n_seq_tokens, n_seqs); + cb(beta, "beta", il); + ggml_tensor * alpha = build_lora_mm(model.layers[il].ssm_alpha, cur); + alpha = ggml_cont_3d(ctx0, alpha, num_v_heads, n_seq_tokens, n_seqs); + cb(alpha, "alpha", il); + + ggml_tensor * alpha_biased = ggml_add(ctx0, alpha, model.layers[il].ssm_dt); + ggml_tensor * alpha_softplus = ggml_softplus(ctx0, alpha_biased); + cb(alpha_softplus, "a_softplus", il); + ggml_tensor * gate = ggml_mul(ctx0, alpha_softplus, model.layers[il].ssm_a); // -A_log.exp() * softplus + cb(gate, "gate", il); + + // Get convolution states from cache + ggml_tensor * conv_states_all = mctx_cur->get_r_l(il); + ggml_tensor * ssm_states_all = mctx_cur->get_s_l(il); + + // bool use_precomputed_states = n_seq_tokens == 1 && mctx_cur->has_previous_state(); + + // Build the convolution states tensor + ggml_tensor * conv_states = build_rs(inp, conv_states_all, hparams.n_embd_r(), n_seqs); + cb(conv_states, "conv_states", il); + + // Calculate convolution kernel size + ggml_tensor * conv_kernel = model.layers[il].ssm_conv1d; + const int64_t conv_kernel_size = conv_kernel->ne[0]; + const int64_t conv_channels = d_inner + 2 * hparams.ssm_n_group * hparams.ssm_d_state; + conv_states = ggml_reshape_3d(ctx0, conv_states, conv_kernel_size - 1, conv_channels, n_seqs); + cb(conv_states, "conv_states_reshaped", il); + + qkv_mixed = ggml_permute(ctx0, qkv_mixed, 1, 0, 2, 3); + cb(qkv_mixed, "qkv_mixed_permuted", il); + + ggml_tensor * conv_input = ggml_concat(ctx0, conv_states, qkv_mixed, 0); + cb(conv_input, "conv_input", il); + + // Update convolution state cache + // Extract the last (conv_kernel_size - 1) states from conv_input + ggml_tensor * last_conv_states = + ggml_view_3d(ctx0, conv_input, conv_kernel_size - 1, conv_channels, n_seqs, conv_input->nb[1], + conv_input->nb[2], (conv_input->ne[0] - conv_states->ne[0]) * ggml_element_size(conv_input)); + cb(last_conv_states, "last_conv_states", il); + + ggml_tensor * state_update_target = + ggml_view_1d(ctx0, conv_states_all, (conv_kernel_size - 1) * conv_channels * n_seqs, + kv_head * (conv_kernel_size - 1) * conv_channels * ggml_element_size(conv_states_all)); + cb(state_update_target, "state_update_target", il); + + ggml_build_forward_expand(gf, ggml_cpy(ctx0, last_conv_states, state_update_target)); + cb(conv_states_all, "conv_states_updated", il); + + // Apply SSM convolution + ggml_tensor * conv_output_proper = ggml_ssm_conv(ctx0, conv_input, conv_kernel); + cb(conv_output_proper, "conv_output_raw", il); + + ggml_tensor * conv_output_silu = ggml_silu(ctx0, conv_output_proper); + cb(conv_output_silu, "conv_output_silu", il); + + ggml_tensor * conv_qkv_mix = conv_output_silu; + + // Calculate the total conv dimension + int64_t qkv_dim = head_k_dim * num_k_heads * 2 + head_v_dim * num_v_heads; + int64_t nb1_qkv = ggml_row_size(conv_qkv_mix->type, qkv_dim); + + // Extract the convolved Q, K, V from conv_output + ggml_tensor * q_conv = + ggml_view_2d(ctx0, conv_qkv_mix, head_k_dim * num_k_heads, n_seq_tokens * n_seqs, nb1_qkv, 0); + cb(q_conv, "q_conv", il); + ggml_tensor * k_conv = + ggml_view_2d(ctx0, conv_qkv_mix, head_k_dim * num_k_heads, n_seq_tokens * n_seqs, nb1_qkv, + head_k_dim * num_k_heads * ggml_element_size(conv_qkv_mix)); + cb(k_conv, "k_conv", il); + ggml_tensor * v_conv = + ggml_view_2d(ctx0, conv_qkv_mix, head_v_dim * num_v_heads, n_seq_tokens * n_seqs, nb1_qkv, + 2 * head_k_dim * num_k_heads * ggml_element_size(conv_qkv_mix)); + cb(v_conv, "v_conv", il); + + // Unsqueeze them + q_conv = ggml_cont_4d(ctx0, q_conv, head_k_dim, num_k_heads, n_seq_tokens, n_seqs); + k_conv = ggml_cont_4d(ctx0, k_conv, head_k_dim, num_k_heads, n_seq_tokens, n_seqs); + v_conv = ggml_cont_4d(ctx0, v_conv, head_v_dim, num_v_heads, n_seq_tokens, n_seqs); + + ggml_tensor * state = build_rs(inp, ssm_states_all, hparams.n_embd_s(), n_seqs); + state = ggml_reshape_4d(ctx0, state, head_v_dim, head_v_dim * num_v_heads, 1, n_seqs); + cb(state, "state_predelta", il); + + // if head keys and value keys are different, repeat Q/K to match V's head count + // V heads are in tiled order (from conversion), so simple tiled repeat works + if (num_k_heads != num_v_heads) { + GGML_ASSERT(num_v_heads % num_k_heads == 0); + q_conv = ggml_repeat_4d(ctx0, q_conv, head_k_dim, num_v_heads, n_seq_tokens, n_seqs); + k_conv = ggml_repeat_4d(ctx0, k_conv, head_k_dim, num_v_heads, n_seq_tokens, n_seqs); + } + + cb(q_conv, "q_conv_predelta", il); + cb(k_conv, "k_conv_predelta", il); + cb(v_conv, "v_conv_predelta", il); + + // Choose between build_delta_net_chunking, build_delta_net_recurrent, and build_delta_net_autoregressive based on n_tokens + std::pair attn_out; // pair of (output, new_state) + if (n_seq_tokens == 1) { + attn_out = build_delta_net_autoregressive(q_conv, k_conv, v_conv, gate, beta, state, il); + } else { + attn_out = build_delta_net_chunking(q_conv, k_conv, v_conv, gate, beta, state, causal_mask, identity, diag_mask, il); + } + ggml_tensor * output = attn_out.first; + ggml_tensor * new_state = attn_out.second; + cb(output, "attn_output", il); + cb(new_state, "new_state", il); + + // Update the recurrent states + ggml_build_forward_expand(gf, + ggml_cpy(ctx0, new_state, + ggml_view_1d(ctx0, ssm_states_all, hparams.n_embd_s() * n_seqs, + kv_head * hparams.n_embd_s() * ggml_element_size(ssm_states_all)))); + + // Reshape both attn_out_final and z to 2D tensors for normalization + // attn_out_final: [head_dim, n_heads, n_tokens, n_seqs] -> [n_heads * n_tokens * n_seqs, head_dim] + ggml_tensor * attn_out_2d_final = ggml_reshape_2d(ctx0, output, head_v_dim, num_v_heads * n_seq_tokens * n_seqs); + + // z: [head_dim, n_heads, n_tokens, n_seqs] -> [n_heads * n_tokens * n_seqs, head_dim] + ggml_tensor * z_2d = ggml_reshape_2d(ctx0, z, head_v_dim, num_v_heads * n_seq_tokens * n_seqs); + + // Apply gated normalization: self.norm(core_attn_out, z) + ggml_tensor * attn_out_norm = build_norm_gated(attn_out_2d_final, model.layers[il].ssm_norm, z_2d, il); + + // Final reshape: [head_dim, n_heads, n_tokens, n_seqs] -> [n_tokens, n_seqs, n_heads * head_dim] + ggml_tensor * final_output = ggml_reshape_3d(ctx0, attn_out_norm, head_v_dim * num_v_heads, n_seq_tokens, n_seqs); + cb(final_output, "final_output", il); + + // Output projection + cur = build_lora_mm(model.layers[il].ssm_out, final_output); + cb(cur, "linear_attn_out", il); + + // Reshape back to original dimensions + cur = ggml_cont_2d(ctx0, cur, n_embd, n_seq_tokens * n_seqs); + return cur; +} + +ggml_tensor * llm_build_qwen35::build_layer_ffn(ggml_tensor * cur, const int il) { + // Qwen3.5 does not use MoE FFN + GGML_ASSERT(model.layers[il].ffn_gate_inp == nullptr); + + cur = build_ffn(cur, + model.layers[il].ffn_up, NULL, NULL, + model.layers[il].ffn_gate, NULL, NULL, + model.layers[il].ffn_down, NULL, NULL, + NULL, + LLM_FFN_SILU, LLM_FFN_PAR, il); + cb(cur, "ffn_out", il); + + return cur; +} diff --git a/src/models/qwen35moe.cpp b/src/models/qwen35moe.cpp new file mode 100644 index 0000000000..0db8f825c6 --- /dev/null +++ b/src/models/qwen35moe.cpp @@ -0,0 +1,774 @@ +#include "ggml.h" +#include "models.h" + +#define CHUNK_SIZE 64 + +llm_build_qwen35moe::llm_build_qwen35moe(const llama_model & model, const llm_graph_params & params) : + llm_graph_context_mamba(params), model(model) { + const int64_t n_embd_head = hparams.n_embd_head_v; + + GGML_ASSERT(n_embd_head == hparams.n_embd_head_k); + + int sections[4]; + std::copy(std::begin(hparams.rope_sections), std::begin(hparams.rope_sections) + 4, sections); + + ggml_tensor * cur; + ggml_tensor * inpL; + + inpL = build_inp_embd(model.tok_embd); + + cb(inpL, "model.input_embed", -1); + + auto * inp = build_inp_mem_hybrid(); + + ggml_tensor * inp_pos = build_inp_pos(); + ggml_tensor * inp_out_ids = build_inp_out_ids(); + + ggml_tensor * causal_mask = + ggml_tri(ctx0, ggml_fill(ctx0, ggml_new_tensor_2d(ctx0, GGML_TYPE_F32, CHUNK_SIZE, CHUNK_SIZE), 1.0f), + GGML_TRI_TYPE_LOWER); + + ggml_tensor * identity = ggml_diag(ctx0, ggml_fill(ctx0, ggml_new_tensor_1d(ctx0, GGML_TYPE_F32, CHUNK_SIZE), 1.0f)); + ggml_tensor * diag_mask = ggml_add(ctx0, causal_mask, identity); + + ggml_build_forward_expand(gf, causal_mask); + ggml_build_forward_expand(gf, identity); + ggml_build_forward_expand(gf, diag_mask); + + for (int il = 0; il < n_layer; ++il) { + ggml_tensor * inpSA = inpL; + + cur = build_norm(inpL, model.layers[il].attn_norm, nullptr, LLM_NORM_RMS, il); + cb(cur, "attn_norm", il); + + // Determine layer type and build appropriate attention mechanism + if (hparams.is_recurrent(il)) { + // Linear attention layer (gated delta net) + cur = build_layer_attn_linear(inp->get_recr(), cur, causal_mask, identity, diag_mask, il); + } else { + // Full attention layer + cur = build_layer_attn(inp->get_attn(), cur, inp_pos, sections, il); + } + + if (il == n_layer - 1 && inp_out_ids) { + cur = ggml_get_rows(ctx0, cur, inp_out_ids); + inpSA = ggml_get_rows(ctx0, inpSA, inp_out_ids); + } + + // Residual connection + cur = ggml_add(ctx0, cur, inpSA); + cb(cur, "attn_residual", il); + + // Save the tensor before post-attention norm for residual connection + ggml_tensor * ffn_residual = cur; + + // Post-attention norm + ggml_tensor * attn_post_norm = build_norm(cur, model.layers[il].attn_post_norm, nullptr, LLM_NORM_RMS, il); + cb(attn_post_norm, "attn_post_norm", il); + + // MOE FFN layer + cur = build_layer_ffn(attn_post_norm, il); + cb(cur, "ffn_out", il); + + // Residual connection for FFN - add to the tensor from before post_attention_layernorm + cur = ggml_add(ctx0, cur, ffn_residual); + cb(cur, "post_moe", il); + + // Input for next layer + inpL = cur; + } + cur = inpL; + + // Final norm + cur = build_norm(cur, model.output_norm, nullptr, LLM_NORM_RMS, -1); + + cb(cur, "result_norm", -1); + res->t_embd = cur; + + // LM head + cur = build_lora_mm(model.output, cur); + + cb(cur, "result_output", -1); + res->t_logits = cur; + + ggml_build_forward_expand(gf, cur); +} + +// utility to get one slice from the third dimension +// input dim: [x, y, c, b] +// output dim: [x, y, 1, b] +static ggml_tensor * get_slice_2d(ggml_context * ctx0, ggml_tensor * t, int64_t c) { + return ggml_view_4d(ctx0, t, t->ne[0], t->ne[1], 1, t->ne[3], + t->nb[1], t->nb[2], t->nb[3], t->nb[2] * c); +} + +std::pair llm_build_qwen35moe::build_delta_net_chunking( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + ggml_tensor * causal_mask, + ggml_tensor * identity, + ggml_tensor * diag_mask, + int il) { + const int64_t S_k = q->ne[0]; + const int64_t H_k = q->ne[1]; + const int64_t n_tokens = q->ne[2]; + const int64_t n_seqs = q->ne[3]; + + const int64_t S_v = v->ne[0]; + const int64_t H_v = v->ne[1]; + + GGML_ASSERT(v->ne[2] == n_tokens); + GGML_ASSERT(k->ne[2] == n_tokens); + GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs); + GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs); + GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v * H_v && state->ne[2] == 1 && state->ne[3] == n_seqs); + + GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs); + GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs); + + GGML_ASSERT(H_k == H_v); // we did a repeat to make sure this is the case + + const float eps_norm = hparams.f_norm_rms_eps; + + q = ggml_l2_norm(ctx0, q, eps_norm); + k = ggml_l2_norm(ctx0, k, eps_norm); + + const float scale = 1.0f / sqrtf(S_v); + + q = ggml_scale(ctx0, q, scale); + + beta = ggml_sigmoid(ctx0, beta); + + cb(q, "q_in", il); + cb(k, "k_in", il); + cb(v, "v_in", il); + cb(beta, "beta_in", il); + cb(g, "g_in", il); + + q = ggml_cont_4d(ctx0, ggml_permute(ctx0, q, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); + k = ggml_cont_4d(ctx0, ggml_permute(ctx0, k, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); + v = ggml_cont_4d(ctx0, ggml_permute(ctx0, v, 0, 2, 1, 3), S_v, n_tokens, H_v, n_seqs); + g = ggml_cont_4d(ctx0, ggml_permute(ctx0, g, 2, 0, 3, 1), n_tokens, 1, H_k, n_seqs); + + beta = ggml_cont(ctx0, ggml_permute(ctx0, beta, 2, 0, 1, 3)); + state = ggml_reshape_4d(ctx0, state, S_v, S_v, H_v, n_seqs); + + cb(q, "q_perm", il); + cb(k, "k_perm", il); + cb(v, "v_perm", il); + cb(beta, "beta_perm", il); + cb(g, "g_perm", il); + cb(state, "state_in", il); + + GGML_ASSERT(q->ne[1] == n_tokens && q->ne[0] == S_k && q->ne[2] == H_k && q->ne[3] == n_seqs); + GGML_ASSERT(k->ne[1] == n_tokens && k->ne[0] == S_k && k->ne[2] == H_k && k->ne[3] == n_seqs); + GGML_ASSERT(v->ne[1] == n_tokens && v->ne[0] == S_v && v->ne[2] == H_k && v->ne[3] == n_seqs); + GGML_ASSERT(beta->ne[1] == n_tokens && beta->ne[2] == H_k && beta->ne[0] == 1 && beta->ne[3] == n_seqs); + + // Do padding + const int64_t chunk_size = CHUNK_SIZE; + + const int64_t pad = (chunk_size - n_tokens % chunk_size) % chunk_size; + const int64_t n_chunks = (n_tokens + pad) / chunk_size; + + q = ggml_pad(ctx0, q, 0, pad, 0, 0); + k = ggml_pad(ctx0, k, 0, pad, 0, 0); + v = ggml_pad(ctx0, v, 0, pad, 0, 0); + g = ggml_pad(ctx0, g, pad, 0, 0, 0); + beta = ggml_pad(ctx0, beta, 0, pad, 0, 0); + + cb(q, "q_pad", il); + cb(k, "k_pad", il); + cb(v, "v_pad", il); + cb(beta, "beta_pad", il); + cb(g, "g_pad", il); + + ggml_tensor * v_beta = ggml_mul(ctx0, v, beta); + ggml_tensor * k_beta = ggml_mul(ctx0, k, beta); + + cb(v_beta, "v_beta", il); + cb(k_beta, "k_beta", il); + + q = ggml_reshape_4d(ctx0, q, S_k, chunk_size, n_chunks, H_k * n_seqs); + k = ggml_reshape_4d(ctx0, k, S_k, chunk_size, n_chunks, H_k * n_seqs); + k_beta = ggml_reshape_4d(ctx0, k_beta, S_k, chunk_size, n_chunks, H_k * n_seqs); + v = ggml_reshape_4d(ctx0, v, S_v, chunk_size, n_chunks, H_v * n_seqs); + v_beta = ggml_reshape_4d(ctx0, v_beta, S_v, chunk_size, n_chunks, H_v * n_seqs); + + g = ggml_reshape_4d(ctx0, g, chunk_size, 1, n_chunks, H_k * n_seqs); + beta = ggml_reshape_4d(ctx0, beta, 1, chunk_size, n_chunks, H_k * n_seqs); + + ggml_tensor * g_cumsum = ggml_cumsum(ctx0, g); + cb(g_cumsum, "g_cumsum", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * gcs_i = g_cumsum; // ggml_reshape_4d(ctx0, g_cumsum, chunk_size, 1, n_chunks, H_v * n_seqs); + ggml_tensor * gcs_j = ggml_reshape_4d(ctx0, g_cumsum, 1, chunk_size, n_chunks, H_v * n_seqs); + + ggml_tensor * gcs_j_broadcast = + ggml_repeat_4d(ctx0, gcs_j, chunk_size, chunk_size, n_chunks, H_v * n_seqs); + + ggml_tensor * decay_mask = ggml_sub(ctx0, gcs_j_broadcast, gcs_i); + cb(decay_mask, "decay_mask", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); + decay_mask = ggml_exp(ctx0, decay_mask); + decay_mask = ggml_mul(ctx0, decay_mask, diag_mask); + + ggml_tensor * kmulkbeta = ggml_mul_mat(ctx0, k, k_beta); + + ggml_tensor * k_decay = ggml_mul(ctx0, kmulkbeta, decay_mask); + ggml_tensor * attn = ggml_neg(ctx0, ggml_mul(ctx0, k_decay, causal_mask)); + cb(attn, "attn_pre_solve", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * attn_lower = ggml_mul(ctx0, attn, causal_mask); + ggml_tensor * lhs = ggml_sub(ctx0, ggml_repeat(ctx0, identity, attn_lower), attn_lower); + + ggml_tensor * lin_solve = ggml_solve_tri(ctx0, lhs, attn, true, true, false); + attn = ggml_mul(ctx0, lin_solve, causal_mask); + attn = ggml_add(ctx0, attn, identity); + cb(attn, "attn_solved", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + v = ggml_mul_mat(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, v_beta)), attn); + + ggml_tensor * g_cumsum_t = ggml_cont(ctx0, ggml_transpose(ctx0, g_cumsum)); + ggml_tensor * gexp = ggml_exp(ctx0, g_cumsum_t); + + ggml_tensor * kbeta_gexp = ggml_mul(ctx0, k_beta, gexp); + cb(kbeta_gexp, "kbeta_gexp", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * k_cumdecay = + ggml_cont(ctx0, ggml_transpose(ctx0, ggml_mul_mat(ctx0, attn, ggml_cont(ctx0, ggml_transpose(ctx0, kbeta_gexp))))); + cb(k_cumdecay, "k_cumdecay", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * attn_kq = ggml_mul_mat(ctx0, k, q); + attn_kq = ggml_mul(ctx0, attn_kq, decay_mask); + attn_kq = ggml_mul(ctx0, attn_kq, diag_mask); + cb(attn_kq, "attn_kq", il); // shape: (chunk_size, chunk_size, n_chunks, H_v * n_seqs) + + + // vectorized calculation of key_gdiff + // improved from the chunked version: + // g_last = torch.clamp(g_cum[:, :, -1], max=50.0).exp().unsqueeze(-1).unsqueeze(-1) + // g_diff = torch.clamp(g_cum[:, :, -1:] - g_cum, max=50.0).exp() + // key_gdiff = key * g_diff.unsqueeze(-1) + // kgdmulvnew = (key_gdiff).transpose(-1, -2) @ v_new + // last_recurrent_state = last_recurrent_state * g_last + kgdmulvnew + + // get last element in g_cumsum along chunk_size dimension (ne0) + // example: [[x, y, z, ..., last], ...] -> [[last], ...] + ggml_tensor * g_last = ggml_view_4d(ctx0, g_cumsum, 1, 1, g_cumsum->ne[2], g_cumsum->ne[3], + g_cumsum->nb[1], g_cumsum->nb[2], g_cumsum->nb[3], + (g_cumsum->ne[0] - 1) * ggml_element_size(g_cumsum)); + g_last = ggml_cont(ctx0, g_last); + cb(g_last, "g_last", il); // shape: (1, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * g_last_exp = ggml_exp(ctx0, g_last); + cb(g_last_exp, "g_last_exp", il); // shape: (1, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * g_diff = ggml_neg(ctx0, ggml_sub(ctx0, g_cumsum, g_last)); + cb(g_diff, "g_diff", il); // shape: (chunk_size, 1, n_chunks, H_v * n_seqs) + + ggml_tensor * g_diff_exp = ggml_exp(ctx0, g_diff); + ggml_tensor * g_diff_exp_t = ggml_reshape_4d(ctx0, g_diff_exp, + 1, chunk_size, n_chunks, g_diff_exp->ne[3]); + + ggml_tensor * key_gdiff = ggml_mul(ctx0, k, g_diff_exp_t); + cb(key_gdiff, "key_gdiff", il); // shape: (S_k, chunk_size, n_chunks, H_v * n_seqs) + + ggml_tensor * key_gdiff_t = ggml_cont(ctx0, ggml_transpose(ctx0, key_gdiff)); + cb(key_gdiff_t, "key_gdiff_t", il); // shape: (chunk_size, S_k, n_chunks, H_v * n_seqs) + + + // state to be updated per chunk + ggml_tensor * new_state = state; // ggml_dup(ctx0, state); + cb(new_state, "new_state", il); // shape: (S_v, S_v, H_v, n_seqs) + + // shape after loop of chunks: (S_v, chunk_size, n_chunks, H_v * n_seqs) + ggml_tensor * core_attn_out = nullptr; + + for (int64_t chunk = 0; chunk < n_chunks; chunk++) { + // shape: (S_k, chunk_size, 1, H_k * n_seqs) + ggml_tensor * q_chunk = get_slice_2d(ctx0, q, chunk); // (no cont), next op: ggml_mul + + // shape: (S_v, chunk_size, 1, H_v * n_seqs) + ggml_tensor * v_chunk = get_slice_2d(ctx0, v, chunk); // (no cont), next op: ggml_repeat + + // shape: (chunk_size, 1, n_chunks, H_v * n_seqs) + ggml_tensor * gexp_chunk = get_slice_2d(ctx0, gexp, chunk); // (no cont), next op: ggml_mul + + // shape: (chunk_size, 1, H_v * n_seqs) + ggml_tensor * k_cumdecay_chunk = get_slice_2d(ctx0, k_cumdecay, chunk); // (no cont), next op: ggml_mul_mat + + // attn = (q_i @ k_i.transpose(-1, -2) * decay_mask[:, :, i]).masked_fill_(mask, 0) + // replaced by precomputed attn_kq + ggml_tensor * attn_chunk = get_slice_2d(ctx0, attn_kq, chunk); + cb(attn_chunk, "attn_chunk", il); + + ggml_tensor * state_t = ggml_cont_4d(ctx0, ggml_permute(ctx0, new_state, 1, 0, 2, 3), S_v, S_v, 1, H_v * n_seqs); + + // v_prime = (k_cumdecay[:, :, i]) @ last_recurrent_state + ggml_tensor * v_prime = ggml_mul_mat(ctx0, state_t, k_cumdecay_chunk); + cb(v_prime, "v_prime_chunk", il); // shape: (S_v, 1, H_v * n_seqs) + + // v_new = v_i - v_prime + ggml_tensor * v_new = ggml_sub(ctx0, ggml_repeat(ctx0, v_chunk, v_prime), v_prime); + ggml_tensor * v_new_t = ggml_cont(ctx0, ggml_transpose(ctx0, v_new)); + cb(v_new, "v_new_chunk", il); + + // attn_inter = (q_i * g[:, :, i, :, None].exp()) @ last_recurrent_state + ggml_tensor * q_g_exp = ggml_mul(ctx0, q_chunk, gexp_chunk); + ggml_tensor * attn_inter = ggml_mul_mat(ctx0, state_t, q_g_exp); + cb(attn_inter, "attn_inter_chunk", il); + + // core_attn_out[:, :, i] = attn_inter + attn @ v_new + ggml_tensor * v_attn = ggml_mul_mat(ctx0, v_new_t, attn_chunk); + cb(v_attn, "v_attn_chunk", il); + + ggml_tensor * core_attn_out_chunk = ggml_add(ctx0, attn_inter, v_attn); + cb(core_attn_out_chunk, "core_attn_out_chunk", il); // shape: (S_v, chunk_size, 1, H_v * n_seqs) + + core_attn_out = core_attn_out == nullptr + ? core_attn_out_chunk + : ggml_concat(ctx0, core_attn_out, core_attn_out_chunk, 2); + + // kgdmulvnew = (key_gdiff).transpose(-1, -2) @ v_new + ggml_tensor * k_gdiff_t = get_slice_2d(ctx0, key_gdiff_t, chunk); + //ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, k_gdiff, v_new); // this is slower on metal, why? + ggml_tensor * kgdmulvnew = ggml_mul_mat(ctx0, v_new_t, k_gdiff_t); + + // last_recurrent_state = last_recurrent_state * g_last + kgdmulvnew + ggml_tensor * gexp_last_chunk = ggml_cont(ctx0, get_slice_2d(ctx0, g_last_exp, chunk)); + new_state = ggml_add(ctx0, + ggml_mul(ctx0, new_state, ggml_reshape_4d(ctx0, gexp_last_chunk, gexp_last_chunk->ne[0], gexp_last_chunk->ne[1], H_v, n_seqs)), + ggml_reshape_4d(ctx0, kgdmulvnew, kgdmulvnew->ne[0], kgdmulvnew->ne[1], H_v, n_seqs)); + } + + // truncate padded tokens + ggml_tensor * output_tokens = ggml_view_4d(ctx0, core_attn_out, + S_v, n_tokens, H_v, n_seqs, + ggml_row_size(core_attn_out->type, S_v), + ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks), + ggml_row_size(core_attn_out->type, S_v * chunk_size * n_chunks * H_v), 0); + output_tokens = ggml_cont(ctx0, output_tokens); + cb(output_tokens, "output_tokens", il); + + // permute back to (S_v, H_v, n_tokens, n_seqs) + output_tokens = ggml_permute(ctx0, output_tokens, 0, 2, 1, 3); + output_tokens = ggml_cont(ctx0, output_tokens); + + return {output_tokens, new_state}; +} + +std::pair llm_build_qwen35moe::build_delta_net_autoregressive( + ggml_tensor * q, + ggml_tensor * k, + ggml_tensor * v, + ggml_tensor * g, + ggml_tensor * beta, + ggml_tensor * state, + int il) { + const int64_t S_k = q->ne[0]; + const int64_t H_k = q->ne[1]; + const int64_t n_tokens = q->ne[2]; + const int64_t n_seqs = q->ne[3]; + + const int64_t S_v = v->ne[0]; + const int64_t H_v = v->ne[1]; + + GGML_ASSERT(n_tokens == 1); // This function is optimized for single token processing + GGML_ASSERT(v->ne[2] == n_tokens); + GGML_ASSERT(k->ne[2] == n_tokens); + GGML_ASSERT(g->ne[0] == H_v && g->ne[1] == n_tokens && g->ne[2] == n_seqs); + GGML_ASSERT(beta->ne[0] == H_v && beta->ne[2] == n_tokens && beta->ne[3] == n_seqs); + GGML_ASSERT(state->ne[0] == S_v && state->ne[1] == S_v * H_v && state->ne[2] == 1 && state->ne[3] == n_seqs); + + GGML_ASSERT(q->ne[0] == S_k && q->ne[1] == H_k && q->ne[2] == n_tokens && q->ne[3] == n_seqs); + GGML_ASSERT(k->ne[0] == S_k && k->ne[1] == H_k && k->ne[2] == n_tokens && k->ne[3] == n_seqs); + + GGML_ASSERT(H_k == H_v); // we did a repeat to make sure this is the case + + const float eps_norm = hparams.f_norm_rms_eps; + + q = ggml_l2_norm(ctx0, q, eps_norm); + k = ggml_l2_norm(ctx0, k, eps_norm); + + const float scale = 1.0f / sqrtf(S_v); + + q = ggml_scale(ctx0, q, scale); + beta = ggml_sigmoid(ctx0, beta); + + cb(q, "q_in", il); + cb(k, "k_in", il); + cb(v, "v_in", il); + cb(beta, "beta_in", il); + cb(g, "g_in", il); + + state = ggml_reshape_4d(ctx0, state, S_v, S_v, H_v, n_seqs); + + ggml_tensor * g_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, g), 1, 1, H_k, n_seqs); + ggml_tensor * beta_t = ggml_reshape_4d(ctx0, ggml_transpose(ctx0, beta), 1, 1, H_k, n_seqs); + + // Apply exponential to g_t + g_t = ggml_exp(ctx0, g_t); + + // Apply the gated delta rule for the single timestep + // last_recurrent_state = last_recurrent_state * g_t + state = ggml_mul(ctx0, state, g_t); + + // kv_mem = (last_recurrent_state * k_t.unsqueeze(-1)).sum(dim=-2) + ggml_tensor * k_t_unsqueezed = ggml_reshape_4d(ctx0, k, 1, S_v, H_v, n_seqs); + ggml_tensor * kv_mem = ggml_mul(ctx0, state, k_t_unsqueezed); + // we need to sum over dim=-2, so we transpose, sum, then transpose again + kv_mem = ggml_transpose(ctx0, ggml_sum_rows(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, kv_mem)))); + + // v_t = v.unsqueeze(2) (we insert the singleton dimension after n_seqs and H_v) + ggml_tensor * v_t = ggml_reshape_4d(ctx0, v, S_v, 1, H_v, n_seqs); + // delta = (v_t - kv_mem) * beta_t + ggml_tensor * v_diff = ggml_sub(ctx0, v_t, kv_mem); // both should be [S_v, 1, H_v, n_seqs] + ggml_tensor * delta = ggml_mul(ctx0, v_diff, beta_t); + + // last_recurrent_state = last_recurrent_state + k_t.unsqueeze(-1) * delta + ggml_tensor * k_t_delta = ggml_mul(ctx0, ggml_repeat_4d(ctx0, k_t_unsqueezed, S_v, S_v, H_v, n_seqs), delta); + state = ggml_add(ctx0, state, k_t_delta); + + // Compute the attention output + // core_attn_out = (last_recurrent_state * q_t.unsqueeze(-1)).sum(dim=-2) + ggml_tensor * q_t_unsqueezed = ggml_reshape_4d(ctx0, q, 1, S_v, H_v, n_seqs); // unsqueeze q_t + ggml_tensor * state_q = ggml_mul(ctx0, state, q_t_unsqueezed); + // again, since it's over dim = -2, transpose, sum, transpose back + ggml_tensor * core_attn_out = + ggml_transpose(ctx0, ggml_sum_rows(ctx0, ggml_cont(ctx0, ggml_transpose(ctx0, state_q)))); + + // core_attn_out should be [S_v, 1, H_v, n_seqs] after this + cb(core_attn_out, "output_tokens", il); + cb(state, "new_state", il); + + return {core_attn_out, state}; +} + +std::pair llm_build_qwen35moe::build_qkvz( + ggml_tensor * input, + int il) { + const int64_t n_seqs = ubatch.n_seqs; + const int64_t n_seq_tokens = ubatch.n_seq_tokens; + + ggml_tensor * qkv_mixed = build_lora_mm(model.layers[il].wqkv, input); + qkv_mixed = ggml_reshape_3d(ctx0, qkv_mixed, qkv_mixed->ne[0], n_seq_tokens, n_seqs); + cb(qkv_mixed, "linear_attn_qkv_mixed", il); + + ggml_tensor * z = build_lora_mm(model.layers[il].wqkv_gate, input); + cb(z, "z", il); + + return { qkv_mixed, z }; +} + +ggml_tensor * llm_build_qwen35moe::build_norm_gated( + ggml_tensor * input, + ggml_tensor * weights, + ggml_tensor * gate, + int layer) { + ggml_tensor * normalized = build_norm(input, weights, nullptr, LLM_NORM_RMS, layer); + ggml_tensor * gated_silu = ggml_silu(ctx0, gate); + + return ggml_mul(ctx0, normalized, gated_silu); +} + +ggml_tensor * llm_build_qwen35moe ::build_layer_attn( + llm_graph_input_attn_kv * inp, + ggml_tensor * cur, + ggml_tensor * inp_pos, + int * sections, + int il) { + const int64_t n_embd_head = hparams.n_embd_head_v; + GGML_ASSERT(n_embd_head == hparams.n_embd_head_k); + + // Order: joint QG projection, QG split, Q norm, KV projection, K norm, RoPE, attention + + // Qwen3Next uses a single Q projection that outputs query + gate + ggml_tensor * Qcur_full = build_lora_mm(model.layers[il].wq, cur); // [ (n_embd_head * 2) * n_head, n_tokens ] + cb(Qcur_full, "Qcur_full", il); + + ggml_tensor * Qcur = ggml_view_3d(ctx0, Qcur_full, n_embd_head, n_head, n_tokens, + ggml_element_size(Qcur_full) * n_embd_head * 2, + ggml_element_size(Qcur_full) * n_embd_head * 2 * n_head, 0); + cb(Qcur, "Qcur_reshaped", il); + + // Apply Q normalization + Qcur = build_norm(Qcur, model.layers[il].attn_q_norm, nullptr, LLM_NORM_RMS, il); + cb(Qcur, "Qcur_normed", il); + + ggml_tensor * Kcur = build_lora_mm(model.layers[il].wk, cur); + cb(Kcur, "Kcur", il); + + ggml_tensor * Vcur = build_lora_mm(model.layers[il].wv, cur); + cb(Vcur, "Vcur", il); + + // Apply K normalization + Kcur = ggml_reshape_3d(ctx0, Kcur, n_embd_head, n_head_kv, n_tokens); + Kcur = build_norm(Kcur, model.layers[il].attn_k_norm, nullptr, LLM_NORM_RMS, il); + cb(Kcur, "Kcur_normed", il); + + ggml_tensor * gate = ggml_view_3d(ctx0, Qcur_full, n_embd_head, n_head, n_tokens, + ggml_element_size(Qcur_full) * n_embd_head * 2, + ggml_element_size(Qcur_full) * n_embd_head * 2 * n_head, + ggml_element_size(Qcur_full) * n_embd_head); + gate = ggml_cont_2d(ctx0, gate, n_embd_head * n_head, n_tokens); + cb(gate, "gate_reshaped", il); + + Vcur = ggml_reshape_3d(ctx0, Vcur, n_embd_head, n_head_kv, n_tokens); + + // Apply IMRoPE + Qcur = ggml_rope_multi( + ctx0, Qcur, inp_pos, nullptr, + n_rot, sections, rope_type, n_ctx_orig, freq_base, freq_scale, + ext_factor, attn_factor, beta_fast, beta_slow + ); + + Kcur = ggml_rope_multi( + ctx0, Kcur, inp_pos, nullptr, + n_rot, sections, rope_type, n_ctx_orig, freq_base, freq_scale, + ext_factor, attn_factor, beta_fast, beta_slow + ); + + cb(Qcur, "Qcur", il); + cb(Kcur, "Kcur", il); + cb(Vcur, "Vcur", il); + + // Attention computation + const float kq_scale = hparams.f_attention_scale == 0.0f ? 1.0f / sqrtf(float(n_embd_head)) : hparams.f_attention_scale; + + cur = build_attn(inp, + nullptr, nullptr, + Qcur, Kcur, Vcur, nullptr, nullptr, nullptr, kq_scale, il); + cb(cur, "attn_pregate", il); + + ggml_tensor * gate_sigmoid = ggml_sigmoid(ctx0, gate); + cb(gate_sigmoid, "gate_sigmoid", il); + + cur = ggml_mul(ctx0, cur, gate_sigmoid); + cb(cur, "attn_gated", il); + + cur = build_lora_mm(model.layers[il].wo, cur); + cb(cur, "attn_output", il); + + return cur; +} + +ggml_tensor * llm_build_qwen35moe ::build_layer_attn_linear( + llm_graph_input_rs * inp, + ggml_tensor * cur, + ggml_tensor * causal_mask, + ggml_tensor * identity, + ggml_tensor * diag_mask, + int il) { + const auto * mctx_cur = inp->mctx; + + const int64_t d_inner = hparams.ssm_d_inner; + const int64_t n_seqs = ubatch.n_seqs; + const int64_t head_k_dim = hparams.ssm_d_state; + const int64_t num_k_heads = hparams.ssm_n_group; + const int64_t num_v_heads = hparams.ssm_dt_rank; + const int64_t head_v_dim = d_inner / num_v_heads; + const int64_t n_seq_tokens = ubatch.n_seq_tokens; + + const auto kv_head = mctx_cur->get_head(); + + GGML_ASSERT(n_seqs != 0); + GGML_ASSERT(ubatch.equal_seqs()); + GGML_ASSERT(ubatch.n_tokens == n_seq_tokens * n_seqs); + + // Input projections + auto qkvz = build_qkvz(cur, il); + ggml_tensor * qkv_mixed = qkvz.first; + ggml_tensor * z = qkvz.second; + + ggml_tensor * beta = build_lora_mm(model.layers[il].ssm_beta, cur); + beta = ggml_reshape_4d(ctx0, beta, num_v_heads, 1, n_seq_tokens, n_seqs); + cb(beta, "beta", il); + ggml_tensor * alpha = build_lora_mm(model.layers[il].ssm_alpha, cur); + alpha = ggml_cont_3d(ctx0, alpha, num_v_heads, n_seq_tokens, n_seqs); + cb(alpha, "alpha", il); + + ggml_tensor * alpha_biased = ggml_add(ctx0, alpha, model.layers[il].ssm_dt); + ggml_tensor * alpha_softplus = ggml_softplus(ctx0, alpha_biased); + cb(alpha_softplus, "a_softplus", il); + ggml_tensor * gate = ggml_mul(ctx0, alpha_softplus, model.layers[il].ssm_a); // -A_log.exp() * softplus + cb(gate, "gate", il); + + // Get convolution states from cache + ggml_tensor * conv_states_all = mctx_cur->get_r_l(il); + ggml_tensor * ssm_states_all = mctx_cur->get_s_l(il); + + // bool use_precomputed_states = n_seq_tokens == 1 && mctx_cur->has_previous_state(); + + // Build the convolution states tensor + ggml_tensor * conv_states = build_rs(inp, conv_states_all, hparams.n_embd_r(), n_seqs); + cb(conv_states, "conv_states", il); + + // Calculate convolution kernel size + ggml_tensor * conv_kernel = model.layers[il].ssm_conv1d; + const int64_t conv_kernel_size = conv_kernel->ne[0]; + const int64_t conv_channels = d_inner + 2 * hparams.ssm_n_group * hparams.ssm_d_state; + conv_states = ggml_reshape_3d(ctx0, conv_states, conv_kernel_size - 1, conv_channels, n_seqs); + cb(conv_states, "conv_states_reshaped", il); + + qkv_mixed = ggml_permute(ctx0, qkv_mixed, 1, 0, 2, 3); + cb(qkv_mixed, "qkv_mixed_permuted", il); + + ggml_tensor * conv_input = ggml_concat(ctx0, conv_states, qkv_mixed, 0); + cb(conv_input, "conv_input", il); + + // Update convolution state cache + // Extract the last (conv_kernel_size - 1) states from conv_input + ggml_tensor * last_conv_states = + ggml_view_3d(ctx0, conv_input, conv_kernel_size - 1, conv_channels, n_seqs, conv_input->nb[1], + conv_input->nb[2], (conv_input->ne[0] - conv_states->ne[0]) * ggml_element_size(conv_input)); + cb(last_conv_states, "last_conv_states", il); + + ggml_tensor * state_update_target = + ggml_view_1d(ctx0, conv_states_all, (conv_kernel_size - 1) * conv_channels * n_seqs, + kv_head * (conv_kernel_size - 1) * conv_channels * ggml_element_size(conv_states_all)); + cb(state_update_target, "state_update_target", il); + + ggml_build_forward_expand(gf, ggml_cpy(ctx0, last_conv_states, state_update_target)); + cb(conv_states_all, "conv_states_updated", il); + + // Apply SSM convolution + ggml_tensor * conv_output_proper = ggml_ssm_conv(ctx0, conv_input, conv_kernel); + cb(conv_output_proper, "conv_output_raw", il); + + ggml_tensor * conv_output_silu = ggml_silu(ctx0, conv_output_proper); + cb(conv_output_silu, "conv_output_silu", il); + + ggml_tensor * conv_qkv_mix = conv_output_silu; + + // Calculate the total conv dimension + int64_t qkv_dim = head_k_dim * num_k_heads * 2 + head_v_dim * num_v_heads; + int64_t nb1_qkv = ggml_row_size(conv_qkv_mix->type, qkv_dim); + + // Extract the convolved Q, K, V from conv_output + ggml_tensor * q_conv = + ggml_view_2d(ctx0, conv_qkv_mix, head_k_dim * num_k_heads, n_seq_tokens * n_seqs, nb1_qkv, 0); + cb(q_conv, "q_conv", il); + ggml_tensor * k_conv = + ggml_view_2d(ctx0, conv_qkv_mix, head_k_dim * num_k_heads, n_seq_tokens * n_seqs, nb1_qkv, + head_k_dim * num_k_heads * ggml_element_size(conv_qkv_mix)); + cb(k_conv, "k_conv", il); + ggml_tensor * v_conv = + ggml_view_2d(ctx0, conv_qkv_mix, head_v_dim * num_v_heads, n_seq_tokens * n_seqs, nb1_qkv, + 2 * head_k_dim * num_k_heads * ggml_element_size(conv_qkv_mix)); + cb(v_conv, "v_conv", il); + + // Unsqueeze them + q_conv = ggml_cont_4d(ctx0, q_conv, head_k_dim, num_k_heads, n_seq_tokens, n_seqs); + k_conv = ggml_cont_4d(ctx0, k_conv, head_k_dim, num_k_heads, n_seq_tokens, n_seqs); + v_conv = ggml_cont_4d(ctx0, v_conv, head_v_dim, num_v_heads, n_seq_tokens, n_seqs); + + ggml_tensor * state = build_rs(inp, ssm_states_all, hparams.n_embd_s(), n_seqs); + state = ggml_reshape_4d(ctx0, state, head_v_dim, head_v_dim * num_v_heads, 1, n_seqs); + cb(state, "state_predelta", il); + + // if head keys and value keys are different, repeat Q/K to match V's head count + // V heads are in tiled order (from conversion), so simple tiled repeat works + if (num_k_heads != num_v_heads) { + GGML_ASSERT(num_v_heads % num_k_heads == 0); + q_conv = ggml_repeat_4d(ctx0, q_conv, head_k_dim, num_v_heads, n_seq_tokens, n_seqs); + k_conv = ggml_repeat_4d(ctx0, k_conv, head_k_dim, num_v_heads, n_seq_tokens, n_seqs); + } + + cb(q_conv, "q_conv_predelta", il); + cb(k_conv, "k_conv_predelta", il); + cb(v_conv, "v_conv_predelta", il); + + // Choose between build_delta_net_chunking, build_delta_net_recurrent, and build_delta_net_autoregressive based on n_tokens + std::pair attn_out; // pair of (output, new_state) + if (n_seq_tokens == 1) { + attn_out = build_delta_net_autoregressive(q_conv, k_conv, v_conv, gate, beta, state, il); + } else { + attn_out = build_delta_net_chunking(q_conv, k_conv, v_conv, gate, beta, state, causal_mask, identity, diag_mask, il); + } + ggml_tensor * output = attn_out.first; + ggml_tensor * new_state = attn_out.second; + cb(output, "attn_output", il); + cb(new_state, "new_state", il); + + // Update the recurrent states + ggml_build_forward_expand(gf, + ggml_cpy(ctx0, new_state, + ggml_view_1d(ctx0, ssm_states_all, hparams.n_embd_s() * n_seqs, + kv_head * hparams.n_embd_s() * ggml_element_size(ssm_states_all)))); + + // Reshape both attn_out_final and z to 2D tensors for normalization + // attn_out_final: [head_dim, n_heads, n_tokens, n_seqs] -> [n_heads * n_tokens * n_seqs, head_dim] + ggml_tensor * attn_out_2d_final = ggml_reshape_2d(ctx0, output, head_v_dim, num_v_heads * n_seq_tokens * n_seqs); + + // z: [head_dim, n_heads, n_tokens, n_seqs] -> [n_heads * n_tokens * n_seqs, head_dim] + ggml_tensor * z_2d = ggml_reshape_2d(ctx0, z, head_v_dim, num_v_heads * n_seq_tokens * n_seqs); + + // Apply gated normalization: self.norm(core_attn_out, z) + ggml_tensor * attn_out_norm = build_norm_gated(attn_out_2d_final, model.layers[il].ssm_norm, z_2d, il); + + // Final reshape: [head_dim, n_heads, n_tokens, n_seqs] -> [n_tokens, n_seqs, n_heads * head_dim] + ggml_tensor * final_output = ggml_reshape_3d(ctx0, attn_out_norm, head_v_dim * num_v_heads, n_seq_tokens, n_seqs); + cb(final_output, "final_output", il); + + // Output projection + cur = build_lora_mm(model.layers[il].ssm_out, final_output); + cb(cur, "linear_attn_out", il); + + // Reshape back to original dimensions + cur = ggml_cont_2d(ctx0, cur, n_embd, n_seq_tokens * n_seqs); + return cur; +} + +ggml_tensor * llm_build_qwen35moe ::build_layer_ffn(ggml_tensor * cur, const int il) { + // Check if this is an MoE layer + GGML_ASSERT(model.layers[il].ffn_gate_inp != nullptr); + + ggml_tensor * moe_out = + build_moe_ffn(cur, + model.layers[il].ffn_gate_inp, model.layers[il].ffn_up_exps, + model.layers[il].ffn_gate_exps, model.layers[il].ffn_down_exps, + nullptr, + n_expert, n_expert_used, LLM_FFN_SILU, + true, false, 0.0, LLAMA_EXPERT_GATING_FUNC_TYPE_SOFTMAX, il); + cb(moe_out, "ffn_moe_out", il); + + // Add shared experts if present - following Qwen3Next reference implementation + if (model.layers[il].ffn_up_shexp != nullptr) { + ggml_tensor * ffn_shexp = + build_ffn(cur, + model.layers[il].ffn_up_shexp, NULL, NULL, + model.layers[il].ffn_gate_shexp, NULL, NULL, + model.layers[il].ffn_down_shexp, NULL, NULL, + NULL, + LLM_FFN_SILU, LLM_FFN_PAR, il); + cb(ffn_shexp, "ffn_shexp", il); + + // Apply shared expert gating as in the reference implementation + // The shared expert has its own gate that is sigmoided + // Note: ffn_gate_inp_shexp is the shared expert gate (outputs 1 value per token) + ggml_tensor * shared_gate = build_lora_mm(model.layers[il].ffn_gate_inp_shexp, cur); + cb(shared_gate, "shared_expert_gate", il); + + // Apply sigmoid to the gate + shared_gate = ggml_sigmoid(ctx0, shared_gate); + cb(shared_gate, "shared_expert_gate_sigmoid", il); + + + // Apply the gate to the shared expert output + ffn_shexp = ggml_mul(ctx0, ffn_shexp, shared_gate); + cb(ffn_shexp, "ffn_shexp_gated", il); + + cur = ggml_add(ctx0, moe_out, ffn_shexp); + cb(cur, "ffn_out", il); + } else { + cur = moe_out; + } + + return cur; +} diff --git a/tools/mtmd/models/qwen3vl.cpp b/tools/mtmd/models/qwen3vl.cpp index 35a42cb84d..5ecb10fe43 100644 --- a/tools/mtmd/models/qwen3vl.cpp +++ b/tools/mtmd/models/qwen3vl.cpp @@ -182,7 +182,9 @@ ggml_cgraph * clip_graph_qwen3vl::build() { model.mm_1_w, model.mm_1_b, ffn_op_type::FFN_GELU, -1); - embeddings = ggml_concat(ctx0, embeddings, deepstack_features, 0); // concat along the feature dimension + if (deepstack_features) { + embeddings = ggml_concat(ctx0, embeddings, deepstack_features, 0); + } // concat along the feature dimension // build the graph ggml_build_forward_expand(gf, embeddings); From 57487a64c88c152ac72f3aea09bd1cc491b2f61e Mon Sep 17 00:00:00 2001 From: Nikhil Jain Date: Tue, 10 Feb 2026 08:04:00 -0800 Subject: [PATCH 175/206] [WebGPU] Plug memory leaks and free resources on shutdown (#19315) * Fix memory leaks in shader lib, backend, backend_context, buffer_context, and webgpu_buf_pool * Free pools * Cleanup * More cleanup * Run clang-format * Fix arg-parser and tokenizer test errors that free an unallocated buffer * Fix device lost callback to not print on device teardown * Fix include and run clang-format * remove unused unused * Update binary ops --------- Co-authored-by: Reese Levine --- .../ggml-webgpu/ggml-webgpu-shader-lib.hpp | 81 ++++++++--------- ggml/src/ggml-webgpu/ggml-webgpu.cpp | 89 +++++++++++-------- 2 files changed, 94 insertions(+), 76 deletions(-) diff --git a/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp b/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp index 6997f6bdd3..63f797f142 100644 --- a/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp +++ b/ggml/src/ggml-webgpu/ggml-webgpu-shader-lib.hpp @@ -4,6 +4,7 @@ #include "ggml.h" #include "pre_wgsl.hpp" +#include #include #include @@ -18,9 +19,9 @@ #define GGML_WEBGPU_ARGSORT_MERGE_MAX_WG_SIZE 512u struct ggml_webgpu_processed_shader { - std::string wgsl; - std::string variant; - void * decisions; + std::string wgsl; + std::string variant; + std::shared_ptr decisions; }; // Same hash combine function as in boost @@ -192,13 +193,13 @@ inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_flash_attn_shader( defines.push_back(std::string("WG_SIZE=") + std::to_string(wg_size)); ggml_webgpu_processed_shader result; - result.wgsl = preprocessor.preprocess(shader_src, defines); - result.variant = variant; - ggml_webgpu_flash_attn_shader_decisions * decisions = new ggml_webgpu_flash_attn_shader_decisions(); - decisions->q_tile = q_tile; - decisions->kv_tile = kv_tile; - decisions->wg_size = wg_size; - result.decisions = decisions; + result.wgsl = preprocessor.preprocess(shader_src, defines); + result.variant = variant; + auto decisions = std::make_shared(); + decisions->q_tile = q_tile; + decisions->kv_tile = kv_tile; + decisions->wg_size = wg_size; + result.decisions = decisions; return result; } @@ -270,11 +271,11 @@ inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_pad_shader( defines.push_back(std::string("WG_SIZE=") + std::to_string(context.max_wg_size)); ggml_webgpu_processed_shader result; - result.wgsl = preprocessor.preprocess(shader_src, defines); - result.variant = variant; - ggml_webgpu_generic_shader_decisions * decisions = new ggml_webgpu_generic_shader_decisions(); - decisions->wg_size = context.max_wg_size; - result.decisions = decisions; + result.wgsl = preprocessor.preprocess(shader_src, defines); + result.variant = variant; + auto decisions = std::make_shared(); + decisions->wg_size = context.max_wg_size; + result.decisions = decisions; return result; } @@ -305,11 +306,11 @@ inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_argsort_shader( } defines.push_back(std::string("WG_SIZE=") + std::to_string(wg_size)); ggml_webgpu_processed_shader result; - result.wgsl = preprocessor.preprocess(shader_src, defines); - result.variant = variant; - ggml_webgpu_argsort_shader_decisions * decisions = new ggml_webgpu_argsort_shader_decisions(); - decisions->wg_size = wg_size; - result.decisions = decisions; + result.wgsl = preprocessor.preprocess(shader_src, defines); + result.variant = variant; + auto decisions = std::make_shared(); + decisions->wg_size = wg_size; + result.decisions = decisions; return result; } @@ -324,11 +325,11 @@ inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_argsort_merge_shader( uint32_t wg_size = std::min(GGML_WEBGPU_ARGSORT_MERGE_MAX_WG_SIZE, context.max_wg_size); defines.push_back(std::string("WG_SIZE=") + std::to_string(wg_size)); ggml_webgpu_processed_shader result; - result.wgsl = preprocessor.preprocess(shader_src, defines); - result.variant = variant; - ggml_webgpu_argsort_shader_decisions * decisions = new ggml_webgpu_argsort_shader_decisions(); - decisions->wg_size = wg_size; - result.decisions = decisions; + result.wgsl = preprocessor.preprocess(shader_src, defines); + result.variant = variant; + auto decisions = std::make_shared(); + decisions->wg_size = wg_size; + result.decisions = decisions; return result; } @@ -391,11 +392,11 @@ inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_set_rows_shader( defines.push_back(std::string("WG_SIZE=") + std::to_string(context.max_wg_size)); ggml_webgpu_processed_shader result; - result.wgsl = preprocessor.preprocess(shader_src, defines); - result.variant = variant; - ggml_webgpu_generic_shader_decisions * decisions = new ggml_webgpu_generic_shader_decisions(); - decisions->wg_size = context.max_wg_size; - result.decisions = decisions; + result.wgsl = preprocessor.preprocess(shader_src, defines); + result.variant = variant; + auto decisions = std::make_shared(); + decisions->wg_size = context.max_wg_size; + result.decisions = decisions; return result; } @@ -457,11 +458,11 @@ inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_unary_shader( defines.push_back(std::string("WG_SIZE=") + std::to_string(context.max_wg_size)); ggml_webgpu_processed_shader result; - result.wgsl = preprocessor.preprocess(shader_src, defines); - result.variant = variant; - ggml_webgpu_generic_shader_decisions * decisions = new ggml_webgpu_generic_shader_decisions(); - decisions->wg_size = context.max_wg_size; - result.decisions = decisions; + result.wgsl = preprocessor.preprocess(shader_src, defines); + result.variant = variant; + auto decisions = std::make_shared(); + decisions->wg_size = context.max_wg_size; + result.decisions = decisions; return result; } @@ -527,11 +528,11 @@ inline ggml_webgpu_processed_shader ggml_webgpu_preprocess_binary_shader( defines.push_back(std::string("WG_SIZE=") + std::to_string(context.max_wg_size)); ggml_webgpu_processed_shader result; - result.wgsl = preprocessor.preprocess(shader_src, defines); - result.variant = variant; - ggml_webgpu_generic_shader_decisions * decisions = new ggml_webgpu_generic_shader_decisions(); - decisions->wg_size = context.max_wg_size; - result.decisions = decisions; + result.wgsl = preprocessor.preprocess(shader_src, defines); + result.variant = variant; + auto decisions = std::make_shared(); + decisions->wg_size = context.max_wg_size; + result.decisions = decisions; return result; } #endif // GGML_WEBGPU_SHADER_LIB_HPP diff --git a/ggml/src/ggml-webgpu/ggml-webgpu.cpp b/ggml/src/ggml-webgpu/ggml-webgpu.cpp index f7ceca1121..32e120266a 100644 --- a/ggml/src/ggml-webgpu/ggml-webgpu.cpp +++ b/ggml/src/ggml-webgpu/ggml-webgpu.cpp @@ -186,11 +186,17 @@ struct webgpu_buf_pool { void cleanup() { std::lock_guard lock(mutex); for (auto & bufs : free) { - bufs.host_buf.Destroy(); - bufs.dev_buf.Destroy(); + if (bufs.host_buf) { + bufs.host_buf.Destroy(); + } + if (bufs.dev_buf) { + bufs.dev_buf.Destroy(); + } } free.clear(); } + + ~webgpu_buf_pool() { this->cleanup(); } }; #ifdef GGML_WEBGPU_GPU_PROFILE @@ -252,13 +258,15 @@ struct webgpu_gpu_profile_buf_pool { } free.clear(); } + + ~webgpu_gpu_profile_buf_pool() { this->cleanup(); } }; #endif struct webgpu_pipeline { wgpu::ComputePipeline pipeline; std::string name; - void * context = nullptr; + std::shared_ptr context = nullptr; }; struct webgpu_command { @@ -319,6 +327,23 @@ struct webgpu_global_context_struct { wgpu::Buffer debug_host_buf; wgpu::Buffer debug_dev_buf; #endif + + ~webgpu_global_context_struct() { + if (this->get_tensor_staging_buf) { + this->get_tensor_staging_buf.Destroy(); + this->get_tensor_staging_buf = nullptr; + } +#ifdef GGML_WEBGPU_DEBUG + if (this->debug_host_buf) { + this->debug_host_buf.Destroy(); + this->debug_host_buf = nullptr; + } + if (this->debug_dev_buf) { + this->debug_dev_buf.Destroy(); + this->debug_dev_buf = nullptr; + } +#endif + } }; typedef std::shared_ptr webgpu_global_context; @@ -744,7 +769,6 @@ static const char * ggml_backend_webgpu_name(ggml_backend_t backend) { return ctx->name.c_str(); } -// TODO: implement proper cleanup static void ggml_backend_webgpu_free(ggml_backend_t backend) { ggml_backend_webgpu_context * ctx = (ggml_backend_webgpu_context *) backend->context; WEBGPU_LOG_DEBUG("ggml_backend_webgpu_free(" << ctx->name << ")"); @@ -788,9 +812,8 @@ static void ggml_backend_webgpu_free(ggml_backend_t backend) { std::cout << "ggml_webgpu: gpu/cpu ratio: " << (total_cpu > 0.0 ? total_gpu / total_cpu : 0.0) << "\n"; #endif -#if !defined(GGML_WEBGPU_CPU_PROFILE) && !defined(GGML_WEBGPU_GPU_PROFILE) - GGML_UNUSED(ctx); -#endif + delete ctx; + delete backend; } static size_t ggml_webgpu_tensor_offset(const ggml_tensor * tensor) { @@ -896,8 +919,7 @@ static webgpu_command ggml_webgpu_pad(webgpu_context & ctx, ggml_tensor * src, g ctx->pad_pipelines.emplace(pipeline_key, pipeline); } - ggml_webgpu_generic_shader_decisions decisions = - *static_cast(pipeline.context); + auto * decisions = static_cast(pipeline.context.get()); const uint32_t ne = (uint32_t) ggml_nelements(dst); @@ -941,7 +963,7 @@ static webgpu_command ggml_webgpu_pad(webgpu_context & ctx, ggml_tensor * src, g .size = ggml_webgpu_tensor_binding_size(ctx, dst) } }; - uint32_t wg_x = CEIL_DIV(ne, decisions.wg_size); + uint32_t wg_x = CEIL_DIV(ne, decisions->wg_size); return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } @@ -975,8 +997,7 @@ static std::optional ggml_webgpu_set_rows(webgpu_context & ctx, ctx->set_rows_pipelines.emplace(key, pipeline); } - ggml_webgpu_generic_shader_decisions decisions = - *static_cast(pipeline.context); + auto * decisions = static_cast(pipeline.context.get()); std::optional error_bufs = std::nullopt; if (key.i64_idx) { @@ -1028,7 +1049,7 @@ static std::optional ggml_webgpu_set_rows(webgpu_context & ctx, } else { threads = src->ne[0] * src->ne[1] * src->ne[2] * src->ne[3]; } - uint32_t wg_x = CEIL_DIV(threads, decisions.wg_size); + uint32_t wg_x = CEIL_DIV(threads, decisions->wg_size); return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x, 1, error_bufs); } @@ -1297,10 +1318,9 @@ static webgpu_command ggml_webgpu_flash_attn(webgpu_context & ctx, ctx->flash_attn_pipelines.emplace(key, pipeline); } - ggml_webgpu_flash_attn_shader_decisions decisions = - *static_cast(pipeline.context); + auto * decisions = static_cast(pipeline.context.get()); - uint32_t wg_per_head = CEIL_DIV(Q->ne[1], decisions.q_tile); + uint32_t wg_per_head = CEIL_DIV(Q->ne[1], decisions->q_tile); uint32_t wg_x = wg_per_head * Q->ne[2] * Q->ne[3]; // wg per head * number of heads * number of batches return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } @@ -1331,8 +1351,7 @@ static webgpu_command ggml_webgpu_unary_op(webgpu_context & ctx, ggml_tensor * s ctx->unary_pipelines.emplace(pipeline_key, pipeline); } - ggml_webgpu_generic_shader_decisions decisions = - *static_cast(pipeline.context); + auto * decisions = static_cast(pipeline.context.get()); uint32_t ne = (uint32_t) ggml_nelements(dst); @@ -1392,7 +1411,7 @@ static webgpu_command ggml_webgpu_unary_op(webgpu_context & ctx, ggml_tensor * s .size = ggml_webgpu_tensor_binding_size(ctx, dst) }); } - uint32_t wg_x = CEIL_DIV(ne, decisions.wg_size); + uint32_t wg_x = CEIL_DIV(ne, decisions->wg_size); return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } @@ -1425,8 +1444,7 @@ static webgpu_command ggml_webgpu_binary_op(webgpu_context & ctx, ctx->binary_pipelines.emplace(pipeline_key, pipeline); } - ggml_webgpu_generic_shader_decisions decisions = - *static_cast(pipeline.context); + auto * decisions = static_cast(pipeline.context.get()); uint32_t ne = (uint32_t) ggml_nelements(dst); @@ -1471,7 +1489,7 @@ static webgpu_command ggml_webgpu_binary_op(webgpu_context & ctx, .size = ggml_webgpu_tensor_binding_size(ctx, dst) }); } - uint32_t wg_x = CEIL_DIV(ne, decisions.wg_size); + uint32_t wg_x = CEIL_DIV(ne, decisions->wg_size); return ggml_backend_webgpu_build(ctx->global_ctx, ctx->param_buf_pool, pipeline, params, entries, wg_x); } @@ -1821,8 +1839,7 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr argsort_pipeline.context = processed.decisions; ctx->argsort_pipelines.emplace(order, argsort_pipeline); } - ggml_webgpu_argsort_shader_decisions argsort_decisions = - *static_cast(argsort_pipeline.context); + auto * argsort_decisions = static_cast(argsort_pipeline.context.get()); webgpu_pipeline argsort_merge_pipeline; it = ctx->argsort_merge_pipelines.find(order); @@ -1839,13 +1856,13 @@ static webgpu_command ggml_webgpu_argsort(webgpu_context & ctx, ggml_tensor * sr const uint32_t src_ne0 = (uint32_t) src->ne[0]; const uint32_t nrows = (uint32_t) ggml_nrows(src); - const uint32_t npr = CEIL_DIV(src_ne0, argsort_decisions.wg_size); + const uint32_t npr = CEIL_DIV(src_ne0, argsort_decisions->wg_size); const uint32_t block_size = - is_top_k ? std::min(argsort_decisions.wg_size, (uint32_t) dst->ne[0]) : argsort_decisions.wg_size; + is_top_k ? std::min(argsort_decisions->wg_size, (uint32_t) dst->ne[0]) : argsort_decisions->wg_size; uint32_t out_ne0 = src_ne0; if (is_top_k) { if (npr > 1) { - const uint32_t last_tile = src_ne0 - (npr - 1) * argsort_decisions.wg_size; + const uint32_t last_tile = src_ne0 - (npr - 1) * argsort_decisions->wg_size; out_ne0 = (npr - 1) * block_size + std::min(last_tile, block_size); } else { out_ne0 = block_size; @@ -2198,7 +2215,10 @@ static ggml_backend_i ggml_backend_webgpu_i = { static void ggml_backend_webgpu_buffer_free_buffer(ggml_backend_buffer_t buffer) { ggml_backend_webgpu_buffer_context * ctx = static_cast(buffer->context); - ctx->buffer.Destroy(); + if (ctx != nullptr && ctx->buffer != nullptr) { + ctx->buffer.Destroy(); + delete ctx; + } } // Returns the "fake" base pointer. @@ -2926,12 +2946,12 @@ static bool create_webgpu_device(ggml_backend_webgpu_reg_context * ctx) { dev_desc.SetDeviceLostCallback( wgpu::CallbackMode::AllowSpontaneous, [](const wgpu::Device & device, wgpu::DeviceLostReason reason, wgpu::StringView message) { + if (reason == wgpu::DeviceLostReason::Destroyed) { + return; + } GGML_UNUSED(device); - GGML_UNUSED(reason); - GGML_UNUSED(message); - //TODO: uncomment once proper free logic is in place - //GGML_LOG_ERROR("ggml_webgpu: Device lost! Reason: %d, Message: %s\n", static_cast(reason), - //std::string(message).c_str()); + GGML_LOG_ERROR("ggml_webgpu: Device lost! Reason: %d, Message: %s\n", static_cast(reason), + std::string(message).c_str()); }); dev_desc.SetUncapturedErrorCallback( [](const wgpu::Device & device, wgpu::ErrorType reason, wgpu::StringView message) { @@ -3365,10 +3385,7 @@ static size_t ggml_backend_webgpu_reg_get_device_count(ggml_backend_reg_t reg) { return ctx->device_count; } -// TODO: Does this need to be thread safe? Is it only called once? -// TODO: move most logic to device_init function so backend can be freed/initialized properly // Only one device is supported for now - static ggml_backend_dev_t ggml_backend_webgpu_reg_get_device(ggml_backend_reg_t reg, size_t index) { GGML_ASSERT(index == 0); WEBGPU_LOG_DEBUG("ggml_backend_reg_get_device()"); From 612db61886e0fd523f89a0f93be0ef19d450b7d7 Mon Sep 17 00:00:00 2001 From: Oliver Simons Date: Tue, 10 Feb 2026 22:31:19 +0100 Subject: [PATCH 176/206] CUDA : Update CCCL-tag for 3.2 to final release from RC (#19486) CCCL 3.2 has been released since it was added to llama.cpp as part of the backend-sampling PR, and it makes sense to update from RC to final released version. https://github.com/NVIDIA/cccl/releases/tag/v3.2.0 --- ggml/src/ggml-cuda/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ggml/src/ggml-cuda/CMakeLists.txt b/ggml/src/ggml-cuda/CMakeLists.txt index d313c1ac9a..262f88204e 100644 --- a/ggml/src/ggml-cuda/CMakeLists.txt +++ b/ggml/src/ggml-cuda/CMakeLists.txt @@ -64,7 +64,7 @@ if (CUDAToolkit_FOUND) FetchContent_Declare( CCCL GIT_REPOSITORY https://github.com/nvidia/cccl.git - GIT_TAG v3.2.0-rc2 + GIT_TAG v3.2.0 GIT_SHALLOW TRUE ) From 2cce9fddb7064da34bf69a8539cebd8032713011 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 11 Feb 2026 05:38:13 +0100 Subject: [PATCH 177/206] llama : refactor sampling_info to use buffer_view template (#19368) * llama : refactor sampling_info to use buffer_view template This commit updates the sampling_info struct in llama-context to use a buffer_view template for the logits, probs, sampled tokens, and candidates buffers. The motivation for this is to simplify the code, improve type safety and readability. --- src/llama-context.cpp | 189 ++++++++++++++++++++---------------------- src/llama-context.h | 23 ++--- src/llama-impl.h | 10 +++ 3 files changed, 107 insertions(+), 115 deletions(-) diff --git a/src/llama-context.cpp b/src/llama-context.cpp index 1a35ce369c..6b43ca1926 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -677,7 +677,7 @@ enum llama_pooling_type llama_context::pooling_type() const { float * llama_context::get_logits() { output_reorder(); - return logits; + return logits.data; } int64_t llama_context::output_resolve_row(int32_t i) const { @@ -715,7 +715,7 @@ float * llama_context::get_logits_ith(int32_t i) { output_reorder(); try { - if (logits == nullptr) { + if (logits.data == nullptr) { throw std::runtime_error("no logits"); } @@ -739,7 +739,7 @@ float * llama_context::get_logits_ith(int32_t i) { throw std::runtime_error(format("corrupt output buffer (j=%" PRId64 ", n_outputs=%d)", j, n_outputs)); } - return logits + j*model.vocab.n_tokens(); + return logits.data + j*model.vocab.n_tokens(); } catch (const std::exception & err) { LLAMA_LOG_ERROR("%s: invalid logits id %d, reason: %s\n", __func__, i, err.what()); #ifndef NDEBUG @@ -753,11 +753,11 @@ float * llama_context::get_logits_ith(int32_t i) { float * llama_context::get_embeddings() { output_reorder(); - return embd; + return embd.data; } llama_token * llama_context::get_sampled_tokens() const{ - return sampling.sampled; + return sampling.sampled.data; } float * llama_context::get_embeddings_ith(int32_t i) { @@ -766,7 +766,7 @@ float * llama_context::get_embeddings_ith(int32_t i) { output_reorder(); try { - if (embd == nullptr) { + if (embd.data == nullptr) { throw std::runtime_error("no embeddings"); } @@ -791,7 +791,7 @@ float * llama_context::get_embeddings_ith(int32_t i) { } const uint32_t n_embd_out = model.hparams.n_embd_out(); - return embd + j*n_embd_out; + return embd.data + j*n_embd_out; } catch (const std::exception & err) { LLAMA_LOG_ERROR("%s: invalid embeddings id %d, reason: %s\n", __func__, i, err.what()); #ifndef NDEBUG @@ -814,14 +814,14 @@ float * llama_context::get_embeddings_seq(llama_seq_id seq_id) { llama_token llama_context::get_sampled_token_ith(int32_t idx) { output_reorder(); - if (sampling.sampled == nullptr) { + if (!sampling.sampled.has_data()) { return LLAMA_TOKEN_NULL; } try { const int64_t row = output_resolve_row(idx); - GGML_ASSERT(row < (int64_t) sampling.sampled_size); - return sampling.sampled[row]; + GGML_ASSERT(row < (int64_t) sampling.sampled.size); + return sampling.sampled.data[row]; } catch (const std::exception & err) { LLAMA_LOG_ERROR("%s: invalid backend sampled token id %d, reason: %s\n", __func__, idx, err.what()); return LLAMA_TOKEN_NULL; @@ -831,7 +831,7 @@ llama_token llama_context::get_sampled_token_ith(int32_t idx) { float * llama_context::get_sampled_probs_ith(int32_t idx) { output_reorder(); - if (sampling.probs == nullptr) { + if (!sampling.probs.has_data()) { return nullptr; } @@ -840,7 +840,7 @@ float * llama_context::get_sampled_probs_ith(int32_t idx) { if ((size_t) row >= sampling.probs_count.size() || sampling.probs_count[row] == 0) { return nullptr; } - return sampling.probs + row*model.vocab.n_tokens(); + return sampling.probs.data + row*model.vocab.n_tokens(); } catch (const std::exception & err) { LLAMA_LOG_ERROR("%s: invalid backend sampled probs id %d, reason: %s\n", __func__, idx, err.what()); return nullptr; @@ -850,7 +850,7 @@ float * llama_context::get_sampled_probs_ith(int32_t idx) { float * llama_context::get_sampled_logits_ith(int32_t idx) { output_reorder(); - if (sampling.logits == nullptr) { + if (!sampling.logits.has_data()) { return nullptr; } @@ -859,7 +859,7 @@ float * llama_context::get_sampled_logits_ith(int32_t idx) { if ((size_t) row >= sampling.logits_count.size() || sampling.logits_count[row] == 0) { return nullptr; } - return sampling.logits + row*model.vocab.n_tokens(); + return sampling.logits.data + row*model.vocab.n_tokens(); } catch (const std::exception & err) { LLAMA_LOG_ERROR("%s: invalid backend sampled logits id %d, reason: %s\n", __func__, idx, err.what()); return nullptr; @@ -871,10 +871,10 @@ const llama_token * llama_context::get_sampled_candidates_ith(int32_t idx) { try { const int64_t row = output_resolve_row(idx); - if (sampling.candidates != nullptr && + if (sampling.candidates.has_data() && (size_t) row < sampling.candidates_count.size() && sampling.candidates_count[row] > 0) { - return sampling.candidates + row*model.vocab.n_tokens(); + return sampling.candidates.data + row*model.vocab.n_tokens(); } } catch (const std::exception & err) { // fallback to full vocab list @@ -886,7 +886,7 @@ const llama_token * llama_context::get_sampled_candidates_ith(int32_t idx) { size_t llama_context::get_sampled_candidates_count(int32_t idx) { output_reorder(); - if (sampling.candidates == nullptr) { + if (!sampling.candidates.has_data()) { return 0; } @@ -905,7 +905,7 @@ size_t llama_context::get_sampled_candidates_count(int32_t idx) { size_t llama_context::get_sampled_logits_count(int32_t idx) { output_reorder(); - if (sampling.logits == nullptr) { + if (!sampling.logits.has_data()) { return model.vocab.n_tokens(); } @@ -924,7 +924,7 @@ size_t llama_context::get_sampled_logits_count(int32_t idx) { size_t llama_context::get_sampled_probs_count(int32_t idx) { output_reorder(); - if (sampling.probs == nullptr) { + if (!sampling.probs.has_data()) { return 0; } @@ -1254,16 +1254,16 @@ int llama_context::encode(const llama_batch & batch_inp) { auto * t_embd = res->get_embd_pooled() ? res->get_embd_pooled() : res->get_embd(); // extract logits - if (logits && t_logits) { + if (logits.data && t_logits) { ggml_backend_t backend_res = ggml_backend_sched_get_tensor_backend(sched.get(), t_logits); GGML_ASSERT(backend_res != nullptr); - GGML_ASSERT(logits != nullptr); + GGML_ASSERT(logits.data != nullptr); - ggml_backend_tensor_get_async(backend_res, t_logits, logits, 0, n_tokens*n_vocab*sizeof(float)); + ggml_backend_tensor_get_async(backend_res, t_logits, logits.data, 0, n_tokens*n_vocab*sizeof(float)); } // extract embeddings - if (embd && t_embd) { + if (embd.data && t_embd) { ggml_backend_t backend_embd = ggml_backend_sched_get_tensor_backend(sched.get(), t_embd); GGML_ASSERT(backend_embd != nullptr); @@ -1271,11 +1271,11 @@ int llama_context::encode(const llama_batch & batch_inp) { case LLAMA_POOLING_TYPE_NONE: { // extract token embeddings - GGML_ASSERT(embd != nullptr); + GGML_ASSERT(embd.data != nullptr); const uint32_t n_embd_out = hparams.n_embd_out(); - GGML_ASSERT(n_tokens*n_embd_out <= (int64_t) embd_size); - ggml_backend_tensor_get_async(backend_embd, t_embd, embd, 0, n_tokens*n_embd_out*sizeof(float)); + GGML_ASSERT(n_tokens*n_embd_out <= (int64_t) embd.size); + ggml_backend_tensor_get_async(backend_embd, t_embd, embd.data, 0, n_tokens*n_embd_out*sizeof(float)); } break; case LLAMA_POOLING_TYPE_MEAN: case LLAMA_POOLING_TYPE_CLS: @@ -1323,7 +1323,7 @@ int llama_context::encode(const llama_batch & batch_inp) { cross.n_embd = t_embd->ne[0]; cross.n_enc = t_embd->ne[1]; cross.v_embd.resize(cross.n_embd*cross.n_enc); - memcpy(cross.v_embd.data(), embd, ggml_nbytes(t_embd)); + memcpy(cross.v_embd.data(), embd.data, ggml_nbytes(t_embd)); const auto & batch = balloc->get_batch(); @@ -1363,11 +1363,10 @@ static std::map build_seq_to_output_row(const llama_ubat static void copy_tensor_async_ints( const std::map & tensor_map, - llama_token * sampled, - size_t sampled_size, + const buffer_view & sampled, const std::map & seq_to_row, ggml_backend_sched_t sched) { - if (sampled == nullptr) { + if (!sampled.has_data()) { return; } @@ -1378,23 +1377,23 @@ static void copy_tensor_async_ints( } const uint32_t row = it->second; - GGML_ASSERT(row < sampled_size); + GGML_ASSERT(row < sampled.size); GGML_ASSERT(ggml_is_contiguous(tensor) && "sampled tokens tensor must be contiguous for async copy"); ggml_backend_t backend = ggml_backend_sched_get_tensor_backend(sched, tensor); - ggml_backend_tensor_get_async(backend, tensor, sampled + row, 0, sizeof(sampled[row])); + ggml_backend_tensor_get_async(backend, tensor, sampled.data + row, 0, sizeof(sampled.data[row])); } } static void copy_tensor_async_floats( const std::map & tensor_map, - float * dst, + const buffer_view & dst, size_t stride, std::vector & counts, const std::map & seq_to_row, ggml_backend_sched_t sched) { - if (dst == nullptr) { + if (!dst.has_data()) { return; } @@ -1410,7 +1409,7 @@ static void copy_tensor_async_floats( GGML_ASSERT(ggml_is_contiguous(tensor) && "logits/probs tensor must be contiguous for async copy"); ggml_backend_t backend = ggml_backend_sched_get_tensor_backend(sched, tensor); - float * row_ptr = dst + (size_t) row * stride; + float * row_ptr = dst.data + (size_t) row * stride; ggml_backend_tensor_get_async(backend, tensor, row_ptr, 0, ggml_nbytes(tensor)); // Update the actual number of logits/probabilities that were written for this row. @@ -1420,12 +1419,12 @@ static void copy_tensor_async_floats( static void copy_tensor_async_candidates( const std::map & tensor_map, - llama_token * dst, + const buffer_view & dst, size_t stride, std::vector & counts, const std::map & seq_to_row, ggml_backend_sched_t sched) { - if (dst == nullptr) { + if (!dst.has_data()) { return; } @@ -1441,7 +1440,7 @@ static void copy_tensor_async_candidates( GGML_ASSERT(ggml_is_contiguous(tensor) && "candidates tensor must be contiguous for async copy"); ggml_backend_t backend = ggml_backend_sched_get_tensor_backend(sched, tensor); - llama_token * row_ptr = dst + (size_t) row * stride; + llama_token * row_ptr = dst.data + (size_t) row * stride; ggml_backend_tensor_get_async(backend, tensor, row_ptr, 0, ggml_nbytes(tensor)); // Update the actual number of candidates that were written. @@ -1671,22 +1670,22 @@ int llama_context::decode(const llama_batch & batch_inp) { } // extract logits - if (logits && t_logits && n_outputs > 0 && needs_raw_logits(ubatch, sampling.samplers)) { + if (logits.data && t_logits && n_outputs > 0 && needs_raw_logits(ubatch, sampling.samplers)) { ggml_backend_t backend_res = ggml_backend_sched_get_tensor_backend(sched.get(), t_logits); GGML_ASSERT(backend_res != nullptr); - GGML_ASSERT(logits != nullptr); + GGML_ASSERT(logits.data != nullptr); - float * logits_out = logits + n_outputs_prev*n_vocab; + float * logits_out = logits.data + n_outputs_prev*n_vocab; if (n_outputs) { GGML_ASSERT( n_outputs_prev + n_outputs <= n_outputs_all); - GGML_ASSERT((n_outputs_prev + n_outputs)*n_vocab <= (int64_t) logits_size); + GGML_ASSERT((n_outputs_prev + n_outputs)*n_vocab <= (int64_t) logits.size); ggml_backend_tensor_get_async(backend_res, t_logits, logits_out, 0, n_outputs*n_vocab*sizeof(float)); } } // extract embeddings - if (embd && t_embd && n_outputs > 0) { + if (embd.data && t_embd && n_outputs > 0) { ggml_backend_t backend_embd = ggml_backend_sched_get_tensor_backend(sched.get(), t_embd); GGML_ASSERT(backend_embd != nullptr); @@ -1694,13 +1693,13 @@ int llama_context::decode(const llama_batch & batch_inp) { case LLAMA_POOLING_TYPE_NONE: { // extract token embeddings - GGML_ASSERT(embd != nullptr); + GGML_ASSERT(embd.data != nullptr); const uint32_t n_embd_out = hparams.n_embd_out(); - float * embd_out = embd + n_outputs_prev*n_embd_out; + float * embd_out = embd.data + n_outputs_prev*n_embd_out; if (n_outputs) { GGML_ASSERT( n_outputs_prev + n_outputs <= n_outputs_all); - GGML_ASSERT((n_outputs_prev + n_outputs)*n_embd_out <= (int64_t) embd_size); + GGML_ASSERT((n_outputs_prev + n_outputs)*n_embd_out <= (int64_t) embd.size); ggml_backend_tensor_get_async(backend_embd, t_embd, embd_out, 0, n_outputs*n_embd_out*sizeof(float)); } } break; @@ -1747,7 +1746,7 @@ int llama_context::decode(const llama_batch & batch_inp) { const auto stride = n_vocab; // async copy the sampling data from the backend to the host - copy_tensor_async_ints(res->t_sampled, sampling.sampled, sampling.sampled_size, seq_to_output_row, sched.get()); + copy_tensor_async_ints(res->t_sampled, sampling.sampled, seq_to_output_row, sched.get()); copy_tensor_async_floats (res->t_sampled_logits, sampling.logits, stride, sampling.logits_count, seq_to_output_row, sched.get()); copy_tensor_async_floats (res->t_sampled_probs, sampling.probs, stride, sampling.probs_count, seq_to_output_row, sched.get()); @@ -1841,19 +1840,14 @@ uint32_t llama_context::output_reserve(int32_t n_outputs) { size_t backend_float_count = 0; size_t backend_token_count = 0; - logits_size = has_logits ? n_vocab*n_outputs_max : 0; - embd_size = has_embd ? n_embd_out*n_outputs_max : 0; + logits.size = has_logits ? n_vocab*n_outputs_max : 0; + embd.size = has_embd ? n_embd_out*n_outputs_max : 0; // Allocate backend sampling output buffers if there are backend samplers configured. const bool has_sampling = !sampling.samplers.empty(); if (has_sampling) { - sampling.logits_size = n_vocab*n_outputs_max; - sampling.probs_size = n_vocab*n_outputs_max; - sampling.sampled_size = n_outputs_max; - sampling.candidates_size = n_vocab*n_outputs_max; - - backend_float_count = sampling.logits_size + sampling.probs_size; - backend_token_count = sampling.sampled_size + sampling.candidates_size; + backend_float_count = 2 * n_vocab * n_outputs_max; // logits + probs + backend_token_count = (1 + n_vocab) * n_outputs_max; // sampled + candidates } if (output_ids.empty()) { @@ -1863,7 +1857,7 @@ uint32_t llama_context::output_reserve(int32_t n_outputs) { const size_t prev_size = buf_output ? ggml_backend_buffer_get_size(buf_output.get()) : 0; const size_t new_size = - (logits_size + embd_size + backend_float_count) * sizeof(float) + + (logits.size + embd.size + backend_float_count) * sizeof(float) + ( backend_token_count) * sizeof(llama_token); // alloc only when more than the current capacity is required @@ -1878,8 +1872,8 @@ uint32_t llama_context::output_reserve(int32_t n_outputs) { // TODO: not needed? buf_output = nullptr; - logits = nullptr; - embd = nullptr; + logits.data = nullptr; + embd.data = nullptr; } auto * buft = ggml_backend_cpu_buffer_type(); @@ -1898,35 +1892,32 @@ uint32_t llama_context::output_reserve(int32_t n_outputs) { float * output_base = (float *) ggml_backend_buffer_get_base(buf_output.get()); - logits = nullptr; - embd = nullptr; - size_t offset = 0; uint8_t * base = (uint8_t *) output_base; - logits = has_logits ? output_base : nullptr; - offset += logits_size * sizeof(float); + logits = has_logits ? buffer_view{output_base, logits.size} : buffer_view{nullptr, 0}; + offset += logits.size * sizeof(float); - embd = has_embd ? (float *) (base + offset) : nullptr; - offset += embd_size * sizeof(float); + embd = has_embd ? buffer_view{(float *) (base + offset), embd.size} : buffer_view{nullptr, 0}; + offset += embd.size * sizeof(float); - sampling.logits = nullptr; - sampling.probs = nullptr; - sampling.sampled = nullptr; - sampling.candidates = nullptr; + sampling.logits = {nullptr, 0}; + sampling.probs = {nullptr, 0}; + sampling.sampled = {nullptr, 0}; + sampling.candidates = {nullptr, 0}; if (has_sampling) { - sampling.logits = (float *) (base + offset); - offset += sampling.logits_size * sizeof(float); + sampling.logits = {(float *) (base + offset), (size_t)(n_vocab*n_outputs_max)}; + offset += sampling.logits.size * sizeof(float); - sampling.probs = (float *) (base + offset); - offset += sampling.probs_size * sizeof(float); + sampling.probs = {(float *) (base + offset), (size_t)(n_vocab*n_outputs_max)}; + offset += sampling.probs.size * sizeof(float); - sampling.sampled = (llama_token *) (base + offset); - offset += sampling.sampled_size * sizeof(llama_token); + sampling.sampled = {(llama_token *) (base + offset), (size_t)n_outputs_max}; + offset += sampling.sampled.size * sizeof(llama_token); - sampling.candidates = (llama_token *) (base + offset); - offset += sampling.candidates_size * sizeof(llama_token); + sampling.candidates = {(llama_token *) (base + offset), (size_t)(n_vocab*n_outputs_max)}; + offset += sampling.candidates.size * sizeof(llama_token); // The count vectors keep track of the actual number of logits/probs/candidates // copied from the backend for each output row. @@ -1939,7 +1930,7 @@ uint32_t llama_context::output_reserve(int32_t n_outputs) { std::fill(sampling.probs_count.begin(), sampling.probs_count.end(), 0); std::fill(sampling.candidates_count.begin(), sampling.candidates_count.end(), 0); - std::fill_n(sampling.sampled, sampling.sampled_size, LLAMA_TOKEN_NULL); + std::fill_n(sampling.sampled.data, sampling.sampled.size, LLAMA_TOKEN_NULL); } // set all ids as invalid (negative) @@ -1958,38 +1949,38 @@ void llama_context::output_reorder() { const uint64_t i0 = output_swaps[s].i0; const uint64_t i1 = output_swaps[s].i1; - if (logits_size > 0) { + if (logits.size > 0) { for (uint64_t k = 0; k < n_vocab; k++) { - std::swap(logits[i0*n_vocab + k], logits[i1*n_vocab + k]); + std::swap(logits.data[i0*n_vocab + k], logits.data[i1*n_vocab + k]); } } - if (embd_size > 0) { + if (embd.size > 0) { for (uint64_t k = 0; k < n_embd; k++) { - std::swap(embd[i0*n_embd + k], embd[i1*n_embd + k]); + std::swap(embd.data[i0*n_embd + k], embd.data[i1*n_embd + k]); } } - if (sampling.logits && sampling.logits_size > 0) { + if (sampling.logits.has_data()) { for (uint64_t k = 0; k < n_vocab; ++k) { - std::swap(sampling.logits[i0*n_vocab + k], sampling.logits[i1*n_vocab + k]); + std::swap(sampling.logits.data[i0*n_vocab + k], sampling.logits.data[i1*n_vocab + k]); } } - if (sampling.probs && sampling.probs_size > 0) { + if (sampling.probs.has_data()) { for (uint64_t k = 0; k < n_vocab; ++k) { - std::swap(sampling.probs[i0*n_vocab + k], sampling.probs[i1*n_vocab + k]); + std::swap(sampling.probs.data[i0*n_vocab + k], sampling.probs.data[i1*n_vocab + k]); } } - if (sampling.candidates && sampling.candidates_size > 0) { + if (sampling.candidates.has_data()) { for (uint64_t k = 0; k < n_vocab; ++k) { - std::swap(sampling.candidates[i0*n_vocab + k], sampling.candidates[i1*n_vocab + k]); + std::swap(sampling.candidates.data[i0*n_vocab + k], sampling.candidates.data[i1*n_vocab + k]); } } - if (sampling.sampled && sampling.sampled_size > 0) { - std::swap(sampling.sampled[i0], sampling.sampled[i1]); + if (sampling.sampled.has_data()) { + std::swap(sampling.sampled.data[i0], sampling.sampled.data[i1]); } if (!sampling.logits_count.empty()) { @@ -2533,12 +2524,12 @@ size_t llama_context::state_write_data(llama_io_write_i & io) { { LLAMA_LOG_DEBUG("%s: - writing logits\n", __func__); - const uint64_t logits_size = std::min((uint64_t) this->logits_size, (uint64_t) n_outputs * model.vocab.n_tokens()); + const uint64_t logits_size = std::min((uint64_t) this->logits.size, (uint64_t) n_outputs * model.vocab.n_tokens()); io.write(&logits_size, sizeof(logits_size)); if (logits_size) { - io.write(logits, logits_size * sizeof(float)); + io.write(logits.data, logits_size * sizeof(float)); } } @@ -2546,12 +2537,12 @@ size_t llama_context::state_write_data(llama_io_write_i & io) { { LLAMA_LOG_DEBUG("%s: - writing embeddings\n", __func__); - const uint64_t embd_size = std::min((uint64_t) this->embd_size, (uint64_t) n_outputs * model.hparams.n_embd); + const uint64_t embd_size = std::min((uint64_t) this->embd.size, (uint64_t) n_outputs * model.hparams.n_embd); io.write(&embd_size, sizeof(embd_size)); if (embd_size) { - io.write(embd, embd_size * sizeof(float)); + io.write(embd.data, embd_size * sizeof(float)); } } @@ -2619,12 +2610,12 @@ size_t llama_context::state_read_data(llama_io_read_i & io) { uint64_t logits_size; io.read_to(&logits_size, sizeof(logits_size)); - if (this->logits_size < logits_size) { + if (this->logits.size < logits_size) { throw std::runtime_error("logits buffer too small"); } if (logits_size) { - io.read_to(this->logits, logits_size * sizeof(float)); + io.read_to(this->logits.data, logits_size * sizeof(float)); } } @@ -2635,12 +2626,12 @@ size_t llama_context::state_read_data(llama_io_read_i & io) { uint64_t embd_size; io.read_to(&embd_size, sizeof(embd_size)); - if (this->embd_size < embd_size) { + if (this->embd.size < embd_size) { throw std::runtime_error("embeddings buffer too small"); } if (embd_size) { - io.read_to(this->embd, embd_size * sizeof(float)); + io.read_to(this->embd.data, embd_size * sizeof(float)); } } diff --git a/src/llama-context.h b/src/llama-context.h index 8e71cdd1dc..d995117574 100644 --- a/src/llama-context.h +++ b/src/llama-context.h @@ -4,6 +4,7 @@ #include "llama-cparams.h" #include "llama-graph.h" #include "llama-adapter.h" +#include "llama-impl.h" #include "ggml-cpp.h" #include "ggml-opt.h" @@ -269,29 +270,19 @@ private: std::unique_ptr memory; // decode output (2-dimensional array: [n_outputs][n_vocab]) - size_t logits_size = 0; // capacity (of floats) for logits - float * logits = nullptr; + struct buffer_view logits = {nullptr, 0}; // embeddings output (2-dimensional array: [n_outputs][n_embd]) // populated only when pooling_type == LLAMA_POOLING_TYPE_NONE - size_t embd_size = 0; // capacity (of floats) for embeddings - float * embd = nullptr; + struct buffer_view embd = {nullptr, 0}; - // TODO: simplify struct sampling_info { std::map samplers; - float * logits = nullptr; - size_t logits_size = 0; - - llama_token * sampled = nullptr; - size_t sampled_size = 0; - - float * probs = nullptr; - size_t probs_size = 0; - - llama_token * candidates = nullptr; - size_t candidates_size = 0; + struct buffer_view logits = {nullptr, 0}; + struct buffer_view sampled = {nullptr, 0}; + struct buffer_view probs = {nullptr, 0}; + struct buffer_view candidates = {nullptr, 0}; std::vector logits_count; std::vector probs_count; diff --git a/src/llama-impl.h b/src/llama-impl.h index c3391e79f5..dfd9fee9f4 100644 --- a/src/llama-impl.h +++ b/src/llama-impl.h @@ -49,6 +49,16 @@ struct time_meas { int64_t & t_acc; }; +template +struct buffer_view { + T * data; + size_t size = 0; + + bool has_data() const { + return data && size > 0; + } +}; + void replace_all(std::string & s, const std::string & search, const std::string & replace); // TODO: rename to llama_format ? From ceaa89b7867021c84f8806a6d8d2613213c90737 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 11 Feb 2026 07:51:12 +0200 Subject: [PATCH 178/206] metal : consolidate unary ops (#19490) --- ggml/src/ggml-metal/ggml-metal-device.cpp | 82 +-- ggml/src/ggml-metal/ggml-metal-device.m | 21 +- ggml/src/ggml-metal/ggml-metal-impl.h | 75 ++- ggml/src/ggml-metal/ggml-metal-ops.cpp | 237 +++------ ggml/src/ggml-metal/ggml-metal-ops.h | 4 - ggml/src/ggml-metal/ggml-metal.metal | 614 +++++++--------------- tests/test-backend-ops.cpp | 15 +- 7 files changed, 377 insertions(+), 671 deletions(-) diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp index 4c4c3ce36c..949e344cc8 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.cpp +++ b/ggml/src/ggml-metal/ggml-metal-device.cpp @@ -212,61 +212,69 @@ ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_repeat(ggml_meta } ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_unary(ggml_metal_library_t lib, const ggml_tensor * op) { - GGML_ASSERT(ggml_is_contiguous(op->src[0])); - char base[256]; char name[256]; - const int64_t n = ggml_nelements(op); + int op_num = -1; - const char * op_str = "undefined"; switch (op->op) { - case GGML_OP_SCALE: op_str = "scale"; break; - case GGML_OP_FILL: op_str = "fill"; break; - case GGML_OP_CLAMP: op_str = "clamp"; break; - case GGML_OP_SQR: op_str = "sqr"; break; - case GGML_OP_SQRT: op_str = "sqrt"; break; - case GGML_OP_SIN: op_str = "sin"; break; - case GGML_OP_COS: op_str = "cos"; break; - case GGML_OP_LOG: op_str = "log"; break; - case GGML_OP_LEAKY_RELU: op_str = "leaky_relu"; break; + case GGML_OP_SCALE: op_num = OP_UNARY_NUM_SCALE; break; + case GGML_OP_FILL: op_num = OP_UNARY_NUM_FILL; break; + case GGML_OP_CLAMP: op_num = OP_UNARY_NUM_CLAMP; break; + case GGML_OP_SQR: op_num = OP_UNARY_NUM_SQR; break; + case GGML_OP_SQRT: op_num = OP_UNARY_NUM_SQRT; break; + case GGML_OP_SIN: op_num = OP_UNARY_NUM_SIN; break; + case GGML_OP_COS: op_num = OP_UNARY_NUM_COS; break; + case GGML_OP_LOG: op_num = OP_UNARY_NUM_LOG; break; + case GGML_OP_LEAKY_RELU: op_num = OP_UNARY_NUM_LEAKY_RELU; break; case GGML_OP_UNARY: switch (ggml_get_unary_op(op)) { - case GGML_UNARY_OP_TANH: op_str = "tanh"; break; - case GGML_UNARY_OP_RELU: op_str = "relu"; break; - case GGML_UNARY_OP_SIGMOID: op_str = "sigmoid"; break; - case GGML_UNARY_OP_GELU: op_str = "gelu"; break; - case GGML_UNARY_OP_GELU_ERF: op_str = "gelu_erf"; break; - case GGML_UNARY_OP_GELU_QUICK: op_str = "gelu_quick"; break; - case GGML_UNARY_OP_SILU: op_str = "silu"; break; - case GGML_UNARY_OP_ELU: op_str = "elu"; break; - case GGML_UNARY_OP_NEG: op_str = "neg"; break; - case GGML_UNARY_OP_ABS: op_str = "abs"; break; - case GGML_UNARY_OP_SGN: op_str = "sgn"; break; - case GGML_UNARY_OP_STEP: op_str = "step"; break; - case GGML_UNARY_OP_HARDSWISH: op_str = "hardswish"; break; - case GGML_UNARY_OP_HARDSIGMOID: op_str = "hardsigmoid"; break; - case GGML_UNARY_OP_EXP: op_str = "exp"; break; - case GGML_UNARY_OP_SOFTPLUS: op_str = "softplus"; break; - case GGML_UNARY_OP_EXPM1: op_str = "expm1"; break; + case GGML_UNARY_OP_TANH: op_num = OP_UNARY_NUM_TANH; break; + case GGML_UNARY_OP_RELU: op_num = OP_UNARY_NUM_RELU; break; + case GGML_UNARY_OP_SIGMOID: op_num = OP_UNARY_NUM_SIGMOID; break; + case GGML_UNARY_OP_GELU: op_num = OP_UNARY_NUM_GELU; break; + case GGML_UNARY_OP_GELU_ERF: op_num = OP_UNARY_NUM_GELU_ERF; break; + case GGML_UNARY_OP_GELU_QUICK: op_num = OP_UNARY_NUM_GELU_QUICK; break; + case GGML_UNARY_OP_SILU: op_num = OP_UNARY_NUM_SILU; break; + case GGML_UNARY_OP_ELU: op_num = OP_UNARY_NUM_ELU; break; + case GGML_UNARY_OP_NEG: op_num = OP_UNARY_NUM_NEG; break; + case GGML_UNARY_OP_ABS: op_num = OP_UNARY_NUM_ABS; break; + case GGML_UNARY_OP_SGN: op_num = OP_UNARY_NUM_SGN; break; + case GGML_UNARY_OP_STEP: op_num = OP_UNARY_NUM_STEP; break; + case GGML_UNARY_OP_HARDSWISH: op_num = OP_UNARY_NUM_HARDSWISH; break; + case GGML_UNARY_OP_HARDSIGMOID: op_num = OP_UNARY_NUM_HARDSIGMOID; break; + case GGML_UNARY_OP_EXP: op_num = OP_UNARY_NUM_EXP; break; + case GGML_UNARY_OP_SOFTPLUS: op_num = OP_UNARY_NUM_SOFTPLUS; break; + case GGML_UNARY_OP_EXPM1: op_num = OP_UNARY_NUM_EXPM1; break; default: GGML_ABORT("fatal error"); } break; default: GGML_ABORT("fatal error"); }; - const char * suffix = ""; - if (n % 4 == 0) { - suffix = "_4"; - } + const char * t0_str = ggml_type_name(op->src[0]->type); + const char * t_str = ggml_type_name(op->type); - snprintf(base, 256, "kernel_%s_%s%s", op_str, ggml_type_name(op->src[0]->type), suffix); - snprintf(name, 256, "%s", base); + const bool is_c4 = op->src[0]->ne[0] % 4 == 0; + const bool is_cnt = ggml_is_contiguous(op->src[0]) && ggml_nelements(op) < 32768; + + snprintf(base, 256, "kernel_unary_%s_%s%s", t0_str, t_str, is_c4 ? "_4" : ""); + snprintf(name, 256, "%s_op=%d_cnt=%d", base, op_num, is_cnt); ggml_metal_pipeline_with_params res = ggml_metal_library_get_pipeline(lib, name); if (!res.pipeline) { - res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + ggml_metal_cv_t cv = ggml_metal_cv_init(); + + ggml_metal_cv_set_int16(cv, op_num, FC_UNARY + 0); + ggml_metal_cv_set_bool (cv, is_cnt, FC_UNARY + 1); + + res = ggml_metal_library_compile_pipeline(lib, base, name, cv); + + ggml_metal_cv_free(cv); } + res.c4 = is_c4; + res.cnt = is_cnt; + return res; } diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index 891d70c85a..50a2a3e7f7 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -1011,6 +1011,15 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te } switch (op->op) { + case GGML_OP_SCALE: + case GGML_OP_FILL: + case GGML_OP_CLAMP: + case GGML_OP_SQR: + case GGML_OP_SQRT: + case GGML_OP_SIN: + case GGML_OP_COS: + case GGML_OP_LOG: + return ggml_is_contiguous_rows(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; case GGML_OP_UNARY: switch (ggml_get_unary_op(op)) { case GGML_UNARY_OP_TANH: @@ -1030,7 +1039,7 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te case GGML_UNARY_OP_EXP: case GGML_UNARY_OP_SOFTPLUS: case GGML_UNARY_OP_EXPM1: - return ggml_is_contiguous(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; + return ggml_is_contiguous_rows(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; default: return false; } @@ -1061,8 +1070,6 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te return ggml_is_contiguous_rows(op->src[0]) && ggml_is_contiguous_rows(op->src[1]) && op->src[0]->type == GGML_TYPE_F32; case GGML_OP_ACC: case GGML_OP_REPEAT: - case GGML_OP_SCALE: - case GGML_OP_FILL: case GGML_OP_CONV_TRANSPOSE_1D: return true; case GGML_OP_CONV_TRANSPOSE_2D: @@ -1070,14 +1077,6 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te (op->src[0]->type == GGML_TYPE_F16 || op->src[0]->type == GGML_TYPE_F32) && op->src[1]->type == GGML_TYPE_F32 && op->type == GGML_TYPE_F32; - case GGML_OP_CLAMP: - return op->src[0]->type == GGML_TYPE_F32; - case GGML_OP_SQR: - case GGML_OP_SQRT: - case GGML_OP_SIN: - case GGML_OP_COS: - case GGML_OP_LOG: - return ggml_is_contiguous(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; case GGML_OP_SUM: return has_simdgroup_reduction && ggml_is_contiguous(op->src[0]); case GGML_OP_TRI: diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h index 77bb403c15..44141f8e3d 100644 --- a/ggml/src/ggml-metal/ggml-metal-impl.h +++ b/ggml/src/ggml-metal/ggml-metal-impl.h @@ -80,7 +80,8 @@ #define FC_SSM_CONV 900 #define FC_SOLVE_TRI 1000 #define FC_COUNT_EQUAL 1100 -#define FC_BIN 1200 +#define FC_UNARY 1200 +#define FC_BIN 1300 // op-specific constants #define OP_FLASH_ATTN_EXT_NQPSG 8 @@ -89,6 +90,35 @@ #define OP_FLASH_ATTN_EXT_VEC_NQPSG 1 #define OP_FLASH_ATTN_EXT_VEC_NCPSG 32 +#define OP_UNARY_NUM_SCALE 10 +#define OP_UNARY_NUM_FILL 11 +#define OP_UNARY_NUM_CLAMP 12 +#define OP_UNARY_NUM_SQR 13 +#define OP_UNARY_NUM_SQRT 14 +#define OP_UNARY_NUM_SIN 15 +#define OP_UNARY_NUM_COS 16 +#define OP_UNARY_NUM_LOG 17 +#define OP_UNARY_NUM_LEAKY_RELU 18 + +#define OP_UNARY_NUM_TANH 100 +#define OP_UNARY_NUM_RELU 101 +#define OP_UNARY_NUM_SIGMOID 102 +#define OP_UNARY_NUM_GELU 103 +#define OP_UNARY_NUM_GELU_ERF 104 +#define OP_UNARY_NUM_GELU_QUICK 105 +#define OP_UNARY_NUM_SILU 106 +#define OP_UNARY_NUM_ELU 107 +#define OP_UNARY_NUM_NEG 108 +#define OP_UNARY_NUM_ABS 109 +#define OP_UNARY_NUM_SGN 110 +#define OP_UNARY_NUM_STEP 111 +#define OP_UNARY_NUM_HARDSWISH 112 +#define OP_UNARY_NUM_HARDSIGMOID 113 +#define OP_UNARY_NUM_EXP 114 +#define OP_UNARY_NUM_SOFTPLUS 115 +#define OP_UNARY_NUM_EXPM1 116 + + // kernel argument structs // // - element counters (e.g. ne00) typically use int32_t to reduce register usage @@ -124,6 +154,31 @@ typedef struct { int32_t dim; } ggml_metal_kargs_concat; +typedef struct { + int32_t ne00; + int32_t ne01; + int32_t ne02; + int32_t ne03; + uint64_t nb00; + uint64_t nb01; + uint64_t nb02; + uint64_t nb03; + int32_t ne0; + int32_t ne1; + int32_t ne2; + int32_t ne3; + uint64_t nb0; + uint64_t nb1; + uint64_t nb2; + uint64_t nb3; + float slope; + float scale; + float bias; + float val; + float min; + float max; +} ggml_metal_kargs_unary; + typedef struct { int32_t ne00; int32_t ne01; @@ -181,20 +236,6 @@ typedef struct { uint64_t nb3; } ggml_metal_kargs_repeat; -typedef struct { - float scale; - float bias; -} ggml_metal_kargs_scale; - -typedef struct { - float val; -} ggml_metal_kargs_fill; - -typedef struct { - float min; - float max; -} ggml_metal_kargs_clamp; - typedef struct { int64_t nk0; int64_t ne00; @@ -881,10 +922,6 @@ typedef struct { int max_period; } ggml_metal_kargs_timestep_embedding; -typedef struct { - float slope; -} ggml_metal_kargs_leaky_relu; - typedef struct { int32_t ne00; int32_t ne01; diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp index dbf25433c2..b159a8e7fd 100644 --- a/ggml/src/ggml-metal/ggml-metal-ops.cpp +++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp @@ -287,17 +287,9 @@ static int ggml_metal_op_encode_impl(ggml_metal_op_t ctx, int idx) { n_fuse = ggml_metal_op_acc(ctx, idx); } break; case GGML_OP_SCALE: - { - n_fuse = ggml_metal_op_scale(ctx, idx); - } break; case GGML_OP_FILL: - { - n_fuse = ggml_metal_op_fill(ctx, idx); - } break; case GGML_OP_CLAMP: - { - n_fuse = ggml_metal_op_clamp(ctx, idx); - } break; + case GGML_OP_LEAKY_RELU: case GGML_OP_SQR: case GGML_OP_SQRT: case GGML_OP_SIN: @@ -426,10 +418,6 @@ static int ggml_metal_op_encode_impl(ggml_metal_op_t ctx, int idx) { { n_fuse = ggml_metal_op_top_k(ctx, idx); } break; - case GGML_OP_LEAKY_RELU: - { - n_fuse = ggml_metal_op_leaky_relu(ctx, idx); - } break; case GGML_OP_TRI: { n_fuse = ggml_metal_op_tri(ctx, idx); @@ -722,119 +710,6 @@ int ggml_metal_op_acc(ggml_metal_op_t ctx, int idx) { return 1; } -int ggml_metal_op_scale(ggml_metal_op_t ctx, int idx) { - ggml_tensor * op = ctx->node(idx); - - ggml_metal_library_t lib = ctx->lib; - ggml_metal_encoder_t enc = ctx->enc; - - GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); - GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); - GGML_TENSOR_LOCALS( int32_t, ne, op, ne); - GGML_TENSOR_LOCALS(uint64_t, nb, op, nb); - - float scale; - float bias; - memcpy(&scale, ((const int32_t *) op->op_params) + 0, sizeof(float)); - memcpy(&bias, ((const int32_t *) op->op_params) + 1, sizeof(float)); - - ggml_metal_kargs_scale args = { - /*.scale =*/ scale, - /*.bias =*/ bias, - }; - - int64_t n = ggml_nelements(op); - - if (n % 4 == 0) { - n /= 4; - } - - auto pipeline = ggml_metal_library_get_pipeline_unary(lib, op); - - ggml_metal_encoder_set_pipeline(enc, pipeline); - ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); - - ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); - - return 1; -} - -int ggml_metal_op_fill(ggml_metal_op_t ctx, int idx) { - ggml_tensor * op = ctx->node(idx); - - ggml_metal_library_t lib = ctx->lib; - ggml_metal_encoder_t enc = ctx->enc; - - GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); - GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); - GGML_TENSOR_LOCALS( int32_t, ne, op, ne); - GGML_TENSOR_LOCALS(uint64_t, nb, op, nb); - - const float val = ggml_get_op_params_f32(op, 0); - - ggml_metal_kargs_fill args = { - /*.val =*/ val - }; - - int64_t n = ggml_nelements(op); - - if (n % 4 == 0) { - n /= 4; - } - - auto pipeline = ggml_metal_library_get_pipeline_unary(lib, op); - - ggml_metal_encoder_set_pipeline(enc, pipeline); - ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); - - ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); - - return 1; -} - -int ggml_metal_op_clamp(ggml_metal_op_t ctx, int idx) { - ggml_tensor * op = ctx->node(idx); - - ggml_metal_library_t lib = ctx->lib; - ggml_metal_encoder_t enc = ctx->enc; - - GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); - GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); - GGML_TENSOR_LOCALS( int32_t, ne, op, ne); - GGML_TENSOR_LOCALS(uint64_t, nb, op, nb); - - float min; - float max; - memcpy(&min, ((const int32_t *) op->op_params) + 0, sizeof(float)); - memcpy(&max, ((const int32_t *) op->op_params) + 1, sizeof(float)); - - ggml_metal_kargs_clamp args = { - /*.min =*/ min, - /*.max =*/ max, - }; - - int64_t n = ggml_nelements(op); - - if (n % 4 == 0) { - n /= 4; - } - - auto pipeline = ggml_metal_library_get_pipeline_unary(lib, op); - - ggml_metal_encoder_set_pipeline(enc, pipeline); - ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); - - ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); - - return 1; -} - int ggml_metal_op_unary(ggml_metal_op_t ctx, int idx) { ggml_tensor * op = ctx->node(idx); @@ -846,19 +721,79 @@ int ggml_metal_op_unary(ggml_metal_op_t ctx, int idx) { GGML_TENSOR_LOCALS( int32_t, ne, op, ne); GGML_TENSOR_LOCALS(uint64_t, nb, op, nb); - int64_t n = ggml_nelements(op); + GGML_ASSERT(ggml_is_contiguous_rows(op->src[0])); - if (n % 4 == 0) { - n /= 4; + ggml_metal_buffer_id bid_src0 = ggml_metal_get_buffer_id(op->src[0]); + ggml_metal_buffer_id bid_dst = ggml_metal_get_buffer_id(op); + + ggml_metal_kargs_unary args = { + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + /*.slope =*/ 0.0, + /*.scale =*/ 0.0, + /*.bias =*/ 0.0, + /*.val =*/ 0.0, + /*.min =*/ 0.0, + /*.max =*/ 0.0, + }; + + if (op->op == GGML_OP_LEAKY_RELU) { + args.slope = ggml_get_op_params_f32(op, 0); + } + + if (op->op == GGML_OP_SCALE) { + args.scale = ggml_get_op_params_f32(op, 0); + args.bias = ggml_get_op_params_f32(op, 1); + } + + if (op->op == GGML_OP_FILL) { + args.val = ggml_get_op_params_f32(op, 0); + } + + if (op->op == GGML_OP_CLAMP) { + args.min = ggml_get_op_params_f32(op, 0); + args.max = ggml_get_op_params_f32(op, 1); } auto pipeline = ggml_metal_library_get_pipeline_unary(lib, op); - ggml_metal_encoder_set_pipeline(enc, pipeline); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 0); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 1); + if (pipeline.c4) { + args.ne00 = ne00/4; + args.ne0 = ne0/4; + } - ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); + ggml_metal_encoder_set_pipeline(enc, pipeline); + ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); + ggml_metal_encoder_set_buffer (enc, bid_src0, 1); + ggml_metal_encoder_set_buffer (enc, bid_dst, 2); + + if (pipeline.cnt) { + const int n = pipeline.c4 ? ggml_nelements(op)/4 : ggml_nelements(op); + + ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); + } else { + const int nth_max = MIN(256, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); + + const int nth = MIN(args.ne00, nth_max); + + const int nk0 = (args.ne00 + nth - 1)/nth; + + ggml_metal_encoder_dispatch_threadgroups(enc, nk0*ne01, ne02, ne03, nth, 1, 1); + } return 1; } @@ -4084,42 +4019,6 @@ int ggml_metal_op_top_k(ggml_metal_op_t ctx, int idx) { return 1; } -int ggml_metal_op_leaky_relu(ggml_metal_op_t ctx, int idx) { - ggml_tensor * op = ctx->node(idx); - - ggml_metal_library_t lib = ctx->lib; - ggml_metal_encoder_t enc = ctx->enc; - - GGML_TENSOR_LOCALS( int32_t, ne0, op->src[0], ne); - GGML_TENSOR_LOCALS(uint64_t, nb0, op->src[0], nb); - GGML_TENSOR_LOCALS( int32_t, ne, op, ne); - GGML_TENSOR_LOCALS(uint64_t, nb, op, nb); - - float slope; - memcpy(&slope, op->op_params, sizeof(float)); - - ggml_metal_kargs_leaky_relu args = { - /*.slope =*/ slope - }; - - auto pipeline = ggml_metal_library_get_pipeline_unary(lib, op); - - int64_t n = ggml_nelements(op); - - if (n % 4 == 0) { - n /= 4; - } - - ggml_metal_encoder_set_pipeline(enc, pipeline); - ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); - - ggml_metal_encoder_dispatch_threadgroups(enc, n, 1, 1, 1, 1, 1); - - return 1; -} - int ggml_metal_op_tri(ggml_metal_op_t ctx, int idx) { ggml_tensor * op = ctx->node(idx); diff --git a/ggml/src/ggml-metal/ggml-metal-ops.h b/ggml/src/ggml-metal/ggml-metal-ops.h index 3c64e4f600..29456d70d5 100644 --- a/ggml/src/ggml-metal/ggml-metal-ops.h +++ b/ggml/src/ggml-metal/ggml-metal-ops.h @@ -46,9 +46,6 @@ size_t ggml_metal_op_flash_attn_ext_extra_tmp(const struct ggml_tensor * op); int ggml_metal_op_concat (ggml_metal_op_t ctx, int idx); int ggml_metal_op_repeat (ggml_metal_op_t ctx, int idx); int ggml_metal_op_acc (ggml_metal_op_t ctx, int idx); -int ggml_metal_op_scale (ggml_metal_op_t ctx, int idx); -int ggml_metal_op_fill (ggml_metal_op_t ctx, int idx); -int ggml_metal_op_clamp (ggml_metal_op_t ctx, int idx); int ggml_metal_op_unary (ggml_metal_op_t ctx, int idx); int ggml_metal_op_glu (ggml_metal_op_t ctx, int idx); int ggml_metal_op_sum (ggml_metal_op_t ctx, int idx); @@ -86,7 +83,6 @@ int ggml_metal_op_timestep_embedding(ggml_metal_op_t ctx, int idx); int ggml_metal_op_argmax (ggml_metal_op_t ctx, int idx); int ggml_metal_op_argsort (ggml_metal_op_t ctx, int idx); int ggml_metal_op_top_k (ggml_metal_op_t ctx, int idx); -int ggml_metal_op_leaky_relu (ggml_metal_op_t ctx, int idx); int ggml_metal_op_tri (ggml_metal_op_t ctx, int idx); int ggml_metal_op_opt_step_adamw (ggml_metal_op_t ctx, int idx); int ggml_metal_op_opt_step_sgd (ggml_metal_op_t ctx, int idx); diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index 35cc3bbdfd..7d841341a1 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -895,6 +895,192 @@ enum ggml_sort_order { GGML_SORT_ORDER_DESC, }; +constant float GELU_COEF_A = 0.044715f; +constant float GELU_QUICK_COEF = -1.702f; +constant float SQRT_2_OVER_PI = 0.79788456080286535587989211986876f; +constant float SQRT_2_INV = 0.70710678118654752440084436210484f; + +// based on Abramowitz and Stegun formula 7.1.26 or similar Hastings' approximation +// ref: https://www.johndcook.com/blog/python_erf/ +constant float p_erf = 0.3275911f; +constant float a1_erf = 0.254829592f; +constant float a2_erf = -0.284496736f; +constant float a3_erf = 1.421413741f; +constant float a4_erf = -1.453152027f; +constant float a5_erf = 1.061405429f; + +template +T erf_approx(T x) { + T sign_x = sign(x); + x = fabs(x); + T t = 1.0f / (1.0f + p_erf * x); + T y = 1.0f - (((((a5_erf * t + a4_erf) * t) + a3_erf) * t + a2_erf) * t + a1_erf) * t * exp(-x * x); + return sign_x * y; +} + +constant short FC_unary_op [[function_constant(FC_UNARY + 0)]]; +constant bool FC_unary_cnt[[function_constant(FC_UNARY + 1)]]; + +template +kernel void kernel_unary_impl( + constant ggml_metal_kargs_unary & args, + device const char * src0, + device char * dst, + uint3 tgpig[[threadgroup_position_in_grid]], + ushort3 tpitg[[thread_position_in_threadgroup]], + ushort3 ntg[[threads_per_threadgroup]]) { +#define FC_OP FC_unary_op +#define FC_CNT FC_unary_cnt + + device const T0 * src0_ptr; + device T * dst_ptr; + + int i0; + + if (FC_CNT) { + i0 = tgpig.x; + + src0_ptr = (device const T0 *) (src0); + dst_ptr = (device T *) (dst); + } else { + const int i03 = tgpig.z; + const int i02 = tgpig.y; + const int k0 = tgpig.x/args.ne01; + const int i01 = tgpig.x - k0*args.ne01; + + i0 = k0*ntg.x + tpitg.x; + + src0_ptr = (device const T0 *) (src0 + i03*args.nb03 + i02*args.nb02 + i01*args.nb01); + dst_ptr = (device T *) (dst + i03*args.nb3 + i02*args.nb2 + i01*args.nb1 ); + } + + { + //threadgroup_barrier(mem_flags::mem_none); + + if (!FC_CNT) { + if (i0 >= args.ne0) { + return; + } + } + + device const T0 & x = src0_ptr[i0]; + + if (FC_OP == OP_UNARY_NUM_SCALE) { + dst_ptr[i0] = args.scale * x + args.bias; + } + + if (FC_OP == OP_UNARY_NUM_FILL) { + dst_ptr[i0] = args.val; + } + + if (FC_OP == OP_UNARY_NUM_CLAMP) { + dst_ptr[i0] = clamp(x, args.min, args.max); + } + + if (FC_OP == OP_UNARY_NUM_SQR) { + dst_ptr[i0] = x * x; + } + + if (FC_OP == OP_UNARY_NUM_SQRT) { + dst_ptr[i0] = sqrt(x); + } + + if (FC_OP == OP_UNARY_NUM_SIN) { + dst_ptr[i0] = sin(x); + } + + if (FC_OP == OP_UNARY_NUM_COS) { + dst_ptr[i0] = cos(x); + } + + if (FC_OP == OP_UNARY_NUM_LOG) { + dst_ptr[i0] = log(x); + } + + if (FC_OP == OP_UNARY_NUM_LEAKY_RELU) { + dst_ptr[i0] = T(x > 0.0f)*x + T(x <= 0.0f)*(x * args.slope); + } + + if (FC_OP == OP_UNARY_NUM_TANH) { + dst_ptr[i0] = precise::tanh(x); + } + + if (FC_OP == OP_UNARY_NUM_RELU) { + dst_ptr[i0] = fmax(0.0f, x); + } + + if (FC_OP == OP_UNARY_NUM_SIGMOID) { + dst_ptr[i0] = 1.0f / (1.0f + exp(-x)); + } + + if (FC_OP == OP_UNARY_NUM_GELU) { + dst_ptr[i0] = 0.5f*x*(1.0f + precise::tanh(SQRT_2_OVER_PI*x*(1.0f + GELU_COEF_A*x*x))); + } + + if (FC_OP == OP_UNARY_NUM_GELU_ERF) { + dst_ptr[i0] = 0.5f*x*(1.0f + erf_approx(SQRT_2_INV*x)); + } + + if (FC_OP == OP_UNARY_NUM_GELU_QUICK) { + dst_ptr[i0] = x * (1.0f/(1.0f + exp(GELU_QUICK_COEF*x))); + } + + if (FC_OP == OP_UNARY_NUM_SILU) { + dst_ptr[i0] = x / (1.0f + exp(-x)); + } + + if (FC_OP == OP_UNARY_NUM_ELU) { + dst_ptr[i0] = T(x > 0.0f)*x + T(x <= 0.0f)*(exp(x) - 1.0f); + } + + if (FC_OP == OP_UNARY_NUM_NEG) { + dst_ptr[i0] = -x; + } + + if (FC_OP == OP_UNARY_NUM_ABS) { + dst_ptr[i0] = fabs(x); + } + + if (FC_OP == OP_UNARY_NUM_SGN) { + dst_ptr[i0] = T(x > 0.0f) - T(x < 0.0f); + } + + if (FC_OP == OP_UNARY_NUM_STEP) { + dst_ptr[i0] = T(x > 0.0f); + } + + if (FC_OP == OP_UNARY_NUM_HARDSWISH) { + dst_ptr[i0] = x * fmax(0.0f, fmin(1.0f, x/6.0f + 0.5f)); + } + + if (FC_OP == OP_UNARY_NUM_HARDSIGMOID) { + dst_ptr[i0] = fmax(0.0f, fmin(1.0f, x/6.0f + 0.5f)); + } + + if (FC_OP == OP_UNARY_NUM_EXP) { + dst_ptr[i0] = exp(x); + } + + if (FC_OP == OP_UNARY_NUM_SOFTPLUS) { + dst_ptr[i0] = select(log(1.0f + exp(x)), x, x > 20.0f); + } + + if (FC_OP == OP_UNARY_NUM_EXPM1) { + // TODO: precise implementation + dst_ptr[i0] = exp(x) - 1.0f; + } + } + +#undef FC_OP +#undef FC_CNT +} + +typedef decltype(kernel_unary_impl) kernel_unary_t; + +template [[host_name("kernel_unary_f32_f32")]] kernel kernel_unary_t kernel_unary_impl; +template [[host_name("kernel_unary_f32_f32_4")]] kernel kernel_unary_t kernel_unary_impl; + + // OP: 0 - add, 1 - sub, 2 - mul, 3 - div constant short FC_bin_op [[function_constant(FC_BIN + 0)]]; constant short FC_bin_f [[function_constant(FC_BIN + 1)]]; @@ -1114,414 +1300,6 @@ template [[host_name("kernel_repeat_f16")]] kernel kernel_repeat_t kernel_repeat template [[host_name("kernel_repeat_i32")]] kernel kernel_repeat_t kernel_repeat; template [[host_name("kernel_repeat_i16")]] kernel kernel_repeat_t kernel_repeat; -kernel void kernel_scale_f32( - constant ggml_metal_kargs_scale & args, - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = src0[tpig] * args.scale + args.bias; -} - -kernel void kernel_scale_f32_4( - constant ggml_metal_kargs_scale & args, - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = src0[tpig] * args.scale + args.bias; -} - -kernel void kernel_fill_f32( - constant ggml_metal_kargs_fill & args, - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = args.val; -} - -kernel void kernel_fill_f32_4( - constant ggml_metal_kargs_fill & args, - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = args.val; -} - -kernel void kernel_clamp_f32( - constant ggml_metal_kargs_clamp & args, - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = clamp(src0[tpig], args.min, args.max); -} - -kernel void kernel_clamp_f32_4( - constant ggml_metal_kargs_clamp & args, - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = clamp(src0[tpig], args.min, args.max); -} - -kernel void kernel_relu_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = max(0.0f, src0[tpig]); -} - -kernel void kernel_relu_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = max(0.0f, src0[tpig]); -} - -kernel void kernel_sigmoid_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = 1.0f / (1.0f + exp(-src0[tpig])); -} - -kernel void kernel_sigmoid_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = 1.0f / (1.0f + exp(-src0[tpig])); -} - -kernel void kernel_tanh_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = precise::tanh(src0[tpig]); -} - -kernel void kernel_tanh_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = precise::tanh(src0[tpig]); -} - -constant float GELU_COEF_A = 0.044715f; -constant float GELU_QUICK_COEF = -1.702f; -constant float SQRT_2_OVER_PI = 0.79788456080286535587989211986876f; -constant float SQRT_2_INV = 0.70710678118654752440084436210484f; - -kernel void kernel_gelu_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; - - dst[tpig] = 0.5f*x*(1.0f + precise::tanh(SQRT_2_OVER_PI*x*(1.0f + GELU_COEF_A*x*x))); -} - -kernel void kernel_gelu_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - device const float4 & x = src0[tpig]; - - // BEWARE !!! - // Simply using "tanh" instead of "precise::tanh" will sometimes results in NaNs! - // This was observed with Falcon 7B and 40B models - // - dst[tpig] = 0.5f*x*(1.0f + precise::tanh(SQRT_2_OVER_PI*x*(1.0f + GELU_COEF_A*x*x))); -} - -kernel void kernel_gelu_quick_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; - - dst[tpig] = x*(1.0f/(1.0f+exp(GELU_QUICK_COEF*x))); -} - -kernel void kernel_gelu_quick_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - device const float4 & x = src0[tpig]; - - dst[tpig] = x*(1.0f/(1.0f+exp(GELU_QUICK_COEF*x))); -} - -// based on Abramowitz and Stegun formula 7.1.26 or similar Hastings' approximation -// ref: https://www.johndcook.com/blog/python_erf/ -constant float p_erf = 0.3275911f; -constant float a1_erf = 0.254829592f; -constant float a2_erf = -0.284496736f; -constant float a3_erf = 1.421413741f; -constant float a4_erf = -1.453152027f; -constant float a5_erf = 1.061405429f; - -template -T erf_approx(T x) { - T sign_x = sign(x); - x = fabs(x); - T t = 1.0f / (1.0f + p_erf * x); - T y = 1.0f - (((((a5_erf * t + a4_erf) * t) + a3_erf) * t + a2_erf) * t + a1_erf) * t * exp(-x * x); - return sign_x * y; -} - -kernel void kernel_gelu_erf_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; - - dst[tpig] = 0.5f*x*(1.0f+erf_approx(x*SQRT_2_INV)); -} - -kernel void kernel_gelu_erf_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - device const float4 & x = src0[tpig]; - - dst[tpig] = 0.5f*x*(1.0f+erf_approx(x*SQRT_2_INV)); -} - -kernel void kernel_silu_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; - dst[tpig] = x / (1.0f + exp(-x)); -} - -kernel void kernel_silu_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - device const float4 & x = src0[tpig]; - dst[tpig] = x / (1.0f + exp(-x)); -} - -kernel void kernel_elu_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - const float x = src0[tpig]; - dst[tpig] = (x > 0.0f) ? x : (exp(x) - 1.0f); -} - -kernel void kernel_elu_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - const float4 x = src0[tpig]; - dst[tpig][0] = (x[0] > 0.0f) ? x[0] : (exp(x[0]) - 1.0f); - dst[tpig][1] = (x[1] > 0.0f) ? x[1] : (exp(x[1]) - 1.0f); - dst[tpig][2] = (x[2] > 0.0f) ? x[2] : (exp(x[2]) - 1.0f); - dst[tpig][3] = (x[3] > 0.0f) ? x[3] : (exp(x[3]) - 1.0f); -} - -kernel void kernel_sqr_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = src0[tpig] * src0[tpig]; -} - -kernel void kernel_sqr_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = src0[tpig] * src0[tpig]; -} - -kernel void kernel_sqrt_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = sqrt(src0[tpig]); -} - -kernel void kernel_sqrt_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = sqrt(src0[tpig]); -} - -kernel void kernel_sin_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = sin(src0[tpig]); -} - -kernel void kernel_sin_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = sin(src0[tpig]); -} - -kernel void kernel_cos_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = cos(src0[tpig]); -} - -kernel void kernel_cos_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = cos(src0[tpig]); -} - -kernel void kernel_log_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = log(src0[tpig]); -} - -kernel void kernel_log_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = log(src0[tpig]); -} - -kernel void kernel_neg_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = -src0[tpig]; -} - -kernel void kernel_neg_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = -src0[tpig]; -} - -kernel void kernel_abs_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = fabs(src0[tpig]); -} - -kernel void kernel_abs_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = fabs(src0[tpig]); -} - -kernel void kernel_sgn_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = sign(src0[tpig]); -} - -kernel void kernel_sgn_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = sign(src0[tpig]); -} - -kernel void kernel_step_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = step(0.0f, src0[tpig]); -} - -kernel void kernel_step_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = step(0.0f, src0[tpig]); -} - -kernel void kernel_hardswish_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - const float x = src0[tpig]; - dst[tpig] = x * fmin(1.0f, fmax(0.0f, (x + 3.0f) / 6.0f)); -} - -kernel void kernel_hardswish_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - const float4 x = src0[tpig]; - dst[tpig] = x * fmin(1.0f, fmax(0.0f, (x + 3.0f) / 6.0f)); -} - -kernel void kernel_hardsigmoid_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - const float x = src0[tpig]; - dst[tpig] = fmin(1.0f, fmax(0.0f, (x + 3.0f) / 6.0f)); -} - -kernel void kernel_hardsigmoid_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - const float4 x = src0[tpig]; - dst[tpig] = fmin(1.0f, fmax(0.0f, (x + 3.0f) / 6.0f)); -} - -kernel void kernel_exp_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = exp(src0[tpig]); -} - -kernel void kernel_exp_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = exp(src0[tpig]); -} - -kernel void kernel_softplus_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - device const float & x = src0[tpig]; - dst[tpig] = select(log(1.0f + exp(x)), x, x > 20.0f); -} - -kernel void kernel_softplus_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - device const float4 & x = src0[tpig]; - dst[tpig] = select(log(1.0f + exp(x)), x, x > 20.0f); -} - -kernel void kernel_expm1_f32( - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = exp(src0[tpig]) - 1.0f; -} - -kernel void kernel_expm1_f32_4( - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - dst[tpig] = exp(src0[tpig]) - 1.0f; -} - kernel void kernel_reglu_f32( constant ggml_metal_kargs_glu & args, device const char * src0, @@ -5072,24 +4850,6 @@ kernel void kernel_argsort_merge_f32_i32( template [[host_name("kernel_argsort_merge_f32_i32_asc")]] kernel argsort_merge_t kernel_argsort_merge_f32_i32; template [[host_name("kernel_argsort_merge_f32_i32_desc")]] kernel argsort_merge_t kernel_argsort_merge_f32_i32; -kernel void kernel_leaky_relu_f32( - constant ggml_metal_kargs_leaky_relu & args, - device const float * src0, - device float * dst, - uint tpig[[thread_position_in_grid]]) { - const float x = src0[tpig]; - dst[tpig] = x > 0.0f ? x : x * args.slope; -} - -kernel void kernel_leaky_relu_f32_4( - constant ggml_metal_kargs_leaky_relu & args, - device const float4 * src0, - device float4 * dst, - uint tpig[[thread_position_in_grid]]) { - const float4 x = src0[tpig]; - dst[tpig] = float4(x > 0.0f)*x + float4(x <= 0.0f)*(x * args.slope); -} - constant bool FC_flash_attn_ext_pad_has_mask [[function_constant(FC_FLASH_ATTN_EXT_PAD + 0)]]; constant int32_t FC_flash_attn_ext_pad_ncpsg [[function_constant(FC_FLASH_ATTN_EXT_PAD + 25)]]; @@ -9939,7 +9699,7 @@ kernel void kernel_opt_step_sgd_f32( template kernel void kernel_memset( - constant ggml_metal_kargs_fill & args, + constant ggml_metal_kargs_memset & args, device T * dst, uint tpig[[thread_position_in_grid]]) { dst[tpig] = args.val; diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 3bdb3d7ba9..1f40d2fc38 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -7882,20 +7882,27 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_round (type)); test_cases.emplace_back(new test_trunc (type)); test_cases.emplace_back(new test_sqr (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_sqr (type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_sqrt (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_sqrt (type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_log (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_log (type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_sin (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_sin (type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_cos (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_cos (type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_clamp (type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_clamp (type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_leaky_relu(type, {7, 1, 5, 3})); + test_cases.emplace_back(new test_leaky_relu(type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_floor (type, {7, 1, 5, 3})); - test_cases.emplace_back(new test_floor (type, { 1024, 1024, 1, 1 })); + test_cases.emplace_back(new test_floor (type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_ceil (type, {7, 1, 5, 3})); - test_cases.emplace_back(new test_ceil (type, { 1024, 1024, 1, 1 })); + test_cases.emplace_back(new test_ceil (type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_round (type, {7, 1, 5, 3})); - test_cases.emplace_back(new test_round (type, { 1024, 1024, 1, 1 })); + test_cases.emplace_back(new test_round (type, {1024, 1024, 1, 1})); test_cases.emplace_back(new test_trunc (type, {7, 1, 5, 3})); - test_cases.emplace_back(new test_trunc (type, { 1024, 1024, 1, 1 })); + test_cases.emplace_back(new test_trunc (type, {1024, 1024, 1, 1})); } test_cases.emplace_back(new test_diag_mask_inf(GGML_TYPE_F32, {10, 10, 1, 1}, 5)); From 89181c0b6d6f57fdf82c33bf93ede10433088573 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 11 Feb 2026 07:52:00 +0200 Subject: [PATCH 179/206] ggml : extend bin bcast for permuted src1 (#19484) * tests : extend bin bcast for permuted src1 * cont : extend bin support * cont : s0 is always 1 * tests : simplify --- ggml/src/ggml-cpu/binary-ops.cpp | 8 ++--- ggml/src/ggml-cuda/binbcast.cu | 62 ++++++++++++++++---------------- tests/test-backend-ops.cpp | 51 +++++++++++++++----------- 3 files changed, 65 insertions(+), 56 deletions(-) diff --git a/ggml/src/ggml-cpu/binary-ops.cpp b/ggml/src/ggml-cpu/binary-ops.cpp index 14f5b43ae0..75e3829001 100644 --- a/ggml/src/ggml-cpu/binary-ops.cpp +++ b/ggml/src/ggml-cpu/binary-ops.cpp @@ -59,11 +59,7 @@ static void apply_binary_op(const ggml_compute_params * params, ggml_tensor * ds GGML_ASSERT(nb00 == sizeof(src0_t)); const auto [ir0, ir1] = get_thread_range(params, src0); - const bool is_src1_contiguous = (nb10 == sizeof(src1_t)); - - if (!is_src1_contiguous) { // broadcast not implemented yet for non-contiguous - GGML_ASSERT(ggml_are_same_shape(src0, src1)); - } + const bool is_src1_contiguous_rows = ggml_is_contiguous_rows(src1); #ifdef GGML_USE_ACCELERATE vDSP_fn_t vDSP_op = nullptr; @@ -94,7 +90,7 @@ static void apply_binary_op(const ggml_compute_params * params, ggml_tensor * ds const src0_t * src0_ptr = (const src0_t *) ((const char *) src0->data + i03*nb03 + i02*nb02 + i01*nb01); const src1_t * src1_ptr = (const src1_t *) ((const char *) src1->data + i13*nb13 + i12*nb12 + i11*nb11); - if (is_src1_contiguous) { + if (is_src1_contiguous_rows) { // src1 is broadcastable across src0 and dst in i1, i2, i3 const int64_t nr0 = ne00 / ne10; diff --git a/ggml/src/ggml-cuda/binbcast.cu b/ggml/src/ggml-cuda/binbcast.cu index 0e6d777b1e..7339fe0c07 100644 --- a/ggml/src/ggml-cuda/binbcast.cu +++ b/ggml/src/ggml-cuda/binbcast.cu @@ -39,13 +39,16 @@ static __global__ void k_bin_bcast(const src0_t * src0, const uint3 ne11, const uint3 ne12, const uint3 ne13, - /*int s0, */ const int s1, + /*const int s0,*/ + const int s1, const int s2, const int s3, - /*int s00,*/ const int s01, + const int s00, + const int s01, const int s02, const int s03, - /*int s10,*/ const int s11, + const int s10, + const int s11, const int s12, const int s13, src1_ptrs... src1s) { @@ -72,11 +75,11 @@ static __global__ void k_bin_bcast(const src0_t * src0, for (int i0 = i0s; i0 < ne0; i0 += blockDim.x * gridDim.x) { const uint32_t i10 = fastmodulo(i0, ne10); - float result = src0_row ? (float) src0_row[i0] : 0.0f; + float result = src0_row ? (float) src0_row[i0*s00] : 0.0f; if constexpr (sizeof...(src1_ptrs) > 0) { - result = (..., (result = bin_op(result, (float)src1s[i_src1 + i10]))); + result = (..., (result = bin_op(result, (float)src1s[i_src1 + i10*s10]))); } else { - result = bin_op(result, (float)src1[i_src1 + i10]); + result = bin_op(result, (float)src1[i_src1 + i10*s10]); } dst_row[i0] = (dst_t) result; @@ -101,13 +104,16 @@ static __global__ void k_bin_bcast_unravel(const src0_t * src0, const uint3 ne11, const uint3 ne12, const uint3 ne13, - /*int s0, */ const int s1, + /*const int s0,*/ + const int s1, const int s2, const int s3, - /*int s00,*/ const int s01, + const int s00, + const int s01, const int s02, const int s03, - /*int s10,*/ const int s11, + const int s10, + const int s11, const int s12, const int s13, src1_ptrs... src1s) { @@ -135,11 +141,11 @@ static __global__ void k_bin_bcast_unravel(const src0_t * src0, const int i10 = fastmodulo(i0, ne10); - float result = src0_row ? (float) src0_row[i0] : 0.0f; + float result = src0_row ? (float) src0_row[i0*s00] : 0.0f; if constexpr (sizeof...(src1_ptrs) > 0) { - result = (..., (result = bin_op(result, (float)src1s[i_src1 + i10]))); + result = (..., (result = bin_op(result, (float)src1s[i_src1 + i10*s10]))); } else { - result = bin_op(result, (float)src1[i_src1 + i10]); + result = bin_op(result, (float)src1[i_src1 + i10*s10]); } dst_row[i0] = (dst_t) result; @@ -179,7 +185,7 @@ static void launch_bin_bcast_pack(const ggml_tensor * src0, const ggml_tensor * cnb[3] *= cne[3]; }; - if (ggml_is_contiguous(src0) && ggml_is_contiguous(src1) && ggml_is_contiguous(dst)) { + if (ggml_is_contiguous(src0) && ggml_is_contiguous(src1) && !ggml_is_permuted(src0) && !ggml_is_permuted(src1)) { for (int i = 0; i < 4; i++) { if (nr[i] != 1) { break; @@ -221,7 +227,7 @@ static void launch_bin_bcast_pack(const ggml_tensor * src0, const ggml_tensor * size_t nb12 = cnb1[2]; size_t nb13 = cnb1[3]; - size_t s0 = nb0 / sizeof(dst_t); + //size_t s0 = nb0 / sizeof(dst_t); size_t s1 = nb1 / sizeof(dst_t); size_t s2 = nb2 / sizeof(dst_t); size_t s3 = nb3 / sizeof(dst_t); @@ -251,10 +257,6 @@ static void launch_bin_bcast_pack(const ggml_tensor * src0, const ggml_tensor * GGML_ASSERT(nb12 % sizeof(src1_t) == 0); GGML_ASSERT(nb13 % sizeof(src1_t) == 0); - GGML_ASSERT(s0 == 1); - GGML_ASSERT(s00 == 1); - GGML_ASSERT(s10 == 1); - const int block_size = 128; int64_t hne0 = std::max(ne0 / 2LL, 1LL); @@ -284,31 +286,31 @@ static void launch_bin_bcast_pack(const ggml_tensor * src0, const ggml_tensor * k_bin_bcast_unravel<<>>( src0_dd, src1_dd, dst_dd, ne0_fastdiv, ne1_fastdiv, ne2_fastdiv, ne3, prod_012, prod_01, ne10, ne11, ne12, ne13, - /* s0, */ s1, s2, s3, - /* s00,*/ s01, s02, s03, - /* s10,*/ s11, s12, s13, (const src1_t *) dst->src[I + 1]->data...); + /*s0,*/ s1, s2, s3, + s00, s01, s02, s03, + s10, s11, s12, s13, (const src1_t *) dst->src[I + 1]->data...); } else { k_bin_bcast_unravel <<>>(src0_dd, src1_dd, dst_dd, ne0_fastdiv, ne1_fastdiv, ne2_fastdiv, ne3, prod_012, prod_01, ne10, ne11, ne12, ne13, - /* s0, */ s1, s2, s3, - /* s00,*/ s01, s02, s03, - /* s10,*/ s11, s12, s13); + /*s0,*/ s1, s2, s3, + s00, s01, s02, s03, + s10, s11, s12, s13); } } else { const uint3 ne3_fastdiv = init_fastdiv_values((uint32_t) ne3); if constexpr (sizeof...(I) > 0) { k_bin_bcast<<>>( src0_dd, src1_dd, dst_dd, ne0, ne1, ne2, ne3_fastdiv, ne10, ne11, ne12, ne13, - /* s0, */ s1, s2, s3, - /* s00,*/ s01, s02, s03, - /* s10,*/ s11, s12, s13, (const src1_t *) dst->src[I + 1]->data...); + /*s0,*/ s1, s2, s3, + s00 ,s01, s02, s03, + s10, s11, s12, s13, (const src1_t *) dst->src[I + 1]->data...); } else { k_bin_bcast<<>>( src0_dd, src1_dd, dst_dd, ne0, ne1, ne2, ne3_fastdiv, ne10, ne11, ne12, ne13, - /* s0, */ s1, s2, s3, - /* s00,*/ s01, s02, s03, - /* s10,*/ s11, s12, s13); + /*s0,*/ s1, s2, s3, + s00, s01, s02, s03, + s10, s11, s12, s13); } } } diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 1f40d2fc38..5d5e44a0c7 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -2964,11 +2964,12 @@ struct test_bin_bcast : public test_case { const std::array ne; const std::array nr; int nf; // number of fused ops, nf == 1 -> single op (no fusion) + bool perm1; // permute src1? bool run_whole_graph() override { return nf > 1; } std::string vars() override { - return VARS_TO_STR4(type, ne, nr, nf); + return VARS_TO_STR5(type, ne, nr, nf, perm1); } size_t op_size(ggml_tensor * t) override { @@ -2978,8 +2979,9 @@ struct test_bin_bcast : public test_case { test_bin_bcast(op_t op, ggml_type type = GGML_TYPE_F32, std::array ne = {10, 10, 1, 1}, std::array nr = {1, 2, 1, 1}, - int nf = 1) - : op(op), type(type), ne(ne), nr(nr), nf(nf) {} + int nf = 1, + bool perm1 = false) + : op(op), type(type), ne(ne), nr(nr), nf(nf), perm1(perm1) {} ggml_tensor * build_graph(ggml_context * ctx) override { GGML_ASSERT(nf <= 16); @@ -2989,12 +2991,19 @@ struct test_bin_bcast : public test_case { ggml_tensor * b[16]; for (int i = 0; i < nf; ++i) { - b[i] = ggml_new_tensor(ctx, type, 4, ne.data()); + if (perm1) { + const int p[4] = { 1, 2, 0, 3 }; // hardcoded for now + + b[i] = ggml_new_tensor_4d(ctx, type, ne[p[0]], ne[p[1]], ne[p[2]], ne[p[3]]); + b[i] = ggml_permute(ctx, b[i], p[0], p[1], p[2], p[3]); + } else { + b[i] = ggml_new_tensor(ctx, type, 4, ne.data()); + } ggml_set_name(b[i], (std::string("b") + std::to_string(i)).c_str()); } // The backward pass supports broadcasting only for GGML_ADD: - const bool grad_supported = op == ggml_add && ggml_are_same_shape(a, b[0]) && nf == 1; + const bool grad_supported = op == ggml_add && ggml_are_same_shape(a, b[0]) && nf == 1 && !perm1; if (grad_supported) { ggml_set_param(a); ggml_set_param(b[0]); @@ -7477,25 +7486,27 @@ static std::vector> make_test_cases_eval() { } } - auto add_test_bin_bcast = [&](ggml_type type, std::array ne, std::array nr) { + auto add_test_bin_bcast = [&](ggml_type type, std::array ne, std::array nr, bool perm1 = false) { for (auto op : {ggml_add, ggml_sub, ggml_mul, ggml_div}) { - test_cases.emplace_back(new test_bin_bcast(op, type, ne, nr)); + test_cases.emplace_back(new test_bin_bcast(op, type, ne, nr, 1, perm1)); } }; for (ggml_type type : {GGML_TYPE_F16, GGML_TYPE_F32}) { - add_test_bin_bcast(type, {1, 1, 8, 1}, {1, 1, 1, 1}); - add_test_bin_bcast(type, {1, 1, 1, 1}, {32, 1, 1, 1}); - add_test_bin_bcast(type, {1, 1, 320, 320}, {1, 1, 1, 1}); - add_test_bin_bcast(type, {10, 5, 1, 1}, {1, 1, 1, 1}); - add_test_bin_bcast(type, {10, 5, 4, 1}, {1, 1, 1, 1}); - add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 1, 1, 1}); - add_test_bin_bcast(type, {10, 5, 4, 3}, {2, 1, 1, 1}); - add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 2, 1, 1}); - add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 1, 2, 1}); - add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 1, 1, 2}); - add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 1, 2, 2}); - add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 2, 2, 2}); - add_test_bin_bcast(type, {10, 5, 4, 3}, {2, 2, 2, 2}); + for (bool perm1 : {false, true}) { + add_test_bin_bcast(type, {1, 1, 8, 1}, {1, 1, 1, 1}, perm1); + add_test_bin_bcast(type, {1, 1, 1, 1}, {32, 1, 1, 1}, perm1); + add_test_bin_bcast(type, {1, 1, 320, 320}, {1, 1, 1, 1}, perm1); + add_test_bin_bcast(type, {10, 5, 1, 1}, {1, 1, 1, 1}, perm1); + add_test_bin_bcast(type, {10, 5, 4, 1}, {1, 1, 1, 1}, perm1); + add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 1, 1, 1}, perm1); + add_test_bin_bcast(type, {10, 5, 4, 3}, {2, 1, 1, 1}, perm1); + add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 2, 1, 1}, perm1); + add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 1, 2, 1}, perm1); + add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 1, 1, 2}, perm1); + add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 1, 2, 2}, perm1); + add_test_bin_bcast(type, {10, 5, 4, 3}, {1, 2, 2, 2}, perm1); + add_test_bin_bcast(type, {10, 5, 4, 3}, {2, 2, 2, 2}, perm1); + } // test case for k_bin_bcast_unravel in CUDA backend add_test_bin_bcast(type, {1, 1, 65536, 1}, {256, 1, 1, 1}); From 6d957078270f58d4ea14e8c205f5ef4e49be33f3 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 11 Feb 2026 07:52:20 +0200 Subject: [PATCH 180/206] model : fix wavtokenizer embedding notions (#19479) --- src/llama-hparams.h | 1 - src/llama-model.cpp | 11 ++++++----- tools/tts/tts.cpp | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/llama-hparams.h b/src/llama-hparams.h index 6c695bdbf6..706eda8441 100644 --- a/src/llama-hparams.h +++ b/src/llama-hparams.h @@ -42,7 +42,6 @@ struct llama_hparams { uint32_t n_ctx_train; // context size the model was trained on uint32_t n_embd; - uint32_t n_embd_features = 0; uint32_t n_layer; int32_t n_layer_kv_from_start = -1; // if non-negative, the first n_layer_kv_from_start layers have KV cache uint32_t n_rot; diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 7a06e96c87..5816e9a954 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -523,7 +523,8 @@ void llama_model::load_hparams(llama_model_loader & ml) { ml.get_key(LLM_KV_EXPERT_GROUP_USED_COUNT, hparams.n_group_used, false); if (arch == LLM_ARCH_WAVTOKENIZER_DEC) { - ml.get_key(LLM_KV_FEATURES_LENGTH, hparams.n_embd_features); + ml.get_key(LLM_KV_FEATURES_LENGTH, hparams.n_embd); + ml.get_key(LLM_KV_EMBEDDING_LENGTH, hparams.n_embd_out_impl); ml.get_key(LLM_KV_POSNET_EMBEDDING_LENGTH, hparams.posnet.n_embd); ml.get_key(LLM_KV_POSNET_BLOCK_COUNT, hparams.posnet.n_layer); @@ -6046,9 +6047,9 @@ bool llama_model::load_tensors(llama_model_loader & ml) { } break; case LLM_ARCH_WAVTOKENIZER_DEC: { - tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {hparams.n_embd_features, n_vocab}, 0); + tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {hparams.n_embd, n_vocab}, 0); - conv1d = create_tensor(tn(LLM_TENSOR_CONV1D, "weight"), {7, hparams.n_embd_features, hparams.posnet.n_embd}, 0); + conv1d = create_tensor(tn(LLM_TENSOR_CONV1D, "weight"), {7, hparams.n_embd, hparams.posnet.n_embd}, 0); conv1d_b = create_tensor(tn(LLM_TENSOR_CONV1D, "bias"), {1, hparams.posnet.n_embd}, 0); // posnet @@ -6144,8 +6145,8 @@ bool llama_model::load_tensors(llama_model_loader & ml) { output_norm_b = create_tensor(tn(LLM_TENSOR_OUTPUT_NORM, "bias"), {n_embd}, 0); } - output = create_tensor(tn(LLM_TENSOR_OUTPUT, "weight"), {hparams.convnext.n_embd, n_embd}, 0); - output_b = create_tensor(tn(LLM_TENSOR_OUTPUT, "bias"), {n_embd}, 0); + output = create_tensor(tn(LLM_TENSOR_OUTPUT, "weight"), {hparams.convnext.n_embd, hparams.n_embd_out()}, 0); + output_b = create_tensor(tn(LLM_TENSOR_OUTPUT, "bias"), {hparams.n_embd_out()}, 0); } break; case LLM_ARCH_BAILINGMOE: { diff --git a/tools/tts/tts.cpp b/tools/tts/tts.cpp index 8c39fce8ba..ac55a8b1ca 100644 --- a/tools/tts/tts.cpp +++ b/tools/tts/tts.cpp @@ -1036,7 +1036,7 @@ lovely<|t_0.56|><|code_start|><|634|><|596|><|1766|><|1556|><|1306|><|1285|><|14 #if 1 // spectral operations - const int n_embd = llama_model_n_embd(model_cts); + const int n_embd = llama_model_n_embd_out(model_cts); const float * embd = llama_get_embeddings(ctx_cts); auto audio = embd_to_audio(embd, n_codes, n_embd, params.cpuparams.n_threads); From 8ee538ce73de1afbf6924a38c2d016e496c26497 Mon Sep 17 00:00:00 2001 From: thecaptain789 <257642323+thecaptain789@users.noreply.github.com> Date: Wed, 11 Feb 2026 06:05:31 +0000 Subject: [PATCH 181/206] llama : correct typos 'occured' and 'occurences' (#19414) Co-authored-by: thecaptain789 --- common/ngram-map.cpp | 2 +- common/ngram-map.h | 4 ++-- include/llama.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/ngram-map.cpp b/common/ngram-map.cpp index 2b876a6e99..ebf771a24a 100644 --- a/common/ngram-map.cpp +++ b/common/ngram-map.cpp @@ -461,7 +461,7 @@ void common_ngram_map_draft(common_ngram_map & map, slot_max = v; } } - // What is sum of the other occurences? + // What is sum of the other occurrences? uint32_t sum_occur = 0; for (int v = 0; v < COMMON_NGRAM_MAX_VALUES; ++v) { if (v == slot_max) { diff --git a/common/ngram-map.h b/common/ngram-map.h index 41b9530449..d84e719151 100644 --- a/common/ngram-map.h +++ b/common/ngram-map.h @@ -44,7 +44,7 @@ llama_tokens common_ngram_simple_draft( // statistics of a m-gram after a known n-gram struct common_ngram_map_value { size_t value_idx = 0; // index of value m-gram in token-history (0 if unused) - uint16_t value_num = 0; // number of occurences of this value m-gram after the key n-gram (0 in an unused values-slot) + uint16_t value_num = 0; // number of occurrences of this value m-gram after the key n-gram (0 in an unused values-slot) int16_t n_accepted = -1; // number of accepted tokens at last draft (-1 if unused) }; @@ -53,7 +53,7 @@ struct common_ngram_map_key { size_t key_idx; // index of key n-gram in token-history size_t stat_idx; // index of last token of stastistics computation (key_num, values) - uint16_t key_num; // number of occurences of this key n-gram in token-history + uint16_t key_num; // number of occurrences of this key n-gram in token-history common_ngram_map_value values[COMMON_NGRAM_MAX_VALUES]; // some known values after the key }; diff --git a/include/llama.h b/include/llama.h index bf4e28a8be..46c3672e98 100644 --- a/include/llama.h +++ b/include/llama.h @@ -482,7 +482,7 @@ extern "C" { enum llama_params_fit_status { LLAMA_PARAMS_FIT_STATUS_SUCCESS = 0, // found allocations that are projected to fit LLAMA_PARAMS_FIT_STATUS_FAILURE = 1, // could not find allocations that are projected to fit - LLAMA_PARAMS_FIT_STATUS_ERROR = 2, // a hard error occured, e.g. because no model could be found at the specified path + LLAMA_PARAMS_FIT_STATUS_ERROR = 2, // a hard error occurred, e.g. because no model could be found at the specified path }; // fits mparams and cparams to free device memory (assumes system memory is unlimited) From 73cd5e1b971d6223c58d88907672d1a153bd18d9 Mon Sep 17 00:00:00 2001 From: Max Krasnyansky Date: Tue, 10 Feb 2026 23:21:12 -0800 Subject: [PATCH 182/206] hexagon: Add ARGSORT, DIV, SQR, SQRT, SUM_ROWS, GEGLU (#19406) * hexagon: add ARGSORT op Co-authored-by: Yarden Tal * hexagon: argsort reject tensors with huge rows for now * Adding support for DIV,SQR,SQRT,SUM_ROWS ops in hexagon backend * hexagon : Add GEGLU op * hexagon: fix editor config check * hexagon: rewrite and optimize binary ops ADD/SUB/MUL/DIV/ADD_ID to use DMA --------- Co-authored-by: Yarden Tal Co-authored-by: Manohara Hosakoppa Krishnamurthy --- ggml/src/ggml-hexagon/ggml-hexagon.cpp | 113 ++- ggml/src/ggml-hexagon/htp/CMakeLists.txt | 3 + ggml/src/ggml-hexagon/htp/act-ops.c | 152 +++- ggml/src/ggml-hexagon/htp/argsort-ops.c | 281 +++++++ ggml/src/ggml-hexagon/htp/binary-ops.c | 966 +++++++++++++++++------ ggml/src/ggml-hexagon/htp/htp-msg.h | 64 +- ggml/src/ggml-hexagon/htp/htp-ops.h | 2 + ggml/src/ggml-hexagon/htp/hvx-arith.h | 245 +++--- ggml/src/ggml-hexagon/htp/hvx-base.h | 6 + ggml/src/ggml-hexagon/htp/hvx-copy.h | 2 - ggml/src/ggml-hexagon/htp/hvx-div.h | 116 +++ ggml/src/ggml-hexagon/htp/hvx-sigmoid.h | 27 + ggml/src/ggml-hexagon/htp/hvx-sqrt.h | 68 +- ggml/src/ggml-hexagon/htp/hvx-utils.h | 1 + ggml/src/ggml-hexagon/htp/main.c | 107 +++ ggml/src/ggml-hexagon/htp/sum-rows-ops.c | 115 +++ ggml/src/ggml-hexagon/htp/unary-ops.c | 64 ++ 17 files changed, 1925 insertions(+), 407 deletions(-) create mode 100644 ggml/src/ggml-hexagon/htp/argsort-ops.c create mode 100644 ggml/src/ggml-hexagon/htp/hvx-div.h create mode 100644 ggml/src/ggml-hexagon/htp/sum-rows-ops.c diff --git a/ggml/src/ggml-hexagon/ggml-hexagon.cpp b/ggml/src/ggml-hexagon/ggml-hexagon.cpp index 4f0a1620fb..54f9986498 100644 --- a/ggml/src/ggml-hexagon/ggml-hexagon.cpp +++ b/ggml/src/ggml-hexagon/ggml-hexagon.cpp @@ -1935,11 +1935,6 @@ static bool ggml_hexagon_supported_binary(const struct ggml_hexagon_session * se return false; } - // TODO: add support for non-contigiuos tensors - if (!ggml_is_contiguous(src0) || !ggml_is_contiguous(src1) || !ggml_is_contiguous(dst)) { - return false; - } - return true; } @@ -1991,6 +1986,25 @@ static bool ggml_hexagon_supported_unary(const struct ggml_hexagon_session * ses return true; } +static bool ggml_hexagon_supported_sum_rows(const struct ggml_hexagon_session * sess, const struct ggml_tensor * op) { + const struct ggml_tensor * src0 = op->src[0]; + const struct ggml_tensor * dst = op; + + if (!hex_supported_src0_type(src0->type)) { + return false; + } + if (!hex_supported_dst_type(dst->type)) { + return false; + } + + // TODO: add support for non-contigiuos tensors + if (!ggml_is_contiguous(src0) || !ggml_is_contiguous(dst)) { + return false; + } + + return true; +} + static bool ggml_hexagon_supported_activations(const struct ggml_hexagon_session * sess, const struct ggml_tensor * op) { const struct ggml_tensor * src0 = op->src[0]; @@ -2111,6 +2125,26 @@ static bool ggml_hexagon_supported_get_rows(const struct ggml_hexagon_session * return true; } +static bool ggml_hexagon_supported_argsort(const struct ggml_hexagon_session * sess, const struct ggml_tensor * op) { + const struct ggml_tensor * src0 = op->src[0]; // values + const struct ggml_tensor * dst = op; // indices + + if (src0->type != GGML_TYPE_F32) { + return false; + } + + if (dst->type != GGML_TYPE_I32) { + return false; + } + + if (src0->ne[0] > (16*1024)) { + // reject tensors with huge rows for now + return false; + } + + return true; +} + static bool ggml_hexagon_supported_rope(const struct ggml_hexagon_session * sess, const struct ggml_tensor * op) { const int32_t * op_params = &op->op_params[0]; @@ -2278,6 +2312,9 @@ static inline size_t init_binary_req(htp_general_req * req, dspqueue_buffer * bu case GGML_OP_SUB: req->op = HTP_OP_SUB; break; + case GGML_OP_DIV: + req->op = HTP_OP_DIV; + break; default: GGML_ABORT("ggml-hex: binary : unsupported op: %d\n", t->op); break; @@ -2316,6 +2353,17 @@ static inline size_t init_get_rows_req(htp_general_req * req, dspqueue_buffer * return n_bufs; } +static inline size_t init_argsort_req(htp_general_req * req, dspqueue_buffer * bufs, const ggml_tensor * t) { + req->op = HTP_OP_ARGSORT; + memcpy(&req->op_params, &t->op_params, sizeof(t->op_params)); + + size_t n_bufs = 0; + n_bufs += htp_req_buff_init(&req->src0, &bufs[n_bufs], t->src[0], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->dst, &bufs[n_bufs], t, DSPQBUF_TYPE_DSP_WRITE_CPU_READ); + + return n_bufs; +} + template static inline size_t init_binary_id_req(htp_general_req * req, dspqueue_buffer * bufs, const ggml_tensor * t) { switch (t->op) { @@ -2370,6 +2418,16 @@ static inline size_t init_unary_req(htp_general_req * req, dspqueue_buffer * buf supported = true; break; + case GGML_OP_SQR: + req->op = HTP_OP_SQR; + supported = true; + break; + + case GGML_OP_SQRT: + req->op = HTP_OP_SQRT; + supported = true; + break; + case GGML_OP_UNARY: if (ggml_get_unary_op(t) == GGML_UNARY_OP_SILU) { req->op = HTP_OP_UNARY_SILU; @@ -2387,6 +2445,9 @@ static inline size_t init_unary_req(htp_general_req * req, dspqueue_buffer * buf } else if (ggml_get_glu_op(t) == GGML_GLU_OP_SWIGLU_OAI) { req->op = HTP_OP_GLU_SWIGLU_OAI; supported = true; + } else if (ggml_get_glu_op(t) == GGML_GLU_OP_GEGLU) { + req->op = HTP_OP_GLU_GEGLU; + supported = true; } break; @@ -2411,6 +2472,17 @@ static inline size_t init_unary_req(htp_general_req * req, dspqueue_buffer * buf return n_bufs; } +static inline size_t init_sum_rows_req(htp_general_req * req, dspqueue_buffer * bufs, const ggml_tensor * t) { + memcpy(&req->op_params, &t->op_params, sizeof(t->op_params)); + req->op = HTP_OP_SUM_ROWS; + + size_t n_bufs = 0; + n_bufs += htp_req_buff_init(&req->src0, &bufs[n_bufs], t->src[0], DSPQBUF_TYPE_CPU_WRITE_DSP_READ); + n_bufs += htp_req_buff_init(&req->dst, &bufs[n_bufs], t, DSPQBUF_TYPE_DSP_WRITE_CPU_READ); + + return n_bufs; +} + static inline size_t init_rope_req(htp_general_req * req, dspqueue_buffer * bufs, const ggml_tensor * t) { memcpy(&req->op_params, &t->op_params, sizeof(t->op_params)); req->op = HTP_OP_ROPE; @@ -2519,6 +2591,7 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg case GGML_OP_MUL: case GGML_OP_ADD: case GGML_OP_SUB: + case GGML_OP_DIV: ggml_hexagon_dispatch_op>(sess, node, flags); break; case GGML_OP_ADD_ID: @@ -2528,6 +2601,13 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg case GGML_OP_SCALE: ggml_hexagon_dispatch_op(sess, node, flags); break; + case GGML_OP_SQR: + case GGML_OP_SQRT: + ggml_hexagon_dispatch_op(sess, node, flags); + break; + case GGML_OP_SUM_ROWS: + ggml_hexagon_dispatch_op(sess, node, flags); + break; case GGML_OP_UNARY: if ((ggml_get_unary_op(node) == GGML_UNARY_OP_SILU) || (ggml_get_unary_op(node) == GGML_UNARY_OP_GELU)) { @@ -2536,7 +2616,8 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg break; case GGML_OP_GLU: if ((ggml_get_glu_op(node) == GGML_GLU_OP_SWIGLU) || - (ggml_get_glu_op(node) == GGML_GLU_OP_SWIGLU_OAI)) { + (ggml_get_glu_op(node) == GGML_GLU_OP_SWIGLU_OAI) || + (ggml_get_glu_op(node) == GGML_GLU_OP_GEGLU)) { ggml_hexagon_dispatch_op(sess, node, flags); } break; @@ -2564,6 +2645,10 @@ static ggml_status ggml_backend_hexagon_graph_compute(ggml_backend_t backend, gg ggml_hexagon_dispatch_op(sess, node, flags); break; + case GGML_OP_ARGSORT: + ggml_hexagon_dispatch_op(sess, node, flags); + break; + default: GGML_ABORT("\nggml-hex: graph-compute %s is not supported\n", ggml_op_desc(node)); } @@ -2916,6 +3001,7 @@ static bool ggml_backend_hexagon_device_supports_op(ggml_backend_dev_t dev, cons case GGML_OP_MUL: case GGML_OP_ADD: case GGML_OP_SUB: + case GGML_OP_DIV: supp = ggml_hexagon_supported_binary(sess, op); break; @@ -2928,6 +3014,15 @@ static bool ggml_backend_hexagon_device_supports_op(ggml_backend_dev_t dev, cons supp = ggml_hexagon_supported_unary(sess, op); break; + case GGML_OP_SQR: + case GGML_OP_SQRT: + supp = ggml_hexagon_supported_unary(sess, op); + break; + + case GGML_OP_SUM_ROWS: + supp = ggml_hexagon_supported_sum_rows(sess, op); + break; + case GGML_OP_SOFT_MAX: supp = ggml_hexagon_supported_softmax(sess, op); break; @@ -2943,7 +3038,7 @@ static bool ggml_backend_hexagon_device_supports_op(ggml_backend_dev_t dev, cons case GGML_OP_GLU: { const auto glu_op = ggml_get_glu_op(op); - if ((glu_op == GGML_GLU_OP_SWIGLU) || (glu_op == GGML_GLU_OP_SWIGLU_OAI)) { + if ((glu_op == GGML_GLU_OP_SWIGLU) || (glu_op == GGML_GLU_OP_SWIGLU_OAI) || (glu_op == GGML_GLU_OP_GEGLU)) { supp = ggml_hexagon_supported_activations(sess, op); } break; @@ -2968,6 +3063,10 @@ static bool ggml_backend_hexagon_device_supports_op(ggml_backend_dev_t dev, cons supp = ggml_hexagon_supported_cpy(sess, op); break; + case GGML_OP_ARGSORT: + supp = ggml_hexagon_supported_argsort(sess, op); + break; + default: break; } diff --git a/ggml/src/ggml-hexagon/htp/CMakeLists.txt b/ggml/src/ggml-hexagon/htp/CMakeLists.txt index e8ef203045..2c23b60da3 100644 --- a/ggml/src/ggml-hexagon/htp/CMakeLists.txt +++ b/ggml/src/ggml-hexagon/htp/CMakeLists.txt @@ -6,6 +6,7 @@ include(${HEXAGON_SDK_ROOT}/build/cmake/hexagon_fun.cmake) include_directories( ${HEXAGON_SDK_ROOT}/incs ${HEXAGON_SDK_ROOT}/incs/stddef + ${CMAKE_CURRENT_SOURCE_DIR}/../../../include ${CMAKE_CURRENT_SOURCE_DIR}/../.. ${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR} @@ -21,6 +22,7 @@ add_library(${HTP_LIB} SHARED matmul-ops.c binary-ops.c unary-ops.c + sum-rows-ops.c softmax-ops.c act-ops.c rope-ops.c @@ -28,6 +30,7 @@ add_library(${HTP_LIB} SHARED set-rows-ops.c get-rows-ops.c cpy-ops.c + argsort-ops.c ) target_compile_definitions(${HTP_LIB} PRIVATE diff --git a/ggml/src/ggml-hexagon/htp/act-ops.c b/ggml/src/ggml-hexagon/htp/act-ops.c index c3daf5adb2..950d836ad3 100644 --- a/ggml/src/ggml-hexagon/htp/act-ops.c +++ b/ggml/src/ggml-hexagon/htp/act-ops.c @@ -410,7 +410,7 @@ static void unary_gelu_f32_per_thread(const struct htp_tensor * src0, // gelu = x * sigmoid(1.702 * x) // current implementation hvx_mul_scalar_f32((uint8_t *) dst_spad_ptr, (const uint8_t *) src0_spad_ptr, (float) 1.702, ne0); hvx_sigmoid_f32_aa((uint8_t *) dst_spad_ptr, (const uint8_t *) dst_spad_ptr, ne0); - hvx_mul_f32_aa((uint8_t *) dst_spad_ptr, (const uint8_t *) src0_spad_ptr, (const uint8_t *) dst_spad_ptr, ne0); + hvx_mul_f32_aaa((uint8_t *) dst_spad_ptr, (const uint8_t *) src0_spad_ptr, (const uint8_t *) dst_spad_ptr, ne0); } dma_queue_push_vtcm_to_ddr(dma_queue, @@ -516,7 +516,7 @@ static void unary_silu_f32_per_thread(const struct htp_tensor * src0, // silu = x * sigmoid(x) hvx_sigmoid_f32_aa((uint8_t *) dst_spad_ptr, (const uint8_t *) src0_spad_ptr, ne0); - hvx_mul_f32_aa((uint8_t *) dst_spad_ptr, (const uint8_t *) src0_spad_ptr, (const uint8_t *) dst_spad_ptr, ne0); + hvx_mul_f32_aaa((uint8_t *) dst_spad_ptr, (const uint8_t *) src0_spad_ptr, (const uint8_t *) dst_spad_ptr, ne0); } dma_queue_push_vtcm_to_ddr(dma_queue, @@ -541,6 +541,143 @@ static void unary_silu_f32_per_thread(const struct htp_tensor * src0, ne03, src0_start_row, src0_end_row, ne0, ne1, ne2, ne3, (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); } +static const float GELU_COEF_A = 0.044715f; +static const float SQRT_2_OVER_PI = 0.79788456080286535587989211986876f; + +static void glu_geglu_f32_per_thread(const struct htp_tensor * src0, + const struct htp_tensor * src1, + struct htp_tensor * dst, + const int32_t * op_params, + struct htp_spad * src0_spad, + struct htp_spad * src1_spad, + struct htp_spad * dst_spad, + uint32_t nth, + uint32_t ith, + uint32_t src0_nrows_per_thread, + dma_queue * dma_queue) { + htp_act_preamble3; + + size_t src0_row_size = nb01; + size_t src1_row_size = nb11; + size_t dst_row_size = nb1; + + uint64_t t1, t2; + t1 = HAP_perf_get_qtimer_count(); + + const uint32_t src0_nrows = ne01 * ne02 * ne03; // src0 rows + + const uint32_t src0_start_row = src0_nrows_per_thread * ith; + const uint32_t src0_end_row = MIN(src0_start_row + src0_nrows_per_thread, src0_nrows); + + // no work for this thread + if (src0_start_row >= src0_end_row) { + return; + } + + const uint8_t * restrict data_src0 = (const uint8_t *) src0->data; + const uint8_t * restrict data_src1 = (const uint8_t *) src1->data; + uint8_t * restrict data_dst = (uint8_t *) dst->data; + + const bool src1_valid = src1->ne[0]; + const int nc = (src1_valid) ? ne00 : ne00 / 2; + if (!src1_valid) { + const int32_t swapped = op_params[1]; + data_src1 = data_src0; + src1_row_size = src0_row_size; + + const size_t nc_in_bytes = nc * SIZEOF_FP32; + data_src0 += swapped ? nc_in_bytes : 0; + data_src1 += swapped ? 0 : nc_in_bytes; + } + + const size_t src0_row_size_aligned = hex_round_up(src0_row_size, VLEN); + const size_t src1_row_size_aligned = hex_round_up(src1_row_size, VLEN); + const size_t dst_row_size_aligned = hex_round_up(dst_row_size, VLEN); + + uint8_t * restrict src0_spad_data = src0_spad->data + (ith * src0_spad->size_per_thread); + uint8_t * restrict src1_spad_data = src1_spad->data + (ith * src1_spad->size_per_thread); + uint8_t * restrict dst_spad_data = dst_spad->data + (ith * dst_spad->size_per_thread); + + // While given src0_spad->size_per_thread, divide it to two ping-pong buffer for src0 + size_t src0_spad_half_size = src0_spad->size_per_thread / 2; + size_t src1_spad_half_size = src1_spad->size_per_thread / 2; + size_t dst_spad_half_size = dst_spad->size_per_thread / 2; + + const int BLOCK = src0_spad_half_size / src0_row_size_aligned; // How many rows can we process in one block + if (BLOCK == 0) { + FARF(ERROR, + "geglu-f32 : current VTCM reservation %zu is too small for even 1 row per thread, needed at least %zu\n", + src0_spad->size_per_thread, src0_row_size_aligned); + return; + } + + // See discussion: https://github.com/ggml-org/llama.cpp/pull/18151#issuecomment-3678235379 + for (uint32_t ir = src0_start_row, spad_idx = 0; ir < src0_end_row && spad_idx < 2; ir += BLOCK, spad_idx++) { + const uint32_t block_size = MIN(BLOCK, src0_end_row - ir); + + // Dummy DMA transation for sequencing (interleaving dst,src,dst,...) + dma_queue_push_vtcm_to_ddr(dma_queue, + dma_make_ptr(data_dst, dst_spad_data + (spad_idx * dst_spad_half_size)), + dst_row_size, dst_row_size_aligned, 0); + + dma_queue_push_ddr_to_vtcm(dma_queue, + dma_make_ptr(src0_spad_data + (spad_idx * src0_spad_half_size), data_src0 + (ir * src0_row_size)), + src0_row_size_aligned, src0_row_size, block_size); + dma_queue_push_ddr_to_vtcm(dma_queue, + dma_make_ptr(src1_spad_data + (spad_idx * src1_spad_half_size), data_src1 + (ir * src1_row_size)), + src1_row_size_aligned, src1_row_size, block_size); + } + + for (uint32_t ir = src0_start_row; ir < src0_end_row; ir += BLOCK) { + const uint32_t block_size = MIN(BLOCK, src0_end_row - ir); + + float * dst_spad = (float *) dma_queue_pop(dma_queue).src; + float * src0_spad = (float *) dma_queue_pop(dma_queue).dst; + float * src1_spad = (float *) dma_queue_pop(dma_queue).dst; + + for (uint32_t ib = 0; ib < block_size; ib++) { + const uint8_t * src0_spad_ptr = (const uint8_t *)(src0_spad + ib * (src0_row_size_aligned / sizeof(float))); + const uint8_t * src1_spad_ptr = (const uint8_t *)(src1_spad + ib * (src1_row_size_aligned / sizeof(float))); + uint8_t * dst_spad_ptr = (uint8_t *)(dst_spad + ib * (dst_row_size_aligned / sizeof(float))); + + // geglu tanh implementation + // geglu(x, g) = gelu(x) * g + // gelu(x) = 0.5f*x*(1.0f + tanhf(SQRT_2_OVER_PI*x*(1.0f + GELU_COEF_A*x*x))) + hvx_mul_f32_aaa(dst_spad_ptr, src0_spad_ptr, src0_spad_ptr, nc); // res = x*x + hvx_mul_scalar_f32_aa(dst_spad_ptr, (const uint8_t *)dst_spad_ptr, GELU_COEF_A, nc); // res = res * GELU_COEF_A + hvx_add_scalar_f32_aa(dst_spad_ptr, (const uint8_t *)dst_spad_ptr, 1.0f, nc); // res = res + 1.0f + hvx_mul_f32_aaa(dst_spad_ptr, src0_spad_ptr, (const uint8_t *)dst_spad_ptr, nc); // res = res * x + hvx_mul_scalar_f32_aa(dst_spad_ptr, (const uint8_t*)dst_spad_ptr, SQRT_2_OVER_PI, nc); // res = result * SQRT_2_OVER_PI + hvx_tanh_f32_aa((uint8_t *) dst_spad_ptr, (const uint8_t *) dst_spad_ptr, nc); // res = tanh(res) + hvx_add_scalar_f32_aa(dst_spad_ptr, (const uint8_t*)dst_spad_ptr, 1.0f, nc); // res = res + 1.0f + hvx_mul_f32_aaa(dst_spad_ptr, src0_spad_ptr, (const uint8_t *)dst_spad_ptr, nc); // res = res * x + hvx_mul_scalar_f32_aa(dst_spad_ptr, (const uint8_t *)dst_spad_ptr, 0.5f, nc); // res = res + 0.5f + hvx_mul_f32_aaa(dst_spad_ptr, (const uint8_t *)dst_spad_ptr, src1_spad_ptr, nc); // res = res * g + } + + dma_queue_push_vtcm_to_ddr(dma_queue, dma_make_ptr(data_dst + (ir * dst_row_size), dst_spad), dst_row_size, + dst_row_size_aligned, block_size); + + // prefetch N+2 loop iteration if any + const uint32_t pref_block = (ir + BLOCK * 2); + if (pref_block < src0_end_row) { + const uint32_t pref_block_size = MIN(BLOCK, src0_end_row - pref_block); + dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(src0_spad, data_src0 + (pref_block * src0_row_size)), + src0_row_size_aligned, src0_row_size, pref_block_size); + dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(src1_spad, data_src1 + (pref_block * src1_row_size)), + src1_row_size_aligned, src1_row_size, pref_block_size); + } + } + + dma_queue_flush(dma_queue); + + t2 = HAP_perf_get_qtimer_count(); + + FARF(HIGH, "geglu-f32 %d/%d: %ux%ux%ux%u (%u:%u) x %ux%ux%ux%u -> %ux%ux%ux%u usec %u\n", ith, nth, + ne00, ne01, ne02, ne03, src0_start_row, src0_end_row, ne10, ne11, ne12, ne13, ne0, ne1, ne2, ne3, + (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); +} + static void unary_silu_f32(unsigned int n, unsigned int i, void * data) { struct htp_ops_context * octx = (struct htp_ops_context *) data; unary_silu_f32_per_thread(&octx->src0, &octx->dst, octx->op_params, &octx->src0_spad, &octx->dst_spad, n, i, @@ -559,6 +696,12 @@ static void glu_swiglu_oai_f32(unsigned int n, unsigned int i, void * data) { &octx->src1_spad, &octx->dst_spad, n, i, octx->src0_nrows_per_thread, octx->ctx->dma[i]); } +static void glu_geglu_f32(unsigned int n, unsigned int i, void * data) { + struct htp_ops_context * octx = (struct htp_ops_context *) data; + glu_geglu_f32_per_thread(&octx->src0, &octx->src1, &octx->dst, octx->op_params, &octx->src0_spad, + &octx->src1_spad, &octx->dst_spad, n, i, octx->src0_nrows_per_thread, octx->ctx->dma[i]); +} + static int execute_op_activations_f32(struct htp_ops_context * octx) { int err = HTP_STATUS_OK; @@ -593,6 +736,11 @@ static int execute_op_activations_f32(struct htp_ops_context * octx) { act_op_func = unary_gelu_f32; op_type = "gelu-f32"; break; + + case HTP_OP_GLU_GEGLU: + act_op_func = glu_geglu_f32; + op_type = "geglu-f32"; + break; default: FARF(ERROR, "Unsupported activations Op %u\n", octx->op); return HTP_STATUS_NO_SUPPORT; diff --git a/ggml/src/ggml-hexagon/htp/argsort-ops.c b/ggml/src/ggml-hexagon/htp/argsort-ops.c new file mode 100644 index 0000000000..a4cee980be --- /dev/null +++ b/ggml/src/ggml-hexagon/htp/argsort-ops.c @@ -0,0 +1,281 @@ +#include +#include +#include +#include +#include + +#define GGML_COMMON_DECL_C +#include "ggml-common.h" +#include "ggml.h" + +#include "hvx-utils.h" +#include "hex-dma.h" + +#include "htp-ctx.h" +#include "htp-msg.h" +#include "htp-ops.h" + +#ifndef MIN +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#endif + +struct htp_argsort_context { + struct htp_ops_context * octx; + uint32_t nrows_per_thread; +}; + +static inline bool all_greater_f32(HVX_Vector x, HVX_Vector y) +{ + const HVX_Vector one = Q6_V_vsplat_R(1); + const HVX_Vector zero = Q6_V_vzero(); + + HVX_VectorPred pred = Q6_Q_vcmp_gt_VsfVsf(x, y); + HVX_Vector matches = Q6_V_vmux_QVV(pred, one, zero); + HVX_Vector sum = hvx_vec_reduce_sum_i32(matches); + return hvx_vec_get_i32(sum) == 32; +} + +// Sorts values and mirrors swaps to indices. +static void quicksort_values_indices_asc(float * values, int32_t * indices, int left, int right) { + if (left >= right) return; + + int pivot_idx = (left + right) / 2; + float pivot = values[pivot_idx]; + int i = left; + int j = right; + + HVX_Vector pivot_vec = hvx_vec_splat_f32(pivot); + while (i <= j) { + // Vectorized scan for i + while (i <= j) { + // Check if we have at least one full vector + if (i + 32 <= j) { + HVX_Vector vals_vec = *(HVX_UVector *)(values + i); + if (all_greater_f32(pivot_vec, vals_vec)) { + // If all elements are < pivot, we can skip this whole block + i += 32; + continue; + } + } + + // Scalar fallback / cleanup + if (values[i] < pivot) { + i++; + } else { + break; + } + } + + // Vectorized scan for j + while (i <= j) { + if (j - 32 >= i) { + // Load 32 elements ending at j. + // Since we want `values[j] > pivot`, let's load from j-31 to j. + HVX_Vector vals_vec = *(HVX_UVector *)(values + j - 31); + if (all_greater_f32(vals_vec, pivot_vec)) { + j -= 32; + continue; + } + } + + if (values[j] > pivot) { + j--; + } else { + break; + } + } + + if (i <= j) { + float tmp_val = values[i]; + values[i] = values[j]; + values[j] = tmp_val; + + int32_t tmp_idx = indices[i]; + indices[i] = indices[j]; + indices[j] = tmp_idx; + i++; + j--; + } + } + + if (left < j) quicksort_values_indices_asc(values, indices, left, j); + if (i < right) quicksort_values_indices_asc(values, indices, i, right); +} + +static void quicksort_values_indices_desc(float * values, int32_t * indices, int left, int right) { + if (left >= right) return; + + int pivot_idx = (left + right) / 2; + float pivot = values[pivot_idx]; + int i = left; + int j = right; + + HVX_Vector pivot_vec = hvx_vec_splat_f32(pivot); + + while (i <= j) { + // Vectorized scan for i (values[i] > pivot) + while (i <= j) { + if (i + 32 <= j) { + HVX_Vector vals_vec = *(HVX_UVector *)(values + i); + if (all_greater_f32(vals_vec, pivot_vec)) { + i += 32; + continue; + } + } + + if (values[i] > pivot) { + i++; + } else { + break; + } + } + + // Vectorized scan for j (values[j] < pivot) + while (i <= j) { + if (j - 32 >= i) { + HVX_Vector vals_vec = *(HVX_UVector *)(values + j - 31); + if (all_greater_f32(pivot_vec, vals_vec)) { + j -= 32; + continue; + } + } + + if (values[j] < pivot) { + j--; + } else { + break; + } + } + + if (i <= j) { + float tmp_val = values[i]; + values[i] = values[j]; + values[j] = tmp_val; + + int32_t tmp_idx = indices[i]; + indices[i] = indices[j]; + indices[j] = tmp_idx; + i++; + j--; + } + } + + if (left < j) quicksort_values_indices_desc(values, indices, left, j); + if (i < right) quicksort_values_indices_desc(values, indices, i, right); +} + +static void htp_argsort_f32(unsigned int n, unsigned int i, void * data) { + struct htp_argsort_context * actx = (struct htp_argsort_context *)data; + struct htp_ops_context * octx = actx->octx; + + // Unpack context + const struct htp_tensor * src0 = &octx->src0; + const struct htp_tensor * dst = &octx->dst; + + // Scratchpad memory + uint8_t * spad = octx->src0_spad.data + octx->src0_spad.size_per_thread * i; + + // Dimensions + uint32_t ne00 = src0->ne[0]; + uint32_t ne01 = src0->ne[1]; + uint32_t ne02 = src0->ne[2]; + uint32_t ne03 = src0->ne[3]; + + uint32_t nb01 = src0->nb[1]; + //uint32_t nb02 = src0->nb[2]; + //uint32_t nb03 = src0->nb[3]; + + uint32_t nb1 = dst->nb[1]; + //uint32_t nb2 = dst->nb[2]; + //uint32_t nb3 = dst->nb[3]; + + // Sort order + enum ggml_sort_order order = (enum ggml_sort_order) octx->op_params[0]; + + // Rows to process + uint32_t total_rows = ne01 * ne02 * ne03; + uint32_t rows_per_thread = actx->nrows_per_thread; + uint32_t start_row = rows_per_thread * i; + uint32_t end_row = MIN(start_row + rows_per_thread, total_rows); + + // Scratchpad layout: + // We need space for one row of float data (values) and one row of int32 indices. + // values: ne00 * sizeof(float) + // indices: ne00 * sizeof(int32_t) + // Padded to 128 bytes. + + size_t values_size = hex_round_up(ne00 * sizeof(float), 128); + float * values_buf = (float *) spad; + int32_t * indices_buf = (int32_t *) (spad + values_size); + + for (uint32_t r = start_row; r < end_row; r++) { + uint32_t src_offset = r * nb01; + uint32_t dst_offset = r * nb1; + + uint8_t * src_ptr = (uint8_t *) src0->data + src_offset; + uint8_t * dst_ptr = (uint8_t *) dst->data + dst_offset; + + hex_l2fetch(src_ptr, ne00 * sizeof(float), ne00 * sizeof(float), 1); + hvx_copy_f32_au((uint8_t*)values_buf, src_ptr, ne00); + + // Initialize indices + for (uint32_t j = 0; j < ne00; j++) { + indices_buf[j] = j; + } + + // Sort values and mirror swaps to indices + if (order == GGML_SORT_ORDER_ASC) { + quicksort_values_indices_asc(values_buf, indices_buf, 0, ne00 - 1); + } else { + quicksort_values_indices_desc(values_buf, indices_buf, 0, ne00 - 1); + } + + // Copy indices back to DDR + hvx_copy_f32_ua(dst_ptr, (const uint8_t *) indices_buf, ne00); + } +} + +int op_argsort(struct htp_ops_context * octx) { + // Check supported types + if (octx->src0.type != HTP_TYPE_F32) { + return HTP_STATUS_NO_SUPPORT; + } + + // Allocate scratchpad + // We need 1 row of float + 1 row of int32 per thread. + uint32_t ne00 = octx->src0.ne[0]; + size_t values_size = hex_round_up(ne00 * sizeof(float), 128); + size_t indices_size = hex_round_up(ne00 * sizeof(int32_t), 128); + size_t spad_per_thread = values_size + indices_size; + + // Make sure we round up to 256 for alignment requirements + spad_per_thread = hex_round_up(spad_per_thread, 256); + + size_t total_spad_size = spad_per_thread * octx->n_threads; + + if (octx->ctx->vtcm_size < total_spad_size) { + FARF(ERROR, "argsort: VTCM size too small. Needed %zu, have %zu", total_spad_size, octx->ctx->vtcm_size); + return HTP_STATUS_VTCM_TOO_SMALL; + } + + octx->src0_spad.data = octx->ctx->vtcm_base; + octx->src0_spad.size = total_spad_size; + octx->src0_spad.size_per_thread = spad_per_thread; + + FARF(HIGH, "argsort: %ux%ux%ux%u -> %ux%ux%ux%u (0x%x, 0x%x)", + octx->src0.ne[0], octx->src0.ne[1], octx->src0.ne[2], octx->src0.ne[3], + octx->dst.ne[0], octx->dst.ne[1], octx->dst.ne[2], octx->dst.ne[3], + octx->src0.data, octx->dst.data); + + uint32_t total_rows = octx->src0.ne[1] * octx->src0.ne[2] * octx->src0.ne[3]; + uint32_t n_jobs = MIN(total_rows, octx->n_threads); + + struct htp_argsort_context actx; + actx.octx = octx; + actx.nrows_per_thread = (total_rows + n_jobs - 1) / n_jobs; + + // Run jobs + worker_pool_run_func(octx->ctx->worker_pool, htp_argsort_f32, &actx, n_jobs); + + return HTP_STATUS_OK; +} diff --git a/ggml/src/ggml-hexagon/htp/binary-ops.c b/ggml/src/ggml-hexagon/htp/binary-ops.c index de22afe460..00dbcf8798 100644 --- a/ggml/src/ggml-hexagon/htp/binary-ops.c +++ b/ggml/src/ggml-hexagon/htp/binary-ops.c @@ -17,15 +17,37 @@ #include "htp-msg.h" #include "htp-ops.h" -typedef void (*hvx_elemwise_f32_func)(uint8_t * data_dst, const uint8_t * src0, const uint8_t * src1, const uint32_t num_elems); +#ifndef MIN +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#endif -static hvx_elemwise_f32_func func_table_HVX[] = { hvx_mul_f32, hvx_add_f32, hvx_sub_f32 }; -static hvx_elemwise_f32_func func_table_HVX_opt[] = { hvx_mul_f32_aa, hvx_add_f32_aa, hvx_sub_f32_aa }; +// Context for binary operations +struct htp_binary_context { + struct htp_ops_context * octx; + struct fastdiv_values dim1_div; + struct fastdiv_values dim2_div; + struct fastdiv_values dim12_div; + + struct fastdiv_values src1_dim1_div; // ne11 + struct fastdiv_values src1_dim2_div; // ne12 + struct fastdiv_values src1_dim3_div; // ne13 + + uint32_t nrows_per_thread; + bool split_at_ne01; + bool split_at_ne02; + + // Precomputed values + uint32_t block_max; + size_t src0_row_size_aligned; + size_t src1_row_size_aligned; + size_t dst_row_size_aligned; + uint32_t src1_fetch_rows; // 1 or block_max + uint32_t src1_dma_stride; // 0 or stride +}; #define htp_binary_preamble \ const struct htp_tensor * src0 = &octx->src0; \ const struct htp_tensor * src1 = &octx->src1; \ - const struct htp_tensor * src2 = &octx->src2; \ struct htp_tensor * dst = &octx->dst; \ \ const uint32_t ne00 = src0->ne[0]; \ @@ -38,266 +60,696 @@ static hvx_elemwise_f32_func func_table_HVX_opt[] = { hvx_mul_f32_aa, hvx_add_f3 const uint32_t ne12 = src1->ne[2]; \ const uint32_t ne13 = src1->ne[3]; \ \ - const uint32_t ne0 = dst->ne[0]; \ - const uint32_t ne1 = dst->ne[1]; \ - const uint32_t ne2 = dst->ne[2]; \ - const uint32_t ne3 = dst->ne[3]; \ - \ - const uint32_t nb00 = src0->nb[0]; \ const uint32_t nb01 = src0->nb[1]; \ const uint32_t nb02 = src0->nb[2]; \ const uint32_t nb03 = src0->nb[3]; \ \ - const uint32_t nb10 = src1->nb[0]; \ const uint32_t nb11 = src1->nb[1]; \ const uint32_t nb12 = src1->nb[2]; \ const uint32_t nb13 = src1->nb[3]; \ \ - const uint32_t nb0 = dst->nb[0]; \ const uint32_t nb1 = dst->nb[1]; \ const uint32_t nb2 = dst->nb[2]; \ - const uint32_t nb3 = dst->nb[3]; \ - \ - const uint32_t src0_nrows_per_thread = octx->src0_nrows_per_thread; + const uint32_t nb3 = dst->nb[3]; -static void binary_job_f32_per_thread(struct htp_ops_context * octx, - uint8_t * spad_data, - uint32_t nth, - uint32_t ith, - enum htp_op op) { - htp_binary_preamble; +static inline uint32_t calc_block_size(struct htp_binary_context * bctx, uint32_t ir, uint32_t end_row, + uint32_t ne01, uint32_t ne02) { + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir, &bctx->dim12_div); + rem = ir - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; - const size_t src0_row_size = nb01; - const size_t src1_row_size = nb11; - const size_t dst_row_size = nb1; + uint32_t rows_left = end_row - ir; + uint32_t block_limit = rows_left; - const uint32_t src0_nrows = ne01 * ne02 * ne03; // src0 rows - const uint32_t src1_nrows = ne11 * ne12 * ne13; // src1 rows - - const uint32_t src0_start_row = src0_nrows_per_thread * ith; - const uint32_t src0_end_row = MIN(src0_start_row + src0_nrows_per_thread, src0_nrows); - - // no work for this thread - if (src0_start_row >= src0_end_row) { - return; + if (bctx->split_at_ne01) { + block_limit = MIN(block_limit, ne01 - i01); + } + if (bctx->split_at_ne02) { + uint32_t rows_in_plane = (ne02 * ne01) - rem; + block_limit = MIN(block_limit, rows_in_plane); } - uint64_t t1, t2; - t1 = HAP_perf_get_qtimer_count(); - - int is_aligned = 1; - int opt_path = 0; - if ((0 == hex_is_aligned((void *) src0->data, VLEN)) || (0 == hex_is_aligned((void *) src1->data, VLEN)) || - (0 == hex_is_aligned((void *) dst->data, VLEN))) { - is_aligned = 0; - } - if ((1 == is_aligned) && !(nb01 & (VLEN - 1))) { - opt_path = 1; - } - - hvx_elemwise_f32_func func_HVX = (1 == opt_path) ? func_table_HVX_opt[op] : func_table_HVX[op]; - - uint8_t * restrict spad_data_th = spad_data + (ith * src0_row_size); - - const uint8_t * restrict src0_ptr = (const uint8_t *) src0->data + (src0_start_row * src0_row_size); - uint8_t * restrict dst_ptr = (uint8_t *) dst->data + (src0_start_row * dst_row_size); - - const uint8_t * restrict data_src1 = (const uint8_t *) src1->data; - - const uint32_t ne02_ne01 = ne02 * ne01; - - for (uint32_t ir = src0_start_row; ir < src0_end_row; ir++) { - const uint32_t i03 = fastdiv(ir, &octx->src0_div21); - const uint32_t i02 = fastdiv(ir - i03 * ne02_ne01, &octx->src0_div1); - const uint32_t i01 = (ir - i03 * ne02_ne01 - i02 * ne01); - - const uint32_t i13 = fastmodulo(i03, ne13, &octx->src1_div3); - const uint32_t i12 = fastmodulo(i02, ne12, &octx->src1_div2); - const uint32_t i11 = fastmodulo(i01, ne11, &octx->src1_div1); - - const uint8_t * restrict src1_ptr = data_src1 + i13 * nb13 + i12 * nb12 + i11 * src1_row_size; - - if (ir + 1 < src0_end_row) { - hex_l2fetch(src0_ptr + ne00, src0_row_size, src0_row_size, 1); - if (src1_row_size == src0_row_size) { - hex_l2fetch(src1_ptr, src1_row_size, src1_row_size, 1); - } - } - - const uint32_t nr0 = ne00 / ne10; - if (nr0 > 1) { - if ((1 == is_aligned) && (nr0 == ne00)) { - hvx_splat_f32_a(spad_data_th, *(float *) src1_ptr, nr0); - } else { - for (uint32_t r = 0; r < nr0; r++) { - memcpy(spad_data_th + r * nb11, (const uint8_t *) src1_ptr, nb11); - } - } - func_HVX((uint8_t *) dst_ptr, (const uint8_t *) src0_ptr, (const uint8_t *) spad_data_th, ne00); - } else { - func_HVX((uint8_t *) dst_ptr, (const uint8_t *) src0_ptr, (const uint8_t *) src1_ptr, ne00); - } - - src0_ptr += src0_row_size; - dst_ptr += dst_row_size; - } - - t2 = HAP_perf_get_qtimer_count(); - - FARF(HIGH, "binary-f32 %d/%d/%d: %ux%ux%ux%u (%u:%u) x %ux%ux%ux%u -> %ux%ux%ux%u usec %u\n", ith, nth, opt_path, - ne00, ne01, ne02, ne03, src0_start_row, src0_end_row, ne10, ne11, ne12, ne13, ne0, ne1, ne2, ne3, - (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); + return MIN(bctx->block_max, block_limit); } -static void binary_add_id_job_f32_per_thread(struct htp_ops_context * octx, - uint8_t * spad_data, - uint32_t nth, - uint32_t ith, - hvx_elemwise_f32_func func_HVX) { +// Macro for scalar op switch +#define COMPUTE_SCALAR_OP(DST, SRC, VAL, N) \ + switch (octx->op) { \ + case HTP_OP_ADD: hvx_add_scalar_f32_aa(DST, SRC, VAL, N); break; \ + case HTP_OP_SUB: hvx_sub_scalar_f32_aa(DST, SRC, VAL, N); break; \ + case HTP_OP_MUL: hvx_mul_scalar_f32_aa(DST, SRC, VAL, N); break; \ + case HTP_OP_DIV: hvx_mul_scalar_f32_aa(DST, SRC, 1.0f / (VAL), N); break; \ + default: break; \ + } + +// Macro for vector op switch (All Aligned) +#define COMPUTE_VECTOR_OP_AAA(DST, SRC0, SRC1, N) \ + switch (octx->op) { \ + case HTP_OP_ADD: hvx_add_f32_aaa(DST, SRC0, SRC1, N); break; \ + case HTP_OP_SUB: hvx_sub_f32_aaa(DST, SRC0, SRC1, N); break; \ + case HTP_OP_MUL: hvx_mul_f32_aaa(DST, SRC0, SRC1, N); break; \ + case HTP_OP_DIV: hvx_div_f32_aaa(DST, SRC0, SRC1, N); break; \ + default: break; \ + } + +// Macro for vector op switch (Dst Aligned, Src0 Aligned, Src1 Unaligned) +#define COMPUTE_VECTOR_OP_AAU(DST, SRC0, SRC1, N) \ + switch (octx->op) { \ + case HTP_OP_ADD: hvx_add_f32_aau(DST, SRC0, SRC1, N); break; \ + case HTP_OP_SUB: hvx_sub_f32_aau(DST, SRC0, SRC1, N); break; \ + case HTP_OP_MUL: hvx_mul_f32_aau(DST, SRC0, SRC1, N); break; \ + case HTP_OP_DIV: hvx_div_f32_aau(DST, SRC0, SRC1, N); break; \ + default: break; \ + } + +// Macro for vector op switch (All Unaligned - generic loop used in element repeat) +#define COMPUTE_VECTOR_OP_UUU(DST, SRC0, SRC1, N) \ + switch (octx->op) { \ + case HTP_OP_ADD: hvx_add_f32_uuu(DST, SRC0, SRC1, N); break; \ + case HTP_OP_SUB: hvx_sub_f32_uuu(DST, SRC0, SRC1, N); break; \ + case HTP_OP_MUL: hvx_mul_f32_uuu(DST, SRC0, SRC1, N); break; \ + case HTP_OP_DIV: hvx_div_f32_uuu(DST, SRC0, SRC1, N); break; \ + default: break; \ + } + +// 1. Scalar src1 (ne10 == 1) +static void binary_job_scalar(unsigned int nth, unsigned int ith, void * data) { + struct htp_binary_context * bctx = (struct htp_binary_context *) data; + struct htp_ops_context * octx = bctx->octx; htp_binary_preamble; - const size_t src0_row_size = nb01; - const size_t src1_row_size = nb11; - const size_t dst_row_size = nb1; + const uint32_t total_rows = ne01 * ne02 * ne03; + const uint32_t start_row = bctx->nrows_per_thread * ith; + const uint32_t end_row = MIN(start_row + bctx->nrows_per_thread, total_rows); + if (start_row >= end_row) return; - const uint32_t src0_nrows = ne01 * ne02 * ne03; // src0 rows + uint8_t * src0_spad_base = octx->src0_spad.data + (ith * octx->src0_spad.size_per_thread); + uint8_t * dst_spad_base = octx->dst_spad.data + (ith * octx->dst_spad.size_per_thread); + size_t src0_spad_half = octx->src0_spad.size_per_thread / 2; + size_t dst_spad_half = octx->dst_spad.size_per_thread / 2; - const uint32_t src0_start_row = src0_nrows_per_thread * ith; - const uint32_t src0_end_row = MIN(src0_start_row + src0_nrows_per_thread, src0_nrows); + dma_queue * q = octx->ctx->dma[ith]; + uint32_t ir_prefetch = start_row; + int spad_idx = 0; - // no work for this thread - if (src0_start_row >= src0_end_row) { - return; + // Preamble + for (int k = 0; k < 2 && ir_prefetch < end_row; k++) { + uint32_t current_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir_prefetch, &bctx->dim12_div); + rem = ir_prefetch - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + + uint8_t * src0_curr = (uint8_t *)src0->data + i03 * nb03 + i02 * nb02 + i01 * nb01; + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + + uint8_t * s0_spad = src0_spad_base + spad_idx * src0_spad_half; + uint8_t * d_spad = dst_spad_base + spad_idx * dst_spad_half; + + dma_queue_push_vtcm_to_ddr(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, 0); + dma_queue_push(q, dma_make_ptr(s0_spad, src0_curr), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), current_block_size); + ir_prefetch += current_block_size; + spad_idx ^= 1; } - uint64_t t1, t2; - t1 = HAP_perf_get_qtimer_count(); + // Main loop + for (uint32_t ir = start_row; ir < end_row; ) { + uint32_t current_block_size = calc_block_size(bctx, ir, end_row, ne01, ne02); - const uint8_t * restrict data_src0 = (const uint8_t *) src0->data; - const uint8_t * restrict data_src1 = (const uint8_t *) src1->data; - uint8_t * restrict data_dst = (uint8_t *) dst->data; + uint8_t * d_spad = (uint8_t *) dma_queue_pop(q).src; + uint8_t * s0_spad = (uint8_t *) dma_queue_pop(q).dst; - const uint32_t ne02_ne01 = ne02 * ne01; - for (uint32_t ir = src0_start_row; ir < src0_end_row; ir++) { - // src0 indices - const uint32_t i03 = fastdiv(ir, &octx->src0_div21); - const uint32_t i02 = fastdiv(ir - i03 * ne02_ne01, &octx->src0_div1); - const uint32_t i01 = (ir - i03 * ne02_ne01 - i02 * ne01); + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir, &bctx->dim12_div); + rem = ir - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; - // src1 indices - const int i11 = *(int32_t *) ((char *) src2->data + i01 * src2->nb[0] + i02 * src2->nb[1]); - assert(i11 >= 0 && i11 < ne11); + // src1 indices (broadcast/repeat) + uint32_t i13 = fastmodulo(i03, ne13, &bctx->src1_dim3_div); + uint32_t i12 = fastmodulo(i02, ne12, &bctx->src1_dim2_div); + uint32_t i11 = fastmodulo(i01, ne11, &bctx->src1_dim1_div); - float * restrict dst_ptr = (float *) (data_dst + i03 * nb3 + i02 * nb2 + i01 * nb1); - const float * restrict src0_ptr = (const float *) (data_src0 + i03 * nb03 + i02 * nb02 + i01 * nb01); - const float * restrict src1_ptr = (const float *) (data_src1 + 0 + 0 + i11 * nb11); + uint8_t * src1_ptr = (uint8_t *)src1->data + i13 * nb13 + i12 * nb12 + i11 * nb11; + uint32_t s1_stride = (ne11 == 1) ? 0 : nb11; - if (ir + 1 < src0_end_row) { - hex_l2fetch(src0_ptr + ne00, src0_row_size, src0_row_size, 1); - if (src1_row_size == src0_row_size) { - hex_l2fetch(src1_ptr + ne10, src1_row_size, src1_row_size, 1); - } + for (uint32_t r = 0; r < current_block_size; r++) { + uint8_t * r_src0 = s0_spad + r * bctx->src0_row_size_aligned; + uint8_t * r_dst = d_spad + r * bctx->dst_row_size_aligned; + float val = *(float *)src1_ptr; + src1_ptr += s1_stride; + COMPUTE_SCALAR_OP(r_dst, r_src0, val, ne00); } - const uint32_t nr0 = ne00 / ne10; - if (nr0 > 1) { - for (uint32_t r = 0; r < nr0; r++) { - memcpy(spad_data + r * nb10, (const uint8_t *) src1_ptr, nb10); - } - func_HVX((uint8_t *) dst_ptr, (const uint8_t *) src0_ptr, (const uint8_t *) spad_data, ne00); - } else { - func_HVX((uint8_t *) dst_ptr, (const uint8_t *) src0_ptr, (const uint8_t *) src1_ptr, ne00); + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + dma_queue_push(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, ne00 * sizeof(float), current_block_size); + + if (ir_prefetch < end_row) { + uint32_t next_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t p03, p02, p01, prem; + p03 = fastdiv(ir_prefetch, &bctx->dim12_div); + prem = ir_prefetch - p03 * (ne02 * ne01); + p02 = fastdiv(prem, &bctx->dim1_div); + p01 = prem - p02 * ne01; + uint8_t * s0_next = (uint8_t *)src0->data + p03 * nb03 + p02 * nb02 + p01 * nb01; + + dma_queue_push(q, dma_make_ptr(s0_spad, s0_next), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), next_block_size); + ir_prefetch += next_block_size; } + ir += current_block_size; } - - t2 = HAP_perf_get_qtimer_count(); - - FARF(HIGH, "add-id-f32 %d/%d: %ux%ux%ux%u (%u:%u) x %ux%ux%ux%u (%ux%ux%ux%u) -> %ux%ux%ux%u usec %u\n", ith, nth, - src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src0_start_row, src0_end_row, src1->ne[0], src1->ne[1], - src1->ne[2], src1->ne[3], src2->ne[0], src2->ne[1], src2->ne[2], src2->ne[3], dst->ne[0], dst->ne[1], - dst->ne[2], dst->ne[3], (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); + dma_queue_flush(q); } -static void binary_job_dispatcher_f32(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = (struct htp_ops_context *) data; +// 2. Vector Same Shape (ne1x == ne0x) or Simple Broadcast +static void binary_job_vector_same_shape(unsigned int nth, unsigned int ith, void * data) { + struct htp_binary_context * bctx = (struct htp_binary_context *) data; + struct htp_ops_context * octx = bctx->octx; + htp_binary_preamble; - switch (octx->op) { - case HTP_OP_MUL: - case HTP_OP_ADD: - case HTP_OP_SUB: - binary_job_f32_per_thread(octx, octx->src1_spad.data, n, i, octx->op); - break; + const uint32_t total_rows = ne01 * ne02 * ne03; + const uint32_t start_row = bctx->nrows_per_thread * ith; + const uint32_t end_row = MIN(start_row + bctx->nrows_per_thread, total_rows); + if (start_row >= end_row) return; - case HTP_OP_ADD_ID: - binary_add_id_job_f32_per_thread(octx, octx->src0_spad.data, n, i, hvx_add_f32); - break; + uint8_t * src0_spad_base = octx->src0_spad.data + (ith * octx->src0_spad.size_per_thread); + uint8_t * src1_spad_base = octx->src1_spad.data + (ith * octx->src1_spad.size_per_thread); + uint8_t * dst_spad_base = octx->dst_spad.data + (ith * octx->dst_spad.size_per_thread); - default: - FARF(ERROR, "Unknown Binary Op %u", octx->op); - break; + size_t src0_spad_half = octx->src0_spad.size_per_thread / 2; + size_t src1_spad_half = octx->src1_spad.size_per_thread / 2; + size_t dst_spad_half = octx->dst_spad.size_per_thread / 2; + + dma_queue * q = octx->ctx->dma[ith]; + uint32_t ir_prefetch = start_row; + int spad_idx = 0; + + for (int k = 0; k < 2 && ir_prefetch < end_row; k++) { + uint32_t current_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir_prefetch, &bctx->dim12_div); + rem = ir_prefetch - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + + uint32_t i13 = (ne13 == 1) ? 0 : i03; + uint32_t i12 = (ne12 == 1) ? 0 : i02; + uint32_t i11 = (ne11 == 1) ? 0 : i01; + + uint8_t * src0_curr = (uint8_t *)src0->data + i03 * nb03 + i02 * nb02 + i01 * nb01; + uint8_t * src1_base = (uint8_t *)src1->data + i13 * nb13 + i12 * nb12 + i11 * nb11; + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + + uint8_t * s0_spad = src0_spad_base + spad_idx * src0_spad_half; + uint8_t * s1_spad = src1_spad_base + spad_idx * src1_spad_half; + uint8_t * d_spad = dst_spad_base + spad_idx * dst_spad_half; + + dma_queue_push_vtcm_to_ddr(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, 0); + dma_queue_push(q, dma_make_ptr(s0_spad, src0_curr), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), current_block_size); + dma_queue_push(q, dma_make_ptr(s1_spad, src1_base), bctx->src1_row_size_aligned, bctx->src1_dma_stride, ne00 * sizeof(float), current_block_size); + ir_prefetch += current_block_size; + spad_idx ^= 1; } + + for (uint32_t ir = start_row; ir < end_row; ) { + uint32_t current_block_size = calc_block_size(bctx, ir, end_row, ne01, ne02); + uint8_t * d_spad = (uint8_t *) dma_queue_pop(q).src; + uint8_t * s0_spad = (uint8_t *) dma_queue_pop(q).dst; + uint8_t * s1_spad = (uint8_t *) dma_queue_pop(q).dst; + + for (uint32_t r = 0; r < current_block_size; r++) { + uint8_t * r_src0 = s0_spad + r * bctx->src0_row_size_aligned; + uint8_t * r_src1 = s1_spad + r * bctx->src1_row_size_aligned; + uint8_t * r_dst = d_spad + r * bctx->dst_row_size_aligned; + COMPUTE_VECTOR_OP_AAA(r_dst, r_src0, r_src1, ne00); + } + + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir, &bctx->dim12_div); + rem = ir - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + dma_queue_push(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, ne00 * sizeof(float), current_block_size); + + if (ir_prefetch < end_row) { + uint32_t next_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t p03, p02, p01, prem; + p03 = fastdiv(ir_prefetch, &bctx->dim12_div); + prem = ir_prefetch - p03 * (ne02 * ne01); + p02 = fastdiv(prem, &bctx->dim1_div); + p01 = prem - p02 * ne01; + + uint32_t p13 = (ne13 == 1) ? 0 : p03; + uint32_t p12 = (ne12 == 1) ? 0 : p02; + uint32_t p11 = (ne11 == 1) ? 0 : p01; + + uint8_t * s0_next = (uint8_t *)src0->data + p03 * nb03 + p02 * nb02 + p01 * nb01; + uint8_t * s1_next = (uint8_t *)src1->data + p13 * nb13 + p12 * nb12 + p11 * nb11; + + dma_queue_push(q, dma_make_ptr(s0_spad, s0_next), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), next_block_size); + dma_queue_push(q, dma_make_ptr(s1_spad, s1_next), bctx->src1_row_size_aligned, bctx->src1_dma_stride, ne00 * sizeof(float), next_block_size); + + ir_prefetch += next_block_size; + } + ir += current_block_size; + } + dma_queue_flush(q); +} + +// 3. Row Broadcast (ne11 == 1, ne12 == 1, single row src1) +static void binary_job_vector_row_broadcast(unsigned int nth, unsigned int ith, void * data) { + struct htp_binary_context * bctx = (struct htp_binary_context *) data; + struct htp_ops_context * octx = bctx->octx; + htp_binary_preamble; + + const uint32_t total_rows = ne01 * ne02 * ne03; + const uint32_t start_row = bctx->nrows_per_thread * ith; + const uint32_t end_row = MIN(start_row + bctx->nrows_per_thread, total_rows); + if (start_row >= end_row) return; + + uint8_t * src0_spad_base = octx->src0_spad.data + (ith * octx->src0_spad.size_per_thread); + uint8_t * src1_spad = octx->src1_spad.data + (ith * octx->src1_spad.size_per_thread); + uint8_t * dst_spad_base = octx->dst_spad.data + (ith * octx->dst_spad.size_per_thread); + + size_t src0_spad_half = octx->src0_spad.size_per_thread / 2; + size_t dst_spad_half = octx->dst_spad.size_per_thread / 2; + + dma_queue * q = octx->ctx->dma[ith]; + uint32_t ir_prefetch = start_row; + int spad_idx = 0; + + void * s1_ptr = (void *) src1_spad; + + for (int k = 0; k < 2 && ir_prefetch < end_row; k++) { + uint32_t current_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir_prefetch, &bctx->dim12_div); + rem = ir_prefetch - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + + uint8_t * src0_curr = (uint8_t *)src0->data + i03 * nb03 + i02 * nb02 + i01 * nb01; + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + + uint8_t * s0_spad = src0_spad_base + spad_idx * src0_spad_half; + uint8_t * d_spad = dst_spad_base + spad_idx * dst_spad_half; + + dma_queue_push_vtcm_to_ddr(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, 0); + dma_queue_push(q, dma_make_ptr(s0_spad, src0_curr), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), current_block_size); + ir_prefetch += current_block_size; + spad_idx ^= 1; + } + + for (uint32_t ir = start_row; ir < end_row; ) { + uint32_t current_block_size = calc_block_size(bctx, ir, end_row, ne01, ne02); + uint8_t * d_spad = (uint8_t *) dma_queue_pop(q).src; + uint8_t * s0_spad = (uint8_t *) dma_queue_pop(q).dst; + + for (uint32_t r = 0; r < current_block_size; r++) { + uint8_t * r_src0 = s0_spad + r * bctx->src0_row_size_aligned; + uint8_t * r_src1 = (uint8_t *)s1_ptr; // Constant + uint8_t * r_dst = d_spad + r * bctx->dst_row_size_aligned; + COMPUTE_VECTOR_OP_AAA(r_dst, r_src0, r_src1, ne00); + } + + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir, &bctx->dim12_div); + rem = ir - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + dma_queue_push(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, ne00 * sizeof(float), current_block_size); + + if (ir_prefetch < end_row) { + uint32_t next_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t p03, p02, p01, prem; + p03 = fastdiv(ir_prefetch, &bctx->dim12_div); + prem = ir_prefetch - p03 * (ne02 * ne01); + p02 = fastdiv(prem, &bctx->dim1_div); + p01 = prem - p02 * ne01; + uint8_t * s0_next = (uint8_t *)src0->data + p03 * nb03 + p02 * nb02 + p01 * nb01; + dma_queue_push(q, dma_make_ptr(s0_spad, s0_next), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), next_block_size); + ir_prefetch += next_block_size; + } + ir += current_block_size; + } + dma_queue_flush(q); +} + +// 4. Vector Complex (ne10 == ne00, complex broadcast) +static void binary_job_vector_complex(unsigned int nth, unsigned int ith, void * data) { + struct htp_binary_context * bctx = (struct htp_binary_context *) data; + struct htp_ops_context * octx = bctx->octx; + htp_binary_preamble; + + const uint32_t total_rows = ne01 * ne02 * ne03; + const uint32_t start_row = bctx->nrows_per_thread * ith; + const uint32_t end_row = MIN(start_row + bctx->nrows_per_thread, total_rows); + if (start_row >= end_row) return; + + uint8_t * src0_spad_base = octx->src0_spad.data + (ith * octx->src0_spad.size_per_thread); + uint8_t * dst_spad_base = octx->dst_spad.data + (ith * octx->dst_spad.size_per_thread); + size_t src0_spad_half = octx->src0_spad.size_per_thread / 2; + size_t dst_spad_half = octx->dst_spad.size_per_thread / 2; + + dma_queue * q = octx->ctx->dma[ith]; + uint32_t ir_prefetch = start_row; + int spad_idx = 0; + + for (int k = 0; k < 2 && ir_prefetch < end_row; k++) { + uint32_t current_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir_prefetch, &bctx->dim12_div); + rem = ir_prefetch - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + + uint8_t * src0_curr = (uint8_t *)src0->data + i03 * nb03 + i02 * nb02 + i01 * nb01; + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + + uint8_t * s0_spad = src0_spad_base + spad_idx * src0_spad_half; + uint8_t * d_spad = dst_spad_base + spad_idx * dst_spad_half; + + dma_queue_push_vtcm_to_ddr(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, 0); + dma_queue_push(q, dma_make_ptr(s0_spad, src0_curr), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), current_block_size); + ir_prefetch += current_block_size; + spad_idx ^= 1; + } + + for (uint32_t ir = start_row; ir < end_row; ) { + uint32_t current_block_size = calc_block_size(bctx, ir, end_row, ne01, ne02); + uint8_t * d_spad = (uint8_t *) dma_queue_pop(q).src; + uint8_t * s0_spad = (uint8_t *) dma_queue_pop(q).dst; + + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir, &bctx->dim12_div); + rem = ir - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + + for (uint32_t r = 0; r < current_block_size; r++) { + uint32_t r_i01 = i01 + r; + uint32_t i13 = fastmodulo(i03, ne13, &bctx->src1_dim3_div); + uint32_t i12 = fastmodulo(i02, ne12, &bctx->src1_dim2_div); + uint32_t i11 = fastmodulo(r_i01, ne11, &bctx->src1_dim1_div); + + uint8_t * r_src0 = s0_spad + r * bctx->src0_row_size_aligned; + uint8_t * r_src1 = (uint8_t *)src1->data + i13 * nb13 + i12 * nb12 + i11 * nb11; + uint8_t * r_dst = d_spad + r * bctx->dst_row_size_aligned; + + // Read src1 from DDR (unaligned) + COMPUTE_VECTOR_OP_AAU(r_dst, r_src0, r_src1, ne00); + } + + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + dma_queue_push(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, ne00 * sizeof(float), current_block_size); + + if (ir_prefetch < end_row) { + uint32_t next_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t p03, p02, p01, prem; + p03 = fastdiv(ir_prefetch, &bctx->dim12_div); + prem = ir_prefetch - p03 * (ne02 * ne01); + p02 = fastdiv(prem, &bctx->dim1_div); + p01 = prem - p02 * ne01; + uint8_t * s0_next = (uint8_t *)src0->data + p03 * nb03 + p02 * nb02 + p01 * nb01; + dma_queue_push(q, dma_make_ptr(s0_spad, s0_next), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), next_block_size); + ir_prefetch += next_block_size; + } + ir += current_block_size; + } + dma_queue_flush(q); +} + +// 5. Element Repeat (ne10 != ne00) +static void binary_job_element_repeat(unsigned int nth, unsigned int ith, void * data) { + struct htp_binary_context * bctx = (struct htp_binary_context *) data; + struct htp_ops_context * octx = bctx->octx; + htp_binary_preamble; + + const uint32_t total_rows = ne01 * ne02 * ne03; + const uint32_t start_row = bctx->nrows_per_thread * ith; + const uint32_t end_row = MIN(start_row + bctx->nrows_per_thread, total_rows); + if (start_row >= end_row) return; + + uint8_t * src0_spad_base = octx->src0_spad.data + (ith * octx->src0_spad.size_per_thread); + uint8_t * dst_spad_base = octx->dst_spad.data + (ith * octx->dst_spad.size_per_thread); + size_t src0_spad_half = octx->src0_spad.size_per_thread / 2; + size_t dst_spad_half = octx->dst_spad.size_per_thread / 2; + + dma_queue * q = octx->ctx->dma[ith]; + uint32_t ir_prefetch = start_row; + int spad_idx = 0; + + for (int k = 0; k < 2 && ir_prefetch < end_row; k++) { + uint32_t current_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir_prefetch, &bctx->dim12_div); + rem = ir_prefetch - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + + uint8_t * src0_curr = (uint8_t *)src0->data + i03 * nb03 + i02 * nb02 + i01 * nb01; + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + + uint8_t * s0_spad = src0_spad_base + spad_idx * src0_spad_half; + uint8_t * d_spad = dst_spad_base + spad_idx * dst_spad_half; + + dma_queue_push_vtcm_to_ddr(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, 0); + dma_queue_push(q, dma_make_ptr(s0_spad, src0_curr), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), current_block_size); + ir_prefetch += current_block_size; + spad_idx ^= 1; + } + + for (uint32_t ir = start_row; ir < end_row; ) { + uint32_t current_block_size = calc_block_size(bctx, ir, end_row, ne01, ne02); + uint8_t * d_spad = (uint8_t *) dma_queue_pop(q).src; + uint8_t * s0_spad = (uint8_t *) dma_queue_pop(q).dst; + + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir, &bctx->dim12_div); + rem = ir - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + + for (uint32_t r = 0; r < current_block_size; r++) { + uint32_t r_i01 = i01 + r; + uint32_t i13 = fastmodulo(i03, ne13, &bctx->src1_dim3_div); + uint32_t i12 = fastmodulo(i02, ne12, &bctx->src1_dim2_div); + uint32_t i11 = fastmodulo(r_i01, ne11, &bctx->src1_dim1_div); + + uint8_t * r_src0 = s0_spad + r * bctx->src0_row_size_aligned; + uint8_t * r_src1_row = (uint8_t *)src1->data + i13 * nb13 + i12 * nb12 + i11 * nb11; + uint8_t * r_dst = d_spad + r * bctx->dst_row_size_aligned; + + // Repeat src1 row + for (uint32_t c = 0; c < ne00; c += ne10) { + uint32_t len = MIN(ne10, ne00 - c); + // Use UUU for speed and simplicity + COMPUTE_VECTOR_OP_UUU(r_dst + c * sizeof(float), r_src0 + c * sizeof(float), r_src1_row, len); + } + } + + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + dma_queue_push(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, ne00 * sizeof(float), current_block_size); + + if (ir_prefetch < end_row) { + uint32_t next_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t p03, p02, p01, prem; + p03 = fastdiv(ir_prefetch, &bctx->dim12_div); + prem = ir_prefetch - p03 * (ne02 * ne01); + p02 = fastdiv(prem, &bctx->dim1_div); + p01 = prem - p02 * ne01; + uint8_t * s0_next = (uint8_t *)src0->data + p03 * nb03 + p02 * nb02 + p01 * nb01; + dma_queue_push(q, dma_make_ptr(s0_spad, s0_next), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), next_block_size); + ir_prefetch += next_block_size; + } + ir += current_block_size; + } + dma_queue_flush(q); +} + +// 6. ADD_ID (src1 gathered via src2 indices) +static void binary_job_add_id(unsigned int nth, unsigned int ith, void * data) { + struct htp_binary_context * bctx = (struct htp_binary_context *) data; + struct htp_ops_context * octx = bctx->octx; + + const struct htp_tensor * src0 = &octx->src0; + const struct htp_tensor * src1 = &octx->src1; + const struct htp_tensor * src2 = &octx->src2; + struct htp_tensor * dst = &octx->dst; + + const uint32_t ne00 = src0->ne[0]; + const uint32_t ne01 = src0->ne[1]; + const uint32_t ne02 = src0->ne[2]; + const uint32_t ne03 = src0->ne[3]; + const uint32_t ne11 = src1->ne[1]; // for bounds check + + const uint32_t nb01 = src0->nb[1]; + const uint32_t nb02 = src0->nb[2]; + const uint32_t nb03 = src0->nb[3]; + const uint32_t nb11 = src1->nb[1]; // src1 row stride + const uint32_t nb1 = dst->nb[1]; + const uint32_t nb2 = dst->nb[2]; + const uint32_t nb3 = dst->nb[3]; + + const uint32_t total_rows = ne01 * ne02 * ne03; + const uint32_t start_row = bctx->nrows_per_thread * ith; + const uint32_t end_row = MIN(start_row + bctx->nrows_per_thread, total_rows); + if (start_row >= end_row) return; + + uint8_t * src0_spad_base = octx->src0_spad.data + (ith * octx->src0_spad.size_per_thread); + uint8_t * dst_spad_base = octx->dst_spad.data + (ith * octx->dst_spad.size_per_thread); + size_t src0_spad_half = octx->src0_spad.size_per_thread / 2; + size_t dst_spad_half = octx->dst_spad.size_per_thread / 2; + + dma_queue * q = octx->ctx->dma[ith]; + uint32_t ir_prefetch = start_row; + int spad_idx = 0; + + for (int k = 0; k < 2 && ir_prefetch < end_row; k++) { + uint32_t current_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir_prefetch, &bctx->dim12_div); + rem = ir_prefetch - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + + uint8_t * src0_curr = (uint8_t *)src0->data + i03 * nb03 + i02 * nb02 + i01 * nb01; + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + + uint8_t * s0_spad = src0_spad_base + spad_idx * src0_spad_half; + uint8_t * d_spad = dst_spad_base + spad_idx * dst_spad_half; + + dma_queue_push_vtcm_to_ddr(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, 0); + dma_queue_push(q, dma_make_ptr(s0_spad, src0_curr), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), current_block_size); + ir_prefetch += current_block_size; + spad_idx ^= 1; + } + + for (uint32_t ir = start_row; ir < end_row; ) { + uint32_t current_block_size = calc_block_size(bctx, ir, end_row, ne01, ne02); + uint8_t * d_spad = (uint8_t *) dma_queue_pop(q).src; + uint8_t * s0_spad = (uint8_t *) dma_queue_pop(q).dst; + + uint32_t i03, i02, i01, rem; + i03 = fastdiv(ir, &bctx->dim12_div); + rem = ir - i03 * (ne02 * ne01); + i02 = fastdiv(rem, &bctx->dim1_div); + i01 = rem - i02 * ne01; + + for (uint32_t r = 0; r < current_block_size; r++) { + uint32_t r_i01 = i01 + r; // linear within block since we split at ne01 + + const int32_t idx = *(int32_t *)((char *)src2->data + r_i01 * src2->nb[0] + i02 * src2->nb[1]); + + uint8_t * r_src1 = (uint8_t *)src1->data + idx * nb11; + uint8_t * r_src0 = s0_spad + r * bctx->src0_row_size_aligned; + uint8_t * r_dst = d_spad + r * bctx->dst_row_size_aligned; + + hvx_add_f32_aau(r_dst, r_src0, r_src1, ne00); + } + + uint8_t * dst_curr = (uint8_t *)dst->data + i03 * nb3 + i02 * nb2 + i01 * nb1; + dma_queue_push(q, dma_make_ptr(dst_curr, d_spad), nb1, bctx->dst_row_size_aligned, ne00 * sizeof(float), current_block_size); + + if (ir_prefetch < end_row) { + uint32_t next_block_size = calc_block_size(bctx, ir_prefetch, end_row, ne01, ne02); + uint32_t p03, p02, p01, prem; + p03 = fastdiv(ir_prefetch, &bctx->dim12_div); + prem = ir_prefetch - p03 * (ne02 * ne01); + p02 = fastdiv(prem, &bctx->dim1_div); + p01 = prem - p02 * ne01; + uint8_t * s0_next = (uint8_t *)src0->data + p03 * nb03 + p02 * nb02 + p01 * nb01; + dma_queue_push(q, dma_make_ptr(s0_spad, s0_next), bctx->src0_row_size_aligned, nb01, ne00 * sizeof(float), next_block_size); + ir_prefetch += next_block_size; + } + ir += current_block_size; + } + dma_queue_flush(q); } static int execute_op_binary_f32(struct htp_ops_context * octx) { - int err = HTP_STATUS_OK; - const struct htp_tensor * src0 = &octx->src0; const struct htp_tensor * src1 = &octx->src1; struct htp_tensor * dst = &octx->dst; - worker_callback_t binary_op_func; - const char * op_type = NULL; - - switch (octx->op) { - case HTP_OP_MUL: - binary_op_func = binary_job_dispatcher_f32; - op_type = "mul-f32"; - break; - - case HTP_OP_ADD: - binary_op_func = binary_job_dispatcher_f32; - op_type = "add-f32"; - break; - - case HTP_OP_SUB: - binary_op_func = binary_job_dispatcher_f32; - op_type = "sub-f32"; - break; - - case HTP_OP_ADD_ID: - binary_op_func = binary_job_dispatcher_f32; - op_type = "add-id-f32"; - break; - - default: - FARF(ERROR, "Unsupported binary-Op %u\n", octx->op); - return HTP_STATUS_NO_SUPPORT; - } - - const int n_threads = octx->n_threads; + const uint32_t n_threads = octx->n_threads; const uint32_t src0_nrows = src0->ne[1] * src0->ne[2] * src0->ne[3]; - const size_t src0_row_size = src0->nb[1]; - const size_t src1_row_size = src1->nb[1]; - const size_t dst_row_size = dst->nb[1]; + // Use packed row sizes for VTCM allocation + const size_t src0_row_size = src0->ne[0] * sizeof(float); + const size_t src1_row_size = src1->ne[0] * sizeof(float); + const size_t dst_row_size = dst->ne[0] * sizeof(float); - // VTCM scratchpads for all tensors - octx->dst_spad.size = hex_round_up(dst_row_size, 128) * n_threads; - octx->src0_spad.size = hex_round_up(src0_row_size, 128) * n_threads; - octx->src1_spad.size = hex_round_up(src1_row_size, 128) * n_threads; + // Align to VLEN + const size_t src0_row_size_aligned = hex_round_up(src0_row_size, VLEN); + const size_t dst_row_size_aligned = hex_round_up(dst_row_size, VLEN); + size_t src1_row_size_aligned = hex_round_up(src1_row_size, VLEN); - size_t spad_size = octx->src0_spad.size + octx->src1_spad.size + octx->dst_spad.size; + bool is_add_id = (octx->op == HTP_OP_ADD_ID); + bool is_scalar = !is_add_id && (src1->ne[0] == 1); - FARF(HIGH, - "%s: (%ux%ux%ux%u) * (%ux%ux%ux%u) -> (%ux%ux%ux%u) : src0-spad-size %u src1-spad-size %u dst-spad-size %u\n", - op_type, src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src1->ne[0], src1->ne[1], src1->ne[2], - src1->ne[3], dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], octx->src0_spad.size, octx->src1_spad.size, - octx->dst_spad.size); + // Determine which kernel we will use to alloc memory and dispatch + bool use_vector_same = !is_add_id && !is_scalar && src1->ne[0] == src0->ne[0] && + (src1->ne[1] == src0->ne[1] || src1->ne[1] == 1) && + (src1->ne[2] == src0->ne[2] || src1->ne[2] == 1) && + (src1->ne[3] == src0->ne[3] || src1->ne[3] == 1); - // Make sure the reserved vtcm size is sufficient - if (octx->ctx->vtcm_size < spad_size) { - FARF(ERROR, "binary-%s : current VTCM reservation %zu is too small, needed %zu\n", op_type, - octx->ctx->vtcm_size, spad_size); + bool is_row_bcast = use_vector_same && (src1->ne[1] == 1 && src1->ne[2] == 1 && src1->ne[3] == 1); + bool use_complex = !is_add_id && !is_scalar && !use_vector_same && (src1->ne[0] == src0->ne[0]); + bool use_repeat = !is_add_id && !is_scalar && !use_vector_same && (src1->ne[0] != src0->ne[0]); + + size_t spad_row_total; + if (is_scalar) { + spad_row_total = 2 * (src0_row_size_aligned + dst_row_size_aligned); + } else if (is_row_bcast) { + spad_row_total = 2 * (src0_row_size_aligned + dst_row_size_aligned); + } else if (use_vector_same) { + spad_row_total = 2 * (src0_row_size_aligned + src1_row_size_aligned + dst_row_size_aligned); + } else if (is_add_id) { + spad_row_total = 2 * (src0_row_size_aligned + dst_row_size_aligned); // src1 read directly + } else { + spad_row_total = 2 * (src0_row_size_aligned + dst_row_size_aligned); + } + + size_t rows_per_buffer = octx->ctx->vtcm_size / (n_threads * spad_row_total); + // Adjust for static src1 in row_bcast case + if (is_row_bcast) { + size_t needed_static = src1_row_size_aligned; + if (octx->ctx->vtcm_size < needed_static) return HTP_STATUS_VTCM_TOO_SMALL; + size_t avail = octx->ctx->vtcm_size - needed_static; + rows_per_buffer = avail / (n_threads * spad_row_total); + } + + if (rows_per_buffer < 1) { + FARF(ERROR, "binary-f32: VTCM too small\n"); + return HTP_STATUS_VTCM_TOO_SMALL; + } + + octx->src0_spad.size_per_thread = rows_per_buffer * 2 * src0_row_size_aligned; + octx->dst_spad.size_per_thread = rows_per_buffer * 2 * dst_row_size_aligned; + + if (is_scalar || use_complex || use_repeat || is_add_id) { + octx->src1_spad.size_per_thread = 0; + } else if (is_row_bcast) { + octx->src1_spad.size_per_thread = 0; + } else { + octx->src1_spad.size_per_thread = rows_per_buffer * 2 * src1_row_size_aligned; + } + + octx->src0_spad.size = n_threads * octx->src0_spad.size_per_thread; + if (is_row_bcast) { + octx->src1_spad.size = src1_row_size_aligned; + } else { + octx->src1_spad.size = n_threads * octx->src1_spad.size_per_thread; + } + octx->dst_spad.size = n_threads * octx->dst_spad.size_per_thread; + + if (octx->ctx->vtcm_size < (octx->src0_spad.size + octx->src1_spad.size + octx->dst_spad.size)) { return HTP_STATUS_VTCM_TOO_SMALL; } @@ -305,39 +757,71 @@ static int execute_op_binary_f32(struct htp_ops_context * octx) { octx->src1_spad.data = octx->src0_spad.data + octx->src0_spad.size; octx->dst_spad.data = octx->src1_spad.data + octx->src1_spad.size; - if (!(octx->flags & HTP_OPFLAGS_SKIP_COMPUTE)) { - uint32_t n_jobs = MIN(n_threads, src0_nrows); - - octx->src0_nrows_per_thread = (src0_nrows + n_jobs - 1) / n_jobs; - - octx->src0_div21 = init_fastdiv_values(src0->ne[2] * src0->ne[1]); - octx->src0_div3 = init_fastdiv_values(src0->ne[3]); - octx->src0_div2 = init_fastdiv_values(src0->ne[2]); - octx->src0_div1 = init_fastdiv_values(src0->ne[1]); - - octx->src1_div21 = init_fastdiv_values(src1->ne[2] * src1->ne[1]); - octx->src1_div3 = init_fastdiv_values(src1->ne[3]); - octx->src1_div2 = init_fastdiv_values(src1->ne[2]); - octx->src1_div1 = init_fastdiv_values(src1->ne[1]); - - worker_pool_run_func(octx->ctx->worker_pool, binary_op_func, octx, n_jobs); + if ((octx->flags & HTP_OPFLAGS_SKIP_COMPUTE)) { + return HTP_STATUS_OK; } - return err; + uint32_t n_jobs = MIN(n_threads, src0_nrows); + + dma_queue * q = octx->ctx->dma[0]; + if (is_row_bcast) { + dma_queue_push(q, dma_make_ptr(octx->src1_spad.data, (const void *) src1->data), src1_row_size_aligned, 0, src1->ne[0] * sizeof(float), 1); + } + + struct htp_binary_context bctx; + bctx.octx = octx; + bctx.nrows_per_thread = (src0_nrows + n_jobs - 1) / n_jobs; + bctx.block_max = rows_per_buffer; + bctx.src0_row_size_aligned = src0_row_size_aligned; + bctx.src1_row_size_aligned = src1_row_size_aligned; + bctx.dst_row_size_aligned = dst_row_size_aligned; + + bctx.dim1_div = init_fastdiv_values(src0->ne[1]); + bctx.dim2_div = init_fastdiv_values(src0->ne[2]); + bctx.dim12_div = init_fastdiv_values(src0->ne[1] * src0->ne[2]); + + bctx.src1_dim1_div = init_fastdiv_values(src1->ne[1]); + bctx.src1_dim2_div = init_fastdiv_values(src1->ne[2]); + bctx.src1_dim3_div = init_fastdiv_values(src1->ne[3]); + + bool src0_contig_dim1 = (src0->nb[2] == src0->ne[1] * src0->nb[1]); + bool dst_contig_dim1 = (dst->nb[2] == src0->ne[1] * dst->nb[1]); + + bool src0_contig_dim2 = (src0->nb[3] == src0->ne[2] * src0->nb[2]); + bool dst_contig_dim2 = (dst->nb[3] == src0->ne[2] * dst->nb[2]); + + bctx.split_at_ne01 = (src0->ne[2] > 1) && + ((src1->ne[1] > 1) || (src1->ne[2] > 1) || !src0_contig_dim1 || !dst_contig_dim1); + + bctx.split_at_ne02 = (src0->ne[3] > 1) && + ((src1->ne[2] > 1) || (src1->ne[3] > 1) || !src0_contig_dim2 || !dst_contig_dim2); + + // Precompute specific kernel parameters + if (use_vector_same) { + bctx.src1_dma_stride = (src1->ne[1] == 1) ? 0 : src1->nb[1]; + bctx.src1_fetch_rows = (src1->ne[1] == 1) ? 1 : rows_per_buffer; + } + + worker_callback_t worker_func; + if (is_add_id) worker_func = binary_job_add_id; + else if (is_scalar) worker_func = binary_job_scalar; + else if (is_row_bcast) worker_func = binary_job_vector_row_broadcast; + else if (use_vector_same) worker_func = binary_job_vector_same_shape; + else if (use_complex) worker_func = binary_job_vector_complex; + else worker_func = binary_job_element_repeat; + + if (is_row_bcast) { + dma_queue_pop(q); + } + + worker_pool_run_func(octx->ctx->worker_pool, worker_func, &bctx, n_jobs); + + return HTP_STATUS_OK; } int op_binary(struct htp_ops_context * octx) { - int err = HTP_STATUS_OK; - - switch (octx->src0.type) { - case HTP_TYPE_F32: - err = execute_op_binary_f32(octx); - break; - - default: - err = HTP_STATUS_NO_SUPPORT; - break; + if (octx->src0.type == HTP_TYPE_F32) { + return execute_op_binary_f32(octx); } - - return err; + return HTP_STATUS_NO_SUPPORT; } diff --git a/ggml/src/ggml-hexagon/htp/htp-msg.h b/ggml/src/ggml-hexagon/htp/htp-msg.h index f49e8ee447..25403bb112 100644 --- a/ggml/src/ggml-hexagon/htp/htp-msg.h +++ b/ggml/src/ggml-hexagon/htp/htp-msg.h @@ -42,32 +42,36 @@ enum htp_data_type { HTP_TYPE_COUNT }; -// These values are manually translated over to HTP -// !!!! DO NOT ALTER THE ORDER OF THE FIRST FOUR ENUMS !!!! +// Do not reorder first 4 (used as an index) enum htp_op { - HTP_OP_MUL = 0, - HTP_OP_ADD = 1, - HTP_OP_SUB = 2, - HTP_OP_DIV = 3, - HTP_OP_MUL_MAT = 4, - HTP_OP_MUL_MAT_ID = 5, - HTP_OP_RMS_NORM = 6, - HTP_OP_UNARY_SILU = 7, - HTP_OP_UNARY_GELU = 8, - HTP_OP_GLU_SWIGLU = 9, - HTP_OP_GLU_SWIGLU_OAI = 10, - HTP_OP_SOFTMAX = 11, - HTP_OP_ADD_ID = 12, - HTP_OP_ROPE = 13, - HTP_OP_FLASH_ATTN_EXT = 14, - HTP_OP_SET_ROWS = 15, - HTP_OP_SCALE = 16, - HTP_OP_GET_ROWS = 17, - HTP_OP_CPY = 18, + HTP_OP_MUL = 0, + HTP_OP_ADD = 1, + HTP_OP_SUB = 2, + HTP_OP_DIV = 3, + HTP_OP_MUL_MAT, + HTP_OP_MUL_MAT_ID, + HTP_OP_RMS_NORM, + HTP_OP_UNARY_SILU, + HTP_OP_UNARY_GELU, + HTP_OP_GLU_SWIGLU, + HTP_OP_GLU_SWIGLU_OAI, + HTP_OP_GLU_GEGLU, + HTP_OP_SOFTMAX, + HTP_OP_ADD_ID, + HTP_OP_ROPE, + HTP_OP_FLASH_ATTN_EXT, + HTP_OP_SET_ROWS, + HTP_OP_GET_ROWS, + HTP_OP_SCALE, + HTP_OP_CPY, + HTP_OP_ARGSORT, + HTP_OP_SQR, + HTP_OP_SQRT, + HTP_OP_SUM_ROWS, INVALID }; -static inline size_t htp_type_block_size(uint32_t t) { +static inline size_t htp_t_block_size(uint32_t t) { switch (t) { case HTP_TYPE_F32: return 1; @@ -103,22 +107,6 @@ static inline size_t htp_type_nbytes(uint32_t t) { return 0; } -static const char * htp_type_name(uint32_t t) { - switch (t) { - case HTP_TYPE_F32: - return "fp32"; - case HTP_TYPE_F16: - return "fp16"; - case HTP_TYPE_Q4_0: - return "q4_0"; - case HTP_TYPE_Q8_0: - return "q8_0"; - case HTP_TYPE_MXFP4: - return "mxfp4"; - } - return 0; -} - // Internal types #define QK_Q4_0x4x2 256 // 4x Q4_0 blocks packed with next 4x Q4_0 blocks (size in bytes 128) #define QK_Q8_0x4x2 256 // 4x Q8_0 blocks concat with next 4x Q8_0 blocks diff --git a/ggml/src/ggml-hexagon/htp/htp-ops.h b/ggml/src/ggml-hexagon/htp/htp-ops.h index 602a2775a4..c0d72587ce 100644 --- a/ggml/src/ggml-hexagon/htp/htp-ops.h +++ b/ggml/src/ggml-hexagon/htp/htp-ops.h @@ -90,6 +90,7 @@ int op_matmul(struct htp_ops_context * octx); int op_matmul_id(struct htp_ops_context * octx); int op_binary(struct htp_ops_context * octx); int op_unary(struct htp_ops_context * octx); +int op_sum_rows(struct htp_ops_context * octx); int op_activations(struct htp_ops_context * octx); int op_softmax(struct htp_ops_context * octx); int op_add_id(struct htp_ops_context * octx); @@ -98,5 +99,6 @@ int op_flash_attn_ext(struct htp_ops_context * octx); int op_set_rows(struct htp_ops_context * octx); int op_get_rows(struct htp_ops_context * octx); int op_cpy(struct htp_ops_context * octx); +int op_argsort(struct htp_ops_context * octx); #endif /* HTP_OPS_H */ diff --git a/ggml/src/ggml-hexagon/htp/hvx-arith.h b/ggml/src/ggml-hexagon/htp/hvx-arith.h index 3449739a4f..2577cdd041 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-arith.h +++ b/ggml/src/ggml-hexagon/htp/hvx-arith.h @@ -46,127 +46,76 @@ #define HVX_OP_MUL(a, b) Q6_Vsf_vmpy_VsfVsf(a, b) #endif -// ADD variants +// Generic macro to define alignment permutations for an op +#define DEFINE_HVX_BINARY_OP_VARIANTS(OP_NAME, OP_MACRO) \ +static inline void OP_NAME##_aaa(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { \ + assert((uintptr_t) dst % 128 == 0); \ + assert((uintptr_t) src0 % 128 == 0); \ + assert((uintptr_t) src1 % 128 == 0); \ + hvx_arith_loop_body(HVX_Vector, HVX_Vector, HVX_Vector, hvx_vec_store_a, OP_MACRO); \ +} \ +static inline void OP_NAME##_aau(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { \ + assert((uintptr_t) dst % 128 == 0); \ + assert((uintptr_t) src0 % 128 == 0); \ + hvx_arith_loop_body(HVX_Vector, HVX_Vector, HVX_UVector, hvx_vec_store_a, OP_MACRO); \ +} \ +static inline void OP_NAME##_aua(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { \ + assert((uintptr_t) dst % 128 == 0); \ + assert((uintptr_t) src1 % 128 == 0); \ + hvx_arith_loop_body(HVX_Vector, HVX_UVector, HVX_Vector, hvx_vec_store_a, OP_MACRO); \ +} \ +static inline void OP_NAME##_auu(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { \ + assert((uintptr_t) dst % 128 == 0); \ + hvx_arith_loop_body(HVX_Vector, HVX_UVector, HVX_UVector, hvx_vec_store_a, OP_MACRO); \ +} \ +static inline void OP_NAME##_uaa(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { \ + assert((uintptr_t) src0 % 128 == 0); \ + assert((uintptr_t) src1 % 128 == 0); \ + hvx_arith_loop_body(HVX_UVector, HVX_Vector, HVX_Vector, hvx_vec_store_u, OP_MACRO); \ +} \ +static inline void OP_NAME##_uau(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { \ + assert((uintptr_t) src0 % 128 == 0); \ + hvx_arith_loop_body(HVX_UVector, HVX_Vector, HVX_UVector, hvx_vec_store_u, OP_MACRO); \ +} \ +static inline void OP_NAME##_uua(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { \ + assert((uintptr_t) src1 % 128 == 0); \ + hvx_arith_loop_body(HVX_UVector, HVX_UVector, HVX_Vector, hvx_vec_store_u, OP_MACRO); \ +} \ +static inline void OP_NAME##_uuu(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { \ + hvx_arith_loop_body(HVX_UVector, HVX_UVector, HVX_UVector, hvx_vec_store_u, OP_MACRO); \ +} \ -static inline void hvx_add_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - assert((unsigned long) dst % 128 == 0); - assert((unsigned long) src0 % 128 == 0); - assert((unsigned long) src1 % 128 == 0); - hvx_arith_loop_body(HVX_Vector, HVX_Vector, HVX_Vector, hvx_vec_store_a, HVX_OP_ADD); +DEFINE_HVX_BINARY_OP_VARIANTS(hvx_add_f32, HVX_OP_ADD) +DEFINE_HVX_BINARY_OP_VARIANTS(hvx_sub_f32, HVX_OP_SUB) +DEFINE_HVX_BINARY_OP_VARIANTS(hvx_mul_f32, HVX_OP_MUL) + +// Dispatcher logic +#define HVX_BINARY_DISPATCHER(OP_NAME) \ +static inline void OP_NAME(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, const uint32_t num_elems) { \ + if (hex_is_aligned((void *) dst, 128)) { \ + if (hex_is_aligned((void *) src0, 128)) { \ + if (hex_is_aligned((void *) src1, 128)) OP_NAME##_aaa(dst, src0, src1, num_elems); \ + else OP_NAME##_aau(dst, src0, src1, num_elems); \ + } else { \ + if (hex_is_aligned((void *) src1, 128)) OP_NAME##_aua(dst, src0, src1, num_elems); \ + else OP_NAME##_auu(dst, src0, src1, num_elems); \ + } \ + } else { \ + if (hex_is_aligned((void *) src0, 128)) { \ + if (hex_is_aligned((void *) src1, 128)) OP_NAME##_uaa(dst, src0, src1, num_elems); \ + else OP_NAME##_uau(dst, src0, src1, num_elems); \ + } else { \ + if (hex_is_aligned((void *) src1, 128)) OP_NAME##_uua(dst, src0, src1, num_elems); \ + else OP_NAME##_uuu(dst, src0, src1, num_elems); \ + } \ + } \ } -static inline void hvx_add_f32_au(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - assert((unsigned long) dst % 128 == 0); - assert((unsigned long) src0 % 128 == 0); - hvx_arith_loop_body(HVX_Vector, HVX_Vector, HVX_UVector, hvx_vec_store_a, HVX_OP_ADD); -} - -static inline void hvx_add_f32_ua(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - assert((unsigned long) src0 % 128 == 0); - assert((unsigned long) src1 % 128 == 0); - hvx_arith_loop_body(HVX_UVector, HVX_Vector, HVX_Vector, hvx_vec_store_u, HVX_OP_ADD); -} - -static inline void hvx_add_f32_uu(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - hvx_arith_loop_body(HVX_UVector, HVX_UVector, HVX_UVector, hvx_vec_store_u, HVX_OP_ADD); -} - -// SUB variants - -static inline void hvx_sub_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - assert((unsigned long) dst % 128 == 0); - assert((unsigned long) src0 % 128 == 0); - assert((unsigned long) src1 % 128 == 0); - hvx_arith_loop_body(HVX_Vector, HVX_Vector, HVX_Vector, hvx_vec_store_a, HVX_OP_SUB); -} - -static inline void hvx_sub_f32_au(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - assert((unsigned long) dst % 128 == 0); - assert((unsigned long) src0 % 128 == 0); - hvx_arith_loop_body(HVX_Vector, HVX_Vector, HVX_UVector, hvx_vec_store_a, HVX_OP_SUB); -} - -static inline void hvx_sub_f32_ua(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - assert((unsigned long) src0 % 128 == 0); - assert((unsigned long) src1 % 128 == 0); - hvx_arith_loop_body(HVX_UVector, HVX_Vector, HVX_Vector, hvx_vec_store_u, HVX_OP_SUB); -} - -static inline void hvx_sub_f32_uu(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - hvx_arith_loop_body(HVX_UVector, HVX_UVector, HVX_UVector, hvx_vec_store_u, HVX_OP_SUB); -} - -// MUL variants - -static inline void hvx_mul_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - assert((unsigned long) dst % 128 == 0); - assert((unsigned long) src0 % 128 == 0); - assert((unsigned long) src1 % 128 == 0); - hvx_arith_loop_body(HVX_Vector, HVX_Vector, HVX_Vector, hvx_vec_store_a, HVX_OP_MUL); -} - -static inline void hvx_mul_f32_au(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - assert((unsigned long) dst % 128 == 0); - assert((unsigned long) src0 % 128 == 0); - hvx_arith_loop_body(HVX_Vector, HVX_Vector, HVX_UVector, hvx_vec_store_a, HVX_OP_MUL); -} - -static inline void hvx_mul_f32_ua(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - assert((unsigned long) src0 % 128 == 0); - assert((unsigned long) src1 % 128 == 0); - hvx_arith_loop_body(HVX_UVector, HVX_Vector, HVX_Vector, hvx_vec_store_u, HVX_OP_MUL); -} - -static inline void hvx_mul_f32_uu(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { - hvx_arith_loop_body(HVX_UVector, HVX_UVector, HVX_UVector, hvx_vec_store_u, HVX_OP_MUL); -} - -// Dispatchers - -static inline void hvx_add_f32(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, const uint32_t num_elems) { - if (hex_is_aligned((void *) dst, 128) && hex_is_aligned((void *) src0, 128)) { - if (hex_is_aligned((void *) src1, 128)) { - hvx_add_f32_aa(dst, src0, src1, num_elems); - } else { - hvx_add_f32_au(dst, src0, src1, num_elems); - } - } else if (hex_is_aligned((void *) src0, 128) && hex_is_aligned((void *) src1, 128)) { - hvx_add_f32_ua(dst, src0, src1, num_elems); - } else { - hvx_add_f32_uu(dst, src0, src1, num_elems); - } -} - -static inline void hvx_sub_f32(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, const uint32_t num_elems) { - if (hex_is_aligned((void *) dst, 128) && hex_is_aligned((void *) src0, 128)) { - if (hex_is_aligned((void *) src1, 128)) { - hvx_sub_f32_aa(dst, src0, src1, num_elems); - } else { - hvx_sub_f32_au(dst, src0, src1, num_elems); - } - } else if (hex_is_aligned((void *) src0, 128) && hex_is_aligned((void *) src1, 128)) { - hvx_sub_f32_ua(dst, src0, src1, num_elems); - } else { - hvx_sub_f32_uu(dst, src0, src1, num_elems); - } -} - -static inline void hvx_mul_f32(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, const uint32_t num_elems) { - if (hex_is_aligned((void *) dst, 128) && hex_is_aligned((void *) src0, 128)) { - if (hex_is_aligned((void *) src1, 128)) { - hvx_mul_f32_aa(dst, src0, src1, num_elems); - } else { - hvx_mul_f32_au(dst, src0, src1, num_elems); - } - } else if (hex_is_aligned((void *) src0, 128) && hex_is_aligned((void *) src1, 128)) { - hvx_mul_f32_ua(dst, src0, src1, num_elems); - } else { - hvx_mul_f32_uu(dst, src0, src1, num_elems); - } -} +HVX_BINARY_DISPATCHER(hvx_add_f32) +HVX_BINARY_DISPATCHER(hvx_sub_f32) +HVX_BINARY_DISPATCHER(hvx_mul_f32) // Mul-Mul Optimized - static inline void hvx_mul_mul_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, const uint8_t * restrict src2, const uint32_t num_elems) { assert((unsigned long) dst % 128 == 0); assert((unsigned long) src0 % 128 == 0); @@ -443,6 +392,68 @@ static inline void hvx_clamp_scalar_f32(uint8_t * restrict dst, const uint8_t * } } +// +// Square +// + +#define hvx_sqr_loop_body(dst_type, src_type, vec_store) \ + do { \ + dst_type * restrict vdst = (dst_type *) dst; \ + src_type * restrict vsrc = (src_type *) src; \ + \ + const uint32_t elem_size = sizeof(float); \ + const uint32_t epv = 128 / elem_size; \ + const uint32_t nvec = n / epv; \ + const uint32_t nloe = n % epv; \ + \ + uint32_t i = 0; \ + \ + _Pragma("unroll(4)") \ + for (; i < nvec; i++) { \ + vdst[i] = HVX_OP_MUL(vsrc[i], vsrc[i]); \ + } \ + if (nloe) { \ + HVX_Vector v = HVX_OP_MUL(vsrc[i], vsrc[i]); \ + vec_store((void *) &vdst[i], nloe * elem_size, v); \ + } \ + } while(0) + +static inline void hvx_sqr_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + assert((unsigned long) dst % 128 == 0); + assert((unsigned long) src % 128 == 0); + hvx_sqr_loop_body(HVX_Vector, HVX_Vector, hvx_vec_store_a); +} + +static inline void hvx_sqr_f32_au(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + assert((unsigned long) dst % 128 == 0); + hvx_sqr_loop_body(HVX_Vector, HVX_Vector, hvx_vec_store_a); +} + +static inline void hvx_sqr_f32_ua(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + assert((unsigned long) src % 128 == 0); + hvx_sqr_loop_body(HVX_UVector, HVX_Vector, hvx_vec_store_u); +} + +static inline void hvx_sqr_f32_uu(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + hvx_sqr_loop_body(HVX_UVector, HVX_UVector, hvx_vec_store_u); +} + +static inline void hvx_sqr_f32(uint8_t * restrict dst, const uint8_t * restrict src, const uint32_t num_elems) { + if (hex_is_aligned((void *) dst, 128)) { + if (hex_is_aligned((void *) src, 128)) { + hvx_sqr_f32_aa(dst, src, num_elems); + } else { + hvx_sqr_f32_au(dst, src, num_elems); + } + } else { + if (hex_is_aligned((void *) src, 128)) { + hvx_sqr_f32_ua(dst, src, num_elems); + } else { + hvx_sqr_f32_uu(dst, src, num_elems); + } + } +} + #undef HVX_OP_ADD #undef HVX_OP_SUB #undef HVX_OP_MUL @@ -453,5 +464,7 @@ static inline void hvx_clamp_scalar_f32(uint8_t * restrict dst, const uint8_t * #undef hvx_scalar_loop_body #undef HVX_OP_MIN_SCALAR #undef HVX_OP_CLAMP_SCALAR +#undef DEFINE_HVX_BINARY_OP_VARIANTS +#undef HVX_BINARY_DISPATCHER #endif // HVX_ARITH_H diff --git a/ggml/src/ggml-hexagon/htp/hvx-base.h b/ggml/src/ggml-hexagon/htp/hvx-base.h index ffa6e18e64..12a1b7f128 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-base.h +++ b/ggml/src/ggml-hexagon/htp/hvx-base.h @@ -66,6 +66,12 @@ static inline float hvx_vec_get_f32(HVX_Vector v) { return x; } +static inline int32_t hvx_vec_get_i32(HVX_Vector v) { + int32_t __attribute__((aligned(128))) x; + hvx_vec_store_a(&x, 4, v); + return x; +} + static inline HVX_Vector hvx_vec_abs_f16(HVX_Vector v) { // abs by clearing the fp16 sign bit HVX_Vector mask = Q6_Vh_vsplat_R(0x7fff); diff --git a/ggml/src/ggml-hexagon/htp/hvx-copy.h b/ggml/src/ggml-hexagon/htp/hvx-copy.h index 6b617b7617..ae0dbed030 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-copy.h +++ b/ggml/src/ggml-hexagon/htp/hvx-copy.h @@ -136,8 +136,6 @@ static inline void hvx_copy_f32_uu(uint8_t * restrict dst, const uint8_t * restr dst_type * restrict vdst = (dst_type *) dst; \ src_type * restrict vsrc = (src_type *) src; \ \ - const HVX_Vector zero = Q6_V_vsplat_R(0); \ - \ const uint32_t elem_size = sizeof(__fp16); \ const uint32_t epv = 128 / elem_size; \ const uint32_t nvec = n / epv; \ diff --git a/ggml/src/ggml-hexagon/htp/hvx-div.h b/ggml/src/ggml-hexagon/htp/hvx-div.h new file mode 100644 index 0000000000..7dae012e0e --- /dev/null +++ b/ggml/src/ggml-hexagon/htp/hvx-div.h @@ -0,0 +1,116 @@ +#ifndef HVX_DIV_H +#define HVX_DIV_H + +#include + +#include +#include +#include +#include +#include + +#include "hvx-base.h" +#include "hex-utils.h" +#include "hvx-inverse.h" +#include "hvx-arith.h" + +#if __HVX_ARCH__ < 79 +#define HVX_OP_MUL(a, b) Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(a, b)) +#else +#define HVX_OP_MUL(a, b) Q6_Vsf_vmpy_VsfVsf(a, b) +#endif + +#define hvx_div_f32_loop_body(dst_type, src0_type, src1_type, vec_store) \ + do { \ + dst_type * restrict vdst = (dst_type *) dst; \ + src0_type * restrict vsrc0 = (src0_type *) src0; \ + src1_type * restrict vsrc1 = (src1_type *) src1; \ + \ + const HVX_Vector nan_inf_mask = Q6_V_vsplat_R(0x7f800000); \ + \ + const uint32_t nvec = n / VLEN_FP32; \ + const uint32_t nloe = n % VLEN_FP32; \ + \ + uint32_t i = 0; \ + \ + _Pragma("unroll(4)") \ + for (; i < nvec; i++) { \ + HVX_Vector inv_src1 = hvx_vec_inverse_f32_guard(vsrc1[i], nan_inf_mask); \ + HVX_Vector res = HVX_OP_MUL(vsrc0[i], inv_src1); \ + vdst[i] = res; \ + } \ + if (nloe) { \ + HVX_Vector inv_src1 = hvx_vec_inverse_f32_guard(vsrc1[i], nan_inf_mask); \ + HVX_Vector res = HVX_OP_MUL(vsrc0[i], inv_src1); \ + vec_store((void *) &vdst[i], nloe * SIZEOF_FP32, res); \ + } \ + } while(0) + +// 3-letter suffix variants +static inline void hvx_div_f32_aaa(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { + assert((uintptr_t) dst % 128 == 0); + assert((uintptr_t) src0 % 128 == 0); + assert((uintptr_t) src1 % 128 == 0); + hvx_div_f32_loop_body(HVX_Vector, HVX_Vector, HVX_Vector, hvx_vec_store_a); +} + +static inline void hvx_div_f32_aau(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { + assert((uintptr_t) dst % 128 == 0); + assert((uintptr_t) src0 % 128 == 0); + hvx_div_f32_loop_body(HVX_Vector, HVX_Vector, HVX_UVector, hvx_vec_store_a); +} + +static inline void hvx_div_f32_aua(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { + assert((uintptr_t) dst % 128 == 0); + assert((uintptr_t) src1 % 128 == 0); + hvx_div_f32_loop_body(HVX_Vector, HVX_UVector, HVX_Vector, hvx_vec_store_a); +} + +static inline void hvx_div_f32_auu(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { + assert((uintptr_t) dst % 128 == 0); + hvx_div_f32_loop_body(HVX_Vector, HVX_UVector, HVX_UVector, hvx_vec_store_a); +} + +static inline void hvx_div_f32_uaa(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { + assert((uintptr_t) src0 % 128 == 0); + assert((uintptr_t) src1 % 128 == 0); + hvx_div_f32_loop_body(HVX_UVector, HVX_Vector, HVX_Vector, hvx_vec_store_u); +} + +static inline void hvx_div_f32_uau(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { + assert((uintptr_t) src0 % 128 == 0); + hvx_div_f32_loop_body(HVX_UVector, HVX_Vector, HVX_UVector, hvx_vec_store_u); +} + +static inline void hvx_div_f32_uua(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { + assert((uintptr_t) src1 % 128 == 0); + hvx_div_f32_loop_body(HVX_UVector, HVX_UVector, HVX_Vector, hvx_vec_store_u); +} + +static inline void hvx_div_f32_uuu(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, uint32_t n) { + hvx_div_f32_loop_body(HVX_UVector, HVX_UVector, HVX_UVector, hvx_vec_store_u); +} + +static inline void hvx_div_f32(uint8_t * restrict dst, const uint8_t * restrict src0, const uint8_t * restrict src1, const uint32_t num_elems) { + if (hex_is_aligned((void *) dst, 128)) { + if (hex_is_aligned((void *) src0, 128)) { + if (hex_is_aligned((void *) src1, 128)) hvx_div_f32_aaa(dst, src0, src1, num_elems); + else hvx_div_f32_aau(dst, src0, src1, num_elems); + } else { + if (hex_is_aligned((void *) src1, 128)) hvx_div_f32_aua(dst, src0, src1, num_elems); + else hvx_div_f32_auu(dst, src0, src1, num_elems); + } + } else { + if (hex_is_aligned((void *) src0, 128)) { + if (hex_is_aligned((void *) src1, 128)) hvx_div_f32_uaa(dst, src0, src1, num_elems); + else hvx_div_f32_uau(dst, src0, src1, num_elems); + } else { + if (hex_is_aligned((void *) src1, 128)) hvx_div_f32_uua(dst, src0, src1, num_elems); + else hvx_div_f32_uuu(dst, src0, src1, num_elems); + } + } +} + +#undef HVX_OP_MUL + +#endif // HVX_DIV_H diff --git a/ggml/src/ggml-hexagon/htp/hvx-sigmoid.h b/ggml/src/ggml-hexagon/htp/hvx-sigmoid.h index 1b4aaff0c9..095193277e 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-sigmoid.h +++ b/ggml/src/ggml-hexagon/htp/hvx-sigmoid.h @@ -91,6 +91,27 @@ static inline HVX_Vector hvx_vec_tanh_f32(HVX_Vector x) { } \ } while(0) +#define hvx_tanh_loop_body(dst_type, src_type, vec_store) \ + do { \ + dst_type * restrict vdst = (dst_type *) dst; \ + src_type * restrict vsrc = (src_type *) src; \ + \ + const uint32_t epv = 128 / sizeof(float); \ + const uint32_t nvec = n / epv; \ + const uint32_t nloe = n % epv; \ + \ + uint32_t i = 0; \ + \ + _Pragma("unroll(4)") \ + for (; i < nvec; i++) { \ + vdst[i] = hvx_vec_tanh_f32(vsrc[i]); \ + } \ + if (nloe) { \ + HVX_Vector tmp = hvx_vec_tanh_f32(vsrc[i]); \ + vec_store((void *) &vdst[i], nloe * sizeof(float), tmp); \ + } \ + } while(0) + static inline void hvx_sigmoid_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { assert((unsigned long) dst % 128 == 0); assert((unsigned long) src % 128 == 0); @@ -111,4 +132,10 @@ static inline void hvx_sigmoid_f32_uu(uint8_t * restrict dst, const uint8_t * re hvx_sigmoid_loop_body(HVX_UVector, HVX_UVector, hvx_vec_store_u); } +static inline void hvx_tanh_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + assert((unsigned long) dst % 128 == 0); + assert((unsigned long) src % 128 == 0); + hvx_tanh_loop_body(HVX_Vector, HVX_Vector, hvx_vec_store_a); +} + #endif /* HVX_SIGMOID_H */ diff --git a/ggml/src/ggml-hexagon/htp/hvx-sqrt.h b/ggml/src/ggml-hexagon/htp/hvx-sqrt.h index 28ee9f68d3..e31a1006d2 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-sqrt.h +++ b/ggml/src/ggml-hexagon/htp/hvx-sqrt.h @@ -12,11 +12,17 @@ #define RSQRT_ONE_HALF 0x3f000000 // 0.5 #define RSQRT_THREE_HALVES 0x3fc00000 // 1.5 +#if __HVX_ARCH__ < 79 +#define HVX_OP_MUL(a, b) Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(a, b)) +#else +#define HVX_OP_MUL(a, b) Q6_Vsf_vmpy_VsfVsf(a, b) +#endif + static inline HVX_Vector hvx_vec_rsqrt_f32(HVX_Vector in_vec) { //Algorithm : // x2 = input*0.5 // y = * (long *) &input - // y = 0x5f3759df - (y>>2) + // y = 0x5f3759df - (y>>1) // y = y*(threehalfs - x2*y*y) HVX_Vector rsqrtconst = Q6_V_vsplat_R(RSQRT_CONST); @@ -57,4 +63,64 @@ static inline HVX_Vector hvx_vec_rsqrt_f32(HVX_Vector in_vec) { return Q6_Vsf_equals_Vqf32(temp); } +// Compute sqrt(x) as x*inv_sqrt(x) +#define hvx_sqrt_f32_loop_body(dst_type, src_type, vec_store) \ + do { \ + dst_type * restrict vdst = (dst_type *) dst; \ + src_type * restrict vsrc = (src_type *) src; \ + \ + const uint32_t nvec = n / VLEN_FP32; \ + const uint32_t nloe = n % VLEN_FP32; \ + \ + uint32_t i = 0; \ + \ + _Pragma("unroll(4)") \ + for (; i < nvec; i++) { \ + HVX_Vector inv_sqrt = hvx_vec_rsqrt_f32(vsrc[i]); \ + HVX_Vector sqrt_res = HVX_OP_MUL(inv_sqrt, vsrc[i]); \ + vdst[i] = sqrt_res; \ + } \ + if (nloe) { \ + HVX_Vector inv_sqrt = hvx_vec_rsqrt_f32(vsrc[i]); \ + HVX_Vector sqrt_res = HVX_OP_MUL(inv_sqrt, vsrc[i]); \ + vec_store((void *) &vdst[i], nloe * SIZEOF_FP32, sqrt_res); \ + } \ + } while(0) + +static inline void hvx_sqrt_f32_aa(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + assert((unsigned long) dst % 128 == 0); + assert((unsigned long) src % 128 == 0); + hvx_sqrt_f32_loop_body(HVX_Vector, HVX_Vector, hvx_vec_store_a); +} + +static inline void hvx_sqrt_f32_au(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + assert((unsigned long) dst % 128 == 0); + hvx_sqrt_f32_loop_body(HVX_Vector, HVX_UVector, hvx_vec_store_a); +} + +static inline void hvx_sqrt_f32_ua(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + assert((unsigned long) src % 128 == 0); + hvx_sqrt_f32_loop_body(HVX_UVector, HVX_Vector, hvx_vec_store_u); +} + +static inline void hvx_sqrt_f32_uu(uint8_t * restrict dst, const uint8_t * restrict src, uint32_t n) { + hvx_sqrt_f32_loop_body(HVX_UVector, HVX_UVector, hvx_vec_store_u); +} + +static inline void hvx_sqrt_f32(uint8_t * restrict dst, const uint8_t * restrict src, const int num_elems) { + if ((unsigned long) dst % 128 == 0) { + if ((unsigned long) src % 128 == 0) { + hvx_sqrt_f32_aa(dst, src, num_elems); + } else { + hvx_sqrt_f32_au(dst, src, num_elems); + } + } else { + if ((unsigned long) src % 128 == 0) { + hvx_sqrt_f32_ua(dst, src, num_elems); + } else { + hvx_sqrt_f32_uu(dst, src, num_elems); + } + } +} + #endif /* HVX_SQRT_H */ diff --git a/ggml/src/ggml-hexagon/htp/hvx-utils.h b/ggml/src/ggml-hexagon/htp/hvx-utils.h index 7b79a5ea32..a518ad3733 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-utils.h +++ b/ggml/src/ggml-hexagon/htp/hvx-utils.h @@ -12,6 +12,7 @@ #include "hvx-sigmoid.h" #include "hvx-sqrt.h" #include "hvx-arith.h" +#include "hvx-div.h" #include "hvx-base.h" #endif /* HVX_UTILS_H */ diff --git a/ggml/src/ggml-hexagon/htp/main.c b/ggml/src/ggml-hexagon/htp/main.c index e28a67a95d..62708eee5c 100644 --- a/ggml/src/ggml-hexagon/htp/main.c +++ b/ggml/src/ggml-hexagon/htp/main.c @@ -440,6 +440,45 @@ static void proc_matmul_req(struct htp_context * ctx, send_htp_rsp(ctx, req->op, rsp_status, rsp_bufs, 1, &prof); } +static void proc_argsort_req(struct htp_context * ctx, struct htp_general_req * req, struct dspqueue_buffer * bufs) { + struct dspqueue_buffer rsp_bufs[1]; + + // We had written to the output buffer, we'd also need to flush it + rsp_bufs[0].fd = bufs[1].fd; + rsp_bufs[0].ptr = bufs[1].ptr; + rsp_bufs[0].offset = bufs[1].offset; + rsp_bufs[0].size = bufs[1].size; + rsp_bufs[0].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush HTP + DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate CPU + + // Setup Op context + struct htp_ops_context octx = { 0 }; + octx.ctx = ctx; + octx.src0 = req->src0; + octx.dst = req->dst; + octx.flags = req->flags; + octx.op = req->op; + + memcpy(octx.op_params, req->op_params, sizeof(octx.op_params)); + + // Update data pointers + octx.src0.data = (uint32_t) bufs[0].ptr; + octx.dst.data = (uint32_t) bufs[1].ptr; + octx.n_threads = ctx->n_threads; + + struct profile_data prof; + profile_start(&prof); + + uint32_t rsp_status = HTP_STATUS_INTERNAL_ERR; + if (vtcm_acquire(ctx) == AEE_SUCCESS) { + rsp_status = op_argsort(&octx); + vtcm_release(ctx); + } + + profile_stop(&prof); + send_htp_rsp(ctx, req->op, rsp_status, rsp_bufs, 1, &prof); +} + static void proc_cpy_req(struct htp_context * ctx, struct htp_general_req * req, struct dspqueue_buffer * bufs) { struct dspqueue_buffer rsp_bufs[1]; @@ -679,6 +718,45 @@ static void proc_unary_req(struct htp_context * ctx, struct htp_general_req * re send_htp_rsp(ctx, req->op, rsp_status, rsp_bufs, 1, &prof); } +static void proc_sum_rows_req(struct htp_context * ctx, struct htp_general_req * req, struct dspqueue_buffer * bufs) { + struct dspqueue_buffer rsp_bufs[HTP_MAX_PACKET_BUFFERS]; + + // We had written to the output buffer, we'd also need to flush it + rsp_bufs[0].fd = bufs[1].fd; + rsp_bufs[0].ptr = bufs[1].ptr; + rsp_bufs[0].offset = bufs[1].offset; + rsp_bufs[0].size = bufs[1].size; + rsp_bufs[0].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush HTP + DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate CPU + + // Setup Op context + struct htp_ops_context octx = { 0 }; + octx.ctx = ctx; + octx.src0 = req->src0; + octx.dst = req->dst; + octx.flags = req->flags; + octx.op = req->op; + + memcpy(octx.op_params, req->op_params, sizeof(octx.op_params)); + + // Update data pointers + octx.src0.data = (uint32_t) bufs[0].ptr; + octx.dst.data = (uint32_t) bufs[1].ptr; + octx.n_threads = ctx->n_threads; + + struct profile_data prof; + profile_start(&prof); + + uint32_t rsp_status = HTP_STATUS_INTERNAL_ERR; + if (vtcm_acquire(ctx) == AEE_SUCCESS) { + rsp_status = op_sum_rows(&octx); + vtcm_release(ctx); + } + + profile_stop(&prof); + send_htp_rsp(ctx, req->op, rsp_status, rsp_bufs, 1, &prof); +} + static void proc_activations_req(struct htp_context * ctx, struct htp_general_req * req, struct dspqueue_buffer * bufs, @@ -951,6 +1029,7 @@ static void htp_packet_callback(dspqueue_t queue, int error, void * context) { case HTP_OP_MUL: case HTP_OP_ADD: case HTP_OP_SUB: + case HTP_OP_DIV: if (n_bufs != 3) { FARF(ERROR, "Bad binary-req buffer list"); continue; @@ -968,6 +1047,25 @@ static void htp_packet_callback(dspqueue_t queue, int error, void * context) { proc_unary_req(ctx, &req, bufs); break; + case HTP_OP_SQR: + case HTP_OP_SQRT: + if (n_bufs != 2) { + FARF(ERROR, "Bad unary-req buffer list"); + continue; + } + + proc_unary_req(ctx, &req, bufs); + break; + + case HTP_OP_SUM_ROWS: + if (n_bufs != 2) { + FARF(ERROR, "Bad unary-req buffer list"); + continue; + } + + proc_sum_rows_req(ctx, &req, bufs); + break; + case HTP_OP_UNARY_SILU: case HTP_OP_UNARY_GELU: if (n_bufs != 2) { @@ -980,6 +1078,7 @@ static void htp_packet_callback(dspqueue_t queue, int error, void * context) { case HTP_OP_GLU_SWIGLU: case HTP_OP_GLU_SWIGLU_OAI: case HTP_OP_SOFTMAX: + case HTP_OP_GLU_GEGLU: if ((n_bufs != 2) && (n_bufs != 3)) { FARF(ERROR, "Bad act-req buffer list"); continue; @@ -1035,6 +1134,14 @@ static void htp_packet_callback(dspqueue_t queue, int error, void * context) { proc_cpy_req(ctx, &req, bufs); break; + case HTP_OP_ARGSORT: + if (n_bufs != 2) { + FARF(ERROR, "Bad argsort-req buffer list"); + continue; + } + proc_argsort_req(ctx, &req, bufs); + break; + default: FARF(ERROR, "Unknown Op %u", req.op); break; diff --git a/ggml/src/ggml-hexagon/htp/sum-rows-ops.c b/ggml/src/ggml-hexagon/htp/sum-rows-ops.c new file mode 100644 index 0000000000..62e45da2b3 --- /dev/null +++ b/ggml/src/ggml-hexagon/htp/sum-rows-ops.c @@ -0,0 +1,115 @@ +#pragma clang diagnostic ignored "-Wunused-variable" +#pragma clang diagnostic ignored "-Wunused-function" +#pragma clang diagnostic ignored "-Wunused-but-set-variable" + +#include +#include + +#include +#include + +#include "hex-dma.h" +#include "hvx-utils.h" + +#define GGML_COMMON_DECL_C +#include "ggml-common.h" +#include "htp-ctx.h" +#include "htp-msg.h" +#include "htp-ops.h" + + +#define sum_rows_preamble \ + struct htp_tensor *src0 = &octx->src0;\ + struct htp_tensor *dst = &octx->dst; \ + \ + const uint32_t ne00 = src0->ne[0]; \ + const uint32_t ne01 = src0->ne[1]; \ + const uint32_t ne02 = src0->ne[2]; \ + const uint32_t ne03 = src0->ne[3]; \ + \ + const uint32_t nb00 = src0->nb[0]; \ + const uint32_t nb01 = src0->nb[1]; \ + const uint32_t nb02 = src0->nb[2]; \ + const uint32_t nb03 = src0->nb[3]; \ + \ + const uint32_t ne0 = dst->ne[0]; \ + const uint32_t ne1 = dst->ne[1]; \ + const uint32_t ne2 = dst->ne[2]; \ + const uint32_t ne3 = dst->ne[3]; \ + \ + const uint32_t nb0 = dst->nb[0]; \ + const uint32_t nb1 = dst->nb[1]; \ + const uint32_t nb2 = dst->nb[2]; \ + const uint32_t nb3 = dst->nb[3]; \ + +static int sum_rows_thread_f32(struct htp_ops_context * octx, const int nth, const int ith) { + sum_rows_preamble; + + const uint32_t src0_nrows_per_thread = octx->src0_nrows_per_thread; + const size_t src0_row_size = nb01; + const size_t dst_row_size = nb1; + + const uint32_t src0_nrows = ne01 * ne02 * ne03; // src0 rows + + const uint32_t src0_start_row = src0_nrows_per_thread * ith; + const uint32_t src0_end_row = MIN(src0_start_row + src0_nrows_per_thread, src0_nrows); + + // no work for this thread + if (src0_start_row >= src0_end_row) { + return HTP_STATUS_OK; + } + + int opt_path = 0; + if ((0 == hex_is_aligned((void *) src0->data, VLEN)) && !(nb01 & (VLEN - 1))) { + opt_path = 1; + } + + const uint8_t * restrict data_src = (const uint8_t *) src0->data; + uint8_t * restrict data_dst = (uint8_t *) dst->data; + + const float * restrict src_th = (float *) (data_src + (src0_start_row * src0_row_size)); + float * restrict dst_th = (float *) (data_dst + (src0_start_row * dst_row_size)); + + for (uint32_t ir = 0; ir < src0_nrows_per_thread; ir++) { + const float * restrict src_local = src_th + (ir * ne00); + + if (ir + 1 < src0_nrows_per_thread) { + hex_l2fetch(src_local + ne00, src0_row_size, src0_row_size, 1); + } + + if (1 == opt_path) { + dst_th[ir] = hvx_reduce_sum_f32_a((const uint8_t *) src_local, ne00); + } else { + dst_th[ir] = hvx_reduce_sum_f32((const uint8_t *) src_local, ne00); + } + } + + return HTP_STATUS_OK; +} + +static void sum_rows_work_f32(unsigned int n, unsigned int i, void *data) { + sum_rows_thread_f32((struct htp_ops_context *) data, n, i); +} + +int op_sum_rows(struct htp_ops_context * octx) { + sum_rows_preamble; + + if (octx->src0.type != HTP_TYPE_F32) { + return HTP_STATUS_NO_SUPPORT; + } + + if (octx->flags & HTP_OPFLAGS_SKIP_COMPUTE) { + return HTP_STATUS_OK; + } + + const int n_threads = octx->n_threads; + const uint32_t src0_nrows = ne01 * ne02 * ne03; + + uint32_t n_jobs = MIN(n_threads, src0_nrows); + octx->src0_nrows_per_thread = (src0_nrows + n_jobs - 1) / n_jobs; + + worker_pool_run_func(octx->ctx->worker_pool, sum_rows_work_f32, octx, n_jobs); + + return HTP_STATUS_OK; +} + diff --git a/ggml/src/ggml-hexagon/htp/unary-ops.c b/ggml/src/ggml-hexagon/htp/unary-ops.c index 1a27cb6e63..ce879bf037 100644 --- a/ggml/src/ggml-hexagon/htp/unary-ops.c +++ b/ggml/src/ggml-hexagon/htp/unary-ops.c @@ -132,6 +132,56 @@ static void rms_norm_htp_f32(const float * restrict src, } } +static void sqr_htp_f32(const float * restrict src, + float * restrict dst, + uint8_t * restrict spad, + const uint32_t num_rows, + const uint32_t row_elems, + const size_t row_size, + int32_t * op_params, + int opt_path) { + + for (uint32_t ir = 0; ir < num_rows; ir++) { + const float * restrict src_local = src + (ir * row_elems); + float * restrict dst_local = dst + (ir * row_elems); + + if (ir + 1 < num_rows) { + hex_l2fetch(src_local + row_elems, row_size, row_size, 1); + } + + if (1 == opt_path) { + hvx_sqr_f32_aa((uint8_t *) dst_local, (const uint8_t *) src_local, row_elems); + } else { + hvx_sqr_f32((uint8_t *) dst_local, (const uint8_t *) src_local, row_elems); + } + } +} + +static void sqrt_htp_f32(const float * restrict src, + float * restrict dst, + uint8_t * restrict spad, + const uint32_t num_rows, + const uint32_t row_elems, + const size_t row_size, + int32_t * op_params, + int opt_path) { + + for (uint32_t ir = 0; ir < num_rows; ir++) { + const float * restrict src_local = src + (ir * row_elems); + float * restrict dst_local = dst + (ir * row_elems); + + if (ir + 1 < num_rows) { + hex_l2fetch(src_local + row_elems, row_size, row_size, 1); + } + + if (1 == opt_path) { + hvx_sqrt_f32_aa((uint8_t *) dst_local, (const uint8_t *) src_local, row_elems); + } else { + hvx_sqrt_f32((uint8_t *) dst_local, (const uint8_t *) src_local, row_elems); + } + } +} + static void unary_job_f32_per_thread(const struct htp_tensor * src, struct htp_tensor * dst, uint8_t * spad, @@ -181,6 +231,12 @@ static void unary_job_f32_per_thread(const struct htp_tensor * src, case HTP_OP_SCALE: scale_htp_f32(src_th, dst_th, spad_th, src0_end_row - src0_start_row, ne0, nb1, op_params, opt_path); break; + case HTP_OP_SQR: + sqr_htp_f32(src_th, dst_th, spad_th, src0_end_row - src0_start_row, ne0, nb1, op_params, opt_path); + break; + case HTP_OP_SQRT: + sqrt_htp_f32(src_th, dst_th, spad_th, src0_end_row - src0_start_row, ne0, nb1, op_params, opt_path); + break; default: break; @@ -218,6 +274,14 @@ static int execute_op_unary_f32(struct htp_ops_context * octx) { unary_op_func = unary_job_dispatcher_f32; op_type = "scale-f32"; break; + case HTP_OP_SQR: + unary_op_func = unary_job_dispatcher_f32; + op_type = "sqr-f32"; + break; + case HTP_OP_SQRT: + unary_op_func = unary_job_dispatcher_f32; + op_type = "sqrt-f32"; + break; default: FARF(ERROR, "Unsupported unary Op %u\n", octx->op); From 0c1f39a9ae68d502bc73b2901e6985ae9f4557a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Wed, 11 Feb 2026 09:27:55 +0100 Subject: [PATCH 183/206] common : improve download error reporting (#19491) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Adrien Gallouët --- common/download.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/download.cpp b/common/download.cpp index 57f29a23ba..8710438aa4 100644 --- a/common/download.cpp +++ b/common/download.cpp @@ -305,7 +305,10 @@ static bool common_pull_file(httplib::Client & cli, ); if (!res) { - LOG_ERR("%s: error during download. Status: %d\n", __func__, res ? res->status : -1); + LOG_ERR("%s: download failed: %s (status: %d)\n", + __func__, + httplib::to_string(res.error()).c_str(), + res ? res->status : -1); return false; } From ada90bf2ba9a440883a8bfcd6506329c412d4b51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johannes=20G=C3=A4=C3=9Fler?= Date: Wed, 11 Feb 2026 12:49:40 +0100 Subject: [PATCH 184/206] docs: ban AI for issues and discussions [no CI] (#19512) --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c928bc39ce..7545e790f8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,7 +20,7 @@ If AI is used to generate any portion of the code, contributors must adhere to t 1. Explicitly disclose the manner in which AI was employed. 2. Perform a comprehensive manual review prior to submitting the pull request. 3. Be prepared to explain every line of code they submitted when asked about it by a maintainer. -4. Using AI to write pull request descriptions or to respond to human reviewers is strictly prohibited. +4. It is strictly prohibited to use AI to write your posts for you (bug reports, feature requests, pull request descriptions, Github discussions, responding to humans, ...). For more info, please refer to the [AGENTS.md](AGENTS.md) file. From 9ab072ebbe8ae679f6a35090979fe58c8659dc11 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 11 Feb 2026 14:53:19 +0200 Subject: [PATCH 185/206] metal : extend l2_norm support for non-cont src0 (#19502) --- ggml/src/ggml-metal/ggml-metal-device.cpp | 11 ++++-- ggml/src/ggml-metal/ggml-metal-device.m | 3 +- ggml/src/ggml-metal/ggml-metal-impl.h | 15 +++++++- ggml/src/ggml-metal/ggml-metal-ops.cpp | 46 ++++++++++++++++------- ggml/src/ggml-metal/ggml-metal.metal | 30 ++++++++++----- 5 files changed, 75 insertions(+), 30 deletions(-) diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp index 949e344cc8..517559d12a 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.cpp +++ b/ggml/src/ggml-metal/ggml-metal-device.cpp @@ -1480,13 +1480,15 @@ ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_bin_one(ggml_met ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_l2_norm(ggml_metal_library_t lib, const ggml_tensor * op) { assert(op->op == GGML_OP_L2_NORM); - GGML_ASSERT(op->src[0]->ne[0] % 4 == 0); - GGML_ASSERT(ggml_is_contiguous_1(op->src[0])); - char base[256]; char name[256]; - snprintf(base, 256, "kernel_l2_norm_f32"); + const bool is_c4 = op->src[0]->ne[0] % 4 == 0; + + const char * t0_str = ggml_type_name(op->src[0]->type); + const char * t_str = ggml_type_name(op->type); + + snprintf(base, 256, "kernel_l2_norm_%s_%s%s", t0_str, t_str, is_c4 ? "_4" : ""); snprintf(name, 256, "%s", base); ggml_metal_pipeline_with_params res = ggml_metal_library_get_pipeline(lib, name); @@ -1494,6 +1496,7 @@ ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_l2_norm(ggml_met res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); } + res.c4 = is_c4; res.smem = 32*sizeof(float); return res; diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index 50a2a3e7f7..c714ef3add 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -1086,9 +1086,8 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te case GGML_OP_MEAN: case GGML_OP_SOFT_MAX: case GGML_OP_GROUP_NORM: - return has_simdgroup_reduction && ggml_is_contiguous_rows(op->src[0]); case GGML_OP_L2_NORM: - return has_simdgroup_reduction && (op->ne[0] % 4 == 0 && ggml_is_contiguous_1(op->src[0])); + return has_simdgroup_reduction && ggml_is_contiguous_rows(op->src[0]); case GGML_OP_COUNT_EQUAL: return has_simdgroup_reduction && op->src[0]->type == GGML_TYPE_I32 && diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h index 44141f8e3d..952e1be076 100644 --- a/ggml/src/ggml-metal/ggml-metal-impl.h +++ b/ggml/src/ggml-metal/ggml-metal-impl.h @@ -539,8 +539,21 @@ typedef struct { typedef struct { int32_t ne00; - int32_t ne00_4; + int32_t ne01; + int32_t ne02; + int32_t ne03; + uint64_t nb00; uint64_t nb01; + uint64_t nb02; + uint64_t nb03; + int32_t ne0; + int32_t ne1; + int32_t ne2; + int32_t ne3; + uint64_t nb0; + uint64_t nb1; + uint64_t nb2; + uint64_t nb3; float eps; } ggml_metal_kargs_l2_norm; diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp index b159a8e7fd..7db95d1c84 100644 --- a/ggml/src/ggml-metal/ggml-metal-ops.cpp +++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp @@ -2979,39 +2979,59 @@ int ggml_metal_op_l2_norm(ggml_metal_op_t ctx, int idx) { GGML_TENSOR_LOCALS( int32_t, ne, op, ne); GGML_TENSOR_LOCALS(uint64_t, nb, op, nb); + GGML_ASSERT(ggml_is_contiguous_rows(op->src[0])); + + ggml_metal_buffer_id bid_src0 = ggml_metal_get_buffer_id(op->src[0]); + ggml_metal_buffer_id bid_dst = ggml_metal_get_buffer_id(op); + float eps; memcpy(&eps, op->op_params, sizeof(float)); - int nth = 32; // SIMD width - ggml_metal_kargs_l2_norm args = { - /*.ne00 =*/ ne00, - /*.ne00_4 =*/ ne00/4, - /*.nb01 =*/ nb01, - /*.eps =*/ eps, + /*.ne00 =*/ ne00, + /*.ne01 =*/ ne01, + /*.ne02 =*/ ne02, + /*.ne03 =*/ ne03, + /*.nb00 =*/ nb00, + /*.nb01 =*/ nb01, + /*.nb02 =*/ nb02, + /*.nb03 =*/ nb03, + /*.ne0 =*/ ne0, + /*.ne1 =*/ ne1, + /*.ne2 =*/ ne2, + /*.ne3 =*/ ne3, + /*.nb0 =*/ nb0, + /*.nb1 =*/ nb1, + /*.nb2 =*/ nb2, + /*.nb3 =*/ nb3, + /*.eps =*/ eps, }; auto pipeline = ggml_metal_library_get_pipeline_l2_norm(lib, op); - while (nth < ne00/4 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + if (pipeline.c4) { + args.ne00 = ne00/4; + args.ne0 = ne0/4; + } + + int nth = 32; // SIMD width + + while (nth < ne00 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { nth *= 2; } nth = std::min(nth, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); - nth = std::min(nth, ne00/4); const size_t smem = pipeline.smem; - const int64_t nrows = ggml_nrows(op->src[0]); - ggml_metal_encoder_set_pipeline(enc, pipeline); ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + ggml_metal_encoder_set_buffer (enc, bid_src0, 1); + ggml_metal_encoder_set_buffer (enc, bid_dst, 2); ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); - ggml_metal_encoder_dispatch_threadgroups(enc, nrows, 1, 1, nth, 1, 1); + ggml_metal_encoder_dispatch_threadgroups(enc, ne01, ne02, ne03, nth, 1, 1); return 1; } diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index 7d841341a1..a385a50b94 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -2706,26 +2706,32 @@ template [[host_name("kernel_rms_norm_f32_4")]] kernel kernel_rms_norm_f template [[host_name("kernel_rms_norm_mul_f32_4")]] kernel kernel_rms_norm_fuse_t kernel_rms_norm_fuse_impl; template [[host_name("kernel_rms_norm_mul_add_f32_4")]] kernel kernel_rms_norm_fuse_t kernel_rms_norm_fuse_impl; -kernel void kernel_l2_norm_f32( +template +kernel void kernel_l2_norm_impl( constant ggml_metal_kargs_l2_norm & args, device const char * src0, device char * dst, threadgroup float * shmem_f32 [[threadgroup(0)]], - uint tgpig[[threadgroup_position_in_grid]], - ushort tpitg[[thread_position_in_threadgroup]], - ushort sgitg[[simdgroup_index_in_threadgroup]], - ushort tiisg[[thread_index_in_simdgroup]], - ushort ntg[[threads_per_threadgroup]]) { + uint3 tgpig[[threadgroup_position_in_grid]], + ushort3 tpitg[[thread_position_in_threadgroup]], + ushort sgitg[[simdgroup_index_in_threadgroup]], + ushort tiisg[[thread_index_in_simdgroup]], + ushort3 ntg[[threads_per_threadgroup]]) { + const int i03 = tgpig.z; + const int i02 = tgpig.y; + const int i01 = tgpig.x; + if (sgitg == 0) { shmem_f32[tiisg] = 0.0f; } - device const float4 * x = (device const float4 *) (src0 + tgpig*args.nb01); + device const T0 * x = (device const T0 *) (src0 + i03*args.nb03 + i02*args.nb02 + i01*args.nb01); + device T * y = (device T *) (dst + i03*args.nb3 + i02*args.nb2 + i01*args.nb1); float sumf = 0.0f; // parallel sum - for (int i00 = tpitg; i00 < args.ne00_4; i00 += ntg) { + for (int i00 = tpitg.x; i00 < args.ne00; i00 += ntg.x) { sumf += dot(x[i00], x[i00]); } sumf = simd_sum(sumf); @@ -2743,12 +2749,16 @@ kernel void kernel_l2_norm_f32( const float scale = 1.0f/sqrt(max(sumf, args.eps)); - device float4 * y = (device float4 *) dst + tgpig*args.ne00_4; - for (int i00 = tpitg; i00 < args.ne00_4; i00 += ntg) { + for (int i00 = tpitg.x; i00 < args.ne00; i00 += ntg.x) { y[i00] = x[i00] * scale; } } +typedef decltype(kernel_l2_norm_impl) kernel_l2_norm_t; + +template [[host_name("kernel_l2_norm_f32_f32")]] kernel kernel_l2_norm_t kernel_l2_norm_impl; +template [[host_name("kernel_l2_norm_f32_f32_4")]] kernel kernel_l2_norm_t kernel_l2_norm_impl; + kernel void kernel_group_norm_f32( constant ggml_metal_kargs_group_norm & args, device const float * src0, From 53de59f67dfd17fe9df32bf48e0df757e833419f Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 11 Feb 2026 14:02:29 +0100 Subject: [PATCH 186/206] build : fix case in dSYMs path for build-macos [no ci] (#19515) This commit updates an incorrect dSYMs where the the 's' was uppercase by mistake. The motivation for fixing this is that this can cause issues on case sensitive operating systems. Refs: https://github.com/ggml-org/whisper.cpp/pull/3630 --- build-xcframework.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build-xcframework.sh b/build-xcframework.sh index 0eec871139..e8af16211f 100755 --- a/build-xcframework.sh +++ b/build-xcframework.sh @@ -534,7 +534,7 @@ xcodebuild -create-xcframework \ -framework $(pwd)/build-ios-device/framework/llama.framework \ -debug-symbols $(pwd)/build-ios-device/dSYMs/llama.dSYM \ -framework $(pwd)/build-macos/framework/llama.framework \ - -debug-symbols $(pwd)/build-macos/dSYMS/llama.dSYM \ + -debug-symbols $(pwd)/build-macos/dSYMs/llama.dSYM \ -framework $(pwd)/build-visionos/framework/llama.framework \ -debug-symbols $(pwd)/build-visionos/dSYMs/llama.dSYM \ -framework $(pwd)/build-visionos-sim/framework/llama.framework \ From e463bbdf659fed30b0fba822257ec7d8b373d1c2 Mon Sep 17 00:00:00 2001 From: AesSedai <7980540+AesSedai@users.noreply.github.com> Date: Wed, 11 Feb 2026 07:47:30 -0800 Subject: [PATCH 187/206] model: Add Kimi-K2.5 support (#19170) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Move dequant_model to after the text_config merge Add new kimi-k2.5 keys to mtmd convert Update V_MMPROJ tensor mapping for new mm_projector.proj keys Update V_M_IMP_NORM for new mm_projector.pre_norm key * Fix a couple of oversights * Add image support for Kimi-K2.5 * Revert changes to KimiVLForConditionalGeneration * Fix an assert crash * Fix permute swapping w / h on accident * Kimi-K2.5: Use merged QKV for vision * Kimi-K2.5: pre-convert vision QK to use build_rope_2d * Kimi-K2.5: support non-interleaved rope for vision * Kimi-K2.5: fix min / max pixel * Kimi-K2.5: remove v/o permutes, unnecessary * Kimi-K2.5: update permute name to match * Update convert_hf_to_gguf.py Co-authored-by: Sigbjørn Skjæret * Kimi-K2.5: replace build_rope_2d ggml_cont with ggml_view_3d pointers --------- Co-authored-by: Sigbjørn Skjæret --- convert_hf_to_gguf.py | 124 ++++++++++++++++++++++++++++++--- gguf-py/gguf/constants.py | 1 + gguf-py/gguf/tensor_mapping.py | 3 + tools/mtmd/CMakeLists.txt | 1 + tools/mtmd/clip-impl.h | 2 + tools/mtmd/clip.cpp | 90 ++++++++++++++++++++++-- tools/mtmd/models/kimik25.cpp | 101 +++++++++++++++++++++++++++ tools/mtmd/models/models.h | 7 ++ 8 files changed, 316 insertions(+), 13 deletions(-) create mode 100644 tools/mtmd/models/kimik25.cpp diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 61eb9839e0..2afaf85fb8 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -160,8 +160,6 @@ class ModelBase: self.ftype = gguf.LlamaFileType.MOSTLY_F16 logger.info("heuristics unable to detect tensor dtype, defaulting to --outtype f16") - self.dequant_model() - # Configure GGUF Writer self.gguf_writer = gguf.GGUFWriter(path=None, arch=gguf.MODEL_ARCH_NAMES[self.model_arch], endianess=self.endianess, use_temp_file=self.use_temp_file, split_max_tensors=split_max_tensors, split_max_size=split_max_size, dry_run=dry_run, small_first_shard=small_first_shard) @@ -527,6 +525,8 @@ class ModelBase: return () def prepare_tensors(self): + self.dequant_model() + # Handle empty tensor_map for models with block_count=0 (like MobileNetV5) if self.tensor_map.mapping: max_name_len = max(len(s) for _, s in self.tensor_map.mapping.values()) + len(".weight,") @@ -1815,7 +1815,7 @@ class MmprojModel(ModelBase): preprocessor_config: dict[str, Any] global_config: dict[str, Any] - n_block_keys = ["n_layers", "num_hidden_layers", "n_layer", "num_layers", "depth", "encoder_layers"] + n_block_keys = ["n_layers", "num_hidden_layers", "n_layer", "num_layers", "depth", "encoder_layers", "vt_num_hidden_layers"] has_vision_encoder: bool = True # by default has_audio_encoder: bool = False @@ -1870,7 +1870,15 @@ class MmprojModel(ModelBase): preprocessor_config_path = self.dir_model / "preprocessor_config.json" if preprocessor_config_path.is_file(): with open(preprocessor_config_path, "r", encoding="utf-8") as f: - self.preprocessor_config = json.load(f) + cfg = json.load(f) + # move media_proc_cfg to root level for compat + if "media_proc_cfg" in cfg: + cfg = { + **cfg, + **cfg["media_proc_cfg"], + } + # merge configs + self.preprocessor_config = {**self.preprocessor_config, **cfg} # prefer processor_config.json if possible processor_config_path = self.dir_model / "processor_config.json" @@ -1919,10 +1927,10 @@ class MmprojModel(ModelBase): self.image_size = self.find_vparam(["image_size"]) self.gguf_writer.add_vision_image_size(self.image_size) self.gguf_writer.add_vision_patch_size(self.find_vparam(["patch_size"])) - self.gguf_writer.add_vision_embedding_length(self.find_vparam(["hidden_size"])) - self.gguf_writer.add_vision_feed_forward_length(self.find_vparam(["intermediate_size"])) + self.gguf_writer.add_vision_embedding_length(self.find_vparam(["hidden_size", "vt_hidden_size"])) + self.gguf_writer.add_vision_feed_forward_length(self.find_vparam(["intermediate_size", "vt_intermediate_size"])) self.gguf_writer.add_vision_block_count(self.find_vparam(self.n_block_keys)) - self.gguf_writer.add_vision_head_count(self.find_vparam(["num_attention_heads", "num_heads"])) + self.gguf_writer.add_vision_head_count(self.find_vparam(["num_attention_heads", "num_heads", "vt_num_attention_heads"])) # preprocessor config image_mean = _MISTRAL_COMMON_DATASET_MEAN if self.is_mistral_format else self.preprocessor_config["image_mean"] @@ -7695,6 +7703,7 @@ class DeepseekModel(TextModel): "DeepseekV2ForCausalLM", "DeepseekV3ForCausalLM", "KimiVLForConditionalGeneration", + "KimiK25ForConditionalGeneration", "YoutuForCausalLM", "YoutuVLForConditionalGeneration", ) @@ -7813,8 +7822,8 @@ class DeepseekV2Model(TextModel): _experts: list[dict[str, Tensor]] | None = None def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: - # skip vision tensors and remove "language_model." for Kimi-VL - if "vision_tower" in name or "multi_modal_projector" in name: + # skip vision tensors and remove "language_model." for Kimi-VL and Kimi-K2.5 + if "vision_tower" in name or "multi_modal_projector" in name or "mm_projector" in name: return if name.startswith("siglip2.") or name.startswith("merger."): return @@ -11176,6 +11185,103 @@ class KimiVLModel(MmprojModel): yield from super().modify_tensors(data_torch, name, bid) +@ModelBase.register("KimiK25ForConditionalGeneration") +class KimiK25Model(MmprojModel): + """Kimi-K2.5 with MoonViT3d vision encoder""" + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + assert self.hparams_vision is not None, "Kimi-K2.5 requires vision_config in model config" + + self.merge_kernel_size = tuple(self.hparams_vision.get("merge_kernel_size", [2, 2])) + self.patch_size = self.hparams_vision.get("patch_size", 14) + + # Set image_size for compatibility with base class + # Use position embedding dimensions as image_size reference + pos_emb_h = self.hparams_vision.get("init_pos_emb_height", 64) + self.hparams_vision["image_size"] = pos_emb_h * self.patch_size + + def set_gguf_parameters(self): + # Base class MmprojModel.set_gguf_parameters() already writes: + # - vision_block_count, vision_head_count, vision_embedding_length + # - vision_feed_forward_length, vision_patch_size, image_mean, image_std + # via find_vparam() which handles the vt_* prefixed keys in Kimi-K2.5's config + super().set_gguf_parameters() + assert self.hparams_vision is not None + + self.gguf_writer.add_clip_projector_type(gguf.VisionProjectorType.KIMIK25) + + # Position embedding parameters (for interpolation) + self.gguf_writer.add_uint32("vision.pos_emb_height", self.hparams_vision.get("init_pos_emb_height", 64)) + self.gguf_writer.add_uint32("vision.pos_emb_width", self.hparams_vision.get("init_pos_emb_width", 64)) + self.gguf_writer.add_uint32("vision.pos_emb_time", self.hparams_vision.get("init_pos_emb_time", 4)) + + # Projector parameters + self.gguf_writer.add_vision_use_gelu(self.hparams_vision.get("projector_hidden_act", "gelu") == "gelu") + self.gguf_writer.add_vision_attention_layernorm_eps(self.hparams_vision.get("projector_ln_eps", 1e-5)) + self.gguf_writer.add_vision_projector_scale_factor(self.merge_kernel_size[0]) + + # Image size limits + # Note: in_patch_limit is for images, in_patch_limit_each_frame is for video (not supported yet) + in_patch_limit = self.preprocessor_config.get("in_patch_limit", 16384) + min_patches = 8 # reasonable minimum + pixels_per_patch = self.patch_size ** 2 + self.gguf_writer.add_vision_min_pixels(min_patches * pixels_per_patch) + self.gguf_writer.add_vision_max_pixels(in_patch_limit * pixels_per_patch) + + @staticmethod + def permute(weights: Tensor, n_head: int) -> Tensor: + out_dim, in_dim = weights.shape + head_dim = out_dim // n_head + w = weights.reshape(n_head, head_dim // 4, 2, 2, in_dim) + w = w.permute(0, 2, 1, 3, 4) + return w.reshape(out_dim, in_dim) + + def modify_tensors(self, data_torch: Tensor, name: str, bid: int | None) -> Iterable[tuple[str, Tensor]]: + # Only process vision and projector tensors + is_vision = any(x in name for x in ["vision_tower", "mm_projector"]) + + if not is_vision: + return + + assert self.hparams_vision is not None + n_head = self.hparams_vision.get("num_attention_heads", 16) + + # Permute Q/K weights/biases from interleaved to split RoPE format + # This allows using build_rope_2d at runtime without post-permutation. + if "wqkv" in name: + out_dim = data_torch.shape[0] + qkv_dim = out_dim // 3 + head_dim = qkv_dim // n_head + + if "weight" in name: + wq, wk, wv = data_torch[:qkv_dim, :], data_torch[qkv_dim:2 * qkv_dim, :], data_torch[2 * qkv_dim:, :] + wq = self.permute(wq, n_head) + wk = self.permute(wk, n_head) + data_torch = torch.cat([wq, wk, wv], dim=0) + elif "bias" in name: + bq, bk, bv = data_torch[:qkv_dim], data_torch[qkv_dim:2 * qkv_dim], data_torch[2 * qkv_dim:] + bq = bq.reshape(n_head, head_dim // 4, 2, 2).permute(0, 2, 1, 3).reshape(-1) + bk = bk.reshape(n_head, head_dim // 4, 2, 2).permute(0, 2, 1, 3).reshape(-1) + data_torch = torch.cat([bq, bk, bv], dim=0) + + # Temporal embeddings: (T, 1, C) → (T, C) + if "pos_emb.time_weight" in name: + T, _, C = data_torch.shape + data_torch = data_torch.reshape(T, C) + + # PatchMergerMLP tensor name mapping + # proj.0.weight → proj.linear_1.weight + # proj.2.weight → proj.linear_2.weight + if "mm_projector.proj.0." in name: + name = name.replace(".proj.0.", ".proj.linear_1.") + elif "mm_projector.proj.2." in name: + name = name.replace(".proj.2.", ".proj.linear_2.") + + yield from super().modify_tensors(data_torch, name, bid) + + @ModelBase.register("CogVLMForCausalLM") class CogVLMVisionModel(MmprojModel): diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index ec36b6292a..9dab0df08a 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -3766,6 +3766,7 @@ class VisionProjectorType: VOXTRAL = "voxtral" LFM2 = "lfm2" KIMIVL = "kimivl" + KIMIK25 = "kimik25" LIGHTONOCR = "lightonocr" COGVLM = "cogvlm" JANUS_PRO = "janus_pro" diff --git a/gguf-py/gguf/tensor_mapping.py b/gguf-py/gguf/tensor_mapping.py index 71dd7e887b..43647904b4 100644 --- a/gguf-py/gguf/tensor_mapping.py +++ b/gguf-py/gguf/tensor_mapping.py @@ -1303,6 +1303,7 @@ class TensorNameMap: MODEL_TENSOR.V_MMPROJ: ( "multi_modal_projector.linear_{bid}", + "mm_projector.proj.linear_{bid}", # Kimi-K2.5 "visual.merger.mlp.{bid}", # qwen2vl "merger.mlp.{bid}", ), @@ -1364,6 +1365,7 @@ class TensorNameMap: MODEL_TENSOR.V_ENC_ATTN_QKV: ( "visual.blocks.{bid}.attn.qkv", # qwen3vl "model.vision.transformer.layers.{bid}.attention.query_key_value", # cogvlm + "vision_tower.encoder.blocks.{bid}.wqkv" # Kimi-K2.5 ), MODEL_TENSOR.V_ENC_ATTN_Q: ( @@ -1538,6 +1540,7 @@ class TensorNameMap: "multi_modal_projector.norm", "multi_modal_projector.layer_norm", "multi_modal_projector.pre_norm", + "mm_projector.pre_norm", # Kimi-K2.5 "pre_mm_projector_norm", "model.vision.linear_proj.norm1", # cogvlm "merger.ln_q", diff --git a/tools/mtmd/CMakeLists.txt b/tools/mtmd/CMakeLists.txt index 751440af32..02d71f224e 100644 --- a/tools/mtmd/CMakeLists.txt +++ b/tools/mtmd/CMakeLists.txt @@ -19,6 +19,7 @@ add_library(mtmd models/glm4v.cpp models/internvl.cpp models/kimivl.cpp + models/kimik25.cpp models/llama4.cpp models/llava.cpp models/minicpmv.cpp diff --git a/tools/mtmd/clip-impl.h b/tools/mtmd/clip-impl.h index ad232178bf..3bc93ead86 100644 --- a/tools/mtmd/clip-impl.h +++ b/tools/mtmd/clip-impl.h @@ -235,6 +235,7 @@ enum projector_type { PROJECTOR_TYPE_LFM2A, PROJECTOR_TYPE_GLM4V, PROJECTOR_TYPE_YOUTUVL, + PROJECTOR_TYPE_KIMIK25, PROJECTOR_TYPE_UNKNOWN, }; @@ -268,6 +269,7 @@ static std::map PROJECTOR_TYPE_NAMES = { { PROJECTOR_TYPE_LFM2A, "lfm2a"}, { PROJECTOR_TYPE_GLM4V, "glm4v"}, { PROJECTOR_TYPE_YOUTUVL, "youtuvl"}, + { PROJECTOR_TYPE_KIMIK25, "kimik25"}, }; static projector_type clip_projector_type_from_string(const std::string & str) { diff --git a/tools/mtmd/clip.cpp b/tools/mtmd/clip.cpp index 614fe66fde..eeccb4cda0 100644 --- a/tools/mtmd/clip.cpp +++ b/tools/mtmd/clip.cpp @@ -673,8 +673,8 @@ ggml_tensor * clip_graph::build_rope_2d( { first = ggml_view_3d(ctx0, cur, n_dim/2, n_head, n_pos, - ggml_row_size(cur->type, n_dim), - ggml_row_size(cur->type, n_dim*n_head), + cur->nb[1], + cur->nb[2], 0); first = ggml_rope_ext( ctx0, @@ -692,8 +692,8 @@ ggml_tensor * clip_graph::build_rope_2d( { second = ggml_view_3d(ctx0, cur, n_dim/2, n_head, n_pos, - ggml_row_size(cur->type, n_dim), - ggml_row_size(cur->type, n_dim*n_head), + cur->nb[1], + cur->nb[2], n_dim/2 * ggml_element_size(cur)); second = ggml_rope_ext( ctx0, @@ -826,6 +826,10 @@ static ggml_cgraph * clip_image_build_graph(clip_ctx * ctx, const clip_image_f32 { builder = std::make_unique(ctx, img); } break; + case PROJECTOR_TYPE_KIMIK25: + { + builder = std::make_unique(ctx, img); + } break; case PROJECTOR_TYPE_COGVLM: { builder = std::make_unique(ctx, img); @@ -1139,6 +1143,22 @@ struct clip_model_loader { hparams.set_limit_image_tokens(8, 1024); hparams.set_warmup_n_tokens(256); // avoid OOM on warmup } break; + case PROJECTOR_TYPE_KIMIK25: + { + hparams.rope_theta = 10000.0f; + get_u32(KEY_PROJ_SCALE_FACTOR, hparams.n_merge, false); + + int min_pixels = 0, max_pixels = 0; + get_u32(KEY_IMAGE_MIN_PIXELS, min_pixels, false); + get_u32(KEY_IMAGE_MAX_PIXELS, max_pixels, false); + if (min_pixels > 0 && max_pixels > 0) { + hparams.image_min_pixels = min_pixels; + hparams.image_max_pixels = max_pixels; + hparams.warmup_image_size = static_cast(std::sqrt(max_pixels)); + } else { + hparams.set_limit_image_tokens(2, 4096); + } + } break; case PROJECTOR_TYPE_GEMMA3: { // default value (used by all model sizes in gemma 3 family) @@ -1668,6 +1688,7 @@ struct clip_model_loader { model.mm_2_b = get_tensor(string_format(TN_LLAVA_PROJ, 2, "bias")); } break; case PROJECTOR_TYPE_KIMIVL: + case PROJECTOR_TYPE_KIMIK25: { model.mm_input_norm_w = get_tensor(TN_MM_INP_NORM); model.mm_input_norm_b = get_tensor(TN_MM_INP_NORM_B); @@ -3165,6 +3186,23 @@ bool clip_image_preprocess(struct clip_ctx * ctx, const clip_image_u8 * img, str res_imgs->entries.push_back(std::move(res)); } break; + case PROJECTOR_TYPE_KIMIK25: + { + GGML_ASSERT(params.image_min_pixels > 0 && params.image_max_pixels > 0); + const clip_image_size target_size = img_tool::calc_size_preserved_ratio( + original_size, + params.patch_size * params.n_merge, + params.image_min_pixels, + params.image_max_pixels); + const std::array pad_color = {0, 0, 0}; + + clip_image_u8 resized_img; + img_tool::resize(*img, resized_img, target_size, img_tool::RESIZE_ALGO_BICUBIC, true, pad_color); + clip_image_f32_ptr res(clip_image_f32_init()); + normalize_image_u8_to_f32(resized_img, *res, params.image_mean, params.image_std); + res_imgs->entries.push_back(std::move(res)); + } break; + case PROJECTOR_TYPE_MLP: case PROJECTOR_TYPE_MLP_NORM: case PROJECTOR_TYPE_LDP: @@ -3373,6 +3411,7 @@ int clip_n_output_tokens(const struct clip_ctx * ctx, struct clip_image_f32 * im } break; case PROJECTOR_TYPE_LFM2: case PROJECTOR_TYPE_KIMIVL: + case PROJECTOR_TYPE_KIMIK25: { // dynamic size int out_patch_size = params.patch_size * ctx->model.hparams.n_merge; @@ -3714,6 +3753,7 @@ bool clip_image_batch_encode(clip_ctx * ctx, const int n_threads, const clip_ima } break; case PROJECTOR_TYPE_PIXTRAL: case PROJECTOR_TYPE_KIMIVL: + case PROJECTOR_TYPE_KIMIK25: case PROJECTOR_TYPE_LIGHTONOCR: { // set the 2D positions @@ -3850,6 +3890,47 @@ bool clip_image_batch_encode(clip_ctx * ctx, const int n_threads, const clip_ima ggml_backend_tensor_get(embeddings, vec, 0, ggml_nbytes(embeddings)); } + // Debug: dump final embeddings if MTMD_DEBUG_EMBEDDINGS is set + if (std::getenv("MTMD_DEBUG_EMBEDDINGS") != nullptr) { + const int64_t n_embd = embeddings->ne[0]; + const int64_t n_tokens = embeddings->ne[1]; + std::vector emb_data(n_embd * n_tokens); + ggml_backend_tensor_get(embeddings, emb_data.data(), 0, ggml_nbytes(embeddings)); + + LOG_INF("\n=== MTMD_DEBUG_EMBEDDINGS ===\n"); + LOG_INF("Shape: [%lld, %lld]\n", (long long)n_embd, (long long)n_tokens); + + // Print first few values of first token + LOG_INF("Token 0 (first 16 values): "); + for (int i = 0; i < std::min((int64_t)16, n_embd); i++) { + LOG_INF("%.6f ", emb_data[i]); + } + LOG_INF("\n"); + + // Print last few values of first token + if (n_embd > 16) { + LOG_INF("Token 0 (last 16 values): "); + for (int64_t i = n_embd - 16; i < n_embd; i++) { + LOG_INF("%.6f ", emb_data[i]); + } + LOG_INF("\n"); + } + + // Compute and print statistics + float sum = 0.0f, sum_sq = 0.0f, min_val = emb_data[0], max_val = emb_data[0]; + for (size_t i = 0; i < emb_data.size(); i++) { + sum += emb_data[i]; + sum_sq += emb_data[i] * emb_data[i]; + min_val = std::min(min_val, emb_data[i]); + max_val = std::max(max_val, emb_data[i]); + } + float mean = sum / emb_data.size(); + float variance = (sum_sq / emb_data.size()) - (mean * mean); + LOG_INF("Stats: mean=%.6f, std=%.6f, min=%.6f, max=%.6f, sum=%.6f\n", + mean, sqrtf(variance), min_val, max_val, sum); + LOG_INF("=== END MTMD_DEBUG_EMBEDDINGS ===\n\n"); + } + return true; } @@ -3896,6 +3977,7 @@ int clip_n_mmproj_embd(const struct clip_ctx * ctx) { return ctx->model.mm_2_w->ne[1]; case PROJECTOR_TYPE_LFM2: case PROJECTOR_TYPE_KIMIVL: + case PROJECTOR_TYPE_KIMIK25: return ctx->model.mm_2_w->ne[1]; case PROJECTOR_TYPE_COGVLM: return ctx->model.mm_4h_to_h_w->ne[1]; diff --git a/tools/mtmd/models/kimik25.cpp b/tools/mtmd/models/kimik25.cpp new file mode 100644 index 0000000000..cf9f27f63a --- /dev/null +++ b/tools/mtmd/models/kimik25.cpp @@ -0,0 +1,101 @@ +#include "models.h" +#include +#include + +// note: this is similar to clip_graph::resize_position_embeddings, major difference is having +// the w/h in ne[1] and ne[2] instead of assuming with sqrt. Could try storing the tensor in 2D instead +// with a w*h? Also the permute is a bit different at (2, 1, 0, 3) instead of (2, 0, 1, 3). +ggml_tensor * clip_graph_kimik25::resize_position_embeddings_3d(uint32_t interpolation_mode) { + ggml_tensor * pos_embd = model.position_embeddings; + const int height = img.ny / patch_size; + const int width = img.nx / patch_size; + const uint32_t mode = interpolation_mode; + + GGML_ASSERT(pos_embd); + + const int64_t stored_c = pos_embd->ne[0]; // C = 1152 + const int64_t orig_w = pos_embd->ne[1]; // W = 64 + const int64_t orig_h = pos_embd->ne[2]; // H = 64 + + GGML_ASSERT(stored_c == n_embd); + + if (height == (int)orig_h && width == (int)orig_w) { + // No interpolation needed, just flatten to [C, H*W] + return ggml_cont_2d(ctx0, pos_embd, n_embd, width * height); + } + + pos_embd = ggml_permute(ctx0, pos_embd, 2, 1, 0, 3); + pos_embd = ggml_interpolate(ctx0, pos_embd, height, width, n_embd, 1, mode); + pos_embd = ggml_permute(ctx0, pos_embd, 2, 1, 0, 3); + pos_embd = ggml_cont_2d(ctx0, pos_embd, n_embd, width * height); + return pos_embd; +} + +ggml_cgraph * clip_graph_kimik25::build() { + ggml_tensor * pos_h = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, n_patches); + ggml_set_name(pos_h, "pos_h"); + ggml_set_input(pos_h); + + ggml_tensor * pos_w = ggml_new_tensor_1d(ctx0, GGML_TYPE_I32, n_patches); + ggml_set_name(pos_w, "pos_w"); + ggml_set_input(pos_w); + + ggml_tensor * learned_pos_embd = resize_position_embeddings_3d(GGML_SCALE_MODE_BICUBIC); + + // Kimi-K2.5 uses interleaved 2D RoPE pattern natively, but + // Q / K are permuted during conversion to use split format. + auto add_pos = [&](ggml_tensor * cur, const clip_layer &) { + cur = build_rope_2d(ctx0, cur, pos_w, pos_h, hparams.rope_theta, false); + return cur; + }; + + ggml_tensor * inp = build_inp(); + + // I don't know why, but doing this in the build_vit lead to the ggml_add not occurring? + // Doing it manually here does work. + inp = ggml_add(ctx0, inp, learned_pos_embd); + + ggml_tensor * cur = build_vit( + inp, n_patches, + NORM_TYPE_NORMAL, + hparams.ffn_op, + nullptr, + add_pos); + + cb(cur, "vit_out", -1); + + { + // patch_merger + const int scale_factor = model.hparams.n_merge; + cur = build_patch_merge_permute(cur, scale_factor); + + // projection norm + int proj_inp_dim = cur->ne[0]; + int n_merged_patches = cur->ne[1]; + cur = ggml_view_2d(ctx0, cur, + n_embd, n_merged_patches * scale_factor * scale_factor, + ggml_row_size(cur->type, n_embd), 0); + cur = ggml_norm(ctx0, cur, hparams.eps); + cur = ggml_mul(ctx0, cur, model.mm_input_norm_w); + cur = ggml_add(ctx0, cur, model.mm_input_norm_b); + cur = ggml_view_2d(ctx0, cur, + proj_inp_dim, n_merged_patches, + ggml_row_size(cur->type, proj_inp_dim), 0); + cb(cur, "proj_inp_normed", -1); + + // projection mlp + cur = build_ffn(cur, + model.mm_1_w, model.mm_1_b, + nullptr, nullptr, + model.mm_2_w, model.mm_2_b, + FFN_GELU, + -1); + + cb(cur, "proj_out", -1); + } + + // build the graph + ggml_build_forward_expand(gf, cur); + + return gf; +} diff --git a/tools/mtmd/models/models.h b/tools/mtmd/models/models.h index 9970980c7b..c4c67ace62 100644 --- a/tools/mtmd/models/models.h +++ b/tools/mtmd/models/models.h @@ -109,3 +109,10 @@ struct clip_graph_mobilenetv5 : clip_graph { ggml_tensor * inp, const mobilenetv5_block & block); }; + +struct clip_graph_kimik25 : clip_graph { + clip_graph_kimik25(clip_ctx * ctx, const clip_image_f32 & img) : clip_graph(ctx, img) {} + ggml_cgraph * build() override; + + ggml_tensor * resize_position_embeddings_3d(uint32_t interpolation_mode); +}; From 3136a849dba799490d863ba03ef56b92ff052caf Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 11 Feb 2026 17:41:35 +0100 Subject: [PATCH 188/206] common : remove unused token util functions (#19506) This commit removes two unused functions `common_lcp` and `common_lcs`. The last usage of these functions was removed in Commit 33eff4024084d1f0c8441b79f7208a52fad79858 ("server : vision support via libmtmd") and are no longer used anywhere in the codebase. --- common/common.cpp | 60 ----------------------------------------------- common/common.h | 10 -------- 2 files changed, 70 deletions(-) diff --git a/common/common.cpp b/common/common.cpp index 3aa396127c..93474f88c7 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1469,66 +1469,6 @@ void common_batch_add( batch.n_tokens++; } -// -// Token utils -// - -size_t common_lcp(const llama_tokens & a, const llama_tokens & b) { - size_t i; - for (i = 0; i < a.size() && i < b.size() && a[i] == b[i]; i++) {} - - return i; -} - -size_t common_lcs(const llama_tokens & a, const llama_tokens & b) { - // check for empty sequences - if (a.empty() || b.empty()) { - return 0; - } - - // get the lengths of the input sequences - size_t a_len = a.size(); - size_t b_len = b.size(); - - // initialize the maximum length of the longest common subsequence (LCS) - size_t max_length = 0; - - // use two rows instead of a 2D matrix to optimize space - std::vector prev_row(b_len + 1, 0); - std::vector curr_row(b_len + 1, 0); - - // iterate through the elements of a - for (size_t i = 1; i <= a_len; i++) { - // iterate through the elements of b - for (size_t j = 1; j <= b_len; j++) { - // if elements at the current positions match - if (a[i - 1] == b[j - 1]) { - // if it's the first element of either sequences, set LCS length to 1 - if (i == 1 || j == 1) { - curr_row[j] = 1; - } else { - // increment LCS length by 1 compared to the previous element - curr_row[j] = prev_row[j - 1] + 1; - } - - // update max_length if necessary - if (curr_row[j] > max_length) { - max_length = curr_row[j]; - } - } else { - // reset LCS length if elements don't match - curr_row[j] = 0; - } - } - - // update the previous row for the next iteration - prev_row = curr_row; - } - - // return the maximum length of the LCS - return max_length; -} - // // Vocab utils // diff --git a/common/common.h b/common/common.h index b284244530..804485fb19 100644 --- a/common/common.h +++ b/common/common.h @@ -779,16 +779,6 @@ void common_batch_add( const std::vector & seq_ids, bool logits); -// -// Token utils -// - -// longest common prefix -size_t common_lcp(const llama_tokens & a, const llama_tokens & b); - -// longet common subsequence -size_t common_lcs(const llama_tokens & a, const llama_tokens & b); - // // Vocab utils // From 914dde72babffc8aa2e04c97dafcec029a671b2e Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Wed, 11 Feb 2026 18:58:43 +0200 Subject: [PATCH 189/206] ggml : unary ops support non-cont src0 + metal F16 unary ops (#19511) * ggml : unary ops support non-cont src0 * metal : support F16 unary ops + fix ELU --- ggml/src/ggml-cpu/ops.cpp | 144 +++++++++++++++++------- ggml/src/ggml-cpu/unary-ops.cpp | 2 +- ggml/src/ggml-metal/ggml-metal-device.m | 4 +- ggml/src/ggml-metal/ggml-metal.metal | 84 ++++++++------ ggml/src/ggml.c | 2 +- tests/test-backend-ops.cpp | 6 +- 6 files changed, 164 insertions(+), 78 deletions(-) diff --git a/ggml/src/ggml-cpu/ops.cpp b/ggml/src/ggml-cpu/ops.cpp index ed45350207..4352e13280 100644 --- a/ggml/src/ggml-cpu/ops.cpp +++ b/ggml/src/ggml-cpu/ops.cpp @@ -2096,10 +2096,14 @@ static void ggml_compute_forward_gelu_f32( const ggml_tensor * src0 = dst->src[0]; - assert(ggml_is_contiguous_1(src0)); - assert(ggml_is_contiguous_1(dst)); + assert(ggml_is_contiguous_rows(src0)); assert(ggml_are_same_shape(src0, dst)); + GGML_TENSOR_LOCALS(int64_t, ne0, src0, ne) + GGML_TENSOR_LOCALS(size_t, nb0, src0, nb) + GGML_TENSOR_LOCALS(int64_t, ne, dst, ne) + GGML_TENSOR_LOCALS(size_t, nb, dst, nb) + const int ith = params->ith; const int nth = params->nth; @@ -2113,10 +2117,14 @@ static void ggml_compute_forward_gelu_f32( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); - for (int i1 = ir0; i1 < ir1; i1++) { + for (int ir = ir0; ir < ir1; ++ir) { + const int i3 = ir/(ne02*ne01); + const int i2 = (ir - i3*ne02*ne01)/ne01; + const int i1 = (ir - i3*ne02*ne01 - i2*ne01); + ggml_vec_gelu_f32(nc, - (float *) ((char *) dst->data + i1*( dst->nb[1])), - (float *) ((char *) src0->data + i1*(src0->nb[1]))); + (float *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*nb1), + (float *) ((char *) src0->data + i3*nb03 + i2*nb02 + i1*nb01)); #ifndef NDEBUG for (int k = 0; k < nc; k++) { @@ -2135,10 +2143,14 @@ static void ggml_compute_forward_gelu_f16( const ggml_tensor * src0 = dst->src[0]; - assert(ggml_is_contiguous_1(src0)); - assert(ggml_is_contiguous_1(dst)); + assert(ggml_is_contiguous_rows(src0)); assert(ggml_are_same_shape(src0, dst)); + GGML_TENSOR_LOCALS(int64_t, ne0, src0, ne) + GGML_TENSOR_LOCALS(size_t, nb0, src0, nb) + GGML_TENSOR_LOCALS(int64_t, ne, dst, ne) + GGML_TENSOR_LOCALS(size_t, nb, dst, nb) + const int ith = params->ith; const int nth = params->nth; @@ -2152,10 +2164,14 @@ static void ggml_compute_forward_gelu_f16( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); - for (int i1 = ir0; i1 < ir1; i1++) { + for (int ir = ir0; ir < ir1; ++ir) { + const int i3 = ir/(ne02*ne01); + const int i2 = (ir - i3*ne02*ne01)/ne01; + const int i1 = (ir - i3*ne02*ne01 - i2*ne01); + ggml_vec_gelu_f16(nc, - (ggml_fp16_t *) ((char *) dst->data + i1*( dst->nb[1])), - (ggml_fp16_t *) ((char *) src0->data + i1*(src0->nb[1]))); + (ggml_fp16_t *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*nb1), + (ggml_fp16_t *) ((char *) src0->data + i3*nb03 + i2*nb02 + i1*nb01)); #ifndef NDEBUG for (int k = 0; k < nc; k++) { @@ -2276,10 +2292,14 @@ static void ggml_compute_forward_gelu_erf_f32( const ggml_tensor * src0 = dst->src[0]; - assert(ggml_is_contiguous_1(src0)); - assert(ggml_is_contiguous_1(dst)); + assert(ggml_is_contiguous_rows(src0)); assert(ggml_are_same_shape(src0, dst)); + GGML_TENSOR_LOCALS(int64_t, ne0, src0, ne) + GGML_TENSOR_LOCALS(size_t, nb0, src0, nb) + GGML_TENSOR_LOCALS(int64_t, ne, dst, ne) + GGML_TENSOR_LOCALS(size_t, nb, dst, nb) + const int ith = params->ith; const int nth = params->nth; @@ -2293,10 +2313,14 @@ static void ggml_compute_forward_gelu_erf_f32( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); - for (int i1 = ir0; i1 < ir1; i1++) { + for (int ir = ir0; ir < ir1; ++ir) { + const int i3 = ir/(ne02*ne01); + const int i2 = (ir - i3*ne02*ne01)/ne01; + const int i1 = (ir - i3*ne02*ne01 - i2*ne01); + ggml_vec_gelu_erf_f32(nc, - (float *) ((char *) dst->data + i1*( dst->nb[1])), - (float *) ((char *) src0->data + i1*(src0->nb[1]))); + (float *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*nb1), + (float *) ((char *) src0->data + i3*nb03 + i2*nb02 + i1*nb01)); #ifndef NDEBUG for (int k = 0; k < nc; k++) { @@ -2315,10 +2339,14 @@ static void ggml_compute_forward_gelu_erf_f16( const ggml_tensor * src0 = dst->src[0]; - assert(ggml_is_contiguous_1(src0)); - assert(ggml_is_contiguous_1(dst)); + assert(ggml_is_contiguous_rows(src0)); assert(ggml_are_same_shape(src0, dst)); + GGML_TENSOR_LOCALS(int64_t, ne0, src0, ne) + GGML_TENSOR_LOCALS(size_t, nb0, src0, nb) + GGML_TENSOR_LOCALS(int64_t, ne, dst, ne) + GGML_TENSOR_LOCALS(size_t, nb, dst, nb) + const int ith = params->ith; const int nth = params->nth; @@ -2332,10 +2360,14 @@ static void ggml_compute_forward_gelu_erf_f16( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); - for (int i1 = ir0; i1 < ir1; i1++) { + for (int ir = ir0; ir < ir1; ++ir) { + const int i3 = ir/(ne02*ne01); + const int i2 = (ir - i3*ne02*ne01)/ne01; + const int i1 = (ir - i3*ne02*ne01 - i2*ne01); + ggml_vec_gelu_erf_f16(nc, - (ggml_fp16_t *) ((char *) dst->data + i1*( dst->nb[1])), - (ggml_fp16_t *) ((char *) src0->data + i1*(src0->nb[1]))); + (ggml_fp16_t *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*nb1), + (ggml_fp16_t *) ((char *) src0->data + i3*nb03 + i2*nb02 + i1*nb01)); #ifndef NDEBUG for (int k = 0; k < nc; k++) { @@ -2379,10 +2411,14 @@ static void ggml_compute_forward_gelu_quick_f32( const ggml_tensor * src0 = dst->src[0]; - assert(ggml_is_contiguous_1(src0)); - assert(ggml_is_contiguous_1(dst)); + assert(ggml_is_contiguous_rows(src0)); assert(ggml_are_same_shape(src0, dst)); + GGML_TENSOR_LOCALS(int64_t, ne0, src0, ne) + GGML_TENSOR_LOCALS(size_t, nb0, src0, nb) + GGML_TENSOR_LOCALS(int64_t, ne, dst, ne) + GGML_TENSOR_LOCALS(size_t, nb, dst, nb) + const int ith = params->ith; const int nth = params->nth; @@ -2396,10 +2432,14 @@ static void ggml_compute_forward_gelu_quick_f32( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); - for (int i1 = ir0; i1 < ir1; i1++) { + for (int ir = ir0; ir < ir1; ++ir) { + const int i3 = ir/(ne02*ne01); + const int i2 = (ir - i3*ne02*ne01)/ne01; + const int i1 = (ir - i3*ne02*ne01 - i2*ne01); + ggml_vec_gelu_quick_f32(nc, - (float *) ((char *) dst->data + i1*( dst->nb[1])), - (float *) ((char *) src0->data + i1*(src0->nb[1]))); + (float *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*nb1), + (float *) ((char *) src0->data + i3*nb03 + i2*nb02 + i1*nb01)); #ifndef NDEBUG for (int k = 0; k < nc; k++) { @@ -2418,10 +2458,14 @@ static void ggml_compute_forward_gelu_quick_f16( const ggml_tensor * src0 = dst->src[0]; - assert(ggml_is_contiguous_1(src0)); - assert(ggml_is_contiguous_1(dst)); + assert(ggml_is_contiguous_rows(src0)); assert(ggml_are_same_shape(src0, dst)); + GGML_TENSOR_LOCALS(int64_t, ne0, src0, ne) + GGML_TENSOR_LOCALS(size_t, nb0, src0, nb) + GGML_TENSOR_LOCALS(int64_t, ne, dst, ne) + GGML_TENSOR_LOCALS(size_t, nb, dst, nb) + const int ith = params->ith; const int nth = params->nth; @@ -2435,10 +2479,14 @@ static void ggml_compute_forward_gelu_quick_f16( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); - for (int i1 = ir0; i1 < ir1; i1++) { + for (int ir = ir0; ir < ir1; ++ir) { + const int i3 = ir/(ne02*ne01); + const int i2 = (ir - i3*ne02*ne01)/ne01; + const int i1 = (ir - i3*ne02*ne01 - i2*ne01); + ggml_vec_gelu_quick_f16(nc, - (ggml_fp16_t *) ((char *) dst->data + i1*( dst->nb[1])), - (ggml_fp16_t *) ((char *) src0->data + i1*(src0->nb[1]))); + (ggml_fp16_t *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*nb1), + (ggml_fp16_t *) ((char *) src0->data + i3*nb03 + i2*nb02 + i1*nb01)); #ifndef NDEBUG for (int k = 0; k < nc; k++) { @@ -2482,10 +2530,14 @@ static void ggml_compute_forward_silu_f32( const ggml_tensor * src0 = dst->src[0]; - assert(ggml_is_contiguous_1(src0)); - assert(ggml_is_contiguous_1(dst)); + assert(ggml_is_contiguous_rows(src0)); assert(ggml_are_same_shape(src0, dst)); + GGML_TENSOR_LOCALS(int64_t, ne0, src0, ne) + GGML_TENSOR_LOCALS(size_t, nb0, src0, nb) + GGML_TENSOR_LOCALS(int64_t, ne, dst, ne) + GGML_TENSOR_LOCALS(size_t, nb, dst, nb) + const int ith = params->ith; const int nth = params->nth; @@ -2499,10 +2551,14 @@ static void ggml_compute_forward_silu_f32( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); - for (int i1 = ir0; i1 < ir1; i1++) { + for (int ir = ir0; ir < ir1; ++ir) { + const int i3 = ir/(ne02*ne01); + const int i2 = (ir - i3*ne02*ne01)/ne01; + const int i1 = (ir - i3*ne02*ne01 - i2*ne01); + ggml_vec_silu_f32(nc, - (float *) ((char *) dst->data + i1*( dst->nb[1])), - (float *) ((char *) src0->data + i1*(src0->nb[1]))); + (float *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*nb1), + (float *) ((char *) src0->data + i3*nb03 + i2*nb02 + i1*nb01)); #ifndef NDEBUG for (int k = 0; k < nc; k++) { @@ -2521,10 +2577,14 @@ static void ggml_compute_forward_silu_f16( const ggml_tensor * src0 = dst->src[0]; - assert(ggml_is_contiguous_1(src0)); - assert(ggml_is_contiguous_1(dst)); + assert(ggml_is_contiguous_rows(src0)); assert(ggml_are_same_shape(src0, dst)); + GGML_TENSOR_LOCALS(int64_t, ne0, src0, ne) + GGML_TENSOR_LOCALS(size_t, nb0, src0, nb) + GGML_TENSOR_LOCALS(int64_t, ne, dst, ne) + GGML_TENSOR_LOCALS(size_t, nb, dst, nb) + const int ith = params->ith; const int nth = params->nth; @@ -2538,10 +2598,14 @@ static void ggml_compute_forward_silu_f16( const int ir0 = dr*ith; const int ir1 = MIN(ir0 + dr, nr); - for (int i1 = ir0; i1 < ir1; i1++) { + for (int ir = ir0; ir < ir1; ++ir) { + const int i3 = ir/(ne02*ne01); + const int i2 = (ir - i3*ne02*ne01)/ne01; + const int i1 = (ir - i3*ne02*ne01 - i2*ne01); + ggml_vec_silu_f16(nc, - (ggml_fp16_t *) ((char *) dst->data + i1*( dst->nb[1])), - (ggml_fp16_t *) ((char *) src0->data + i1*(src0->nb[1]))); + (ggml_fp16_t *) ((char *) dst->data + i3*nb3 + i2*nb2 + i1*nb1), + (ggml_fp16_t *) ((char *) src0->data + i3*nb03 + i2*nb02 + i1*nb01)); #ifndef NDEBUG for (int k = 0; k < nc; k++) { diff --git a/ggml/src/ggml-cpu/unary-ops.cpp b/ggml/src/ggml-cpu/unary-ops.cpp index 1d9873ad0f..1d8344436f 100644 --- a/ggml/src/ggml-cpu/unary-ops.cpp +++ b/ggml/src/ggml-cpu/unary-ops.cpp @@ -111,7 +111,7 @@ template static void apply_unary_op(const ggml_compute_params * params, ggml_tensor * dst) { const ggml_tensor * src0 = dst->src[0]; - GGML_ASSERT(ggml_is_contiguous_1(src0) && ggml_is_contiguous_1(dst) && ggml_are_same_shape(src0, dst)); + GGML_ASSERT(ggml_is_contiguous_rows(src0) && ggml_is_contiguous_rows(dst) && ggml_are_same_shape(src0, dst)); GGML_TENSOR_UNARY_OP_LOCALS diff --git a/ggml/src/ggml-metal/ggml-metal-device.m b/ggml/src/ggml-metal/ggml-metal-device.m index c714ef3add..4ea0bfb94d 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.m +++ b/ggml/src/ggml-metal/ggml-metal-device.m @@ -1019,7 +1019,7 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te case GGML_OP_SIN: case GGML_OP_COS: case GGML_OP_LOG: - return ggml_is_contiguous_rows(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; + return ggml_is_contiguous_rows(op->src[0]) && (op->src[0]->type == GGML_TYPE_F32 || op->src[0]->type == GGML_TYPE_F16); case GGML_OP_UNARY: switch (ggml_get_unary_op(op)) { case GGML_UNARY_OP_TANH: @@ -1039,7 +1039,7 @@ bool ggml_metal_device_supports_op(ggml_metal_device_t dev, const struct ggml_te case GGML_UNARY_OP_EXP: case GGML_UNARY_OP_SOFTPLUS: case GGML_UNARY_OP_EXPM1: - return ggml_is_contiguous_rows(op->src[0]) && op->src[0]->type == GGML_TYPE_F32; + return ggml_is_contiguous_rows(op->src[0]) && (op->src[0]->type == GGML_TYPE_F32 || op->src[0]->type == GGML_TYPE_F16); default: return false; } diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index a385a50b94..0036ba90ec 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -910,7 +910,7 @@ constant float a4_erf = -1.453152027f; constant float a5_erf = 1.061405429f; template -T erf_approx(T x) { +inline T erf_approx(T x) { T sign_x = sign(x); x = fabs(x); T t = 1.0f / (1.0f + p_erf * x); @@ -918,10 +918,27 @@ T erf_approx(T x) { return sign_x * y; } +template T elu_approx(T x); + +template<> inline float elu_approx(float x) { + return (x > 0.f) ? x : (exp(x) - 1); +} + +template<> inline float4 elu_approx(float4 x) { + float4 res; + + res[0] = (x[0] > 0.0f) ? x[0] : (exp(x[0]) - 1.0f); + res[1] = (x[1] > 0.0f) ? x[1] : (exp(x[1]) - 1.0f); + res[2] = (x[2] > 0.0f) ? x[2] : (exp(x[2]) - 1.0f); + res[3] = (x[3] > 0.0f) ? x[3] : (exp(x[3]) - 1.0f); + + return res; +} + constant short FC_unary_op [[function_constant(FC_UNARY + 0)]]; constant bool FC_unary_cnt[[function_constant(FC_UNARY + 1)]]; -template +template kernel void kernel_unary_impl( constant ggml_metal_kargs_unary & args, device const char * src0, @@ -963,111 +980,111 @@ kernel void kernel_unary_impl( } } - device const T0 & x = src0_ptr[i0]; + const TC x = (TC) src0_ptr[i0]; if (FC_OP == OP_UNARY_NUM_SCALE) { - dst_ptr[i0] = args.scale * x + args.bias; + dst_ptr[i0] = (T) (args.scale * x + args.bias); } if (FC_OP == OP_UNARY_NUM_FILL) { - dst_ptr[i0] = args.val; + dst_ptr[i0] = (T) args.val; } if (FC_OP == OP_UNARY_NUM_CLAMP) { - dst_ptr[i0] = clamp(x, args.min, args.max); + dst_ptr[i0] = (T) clamp(x, args.min, args.max); } if (FC_OP == OP_UNARY_NUM_SQR) { - dst_ptr[i0] = x * x; + dst_ptr[i0] = (T) (x * x); } if (FC_OP == OP_UNARY_NUM_SQRT) { - dst_ptr[i0] = sqrt(x); + dst_ptr[i0] = (T) sqrt(x); } if (FC_OP == OP_UNARY_NUM_SIN) { - dst_ptr[i0] = sin(x); + dst_ptr[i0] = (T) sin(x); } if (FC_OP == OP_UNARY_NUM_COS) { - dst_ptr[i0] = cos(x); + dst_ptr[i0] = (T) cos(x); } if (FC_OP == OP_UNARY_NUM_LOG) { - dst_ptr[i0] = log(x); + dst_ptr[i0] = (T) log(x); } if (FC_OP == OP_UNARY_NUM_LEAKY_RELU) { - dst_ptr[i0] = T(x > 0.0f)*x + T(x <= 0.0f)*(x * args.slope); + dst_ptr[i0] = (T) (TC(x > 0)*x + TC(x <= 0)*(x * args.slope)); } if (FC_OP == OP_UNARY_NUM_TANH) { - dst_ptr[i0] = precise::tanh(x); + dst_ptr[i0] = (T) precise::tanh(x); } if (FC_OP == OP_UNARY_NUM_RELU) { - dst_ptr[i0] = fmax(0.0f, x); + dst_ptr[i0] = (T) fmax(0, x); } if (FC_OP == OP_UNARY_NUM_SIGMOID) { - dst_ptr[i0] = 1.0f / (1.0f + exp(-x)); + dst_ptr[i0] = (T) (1 / (1 + exp(-x))); } if (FC_OP == OP_UNARY_NUM_GELU) { - dst_ptr[i0] = 0.5f*x*(1.0f + precise::tanh(SQRT_2_OVER_PI*x*(1.0f + GELU_COEF_A*x*x))); + dst_ptr[i0] = (T) (0.5*x*(1 + precise::tanh(SQRT_2_OVER_PI*x*(1 + GELU_COEF_A*x*x)))); } if (FC_OP == OP_UNARY_NUM_GELU_ERF) { - dst_ptr[i0] = 0.5f*x*(1.0f + erf_approx(SQRT_2_INV*x)); + dst_ptr[i0] = (T) (0.5*x*(1 + erf_approx(SQRT_2_INV*x))); } if (FC_OP == OP_UNARY_NUM_GELU_QUICK) { - dst_ptr[i0] = x * (1.0f/(1.0f + exp(GELU_QUICK_COEF*x))); + dst_ptr[i0] = (T) (x * (1/(1 + exp(GELU_QUICK_COEF*x)))); } if (FC_OP == OP_UNARY_NUM_SILU) { - dst_ptr[i0] = x / (1.0f + exp(-x)); + dst_ptr[i0] = (T) (x / (1 + exp(-x))); } if (FC_OP == OP_UNARY_NUM_ELU) { - dst_ptr[i0] = T(x > 0.0f)*x + T(x <= 0.0f)*(exp(x) - 1.0f); + dst_ptr[i0] = (T) elu_approx(x); } if (FC_OP == OP_UNARY_NUM_NEG) { - dst_ptr[i0] = -x; + dst_ptr[i0] = (T) -x; } if (FC_OP == OP_UNARY_NUM_ABS) { - dst_ptr[i0] = fabs(x); + dst_ptr[i0] = (T) fabs(x); } if (FC_OP == OP_UNARY_NUM_SGN) { - dst_ptr[i0] = T(x > 0.0f) - T(x < 0.0f); + dst_ptr[i0] = T(x > 0) - T(x < 0); } if (FC_OP == OP_UNARY_NUM_STEP) { - dst_ptr[i0] = T(x > 0.0f); + dst_ptr[i0] = T(x > 0); } if (FC_OP == OP_UNARY_NUM_HARDSWISH) { - dst_ptr[i0] = x * fmax(0.0f, fmin(1.0f, x/6.0f + 0.5f)); + dst_ptr[i0] = (T) (x * fmax(0, fmin(1, x/6 + 0.5))); } if (FC_OP == OP_UNARY_NUM_HARDSIGMOID) { - dst_ptr[i0] = fmax(0.0f, fmin(1.0f, x/6.0f + 0.5f)); + dst_ptr[i0] = (T) fmax(0, fmin(1, x/6 + 0.5)); } if (FC_OP == OP_UNARY_NUM_EXP) { - dst_ptr[i0] = exp(x); + dst_ptr[i0] = (T) exp(x); } if (FC_OP == OP_UNARY_NUM_SOFTPLUS) { - dst_ptr[i0] = select(log(1.0f + exp(x)), x, x > 20.0f); + dst_ptr[i0] = (T) select(log(1 + exp(x)), x, x > 20); } if (FC_OP == OP_UNARY_NUM_EXPM1) { // TODO: precise implementation - dst_ptr[i0] = exp(x) - 1.0f; + dst_ptr[i0] = (T) (exp(x) - 1); } } @@ -1075,11 +1092,12 @@ kernel void kernel_unary_impl( #undef FC_CNT } -typedef decltype(kernel_unary_impl) kernel_unary_t; - -template [[host_name("kernel_unary_f32_f32")]] kernel kernel_unary_t kernel_unary_impl; -template [[host_name("kernel_unary_f32_f32_4")]] kernel kernel_unary_t kernel_unary_impl; +typedef decltype(kernel_unary_impl) kernel_unary_t; +template [[host_name("kernel_unary_f32_f32")]] kernel kernel_unary_t kernel_unary_impl; +template [[host_name("kernel_unary_f32_f32_4")]] kernel kernel_unary_t kernel_unary_impl; +template [[host_name("kernel_unary_f16_f16")]] kernel kernel_unary_t kernel_unary_impl; +template [[host_name("kernel_unary_f16_f16_4")]] kernel kernel_unary_t kernel_unary_impl; // OP: 0 - add, 1 - sub, 2 - mul, 3 - div constant short FC_bin_op [[function_constant(FC_BIN + 0)]]; diff --git a/ggml/src/ggml.c b/ggml/src/ggml.c index 500cb6b72f..e2a6ff67be 100644 --- a/ggml/src/ggml.c +++ b/ggml/src/ggml.c @@ -5749,7 +5749,7 @@ static struct ggml_tensor * ggml_unary_impl( struct ggml_tensor * a, enum ggml_unary_op op, bool inplace) { - GGML_ASSERT(ggml_is_contiguous_1(a)); + GGML_ASSERT(ggml_is_contiguous_rows(a)); struct ggml_tensor * result = inplace ? ggml_view_tensor(ctx, a) : ggml_dup_tensor(ctx, a); diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 5d5e44a0c7..ed99c24516 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -1943,7 +1943,11 @@ struct test_unary : public test_case { ggml_tensor * a; if (v & 1) { - auto ne = ne_a; ne[0] *= 3; + auto ne = ne_a; + ne[0] *= 3; + ne[1] *= 2; + ne[2] *= 5; + ne[3] *= 4; a = ggml_new_tensor(ctx, type, 4, ne.data()); if (grad_supported) { ggml_set_param(a); From 4d3daf80f8834e0eb5148efc7610513f1e263653 Mon Sep 17 00:00:00 2001 From: lhez Date: Wed, 11 Feb 2026 10:33:13 -0800 Subject: [PATCH 190/206] opencl: add general Q6_K mm and Q4_K mv (#19347) * opencl: add general q6_k mm * opencl: refine condition for q6_K mm * opencl: add general q4_K mv * opencl: fix whitespace --- ggml/src/ggml-opencl/CMakeLists.txt | 2 + ggml/src/ggml-opencl/ggml-opencl.cpp | 123 +++++++++++- .../kernels/mul_mm_q6_k_f32_l4_lm.cl | 158 +++++++++++++++ .../ggml-opencl/kernels/mul_mv_q4_k_f32.cl | 180 ++++++++++++++++++ 4 files changed, 461 insertions(+), 2 deletions(-) create mode 100644 ggml/src/ggml-opencl/kernels/mul_mm_q6_k_f32_l4_lm.cl create mode 100644 ggml/src/ggml-opencl/kernels/mul_mv_q4_k_f32.cl diff --git a/ggml/src/ggml-opencl/CMakeLists.txt b/ggml/src/ggml-opencl/CMakeLists.txt index fa5fadd112..b6094fb68b 100644 --- a/ggml/src/ggml-opencl/CMakeLists.txt +++ b/ggml/src/ggml-opencl/CMakeLists.txt @@ -85,6 +85,7 @@ set(GGML_OPENCL_KERNELS mul_mv_q4_0_f32_8x_flat mul_mv_q4_0_f32_1d_8x_flat mul_mv_q4_0_f32_1d_16x_flat + mul_mv_q4_k_f32 mul_mv_q6_k_f32 mul_mv_q6_k_f32_flat mul_mv_q8_0_f32 @@ -101,6 +102,7 @@ set(GGML_OPENCL_KERNELS mul_mm_f32_f32_l4_lm mul_mm_f16_f32_l4_lm mul_mm_q8_0_f32_l4_lm + mul_mm_q6_k_f32_l4_lm mul_mm_q8_0_f32_8x4 gemv_noshuffle_general_q8_0_f32 mul diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 508b2b8f03..40474c193b 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -532,6 +532,7 @@ struct ggml_backend_opencl_context { cl_kernel kernel_restore_block_q4_0_noshuffle; cl_kernel kernel_convert_block_q6_K, kernel_restore_block_q6_K; cl_kernel kernel_mul_mat_q4_0_f32_1d_8x_flat, kernel_mul_mat_q4_0_f32_1d_16x_flat; + cl_kernel kernel_mul_mv_q4_K_f32; cl_kernel kernel_mul_mv_q6_K_f32; cl_kernel kernel_mul_mv_q6_K_f32_flat; cl_kernel kernel_mul_mv_mxfp4_f32, kernel_mul_mv_mxfp4_f32_flat; @@ -564,6 +565,7 @@ struct ggml_backend_opencl_context { cl_kernel kernel_mul_mm_f32_f32_l4_lm; cl_kernel kernel_mul_mm_f16_f32_l4_lm; cl_kernel kernel_mul_mm_q8_0_f32_l4_lm; + cl_kernel kernel_mul_mm_q6_k_f32_l4_lm; std::vector profiling_info; @@ -1117,6 +1119,23 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } + // mul_mv_q4_k_f32 + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "mul_mv_q4_k_f32.cl.h" + }; +#else + const std::string kernel_src = read_file("mul_mv_q4_k_f32.cl"); +#endif + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_mul_mv_q4_K_f32 = clCreateKernel(prog, "kernel_mul_mv_q4_K_f32", &err), err)); + CL_CHECK(clReleaseProgram(prog)); + GGML_LOG_CONT("."); + } + // mul_mv_q6_k_f32 { #ifdef GGML_OPENCL_EMBED_KERNELS @@ -1358,6 +1377,23 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } + // mul_mm_q6_k_f32_l4_lm + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "mul_mm_q6_k_f32_l4_lm.cl.h" + }; +#else + const std::string kernel_src = read_file("mul_mm_q6_k_f32_l4_lm.cl"); +#endif + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_mul_mm_q6_k_f32_l4_lm = clCreateKernel(prog, "kernel_mul_mm_q6_k_f32_l4_lm", &err), err)); + CL_CHECK(clReleaseProgram(prog)); + GGML_LOG_CONT("."); + } + // mul_mm_f16_f32_kq_kqv { #ifdef GGML_OPENCL_EMBED_KERNELS @@ -3364,6 +3400,7 @@ static bool ggml_opencl_supports_op(ggml_backend_dev_t dev, const struct ggml_te } else if (op->src[0]->type == GGML_TYPE_F32) { return op->src[1]->type == GGML_TYPE_F32; } else if (op->src[0]->type == GGML_TYPE_Q4_0 || op->src[0]->type == GGML_TYPE_MXFP4 || + op->src[0]->type == GGML_TYPE_Q4_K || op->src[0]->type == GGML_TYPE_Q6_K) { return op->src[1]->type == GGML_TYPE_F32 && ggml_is_contiguous(op->src[0]) && ggml_is_contiguous(op->src[1]); } else if (op->src[0]->type == GGML_TYPE_Q8_0) { @@ -8927,6 +8964,50 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); return; } + case GGML_TYPE_Q6_K: { + if (ne11 < 32) { + break; + } + if (!ggml_is_contiguous(src0) || !ggml_is_contiguous(src1)) { + break; + } + + kernel = backend_ctx->kernel_mul_mm_q6_k_f32_l4_lm; + nth0 = 128; // calculated as (BM*BN)/(TM*TN) + + int batch_stride_a = ne00*ne01; + int batch_stride_b = ne10*ne11; + int batch_stride_d = ne0*ne1; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0_q6_K->ql)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra0_q6_K->qh)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra0_q6_K->s)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_mem), &extra0_q6_K->d)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(int), &ne02)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(int), &ne11)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &ne10)); // stride_a + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &ne10)); // stride_b + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &ne01)); // stride_d + CL_CHECK(clSetKernelArg(kernel, 16, sizeof(int), &batch_stride_a)); + CL_CHECK(clSetKernelArg(kernel, 17, sizeof(int), &batch_stride_b)); + CL_CHECK(clSetKernelArg(kernel, 18, sizeof(int), &batch_stride_d)); + CL_CHECK(clSetKernelArg(kernel, 19, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, 20, sizeof(int), &r3)); + + // 64 is block tile size BM and BN - change here when BM and BN in the kernel are changed. + size_t global_work_size[] = {(size_t)(CEIL_DIV(ne01, 64)*nth0), (size_t)(CEIL_DIV(ne11, 64)), (size_t)ne12*ne13}; + size_t local_work_size[] = {(size_t)nth0, 1, 1}; + + backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); + return; + } default: break; } @@ -9262,7 +9343,42 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co } case GGML_TYPE_Q2_K: case GGML_TYPE_Q3_K: - case GGML_TYPE_Q4_K: + case GGML_TYPE_Q4_K: { + kernel = backend_ctx->kernel_mul_mv_q4_K_f32; + + if (backend_ctx->gpu_family == INTEL) { + nth0 = 16; + nth1 = 1; + ndst = 4; + } else if (backend_ctx->gpu_family == ADRENO) { + nth0 = 64; + nth1 = 1; + ndst = 4; + } else { + GGML_ASSERT(false && "TODO: Unknown GPU"); + } + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0->data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(int), &offset0)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(int), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(int), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(cl_ulong), &nb01)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(cl_ulong), &nb02)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(cl_ulong), &nb03)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(cl_ulong), &nb11)); + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(cl_ulong), &nb12)); + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(cl_ulong), &nb13)); + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &ne0)); + CL_CHECK(clSetKernelArg(kernel, 16, sizeof(int), &ne1)); + CL_CHECK(clSetKernelArg(kernel, 17, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, 18, sizeof(int), &r3)); + break; + } case GGML_TYPE_Q5_K: case GGML_TYPE_Q6_K: #ifdef GGML_OPENCL_SOA_Q @@ -9424,7 +9540,10 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); } else if (src0t == GGML_TYPE_Q4_K) { - GGML_ASSERT(false && "not implemented"); + size_t global_work_size[] = {(size_t)(ne01+ndst*nth1-1)/(ndst*nth1)*nth0, (size_t)ne11*nth1, (size_t)ne12*ne13}; + size_t local_work_size[] = {(size_t)nth0, (size_t)nth1, 1}; + + backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); } else if (src0t == GGML_TYPE_Q3_K) { GGML_ASSERT(false && "not implemented"); } else if (src0t == GGML_TYPE_Q5_K) { diff --git a/ggml/src/ggml-opencl/kernels/mul_mm_q6_k_f32_l4_lm.cl b/ggml/src/ggml-opencl/kernels/mul_mm_q6_k_f32_l4_lm.cl new file mode 100644 index 0000000000..3602c92fef --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mm_q6_k_f32_l4_lm.cl @@ -0,0 +1,158 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +#define LOAD_VEC_A 2 +#define LOAD_VEC_B 4 + +#define BM 64 +#define BN 64 +#define BK 32 +#define TM 4 +#define TN 8 + +kernel void kernel_mul_mm_q6_k_f32_l4_lm( + global uchar * src0_ql, + global uchar * src0_qh, + global char * src0_s, + global half * src0_d, + global float4 * src1, + ulong offset1, + global float * dst, + ulong offsetd, + + int ne00, + int ne01, + int ne02, + int ne11, + int ne12, + + int stride_a, + int stride_b, + int stride_d, + + int batch_stride_a, + int batch_stride_b, + int batch_stride_d, + + int r2, + int r3 +) { + src1 = (global float4*)((global char*)src1 + offset1); + dst = (global float *)((global char*)dst + offsetd); + + local float buf_a[BM * BK]; + local float buf_b[BN * BK]; + + const int batch_idx = get_global_id(2); + + const int i13 = batch_idx / ne12; + const int i12 = batch_idx % ne12; + + const int i03 = i13 / r3; + const int i02 = i12 / r2; + + const int batch_idx_a = i03 * ne02 + i02; + + const int ir = get_group_id(0); + const int ic = get_group_id(1); + + const int tid = get_local_id(0); + const int th_r = tid % (BM / TM); + const int th_c = tid / (BM / TM); + + const int loadr_a = get_local_id(0) % (BK / LOAD_VEC_A); + const int loadc_a = get_local_id(0) / (BK / LOAD_VEC_A); + const int loadr_b = get_local_id(0) % (BK / LOAD_VEC_B); + const int loadc_b = get_local_id(0) / (BK / LOAD_VEC_B); + + const int loadstride_a = get_local_size(0) * LOAD_VEC_A / BK; + const int loadstride_b = get_local_size(0) * LOAD_VEC_B / BK; + + int pos_a = (batch_idx_a * batch_stride_a + ir * BM * stride_a) / LOAD_VEC_A; + int pos_b = (batch_idx * batch_stride_b + ic * BN * stride_b) / LOAD_VEC_B; + + float sums[TM * TN]; + float cache_a[TM]; + float cache_b[TN]; + + for (int i = 0; i < TM * TN; i++) { + sums[i] = 0.0f; + } + + for (int block = 0; block < ne00; block += BK) { + for (int l = 0; l < BM; l += loadstride_a) { + if (ir*BM + loadc_a + l < ne01) { + int idx = pos_a + (loadc_a + l) * stride_a / LOAD_VEC_A + loadr_a; + + int ib = idx / 128; // 2 values per idx + int iqs = idx % 128; // 0..127 + + int n = iqs / 64; // 0,1 + int b = (iqs % 64) / 32; // 0,1 + int is_b = (iqs % 16) / 8; // 0,1 + int qhshift = ((iqs % 64) / 16) * 2; // 0,2,4,6 + int is = 8 * n + qhshift + is_b; // 0..15 + int qsi = n * 64 + (iqs % 32) * 2; // 0,2,4..126 + int qhi = n * 32 + (iqs % 16) * 2; // 0,2,4..62 + + float dscale = (float)src0_d[ib] * (float)src0_s[ib*16 + is]; + + buf_a[(loadr_a * LOAD_VEC_A + 0) * BM + loadc_a + l] = dscale * convert_float(convert_char(((src0_ql[128*ib + qsi + 0] >> (b * 4)) & 0xF) | (((src0_qh[64*ib + qhi + 0] >> qhshift) & 3) << 4)) - 32); + buf_a[(loadr_a * LOAD_VEC_A + 1) * BM + loadc_a + l] = dscale * convert_float(convert_char(((src0_ql[128*ib + qsi + 1] >> (b * 4)) & 0xF) | (((src0_qh[64*ib + qhi + 1] >> qhshift) & 3) << 4)) - 32); + } else { + buf_a[(loadr_a * LOAD_VEC_A + 0) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * LOAD_VEC_A + 1) * BM + loadc_a + l] = 0.0f; + } + } + + for (int l = 0; l < BN; l += loadstride_b) { + if (ic*BN + loadc_b + l < ne11) { + int idx = pos_b + (loadc_b + l) * stride_b / LOAD_VEC_B + loadr_b; + buf_b[(loadr_b * LOAD_VEC_B + 0) * BN + loadc_b + l] = src1[idx].s0; + buf_b[(loadr_b * LOAD_VEC_B + 1) * BN + loadc_b + l] = src1[idx].s1; + buf_b[(loadr_b * LOAD_VEC_B + 2) * BN + loadc_b + l] = src1[idx].s2; + buf_b[(loadr_b * LOAD_VEC_B + 3) * BN + loadc_b + l] = src1[idx].s3; + } else { + buf_b[(loadr_b * LOAD_VEC_B + 0) * BN + loadc_b + l] = 0.0f; + buf_b[(loadr_b * LOAD_VEC_B + 1) * BN + loadc_b + l] = 0.0f; + buf_b[(loadr_b * LOAD_VEC_B + 2) * BN + loadc_b + l] = 0.0f; + buf_b[(loadr_b * LOAD_VEC_B + 3) * BN + loadc_b + l] = 0.0f; + } + } + + barrier(CLK_LOCAL_MEM_FENCE); + + pos_a += BK / LOAD_VEC_A; + pos_b += BK / LOAD_VEC_B; + + for (int i = 0; i < BK; i++) { + for (int j = 0; j < TM; j++) { + cache_a[j] = buf_a[(i) * BM + th_r * TM + j]; + } + + for (int j = 0; j < TN; j++) { + cache_b[j] = buf_b[(i) * BN + th_c * TN + j]; + } + + for (int cc = 0; cc < TN; cc++) { + for (int cr = 0; cr < TM; cr++) { + const int sums_idx = cc*TM + cr; + sums[sums_idx] = mad(cache_a[cr], cache_b[cc], sums[sums_idx]); + } + } + } + barrier(CLK_LOCAL_MEM_FENCE); + } + + const int dr = ir * BM + th_r * TM; + const int dc = ic * BN + th_c * TN; + + const int offsets = batch_idx * batch_stride_d; + + for (int cc = 0; cc < TN; cc++) { + for (int cr = 0; cr < TM; cr++) { + if (dr + cr < ne01 && dc + cc < ne11) { + dst[offsets + (dc + cc) * stride_d + dr + cr] = sums[cc * TM + cr]; + } + } + } +} diff --git a/ggml/src/ggml-opencl/kernels/mul_mv_q4_k_f32.cl b/ggml/src/ggml-opencl/kernels/mul_mv_q4_k_f32.cl new file mode 100644 index 0000000000..71ab989821 --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mv_q4_k_f32.cl @@ -0,0 +1,180 @@ +#ifdef cl_intel_required_subgroup_size +#pragma OPENCL EXTENSION cl_intel_required_subgroup_size : enable +#define INTEL_GPU 1 +#define REQD_SUBGROUP_SIZE_16 __attribute__((intel_reqd_sub_group_size(16))) +#define REQD_SUBGROUP_SIZE_32 __attribute__((intel_reqd_sub_group_size(32))) +#elif defined(cl_qcom_reqd_sub_group_size) +#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable +#define ADRENO_GPU 1 +#define REQD_SUBGROUP_SIZE_64 __attribute__((qcom_reqd_sub_group_size("half"))) +#define REQD_SUBGROUP_SIZE_128 __attribute__((qcom_reqd_sub_group_size("full"))) +#endif + +//------------------------------------------------------------------------------ +// block_q4_K +//------------------------------------------------------------------------------ +#define QK_K 256 +#define K_SCALE_SIZE 12 + +// 8 blocks of 32 elements each +// weight is represented as x = a * q + b +typedef struct { + half d; // super-block scale for quantized scales + half dmin; // super-block scale for quantized mins + + uchar scales[K_SCALE_SIZE]; // scales and mins, quantized with 6 bits + uchar qs[QK_K/2]; // 4-bit quants +} block_q4_K; + +#undef N_DST +#undef N_SIMDGROUP +#undef N_SIMDWIDTH + +#ifdef INTEL_GPU +#define N_DST 4 // number of rows each SIMD group works on +#define N_SIMDGROUP 1 // number of SIMD groups in a thread group +#define N_SIMDWIDTH 16 // SIMD group size +#elif defined (ADRENO_GPU) +#define N_DST 4 +#define N_SIMDGROUP 1 +#define N_SIMDWIDTH 64 +#endif + +#undef BLOCK_STRIDE +// number of (super) blocks each subgroup processes +// each thread in a subgroup processes a block (32 weights) +#define BLOCK_STRIDE (N_SIMDWIDTH/8) + +#ifdef INTEL_GPU +REQD_SUBGROUP_SIZE_16 +#elif defined (ADRENO_GPU) +REQD_SUBGROUP_SIZE_64 +#endif +kernel void kernel_mul_mv_q4_K_f32( + global char * src0, + int offset0, + global char * src1, + int offset1, + global char * dst, + int offsetd, + int ne00, + int ne01, + ulong nb01, + ulong nb02, + ulong nb03, + int ne12, + ulong nb11, + ulong nb12, + ulong nb13, + int ne0, + int ne1, + int r2, + int r3 +) { + src0 = src0 + offset0; + src1 = src1 + offset1; + dst = dst + offsetd; + + ushort kmask1 = 0x3f3f; + ushort kmask2 = 0x0f0f; + ushort kmask3 = 0xc0c0; + + int ix = get_sub_group_local_id()/8; // super block index + int it = get_sub_group_local_id()%8; // block index (inside super block) + int iq = it/4; // 0 or 1 - first or second half of the super block + int ir = it%4; // 0...3 - block index in the half super block + + int nb = ne00/QK_K; + + int r0 = get_group_id(0); + int r1 = get_group_id(1); + int im = get_group_id(2); + int first_row = (r0 * N_SIMDGROUP + get_sub_group_id()) * N_DST; + + int i12 = im%ne12; + int i13 = im/ne12; + + int offset_src0 = first_row*nb01 + (i12/r2)*nb02 + (i13/r3)*nb03; + int offset_src1 = r1*nb11 + (i12 )*nb12 + (i13 )*nb13; + + global block_q4_K * x = (global block_q4_K *) (src0 + offset_src0); + global float * y = (global float *) (src1 + offset_src1); + + float yl[16]; + float yh[16]; + float sumf[N_DST] = {0.f}; + float all_sum; + + global float * y4 = y + ix * QK_K + 64 * iq + 8 * ir; + + ushort sc16[4]; + uchar * sc8 = (uchar *)sc16; + + for (int ib = ix; ib < nb; ib += BLOCK_STRIDE) { + float4 sumy = {0.f, 0.f, 0.f, 0.f}; + for (int i = 0; i < 8; ++i) { + yl[i+0] = y4[i+0]; + sumy.s0 += yl[i+0]; + + yl[i+8] = y4[i+32]; + sumy.s1 += yl[i+8]; + + yh[i+0] = y4[i+128]; + sumy.s2 += yh[i+0]; + + yh[i+8] = y4[i+160]; + sumy.s3 += yh[i+8]; + } + + global ushort * sc = (global ushort *)x[ib].scales + iq; + global ushort * q1 = (global ushort *)x[ib].qs + 16 * iq + 4 * ir; + global half * dh = &x[ib].d; + + for (int row = 0; row < N_DST; row++) { + sc16[0] = sc[0] & kmask1; + sc16[1] = sc[2] & kmask1; + sc16[2] = ((sc[4] >> 0) & kmask2) | ((sc[0] & kmask3) >> 2); + sc16[3] = ((sc[4] >> 4) & kmask2) | ((sc[2] & kmask3) >> 2); + + global ushort * q2 = q1 + 32; + + float4 acc1 = {0.f, 0.f, 0.f, 0.f}; + float4 acc2 = {0.f, 0.f, 0.f, 0.f}; + for (int i = 0; i < 8; i += 2) { + acc1.s0 += yl[i+0] * (q1[i/2] & 0x000F); + acc1.s1 += yl[i+1] * (q1[i/2] & 0x0F00); + acc1.s2 += yl[i+8] * (q1[i/2] & 0x00F0); + acc1.s3 += yl[i+9] * (q1[i/2] & 0xF000); + acc2.s0 += yh[i+0] * (q2[i/2] & 0x000F); + acc2.s1 += yh[i+1] * (q2[i/2] & 0x0F00); + acc2.s2 += yh[i+8] * (q2[i/2] & 0x00F0); + acc2.s3 += yh[i+9] * (q2[i/2] & 0xF000); + } + + float dall = dh[0]; + float dmin = dh[1]; + sumf[row] += dall * ((acc1.s0 + 1.f/256.f * acc1.s1) * sc8[0] + + (acc1.s2 + 1.f/256.f * acc1.s3) * sc8[1] * 1.f/16.f + + (acc2.s0 + 1.f/256.f * acc2.s1) * sc8[4] + + (acc2.s2 + 1.f/256.f * acc2.s3) * sc8[5] * 1.f/16.f) - + dmin * (sumy.s0 * sc8[2] + sumy.s1 * sc8[3] + sumy.s2 * sc8[6] + sumy.s3 * sc8[7]); + + q1 += nb01/2; + sc += nb01/2; + dh += nb01/2; + } + + y4 += BLOCK_STRIDE * QK_K; + } + + global float * dst_f32 = (global float *) dst + im*ne0*ne1 + r1*ne0; + + for (int row = 0; row < N_DST; ++row) { + all_sum = sub_group_reduce_add(sumf[row]); + if (first_row + row < ne01) { + if (get_sub_group_local_id() == 0) { + dst_f32[first_row + row] = all_sum; + } + } + } +} From 4ae1b7517a787f5b37776b0598ed2b69e6caf5bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Thu, 12 Feb 2026 07:27:52 +0100 Subject: [PATCH 191/206] common : replace deprecated codecvt using parse_utf8_codepoint (#19517) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Adrien Gallouët --- common/common.cpp | 61 ++++++++++++++++------------------------------- 1 file changed, 21 insertions(+), 40 deletions(-) diff --git a/common/common.cpp b/common/common.cpp index 93474f88c7..ec15804c91 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -1,7 +1,3 @@ -#if defined(_MSC_VER) -#define _SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING -#endif - #include "ggml.h" #include "gguf.h" @@ -9,12 +5,12 @@ #include "log.h" #include "llama.h" #include "sampling.h" +#include "unicode.h" #include #include #include #include -#include #include #include #include @@ -706,45 +702,28 @@ bool fs_validate_filename(const std::string & filename, bool allow_subdirs) { return false; } - std::u32string filename_utf32; - try { -#if defined(__clang__) - // disable C++17 deprecation warning for std::codecvt_utf8 -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wdeprecated-declarations" -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wdeprecated-declarations" -#endif + size_t offset = 0; + while (offset < filename.size()) { + utf8_parse_result result = parse_utf8_codepoint(filename, offset); - std::wstring_convert, char32_t> converter; - -#if defined(__clang__) -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - - filename_utf32 = converter.from_bytes(filename); - - // If the reverse conversion mismatches, it means overlong UTF-8 sequences were used, - // or invalid encodings were encountered. Reject such attempts - std::string filename_reencoded = converter.to_bytes(filename_utf32); - if (filename_reencoded != filename) { + if (result.status != utf8_parse_result::SUCCESS) { return false; } - } catch (const std::exception &) { - return false; - } + uint32_t c = result.codepoint; - // Check for forbidden codepoints: - // - Control characters - // - Unicode equivalents of illegal characters - // - UTF-16 surrogate pairs - // - UTF-8 replacement character - // - Byte order mark (BOM) - // - Illegal characters: / \ : * ? " < > | - for (char32_t c : filename_utf32) { + if ((result.bytes_consumed == 2 && c < 0x80) || + (result.bytes_consumed == 3 && c < 0x800) || + (result.bytes_consumed == 4 && c < 0x10000)) { + return false; + } + + // Check for forbidden codepoints: + // - Control characters + // - Unicode equivalents of illegal characters + // - UTF-16 surrogate pairs + // - UTF-8 replacement character + // - Byte order mark (BOM) + // - Illegal characters: / \ : * ? " < > | if (c <= 0x1F // Control characters (C0) || c == 0x7F // Control characters (DEL) || (c >= 0x80 && c <= 0x9F) // Control characters (C1) @@ -752,6 +731,7 @@ bool fs_validate_filename(const std::string & filename, bool allow_subdirs) { || c == 0x2215 // Division Slash (forward slash equivalent) || c == 0x2216 // Set Minus (backslash equivalent) || (c >= 0xD800 && c <= 0xDFFF) // UTF-16 surrogate pairs + || c > 0x10FFFF // Max Unicode limit || c == 0xFFFD // Replacement Character (UTF-8) || c == 0xFEFF // Byte Order Mark (BOM) || c == ':' || c == '*' // Illegal characters @@ -762,6 +742,7 @@ bool fs_validate_filename(const std::string & filename, bool allow_subdirs) { // Subdirectories not allowed, reject path separators return false; } + offset += result.bytes_consumed; } // Reject any leading or trailing ' ', or any trailing '.', these are stripped on Windows and will cause a different filename From b1ff83bbb08bd946f79b89bc7adbd7f08ae61303 Mon Sep 17 00:00:00 2001 From: Max Krasnyansky Date: Wed, 11 Feb 2026 23:04:27 -0800 Subject: [PATCH 192/206] hexagon: further optimization and tuning of matmul and dot kernels (#19407) * ggml-hexagon: implement 2x2 matmul kernel * hexmm: implement vec_dot_rx2x2 for Q8_0 and MXFP4 * hexagon: fix editor config failures * hexagon: refactor matmul ops to use context struct and remove wrappers Also implement vec_dot_f16 2x2 * hexagon: refactor dyn quantizers to use mmctx * hexagon: remove mm fastdiv from op_ctx * hexagon: refactor matmul entry point to reduce code duplication --------- Co-authored-by: Trivikram Reddy --- ggml/src/ggml-hexagon/htp/htp-ops.h | 13 - ggml/src/ggml-hexagon/htp/matmul-ops.c | 1519 +++++++++++++----------- 2 files changed, 854 insertions(+), 678 deletions(-) diff --git a/ggml/src/ggml-hexagon/htp/htp-ops.h b/ggml/src/ggml-hexagon/htp/htp-ops.h index c0d72587ce..f1ad24dbfa 100644 --- a/ggml/src/ggml-hexagon/htp/htp-ops.h +++ b/ggml/src/ggml-hexagon/htp/htp-ops.h @@ -64,25 +64,12 @@ struct htp_ops_context { struct fastdiv_values broadcast_rv2; struct fastdiv_values broadcast_rv3; - struct fastdiv_values mm_div_ne12_ne1; // fastdiv values for ne12 * ne1 - struct fastdiv_values mm_div_ne1; // fastdiv values for ne1 - struct fastdiv_values mm_div_r2; // fastdiv values for ne12 / ne02 - struct fastdiv_values mm_div_r3; // fastdiv values for ne13 / ne03 - struct fastdiv_values set_rows_div_ne12; // fastdiv values for ne12 struct fastdiv_values set_rows_div_ne11; // fastdiv values for ne11 struct fastdiv_values get_rows_div_ne10; // fastdiv values for ne10 struct fastdiv_values get_rows_div_ne10_ne11; // fastdiv values for ne10 * ne11 - struct fastdiv_values cpy_div_ne01; // fastdiv values for ne01 - struct fastdiv_values cpy_div_ne02; // fastdiv values for ne02 - struct fastdiv_values cpy_div_ne03; // fastdiv values for ne03 - - struct fastdiv_values cpy_rshp_div_n0; // fastdiv values for ne00 - struct fastdiv_values cpy_rshp_div_n1n0; // fastdiv values for ne00*ne01 - struct fastdiv_values cpy_rshp_div_n2n1n0; // fastdiv values for ne00*ne01*ne02 - uint32_t flags; }; diff --git a/ggml/src/ggml-hexagon/htp/matmul-ops.c b/ggml/src/ggml-hexagon/htp/matmul-ops.c index d251eeed33..c360abe8da 100644 --- a/ggml/src/ggml-hexagon/htp/matmul-ops.c +++ b/ggml/src/ggml-hexagon/htp/matmul-ops.c @@ -23,10 +23,30 @@ #define MM_SPAD_SRC1_NROWS 16 #define MM_SPAD_DST_NROWS 2 -struct htp_matmul_type { +struct htp_matmul_context { const char * type; - void (*vec_dot)(const int n, float * restrict s, const void * restrict vx, const void * restrict vy); - void (*vec_dot_rx2)(const int n, float * restrict s, const void * restrict vx, uint32_t vx_row_size, const void * restrict vy); + struct htp_ops_context * octx; + + void (*vec_dot_1x1)(const int n, float * restrict s0, + const void * restrict vx0, + const void * restrict vy0); + + void (*vec_dot_2x1)(const int n, float * restrict s0, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0); + + void (*vec_dot_2x2)(const int n, float * restrict s0, float * restrict s1, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0, const void * restrict vy1); + + // Precomputed values + uint32_t src0_nrows_per_thread; + uint32_t src1_nrows_per_thread; + + struct fastdiv_values mm_div_ne12_ne1; + struct fastdiv_values mm_div_ne1; + struct fastdiv_values mm_div_r2; + struct fastdiv_values mm_div_r3; }; // vdelta control to replicate first 4x fp32 values across lanes @@ -122,6 +142,7 @@ static inline HVX_Vector_x8 hvx_vec_load_q4x4x8(const uint8_t * restrict ptr) { HVX_Vector v6_7 = vptr[3]; // ... const HVX_Vector mask_h4 = Q6_Vb_vsplat_R(0x0F); + const HVX_Vector i8 = Q6_Vb_vsplat_R(8); HVX_Vector v0 = Q6_V_vand_VV(v0_1, mask_h4); // & 0x0F HVX_Vector v1 = Q6_Vub_vlsr_VubR(v0_1, 4); // >> 4 @@ -133,15 +154,14 @@ static inline HVX_Vector_x8 hvx_vec_load_q4x4x8(const uint8_t * restrict ptr) { HVX_Vector v7 = Q6_Vub_vlsr_VubR(v6_7, 4); // >> 4 // Convert uint4 to int4 (i.e. x - 8) - const HVX_Vector i8 = Q6_Vb_vsplat_R(8); - v0 = Q6_Vb_vsub_VbVb(v0, i8); - v1 = Q6_Vb_vsub_VbVb(v1, i8); - v2 = Q6_Vb_vsub_VbVb(v2, i8); - v3 = Q6_Vb_vsub_VbVb(v3, i8); - v4 = Q6_Vb_vsub_VbVb(v4, i8); - v5 = Q6_Vb_vsub_VbVb(v5, i8); - v6 = Q6_Vb_vsub_VbVb(v6, i8); - v7 = Q6_Vb_vsub_VbVb(v7, i8); + v0 = Q6_Vb_vsub_VbVb(v0, i8); + v1 = Q6_Vb_vsub_VbVb(v1, i8); + v2 = Q6_Vb_vsub_VbVb(v2, i8); + v3 = Q6_Vb_vsub_VbVb(v3, i8); + v4 = Q6_Vb_vsub_VbVb(v4, i8); + v5 = Q6_Vb_vsub_VbVb(v5, i8); + v6 = Q6_Vb_vsub_VbVb(v6, i8); + v7 = Q6_Vb_vsub_VbVb(v7, i8); HVX_Vector_x8 r = { v0, v1, v2, v3, v4, v5, v6, v7 }; return r; @@ -156,6 +176,7 @@ static inline HVX_Vector_x8 hvx_vec_load_mxfp4x4x8(const uint8_t * restrict ptr) HVX_Vector v6_7 = vptr[3]; // ... const HVX_Vector mask_h4 = Q6_Vb_vsplat_R(0x0F); + const HVX_Vector lut = *(const HVX_Vector *) kvalues_mxfp4_lut; HVX_Vector v0 = Q6_V_vand_VV(v0_1, mask_h4); // & 0x0F HVX_Vector v1 = Q6_Vub_vlsr_VubR(v0_1, 4); // >> 4 @@ -166,15 +187,14 @@ static inline HVX_Vector_x8 hvx_vec_load_mxfp4x4x8(const uint8_t * restrict ptr) HVX_Vector v6 = Q6_V_vand_VV(v6_7, mask_h4); // & 0x0F HVX_Vector v7 = Q6_Vub_vlsr_VubR(v6_7, 4); // >> 4 - HVX_Vector lut = *(const HVX_Vector *) kvalues_mxfp4_lut; - v0 = Q6_Vb_vlut32_VbVbI(v0, lut, 0); - v1 = Q6_Vb_vlut32_VbVbI(v1, lut, 0); - v2 = Q6_Vb_vlut32_VbVbI(v2, lut, 0); - v3 = Q6_Vb_vlut32_VbVbI(v3, lut, 0); - v4 = Q6_Vb_vlut32_VbVbI(v4, lut, 0); - v5 = Q6_Vb_vlut32_VbVbI(v5, lut, 0); - v6 = Q6_Vb_vlut32_VbVbI(v6, lut, 0); - v7 = Q6_Vb_vlut32_VbVbI(v7, lut, 0); + v0 = Q6_Vb_vlut32_VbVbI(v0, lut, 0); + v1 = Q6_Vb_vlut32_VbVbI(v1, lut, 0); + v2 = Q6_Vb_vlut32_VbVbI(v2, lut, 0); + v3 = Q6_Vb_vlut32_VbVbI(v3, lut, 0); + v4 = Q6_Vb_vlut32_VbVbI(v4, lut, 0); + v5 = Q6_Vb_vlut32_VbVbI(v5, lut, 0); + v6 = Q6_Vb_vlut32_VbVbI(v6, lut, 0); + v7 = Q6_Vb_vlut32_VbVbI(v7, lut, 0); HVX_Vector_x8 r = { v0, v1, v2, v3, v4, v5, v6, v7 }; return r; @@ -196,46 +216,6 @@ static inline HVX_Vector_x8 hvx_vec_load_q8x4x8(const uint8_t * restrict ptr) { return r; } -static inline HVX_Vector_x4 hvx_vec_load_x4_f16(const uint8_t * restrict ptr) { - const HVX_Vector * restrict vptr = (const HVX_Vector *) ptr; - - HVX_Vector v0 = vptr[0]; // first 64 vals - HVX_Vector v1 = vptr[1]; // second 64 vals - HVX_Vector v2 = vptr[2]; // third 64 vals - HVX_Vector v3 = vptr[3]; // forth 64 vals - - HVX_Vector_x4 r = { v0, v1, v2, v3 }; - return r; -} - -static inline HVX_Vector_x4 hvx_vec_load_x4_f32_as_f16(const uint8_t * restrict ptr) { - const HVX_VectorPair * restrict vptr = (const HVX_VectorPair *) ptr; - - HVX_VectorPair v0 = vptr[0]; // first 64 vals - HVX_VectorPair v1 = vptr[1]; // second 64 vals - HVX_VectorPair v2 = vptr[2]; // third 64 vals - HVX_VectorPair v3 = vptr[3]; // forth 64 vals - - HVX_Vector vq0_lo = Q6_Vqf32_vsub_VsfVsf(Q6_V_lo_W(v0), Q6_V_vzero()); - HVX_Vector vq0_hi = Q6_Vqf32_vsub_VsfVsf(Q6_V_hi_W(v0), Q6_V_vzero()); - HVX_Vector vq1_lo = Q6_Vqf32_vsub_VsfVsf(Q6_V_lo_W(v1), Q6_V_vzero()); - HVX_Vector vq1_hi = Q6_Vqf32_vsub_VsfVsf(Q6_V_hi_W(v1), Q6_V_vzero()); - HVX_Vector vq2_lo = Q6_Vqf32_vsub_VsfVsf(Q6_V_lo_W(v2), Q6_V_vzero()); - HVX_Vector vq2_hi = Q6_Vqf32_vsub_VsfVsf(Q6_V_hi_W(v2), Q6_V_vzero()); - HVX_Vector vq3_lo = Q6_Vqf32_vsub_VsfVsf(Q6_V_lo_W(v3), Q6_V_vzero()); - HVX_Vector vq3_hi = Q6_Vqf32_vsub_VsfVsf(Q6_V_hi_W(v3), Q6_V_vzero()); - - HVX_Vector vh0 = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(vq0_hi, vq0_lo)); - HVX_Vector vh1 = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(vq1_hi, vq1_lo)); - HVX_Vector vh2 = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(vq2_hi, vq2_lo)); - HVX_Vector vh3 = Q6_Vhf_equals_Wqf32(Q6_W_vcombine_VV(vq3_hi, vq3_lo)); - - // vcombine does a shuffle, use vdeal to undo - - HVX_Vector_x4 r = { Q6_Vh_vdeal_Vh(vh0), Q6_Vh_vdeal_Vh(vh1), Q6_Vh_vdeal_Vh(vh2), Q6_Vh_vdeal_Vh(vh3) }; - return r; -} - // Reduce multiply 1024 x 1024 int8 elements (32x q4/8 blocks in 8x HVX vectors). // Accumulate each block into a single int32 value. // Return a single HVX vector with 32x int32 accumulators. @@ -300,26 +280,26 @@ static inline HVX_Vector hvx_vec_rmpy_x8_nloe(HVX_Vector_x8 x, HVX_Vector_x8 y, return hvx_vec_rmpy_x8_n(x, y, 1024); } -static void vec_dot_q4x4x2_q8x4x2(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { +static void vec_dot_q4x4x2_q8x4x2_1x1(const int n, float * restrict s0, const void * restrict vx0, const void * restrict vy0) { assert(n % 32 == 0); // min sub-block size - assert((unsigned long) vx % 128 == 0); - assert((unsigned long) vy % 128 == 0); + assert((unsigned long) vx0 % 128 == 0); + assert((unsigned long) vy0 % 128 == 0); const uint32_t qk = QK_Q4_0x4x2 * 4; - const uint32_t x_dblk_size = 8 * 4 * 2; // 32x __fp16 - const uint32_t x_qblk_size = qk / 2; // int4 - const uint32_t x_qrow_size = n / 2; // int4 (not padded) + const uint32_t x_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t x_qblk_size = qk / 2; // int4 + const uint32_t x_qrow_size = n / 2; // int4 (not padded) - const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 - const uint32_t y_qblk_size = qk; // int8 - const uint32_t y_qrow_size = n; // int8 (not padded) + const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t y_qblk_size = qk; // int8 + const uint32_t y_qrow_size = n; // int8 (not padded) - const uint8_t * restrict r0_x_q = ((const uint8_t *) vx + 0); // quants first - const uint8_t * restrict r0_x_d = ((const uint8_t *) vx + x_qrow_size); // then scales + const uint8_t * restrict r0_x_q = ((const uint8_t *) vx0 + 0); // quants first + const uint8_t * restrict r0_x_d = ((const uint8_t *) vx0 + x_qrow_size); // then scales - const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first - const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales + const uint8_t * restrict y_q = ((const uint8_t *) vy0 + 0); // quants first + const uint8_t * restrict y_d = ((const uint8_t *) vy0 + y_qrow_size); // then scales // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); @@ -372,36 +352,34 @@ static void vec_dot_q4x4x2_q8x4x2(const int n, float * restrict s, const void * r0_sum = hvx_vec_reduce_sum_f32(r0_sum); - hvx_vec_store_u(&s[0], 4, r0_sum); + hvx_vec_store_u(s0, 4, r0_sum); } -static void vec_dot_q4x4x2_q8x4x2_rx2(const int n, - float * restrict s, - const void * restrict vx, - uint32_t vx_row_size, - const void * restrict vy) { +static void vec_dot_q4x4x2_q8x4x2_2x1(const int n, float * restrict s0, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0) { assert(n % 32 == 0); // min sub-block size - assert((unsigned long) vx % 128 == 0); - assert((unsigned long) vy % 128 == 0); + assert((unsigned long) vx0 % 128 == 0); + assert((unsigned long) vx1 % 128 == 0); + assert((unsigned long) vy0 % 128 == 0); const uint32_t qk = QK_Q4_0x4x2 * 4; - const uint32_t x_dblk_size = 8 * 4 * 2; // 32x __fp16 - const uint32_t x_qblk_size = qk / 2; // int4 - const uint32_t x_qrow_size = n / 2; // int4 (not padded) + const uint32_t x_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t x_qblk_size = qk / 2; // int4 + const uint32_t x_qrow_size = n / 2; // int4 (not padded) - const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 - const uint32_t y_qblk_size = qk; // int8 - const uint32_t y_qrow_size = n; // int8 (not padded) + const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t y_qblk_size = qk; // int8 + const uint32_t y_qrow_size = n; // int8 (not padded) - const uint8_t * restrict r0_x_q = ((const uint8_t *) (vx + (0 * vx_row_size)) + 0); // quants first - const uint8_t * restrict r0_x_d = ((const uint8_t *) (vx + (0 * vx_row_size)) + x_qrow_size); // then scales + const uint8_t * restrict r0_x_q = ((const uint8_t *) vx0) + 0; // quants first + const uint8_t * restrict r0_x_d = ((const uint8_t *) vx0) + x_qrow_size; // then scales + const uint8_t * restrict r1_x_q = ((const uint8_t *) vx1) + 0; // quants first + const uint8_t * restrict r1_x_d = ((const uint8_t *) vx1) + x_qrow_size; // then scales - const uint8_t * restrict r1_x_q = ((const uint8_t *) (vx + (1 * vx_row_size)) + 0); // quants first - const uint8_t * restrict r1_x_d = ((const uint8_t *) (vx + (1 * vx_row_size)) + x_qrow_size); // then scales - - const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first - const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales + const uint8_t * restrict y_q = ((const uint8_t *) vy0 + 0); // quants first + const uint8_t * restrict y_d = ((const uint8_t *) vy0 + y_qrow_size); // then scales // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); @@ -468,13 +446,143 @@ static void vec_dot_q4x4x2_q8x4x2_rx2(const int n, } HVX_Vector rsum = hvx_vec_reduce_sum_f32x2(r0_sum, r1_sum); - hvx_vec_store_u(&s[0], 8, rsum); + hvx_vec_store_u(s0, 8, rsum); } -static void vec_dot_q8x4x2_q8x4x2(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { +static void vec_dot_q4x4x2_q8x4x2_2x2(const int n, float * restrict s0, float * restrict s1, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0, const void * restrict vy1) { + assert(n % 32 == 0); + assert((unsigned long) vx0 % 128 == 0); + assert((unsigned long) vx1 % 128 == 0); + assert((unsigned long) vy0 % 128 == 0); + assert((unsigned long) vy1 % 128 == 0); + + const uint32_t qk = QK_Q4_0x4x2 * 4; + + const uint32_t x_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t x_qblk_size = qk / 2; // int4 + const uint32_t x_qrow_size = n / 2; // int4 (not padded) + + const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t y_qblk_size = qk; // int8 + const uint32_t y_qrow_size = n; // int8 (not padded) + + const uint8_t * restrict r0_x_q = ((const uint8_t *) vx0) + 0; // quants first + const uint8_t * restrict r0_x_d = ((const uint8_t *) vx0) + x_qrow_size; // then scales + const uint8_t * restrict r1_x_q = ((const uint8_t *) vx1) + 0; // quants first + const uint8_t * restrict r1_x_d = ((const uint8_t *) vx1) + x_qrow_size; // then scales + + const uint8_t * restrict y0_q = ((const uint8_t *) vy0) + 0; // quants first + const uint8_t * restrict y0_d = ((const uint8_t *) vy0) + y_qrow_size; // then scales + const uint8_t * restrict y1_q = ((const uint8_t *) vy1) + 0; // quants first + const uint8_t * restrict y1_d = ((const uint8_t *) vy1) + y_qrow_size; // then scales + + // Row sums (sf) - 4 accumulators for 2×2 tile + HVX_Vector r0_c0_sum = Q6_V_vsplat_R(0); + HVX_Vector r0_c1_sum = Q6_V_vsplat_R(0); + HVX_Vector r1_c0_sum = Q6_V_vsplat_R(0); + HVX_Vector r1_c1_sum = Q6_V_vsplat_R(0); + + const uint32_t nb = n / qk; // num full blocks + const uint32_t nloe = n % qk; // num leftover elements + + uint32_t i = 0; + for (; i < nb; i++) { + // Load src1 columns (reused across both src0 rows) + HVX_Vector_x8 vy0_q = hvx_vec_load_q8x4x8(y0_q + i * y_qblk_size); + HVX_Vector_x8 vy1_q = hvx_vec_load_q8x4x8(y1_q + i * y_qblk_size); + + // Load src0 rows (reused across both src1 columns) + HVX_Vector_x8 r0_q = hvx_vec_load_q4x4x8(r0_x_q + i * x_qblk_size); + HVX_Vector_x8 r1_q = hvx_vec_load_q4x4x8(r1_x_q + i * x_qblk_size); + + // Compute 4 dot products: r0×c0, r0×c1, r1×c0, r1×c1 + HVX_Vector r0_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r0_q, vy0_q)); + HVX_Vector r0_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r0_q, vy1_q)); + HVX_Vector r1_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r1_q, vy0_q)); + HVX_Vector r1_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r1_q, vy1_q)); + + // Load scales + HVX_Vector vy0_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (y0_d + i * y_dblk_size)); + HVX_Vector vy1_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (y1_d + i * y_dblk_size)); + HVX_Vector r0_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (r0_x_d + i * x_dblk_size)); + HVX_Vector r1_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (r1_x_d + i * x_dblk_size)); + + // Compute combined scales + HVX_Vector r0_c0_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r0_d, vy0_d))); + HVX_Vector r0_c1_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r0_d, vy1_d))); + HVX_Vector r1_c0_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r1_d, vy0_d))); + HVX_Vector r1_c1_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r1_d, vy1_d))); + + // Apply scales and accumulate + HVX_Vector r0_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c0_ia, r0_c0_dd); + HVX_Vector r0_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c1_ia, r0_c1_dd); + HVX_Vector r1_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c0_ia, r1_c0_dd); + HVX_Vector r1_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c1_ia, r1_c1_dd); + + r0_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c0_fa, r0_c0_sum)); + r0_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c1_fa, r0_c1_sum)); + r1_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c0_fa, r1_c0_sum)); + r1_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c1_fa, r1_c1_sum)); + } + + // Process leftovers + if (nloe) { + HVX_Vector_x8 vy0_q = hvx_vec_load_q8x4x8(y0_q + i * y_qblk_size); + HVX_Vector_x8 vy1_q = hvx_vec_load_q8x4x8(y1_q + i * y_qblk_size); + HVX_Vector_x8 r0_q = hvx_vec_load_q4x4x8(r0_x_q + i * x_qblk_size); + HVX_Vector_x8 r1_q = hvx_vec_load_q4x4x8(r1_x_q + i * x_qblk_size); + + HVX_Vector r0_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r0_q, vy0_q, nloe)); + HVX_Vector r0_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r0_q, vy1_q, nloe)); + HVX_Vector r1_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r1_q, vy0_q, nloe)); + HVX_Vector r1_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r1_q, vy1_q, nloe)); + + HVX_Vector vy0_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (y0_d + i * y_dblk_size)); + HVX_Vector vy1_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (y1_d + i * y_dblk_size)); + HVX_Vector r0_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (r0_x_d + i * x_dblk_size)); + HVX_Vector r1_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (r1_x_d + i * x_dblk_size)); + + HVX_Vector r0_c0_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r0_d, vy0_d))); + HVX_Vector r0_c1_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r0_d, vy1_d))); + HVX_Vector r1_c0_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r1_d, vy0_d))); + HVX_Vector r1_c1_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r1_d, vy1_d))); + + // Zero out unused scales + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe / 8); + r0_c0_dd = Q6_V_vand_QV(bmask, r0_c0_dd); + r0_c1_dd = Q6_V_vand_QV(bmask, r0_c1_dd); + r1_c0_dd = Q6_V_vand_QV(bmask, r1_c0_dd); + r1_c1_dd = Q6_V_vand_QV(bmask, r1_c1_dd); + r0_c0_ia = Q6_V_vand_QV(bmask, r0_c0_ia); + r0_c1_ia = Q6_V_vand_QV(bmask, r0_c1_ia); + r1_c0_ia = Q6_V_vand_QV(bmask, r1_c0_ia); + r1_c1_ia = Q6_V_vand_QV(bmask, r1_c1_ia); + + HVX_Vector r0_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c0_ia, r0_c0_dd); + HVX_Vector r0_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c1_ia, r0_c1_dd); + HVX_Vector r1_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c0_ia, r1_c0_dd); + HVX_Vector r1_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c1_ia, r1_c1_dd); + + r0_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c0_fa, r0_c0_sum)); + r0_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c1_fa, r0_c1_sum)); + r1_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c0_fa, r1_c0_sum)); + r1_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c1_fa, r1_c1_sum)); + } + + // Reduce and store results + HVX_Vector r0_r1_c0_sum = hvx_vec_reduce_sum_f32x2(r0_c0_sum, r1_c0_sum); + HVX_Vector r0_r1_c1_sum = hvx_vec_reduce_sum_f32x2(r0_c1_sum, r1_c1_sum); + + hvx_vec_store_u(s0, 8, r0_r1_c0_sum); // row0,col0 row1,col0 + hvx_vec_store_u(s1, 8, r0_r1_c1_sum); // row0,col1 row1,col1 +} + +static void vec_dot_q8x4x2_q8x4x2_1x1(const int n, float * restrict s0, const void * restrict vx0, const void * restrict vy0) { assert(n % 32 == 0); // min sub-block size - assert((unsigned long) vx % 128 == 0); - assert((unsigned long) vy % 128 == 0); + assert((unsigned long) vx0 % 128 == 0); + assert((unsigned long) vy0 % 128 == 0); const uint32_t qk = QK_Q4_0x4x2 * 4; @@ -486,11 +594,11 @@ static void vec_dot_q8x4x2_q8x4x2(const int n, float * restrict s, const void * const uint32_t y_qblk_size = qk; // int8 const uint32_t y_qrow_size = n; // int8 (not padded) - const uint8_t * restrict r0_x_q = ((const uint8_t *) vx + 0); // quants first - const uint8_t * restrict r0_x_d = ((const uint8_t *) vx + x_qrow_size); // then scales + const uint8_t * restrict r0_x_q = ((const uint8_t *) vx0 + 0); // quants first + const uint8_t * restrict r0_x_d = ((const uint8_t *) vx0 + x_qrow_size); // then scales - const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first - const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales + const uint8_t * restrict y_q = ((const uint8_t *) vy0 + 0); // quants first + const uint8_t * restrict y_d = ((const uint8_t *) vy0 + y_qrow_size); // then scales // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); @@ -543,36 +651,34 @@ static void vec_dot_q8x4x2_q8x4x2(const int n, float * restrict s, const void * r0_sum = hvx_vec_reduce_sum_f32(r0_sum); - hvx_vec_store_u(&s[0], 4, r0_sum); + hvx_vec_store_u(s0, 4, r0_sum); } -static void vec_dot_q8x4x2_q8x4x2_rx2(const int n, - float * restrict s, - const void * restrict vx, - uint32_t vx_row_size, - const void * restrict vy) { +static void vec_dot_q8x4x2_q8x4x2_2x1(const int n, float * restrict s0, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0) { assert(n % 32 == 0); // min sub-block size - assert((unsigned long) vx % 128 == 0); - assert((unsigned long) vy % 128 == 0); + assert((unsigned long) vx0 % 128 == 0); + assert((unsigned long) vx1 % 128 == 0); + assert((unsigned long) vy0 % 128 == 0); const uint32_t qk = QK_Q4_0x4x2 * 4; - const uint32_t x_dblk_size = 8 * 4 * 2; // 32x __fp16 - const uint32_t x_qblk_size = qk; // int8 - const uint32_t x_qrow_size = n; // int8 (not padded) + const uint32_t x_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t x_qblk_size = qk; // int8 + const uint32_t x_qrow_size = n; // int8 (not padded) - const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 - const uint32_t y_qblk_size = qk; // int8 - const uint32_t y_qrow_size = n; // int8 (not padded) + const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t y_qblk_size = qk; // int8 + const uint32_t y_qrow_size = n; // int8 (not padded) - const uint8_t * restrict r0_x_q = ((const uint8_t *) (vx + (0 * vx_row_size)) + 0); // quants first - const uint8_t * restrict r0_x_d = ((const uint8_t *) (vx + (0 * vx_row_size)) + x_qrow_size); // then scales + const uint8_t * restrict r0_x_q = ((const uint8_t *) vx0) + 0; // quants first + const uint8_t * restrict r0_x_d = ((const uint8_t *) vx0) + x_qrow_size; // then scales + const uint8_t * restrict r1_x_q = ((const uint8_t *) vx1) + 0; // quants first + const uint8_t * restrict r1_x_d = ((const uint8_t *) vx1) + x_qrow_size; // then scales - const uint8_t * restrict r1_x_q = ((const uint8_t *) (vx + (1 * vx_row_size)) + 0); // quants first - const uint8_t * restrict r1_x_d = ((const uint8_t *) (vx + (1 * vx_row_size)) + x_qrow_size); // then scales - - const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first - const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales + const uint8_t * restrict y_q = ((const uint8_t *) vy0 + 0); // quants first + const uint8_t * restrict y_d = ((const uint8_t *) vy0 + y_qrow_size); // then scales // Row sum (qf32) HVX_Vector r0_sum = Q6_V_vsplat_R(0); @@ -639,16 +745,143 @@ static void vec_dot_q8x4x2_q8x4x2_rx2(const int n, } HVX_Vector rsum = hvx_vec_reduce_sum_f32x2(r0_sum, r1_sum); - hvx_vec_store_u(&s[0], 8, rsum); + hvx_vec_store_u(s0, 8, rsum); } -static void vec_dot_mxfp4x4x2_q8x4x2(const int n, - float * restrict s, - const void * restrict vx, - const void * restrict vy) { +static void vec_dot_q8x4x2_q8x4x2_2x2(const int n, float * restrict s0, float * restrict s1, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0, const void * restrict vy1) { + assert(n % 32 == 0); + assert((unsigned long) vx0 % 128 == 0); + assert((unsigned long) vx1 % 128 == 0); + assert((unsigned long) vy0 % 128 == 0); + assert((unsigned long) vy1 % 128 == 0); + + const uint32_t qk = QK_Q8_0x4x2 * 4; + + const uint32_t x_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t x_qblk_size = qk; // int8 + const uint32_t x_qrow_size = n; // int8 (not padded) + + const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t y_qblk_size = qk; // int8 + const uint32_t y_qrow_size = n; // int8 (not padded) + + const uint8_t * restrict r0_x_q = ((const uint8_t *) vx0) + 0; // quants first + const uint8_t * restrict r0_x_d = ((const uint8_t *) vx0) + x_qrow_size; // then scales + const uint8_t * restrict r1_x_q = ((const uint8_t *) vx1) + 0; // quants first + const uint8_t * restrict r1_x_d = ((const uint8_t *) vx1) + x_qrow_size; // then scales + + const uint8_t * restrict y0_q = ((const uint8_t *) vy0) + 0; // quants first + const uint8_t * restrict y0_d = ((const uint8_t *) vy0) + y_qrow_size; // then scales + const uint8_t * restrict y1_q = ((const uint8_t *) vy1) + 0; // quants first + const uint8_t * restrict y1_d = ((const uint8_t *) vy1) + y_qrow_size; // then scales + + // Row sums (sf) - 4 accumulators for 2×2 tile + HVX_Vector r0_c0_sum = Q6_V_vsplat_R(0); + HVX_Vector r0_c1_sum = Q6_V_vsplat_R(0); + HVX_Vector r1_c0_sum = Q6_V_vsplat_R(0); + HVX_Vector r1_c1_sum = Q6_V_vsplat_R(0); + + const uint32_t nb = n / qk; // num full blocks + const uint32_t nloe = n % qk; // num leftover elements + + uint32_t i = 0; + for (; i < nb; i++) { + // Load src1 columns (reused across both src0 rows) + HVX_Vector_x8 vy0_q = hvx_vec_load_q8x4x8(y0_q + i * y_qblk_size); + HVX_Vector_x8 vy1_q = hvx_vec_load_q8x4x8(y1_q + i * y_qblk_size); + + // Load src0 rows (reused across both src1 columns) + HVX_Vector_x8 r0_q = hvx_vec_load_q8x4x8(r0_x_q + i * x_qblk_size); + HVX_Vector_x8 r1_q = hvx_vec_load_q8x4x8(r1_x_q + i * x_qblk_size); + + // Compute 4 dot products: r0×c0, r0×c1, r1×c0, r1×c1 + HVX_Vector r0_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r0_q, vy0_q)); + HVX_Vector r0_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r0_q, vy1_q)); + HVX_Vector r1_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r1_q, vy0_q)); + HVX_Vector r1_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r1_q, vy1_q)); + + // Load scales + HVX_Vector vy0_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (y0_d + i * y_dblk_size)); + HVX_Vector vy1_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (y1_d + i * y_dblk_size)); + HVX_Vector r0_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (r0_x_d + i * x_dblk_size)); + HVX_Vector r1_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (r1_x_d + i * x_dblk_size)); + + // Compute combined scales + HVX_Vector r0_c0_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r0_d, vy0_d))); + HVX_Vector r0_c1_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r0_d, vy1_d))); + HVX_Vector r1_c0_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r1_d, vy0_d))); + HVX_Vector r1_c1_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r1_d, vy1_d))); + + // Apply scales and accumulate + HVX_Vector r0_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c0_ia, r0_c0_dd); + HVX_Vector r0_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c1_ia, r0_c1_dd); + HVX_Vector r1_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c0_ia, r1_c0_dd); + HVX_Vector r1_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c1_ia, r1_c1_dd); + + r0_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c0_fa, r0_c0_sum)); + r0_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c1_fa, r0_c1_sum)); + r1_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c0_fa, r1_c0_sum)); + r1_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c1_fa, r1_c1_sum)); + } + + // Process leftovers + if (nloe) { + HVX_Vector_x8 vy0_q = hvx_vec_load_q8x4x8(y0_q + i * y_qblk_size); + HVX_Vector_x8 vy1_q = hvx_vec_load_q8x4x8(y1_q + i * y_qblk_size); + HVX_Vector_x8 r0_q = hvx_vec_load_q8x4x8(r0_x_q + i * x_qblk_size); + HVX_Vector_x8 r1_q = hvx_vec_load_q8x4x8(r1_x_q + i * x_qblk_size); + + HVX_Vector r0_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r0_q, vy0_q, nloe)); + HVX_Vector r0_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r0_q, vy1_q, nloe)); + HVX_Vector r1_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r1_q, vy0_q, nloe)); + HVX_Vector r1_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r1_q, vy1_q, nloe)); + + HVX_Vector vy0_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (y0_d + i * y_dblk_size)); + HVX_Vector vy1_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (y1_d + i * y_dblk_size)); + HVX_Vector r0_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (r0_x_d + i * x_dblk_size)); + HVX_Vector r1_d = Q6_Vh_vshuff_Vh(*(const HVX_UVector *) (r1_x_d + i * x_dblk_size)); + + HVX_Vector r0_c0_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r0_d, vy0_d))); + HVX_Vector r0_c1_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r0_d, vy1_d))); + HVX_Vector r1_c0_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r1_d, vy0_d))); + HVX_Vector r1_c1_dd = Q6_Vsf_equals_Vqf32(Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(r1_d, vy1_d))); + + // Zero out unused scales + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe / 8); + r0_c0_dd = Q6_V_vand_QV(bmask, r0_c0_dd); + r0_c1_dd = Q6_V_vand_QV(bmask, r0_c1_dd); + r1_c0_dd = Q6_V_vand_QV(bmask, r1_c0_dd); + r1_c1_dd = Q6_V_vand_QV(bmask, r1_c1_dd); + r0_c0_ia = Q6_V_vand_QV(bmask, r0_c0_ia); + r0_c1_ia = Q6_V_vand_QV(bmask, r0_c1_ia); + r1_c0_ia = Q6_V_vand_QV(bmask, r1_c0_ia); + r1_c1_ia = Q6_V_vand_QV(bmask, r1_c1_ia); + + HVX_Vector r0_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c0_ia, r0_c0_dd); + HVX_Vector r0_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c1_ia, r0_c1_dd); + HVX_Vector r1_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c0_ia, r1_c0_dd); + HVX_Vector r1_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c1_ia, r1_c1_dd); + + r0_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c0_fa, r0_c0_sum)); + r0_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c1_fa, r0_c1_sum)); + r1_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c0_fa, r1_c0_sum)); + r1_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c1_fa, r1_c1_sum)); + } + + // Reduce and store results + HVX_Vector r0_r1_c0_sum = hvx_vec_reduce_sum_f32x2(r0_c0_sum, r1_c0_sum); + HVX_Vector r0_r1_c1_sum = hvx_vec_reduce_sum_f32x2(r0_c1_sum, r1_c1_sum); + + hvx_vec_store_u(&s0[0], 8, r0_r1_c0_sum); // row0,col0 row1,col0 + hvx_vec_store_u(&s1[0], 8, r0_r1_c1_sum); // row0,col1 row1,col1 +} + +static void vec_dot_mxfp4x4x2_q8x4x2_1x1(const int n, float * restrict s0, const void * restrict vx0, const void * restrict vy0) { assert(n % 32 == 0); // min sub-block size - assert((unsigned long) vx % 128 == 0); - assert((unsigned long) vy % 128 == 0); + assert((unsigned long) vx0 % 128 == 0); + assert((unsigned long) vy0 % 128 == 0); const uint32_t qk = QK_MXFP4x4x2 * 4; @@ -660,11 +893,11 @@ static void vec_dot_mxfp4x4x2_q8x4x2(const int n, const uint32_t y_qblk_size = qk; // int8 const uint32_t y_qrow_size = n; // int8 (not padded) - const uint8_t * restrict r0_x_q = ((const uint8_t *) vx + 0); // quants first - const uint8_t * restrict r0_x_d = ((const uint8_t *) vx + x_qrow_size); // then scales + const uint8_t * restrict r0_x_q = ((const uint8_t *) vx0 + 0); // quants first + const uint8_t * restrict r0_x_d = ((const uint8_t *) vx0 + x_qrow_size); // then scales - const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first - const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales + const uint8_t * restrict y_q = ((const uint8_t *) vy0 + 0); // quants first + const uint8_t * restrict y_d = ((const uint8_t *) vy0 + y_qrow_size); // then scales // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); @@ -747,36 +980,34 @@ static void vec_dot_mxfp4x4x2_q8x4x2(const int n, r0_sum = hvx_vec_reduce_sum_f32(r0_sum); - hvx_vec_store_u(&s[0], 4, r0_sum); + hvx_vec_store_u(s0, 4, r0_sum); } -static void vec_dot_mxfp4x4x2_q8x4x2_rx2(const int n, - float * restrict s, - const void * restrict vx, - uint32_t vx_row_size, - const void * restrict vy) { +static void vec_dot_mxfp4x4x2_q8x4x2_2x1(const int n, float * restrict s0, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0) { assert(n % 32 == 0); // min sub-block size - assert((unsigned long) vx % 128 == 0); - assert((unsigned long) vy % 128 == 0); + assert((unsigned long) vx0 % 128 == 0); + assert((unsigned long) vx1 % 128 == 0); + assert((unsigned long) vy0 % 128 == 0); const uint32_t qk = QK_MXFP4x4x2 * 4; - const uint32_t x_dblk_size = 8 * 4 * 1; // 32x e8m0 - const uint32_t x_qblk_size = qk / 2; // fp4 - const uint32_t x_qrow_size = n / 2; // fp4 (not padded) + const uint32_t x_dblk_size = 8 * 4 * 1; // 32x e8m0 + const uint32_t x_qblk_size = qk / 2; // fp4 + const uint32_t x_qrow_size = n / 2; // fp4 (not padded) - const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 - const uint32_t y_qblk_size = qk; // int8 - const uint32_t y_qrow_size = n; // int8 (not padded) + const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t y_qblk_size = qk; // int8 + const uint32_t y_qrow_size = n; // int8 (not padded) - const uint8_t * restrict r0_x_q = ((const uint8_t *) (vx + (0 * vx_row_size)) + 0); // quants first - const uint8_t * restrict r0_x_d = ((const uint8_t *) (vx + (0 * vx_row_size)) + x_qrow_size); // then scales + const uint8_t * restrict r0_x_q = ((const uint8_t *) vx0) + 0; // quants first + const uint8_t * restrict r0_x_d = ((const uint8_t *) vx0) + x_qrow_size; // then scales + const uint8_t * restrict r1_x_q = ((const uint8_t *) vx1) + 0; // quants first + const uint8_t * restrict r1_x_d = ((const uint8_t *) vx1) + x_qrow_size; // then scales - const uint8_t * restrict r1_x_q = ((const uint8_t *) (vx + (1 * vx_row_size)) + 0); // quants first - const uint8_t * restrict r1_x_d = ((const uint8_t *) (vx + (1 * vx_row_size)) + x_qrow_size); // then scales - - const uint8_t * restrict y_q = ((const uint8_t *) vy + 0); // quants first - const uint8_t * restrict y_d = ((const uint8_t *) vy + y_qrow_size); // then scales + const uint8_t * restrict y_q = ((const uint8_t *) vy0) + 0; // quants first + const uint8_t * restrict y_d = ((const uint8_t *) vy0) + y_qrow_size; // then scales // Row sum (sf) HVX_Vector r0_sum = Q6_V_vsplat_R(0); @@ -879,10 +1110,180 @@ static void vec_dot_mxfp4x4x2_q8x4x2_rx2(const int n, } HVX_Vector rsum = hvx_vec_reduce_sum_f32x2(r0_sum, r1_sum); - hvx_vec_store_u(&s[0], 8, rsum); + hvx_vec_store_u(s0, 8, rsum); } -static void vec_dot_f16_f16_aa(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { +static void vec_dot_mxfp4x4x2_q8x4x2_2x2(const int n, float * restrict s0, float * restrict s1, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0, const void * restrict vy1) { + assert(n % 32 == 0); + assert((unsigned long) vx0 % 128 == 0); + assert((unsigned long) vx1 % 128 == 0); + assert((unsigned long) vy0 % 128 == 0); + assert((unsigned long) vy1 % 128 == 0); + + const uint32_t qk = QK_MXFP4x4x2 * 4; + + const uint32_t x_dblk_size = 8 * 4 * 1; // 32x e8m0 + const uint32_t x_qblk_size = qk / 2; // fp4 + const uint32_t x_qrow_size = n / 2; // fp4 (not padded) + + const uint32_t y_dblk_size = 8 * 4 * 2; // 32x __fp16 + const uint32_t y_qblk_size = qk; // int8 + const uint32_t y_qrow_size = n; // int8 (not padded) + + const uint8_t * restrict r0_x_q = ((const uint8_t *) vx0) + 0; // quants first + const uint8_t * restrict r0_x_d = ((const uint8_t *) vx0) + x_qrow_size; // then scales + const uint8_t * restrict r1_x_q = ((const uint8_t *) vx1) + 0; // quants first + const uint8_t * restrict r1_x_d = ((const uint8_t *) vx1) + x_qrow_size; // then scales + + const uint8_t * restrict y0_q = ((const uint8_t *) vy0) + 0; // quants first + const uint8_t * restrict y0_d = ((const uint8_t *) vy0) + y_qrow_size; // then scales + const uint8_t * restrict y1_q = ((const uint8_t *) vy1) + 0; // quants first + const uint8_t * restrict y1_d = ((const uint8_t *) vy1) + y_qrow_size; // then scales + + // Row sums (sf) - 4 accumulators for 2×2 tile + HVX_Vector r0_c0_sum = Q6_V_vsplat_R(0); + HVX_Vector r0_c1_sum = Q6_V_vsplat_R(0); + HVX_Vector r1_c0_sum = Q6_V_vsplat_R(0); + HVX_Vector r1_c1_sum = Q6_V_vsplat_R(0); + + const uint32_t nb = n / qk; // num full blocks + const uint32_t nloe = n % qk; // num leftover elements + + uint32_t i = 0; + for (; i < nb; i++) { + // Load src1 columns (reused across both src0 rows) + HVX_Vector_x8 vy0_q = hvx_vec_load_q8x4x8(y0_q + i * y_qblk_size); + HVX_Vector_x8 vy1_q = hvx_vec_load_q8x4x8(y1_q + i * y_qblk_size); + + // Load src0 rows (reused across both src1 columns) + HVX_Vector_x8 r0_q = hvx_vec_load_mxfp4x4x8(r0_x_q + i * x_qblk_size); + HVX_Vector_x8 r1_q = hvx_vec_load_mxfp4x4x8(r1_x_q + i * x_qblk_size); + + // Compute 4 dot products: r0×c0, r0×c1, r1×c0, r1×c1 + HVX_Vector r0_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r0_q, vy0_q)); + HVX_Vector r0_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r0_q, vy1_q)); + HVX_Vector r1_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r1_q, vy0_q)); + HVX_Vector r1_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_full(r1_q, vy1_q)); + + // Load scales + HVX_Vector vy0_d = *(const HVX_UVector *) (y0_d + i * y_dblk_size); + HVX_Vector vy1_d = *(const HVX_UVector *) (y1_d + i * y_dblk_size); + HVX_Vector r0_d = *(const HVX_UVector *) (r0_x_d + i * x_dblk_size); + HVX_Vector r1_d = *(const HVX_UVector *) (r1_x_d + i * x_dblk_size); + + // Convert vy_d from fp16 to fp32 while applying 0.5 scaling which is used for e8m0 halving + HVX_Vector half = Q6_Vh_vsplat_R(0x3800); // 0.5 in fp16 + vy0_d = Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(Q6_Vh_vshuff_Vh(vy0_d), half)); + vy0_d = Q6_Vsf_equals_Vqf32(vy0_d); + vy1_d = Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(Q6_Vh_vshuff_Vh(vy1_d), half)); + vy1_d = Q6_Vsf_equals_Vqf32(vy1_d); + + // Convert rX_d scales from e8m0 to fp32 + // Expand and zero-pad 32x uint8 e8m0 values to uint32s : 0 0 0 0, 0 0 0 1, 0 0 0 2, ... + // Left shift with zero fill to create FP32 + // FIXME: might need to handle zero as a special case (see ggml-cpu code) + HVX_Vector expand = *(const HVX_Vector *) expand_x32_e8m0; + HVX_Vector e8m0_mask = Q6_V_vsplat_R(0x000000ff); + r0_d = Q6_V_vdelta_VV(r0_d, expand); + r0_d = Q6_V_vand_VV(r0_d, e8m0_mask); + r0_d = Q6_Vw_vasl_VwR(r0_d, 23); + r1_d = Q6_V_vdelta_VV(r1_d, expand); + r1_d = Q6_V_vand_VV(r1_d, e8m0_mask); + r1_d = Q6_Vw_vasl_VwR(r1_d, 23); + + // Compute combined scales + HVX_Vector r0_c0_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r0_d, vy0_d)); + HVX_Vector r0_c1_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r0_d, vy1_d)); + HVX_Vector r1_c0_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r1_d, vy0_d)); + HVX_Vector r1_c1_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r1_d, vy1_d)); + + // Apply scales and accumulate + HVX_Vector r0_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c0_ia, r0_c0_dd); + HVX_Vector r0_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c1_ia, r0_c1_dd); + HVX_Vector r1_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c0_ia, r1_c0_dd); + HVX_Vector r1_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c1_ia, r1_c1_dd); + + r0_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c0_fa, r0_c0_sum)); + r0_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c1_fa, r0_c1_sum)); + r1_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c0_fa, r1_c0_sum)); + r1_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c1_fa, r1_c1_sum)); + } + + // Process leftovers + if (nloe) { + HVX_Vector_x8 vy0_q = hvx_vec_load_q8x4x8(y0_q + i * y_qblk_size); + HVX_Vector_x8 vy1_q = hvx_vec_load_q8x4x8(y1_q + i * y_qblk_size); + HVX_Vector_x8 r0_q = hvx_vec_load_mxfp4x4x8(r0_x_q + i * x_qblk_size); + HVX_Vector_x8 r1_q = hvx_vec_load_mxfp4x4x8(r1_x_q + i * x_qblk_size); + + HVX_Vector r0_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r0_q, vy0_q, nloe)); + HVX_Vector r0_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r0_q, vy1_q, nloe)); + HVX_Vector r1_c0_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r1_q, vy0_q, nloe)); + HVX_Vector r1_c1_ia = Q6_Vsf_equals_Vw(hvx_vec_rmpy_x8_nloe(r1_q, vy1_q, nloe)); + + HVX_Vector vy0_d = *(const HVX_UVector *) (y0_d + i * y_dblk_size); + HVX_Vector vy1_d = *(const HVX_UVector *) (y1_d + i * y_dblk_size); + HVX_Vector r0_d = *(const HVX_UVector *) (r0_x_d + i * x_dblk_size); + HVX_Vector r1_d = *(const HVX_UVector *) (r1_x_d + i * x_dblk_size); + + // Convert vy_d from fp16 to fp32 while applying 0.5 scaling which is used for e8m0 halving + HVX_Vector half = Q6_Vh_vsplat_R(0x3800); // 0.5 in fp16 + vy0_d = Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(Q6_Vh_vshuff_Vh(vy0_d), half)); + vy0_d = Q6_Vsf_equals_Vqf32(vy0_d); + vy1_d = Q6_V_lo_W(Q6_Wqf32_vmpy_VhfVhf(Q6_Vh_vshuff_Vh(vy1_d), half)); + vy1_d = Q6_Vsf_equals_Vqf32(vy1_d); + + // Convert rX_d scales from e8m0 to fp32 + // Expand and zero-pad 32x uint8 e8m0 values to uint32s : 0 0 0 0, 0 0 0 1, 0 0 0 2, ... + // Left shift with zero fill to create FP32 + // FIXME: might need to handle zero as a special case (see ggml-cpu code) + HVX_Vector expand = *(const HVX_Vector *) expand_x32_e8m0; + HVX_Vector e8m0_mask = Q6_V_vsplat_R(0x000000ff); + r0_d = Q6_V_vdelta_VV(r0_d, expand); + r0_d = Q6_V_vand_VV(r0_d, e8m0_mask); + r0_d = Q6_Vw_vasl_VwR(r0_d, 23); + r1_d = Q6_V_vdelta_VV(r1_d, expand); + r1_d = Q6_V_vand_VV(r1_d, e8m0_mask); + r1_d = Q6_Vw_vasl_VwR(r1_d, 23); + + HVX_Vector r0_c0_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r0_d, vy0_d)); + HVX_Vector r0_c1_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r0_d, vy1_d)); + HVX_Vector r1_c0_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r1_d, vy0_d)); + HVX_Vector r1_c1_dd = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vmpy_VsfVsf(r1_d, vy1_d)); + + // Zero out unused scales + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe / 8); + r0_c0_dd = Q6_V_vand_QV(bmask, r0_c0_dd); + r0_c1_dd = Q6_V_vand_QV(bmask, r0_c1_dd); + r1_c0_dd = Q6_V_vand_QV(bmask, r1_c0_dd); + r1_c1_dd = Q6_V_vand_QV(bmask, r1_c1_dd); + r0_c0_ia = Q6_V_vand_QV(bmask, r0_c0_ia); + r0_c1_ia = Q6_V_vand_QV(bmask, r0_c1_ia); + r1_c0_ia = Q6_V_vand_QV(bmask, r1_c0_ia); + r1_c1_ia = Q6_V_vand_QV(bmask, r1_c1_ia); + + HVX_Vector r0_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c0_ia, r0_c0_dd); + HVX_Vector r0_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r0_c1_ia, r0_c1_dd); + HVX_Vector r1_c0_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c0_ia, r1_c0_dd); + HVX_Vector r1_c1_fa = Q6_Vqf32_vmpy_VsfVsf(r1_c1_ia, r1_c1_dd); + + r0_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c0_fa, r0_c0_sum)); + r0_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c1_fa, r0_c1_sum)); + r1_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c0_fa, r1_c0_sum)); + r1_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c1_fa, r1_c1_sum)); + } + + // Reduce and store results + HVX_Vector r0_r1_c0_sum = hvx_vec_reduce_sum_f32x2(r0_c0_sum, r1_c0_sum); + HVX_Vector r0_r1_c1_sum = hvx_vec_reduce_sum_f32x2(r0_c1_sum, r1_c1_sum); + + hvx_vec_store_u(&s0[0], 8, r0_r1_c0_sum); // row0,col0 row1,col0 + hvx_vec_store_u(&s1[0], 8, r0_r1_c1_sum); // row0,col1 row1,col1 +} + +static void vec_dot_f16_f16_aa_1x1(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { const HVX_Vector * restrict x = (const HVX_Vector *) vx; const HVX_Vector * restrict y = (const HVX_Vector *) vy; @@ -912,14 +1313,12 @@ static void vec_dot_f16_f16_aa(const int n, float * restrict s, const void * res hvx_vec_store_u(&s[0], 4, rsum); } -static void vec_dot_f16_f16_aa_rx2(const int n, - float * restrict s, - const void * restrict vx, - uint32_t vx_row_size, - const void * restrict vy) { - const HVX_Vector * restrict x0 = (const HVX_Vector *) vx; - const HVX_Vector * restrict x1 = (const HVX_Vector *) ((const uint8_t *) vx + vx_row_size); - const HVX_Vector * restrict y = (const HVX_Vector *) vy; +static void vec_dot_f16_f16_aa_2x1(const int n, float * restrict s0, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0) { + const HVX_Vector * restrict x0 = (const HVX_Vector *) vx0; + const HVX_Vector * restrict x1 = (const HVX_Vector *) vx1; + const HVX_Vector * restrict y = (const HVX_Vector *) vy0; uint32_t nvec = n / VLEN_FP16; uint32_t nloe = n % VLEN_FP16; @@ -953,10 +1352,86 @@ static void vec_dot_f16_f16_aa_rx2(const int n, } HVX_Vector rsum = hvx_vec_reduce_sum_f32x2(Q6_Vsf_equals_Vqf32(rsum0), Q6_Vsf_equals_Vqf32(rsum1)); - hvx_vec_store_u(&s[0], 8, rsum); + hvx_vec_store_u(s0, 8, rsum); } -static void vec_dot_f16_f16_uu(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { +static void vec_dot_f16_f16_aa_2x2(const int n, float * restrict s0, float * restrict s1, + const void * restrict vx0, const void * restrict vx1, + const void * restrict vy0, const void * restrict vy1) { + const HVX_Vector * restrict x0 = (const HVX_Vector *) vx0; + const HVX_Vector * restrict x1 = (const HVX_Vector *) vx1; + const HVX_Vector * restrict y0 = (const HVX_Vector *) vy0; + const HVX_Vector * restrict y1 = (const HVX_Vector *) vy1; + + uint32_t nvec = n / VLEN_FP16; + uint32_t nloe = n % VLEN_FP16; + + // Row sums (sf) - 4 accumulators for 2×2 tile + HVX_Vector r0_c0_sum = Q6_V_vsplat_R(0); + HVX_Vector r0_c1_sum = Q6_V_vsplat_R(0); + HVX_Vector r1_c0_sum = Q6_V_vsplat_R(0); + HVX_Vector r1_c1_sum = Q6_V_vsplat_R(0); + + uint32_t i = 0; + + #pragma unroll(2) + for (i = 0; i < nvec; i++) { + HVX_Vector r0_hf = x0[i]; + HVX_Vector r1_hf = x1[i]; + HVX_Vector c0_hf = y0[i]; + HVX_Vector c1_hf = y1[i]; + + // Compute 4 dot products: r0×c0, r0×c1, r1×c0, r1×c1 + HVX_VectorPair r0_c0_qf_p = Q6_Wqf32_vmpy_VhfVhf(r0_hf, c0_hf); + HVX_VectorPair r0_c1_qf_p = Q6_Wqf32_vmpy_VhfVhf(r0_hf, c1_hf); + HVX_VectorPair r1_c0_qf_p = Q6_Wqf32_vmpy_VhfVhf(r1_hf, c0_hf); + HVX_VectorPair r1_c1_qf_p = Q6_Wqf32_vmpy_VhfVhf(r1_hf, c1_hf); + + HVX_Vector r0_c0_qf = Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(r0_c0_qf_p), Q6_V_hi_W(r0_c0_qf_p)); + HVX_Vector r0_c1_qf = Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(r0_c1_qf_p), Q6_V_hi_W(r0_c1_qf_p)); + HVX_Vector r1_c0_qf = Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(r1_c0_qf_p), Q6_V_hi_W(r1_c0_qf_p)); + HVX_Vector r1_c1_qf = Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(r1_c1_qf_p), Q6_V_hi_W(r1_c1_qf_p)); + + r0_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c0_qf, r0_c0_sum)); + r0_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c1_qf, r0_c1_sum)); + r1_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c0_qf, r1_c0_sum)); + r1_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c1_qf, r1_c1_sum)); + } + + if (nloe) { + HVX_VectorPred bmask = Q6_Q_vsetq_R(nloe * 2); + + HVX_Vector r0_hf = Q6_V_vand_QV(bmask, x0[i]); + HVX_Vector r1_hf = Q6_V_vand_QV(bmask, x1[i]); + HVX_Vector c0_hf = Q6_V_vand_QV(bmask, y0[i]); + HVX_Vector c1_hf = Q6_V_vand_QV(bmask, y1[i]); + + HVX_VectorPair r0_c0_qf_p = Q6_Wqf32_vmpy_VhfVhf(r0_hf, c0_hf); + HVX_VectorPair r0_c1_qf_p = Q6_Wqf32_vmpy_VhfVhf(r0_hf, c1_hf); + HVX_VectorPair r1_c0_qf_p = Q6_Wqf32_vmpy_VhfVhf(r1_hf, c0_hf); + HVX_VectorPair r1_c1_qf_p = Q6_Wqf32_vmpy_VhfVhf(r1_hf, c1_hf); + + HVX_Vector r0_c0_qf = Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(r0_c0_qf_p), Q6_V_hi_W(r0_c0_qf_p)); + HVX_Vector r0_c1_qf = Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(r0_c1_qf_p), Q6_V_hi_W(r0_c1_qf_p)); + HVX_Vector r1_c0_qf = Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(r1_c0_qf_p), Q6_V_hi_W(r1_c0_qf_p)); + HVX_Vector r1_c1_qf = Q6_Vqf32_vadd_Vqf32Vqf32(Q6_V_lo_W(r1_c1_qf_p), Q6_V_hi_W(r1_c1_qf_p)); + + r0_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c0_qf, r0_c0_sum)); + r0_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r0_c1_qf, r0_c1_sum)); + r1_c0_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c0_qf, r1_c0_sum)); + r1_c1_sum = Q6_Vsf_equals_Vqf32(Q6_Vqf32_vadd_Vqf32Vsf(r1_c1_qf, r1_c1_sum)); + + } + + // Reduce and store results + HVX_Vector r0_r1_c0_sum = hvx_vec_reduce_sum_f32x2(r0_c0_sum, r1_c0_sum); + HVX_Vector r0_r1_c1_sum = hvx_vec_reduce_sum_f32x2(r0_c1_sum, r1_c1_sum); + + hvx_vec_store_u(&s0[0], 8, r0_r1_c0_sum); // row0,col0 row1,col0 + hvx_vec_store_u(&s1[0], 8, r0_r1_c1_sum); // row0,col1 row1,col1 +} + +static void vec_dot_f16_f16_uu_1x1(const int n, float * restrict s, const void * restrict vx, const void * restrict vy) { const HVX_UVector * restrict x = (const HVX_UVector *) vx; const HVX_UVector * restrict y = (const HVX_UVector *) vy; @@ -986,7 +1461,7 @@ static void vec_dot_f16_f16_uu(const int n, float * restrict s, const void * res hvx_vec_store_u(&s[0], 4, rsum); } -static void vec_dot_f16_f32_uu(const int n, float * restrict s, const void * restrict x, const void * restrict y) { +static void vec_dot_f16_f32_uu_1x1(const int n, float * restrict s, const void * restrict x, const void * restrict y) { const HVX_UVector * restrict vx = (const HVX_UVector * restrict) x; const HVX_UVector * restrict vy = (const HVX_UVector * restrict) y; @@ -1083,14 +1558,16 @@ static void vec_dot_f16_f32_uu(const int n, float * restrict s, const void * res const uint32_t nb2 = dst->nb[2]; \ const uint32_t nb3 = dst->nb[3]; -#define htp_matmul_preamble \ - htp_matmul_tensors_preamble; \ - dma_queue *dma_queue = octx->ctx->dma[ith]; \ - uint32_t src0_nrows_per_thread = octx->src0_nrows_per_thread; +#define htp_matmul_preamble \ + struct htp_matmul_context * mmctx = data; \ + struct htp_ops_context * octx = mmctx->octx; \ + htp_matmul_tensors_preamble; \ + dma_queue *dma_queue = octx->ctx->dma[ith]; \ + uint32_t src0_nrows_per_thread = mmctx->src0_nrows_per_thread; // *** matmul with support for 4d tensors and full broadcasting -static void matmul_4d(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { +static void matmul_4d(unsigned int nth, unsigned int ith, void * data) { htp_matmul_preamble; uint64_t t1, t2; @@ -1136,13 +1613,13 @@ static void matmul_4d(struct htp_matmul_type * mt, struct htp_ops_context * octx for (uint32_t iir1 = ir1_start; iir1 < ir1_end; iir1 += blck_1) { for (uint32_t iir0 = ir0_start; iir0 < ir0_end; iir0 += blck_0) { for (uint32_t ir1 = iir1; ir1 < MIN(iir1 + blck_1, ir1_end); ir1++) { - const uint32_t i13 = fastdiv(ir1, &octx->mm_div_ne12_ne1); - const uint32_t i12 = fastdiv(ir1 - i13 * ne12 * ne1, &octx->mm_div_ne1); + const uint32_t i13 = fastdiv(ir1, &mmctx->mm_div_ne12_ne1); + const uint32_t i12 = fastdiv(ir1 - i13 * ne12 * ne1, &mmctx->mm_div_ne1); const uint32_t i11 = (ir1 - i13 * ne12 * ne1 - i12 * ne1); // broadcast src0 into src1 - const uint32_t i03 = fastdiv(i13, &octx->mm_div_r3); - const uint32_t i02 = fastdiv(i12, &octx->mm_div_r2); + const uint32_t i03 = fastdiv(i13, &mmctx->mm_div_r3); + const uint32_t i02 = fastdiv(i12, &mmctx->mm_div_r2); const uint32_t i1 = i11; const uint32_t i2 = i12; @@ -1155,7 +1632,7 @@ static void matmul_4d(struct htp_matmul_type * mt, struct htp_ops_context * octx const uint32_t ir0_block_end = MIN(iir0 + blck_0, ir0_end); for (uint32_t ir0 = iir0; ir0 < ir0_block_end; ir0++) { const uint8_t * restrict src0_row = src0_base + ir0 * nb01; - mt->vec_dot(ne00, &dst_col[ir0], src0_row, src1_col); + mmctx->vec_dot_1x1(ne00, &dst_col[ir0], src0_row, src1_col); } } } @@ -1170,7 +1647,7 @@ static void matmul_4d(struct htp_matmul_type * mt, struct htp_ops_context * octx } // src1 tensor is already in VTCM spad -static void matmul_2d(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { +static void matmul_2d(unsigned int nth, unsigned int ith, void * data) { htp_matmul_preamble; const uint32_t src0_nrows = ne01 * ne02 * ne03; // src0 rows @@ -1195,7 +1672,7 @@ static void matmul_2d(struct htp_matmul_type * mt, struct htp_ops_context * octx // Per-thread VTCM scratchpads for all tensors // Note that the entire src1 tensor is already in VTCM // For other tensors we allocate N rows per thread, padded to HVX vector size - uint8_t * restrict spad_dst = dst_spad->data + dst_spad->size_per_thread * ith; + uint8_t * restrict spad_dst = dst_spad->data + dst_spad->size_per_thread * ith; uint8_t * restrict spad_src0 = src0_spad->data + src0_spad->size_per_thread * ith; uint8_t * restrict src1_data = src1_spad->data; @@ -1219,11 +1696,21 @@ static void matmul_2d(struct htp_matmul_type * mt, struct htp_ops_context * octx for (uint32_t ir0 = src0_start_row; ir0 < src0_end_row_x2; ir0 += 2) { const uint8_t * ss0 = dma_queue_pop(dma_queue).dst; - #pragma unroll(2) - for (uint32_t ir1 = 0; ir1 < src1_nrows; ++ir1) { + // Process src1 columns in pairs (2×2 tiling) + uint32_t ir1 = 0; + for (; ir1 + 1 < src1_nrows; ir1 += 2) { + const uint8_t * restrict src1_col0 = (const uint8_t *) (src1_data + (ir1+0) * src1_stride); + const uint8_t * restrict src1_col1 = (const uint8_t *) (src1_data + (ir1+1) * src1_stride); + float * restrict dst_row0 = (float *) (dst->data + ((ir1+0) * dst_row_size)); + float * restrict dst_row1 = (float *) (dst->data + ((ir1+1) * dst_row_size)); + mmctx->vec_dot_2x2(ne00, &dst_row0[ir0], &dst_row1[ir0], ss0, ss0 + src0_stride, src1_col0, src1_col1); + } + + // Handle remaining src1 rows (fallback to 2×1) + for (; ir1 < src1_nrows; ++ir1) { const uint8_t * restrict src1_col = (const uint8_t *) (src1_data + ir1 * src1_stride); float * restrict dst_row = (float *) (dst->data + (ir1 * dst_row_size)); - mt->vec_dot_rx2(ne00, &dst_row[ir0], ss0, src0_stride, src1_col); + mmctx->vec_dot_2x1(ne00, &dst_row[ir0], ss0, ss0 + src0_stride, src1_col); } // Prefetch next (n + spad_nrows) row @@ -1247,20 +1734,20 @@ static void matmul_2d(struct htp_matmul_type * mt, struct htp_ops_context * octx for (uint32_t ir1 = 0; ir1 < src1_nrows; ++ir1) { const uint8_t * restrict src1_col = (const uint8_t *) (src1_data + ir1 * src1_stride); float * restrict dst_row = (float *) (dst->data + (ir1 * dst_row_size)); - mt->vec_dot(ne00, &dst_row[ir0], ss0, src1_col); + mmctx->vec_dot_1x1(ne00, &dst_row[ir0], ss0, src1_col); } } t2 = HAP_perf_get_qtimer_count(); - FARF(HIGH, "matmul-%s %d/%d: %ux%ux%ux%u (%u:%u) * %ux%ux%ux%u -> %ux%ux%ux%u usec %u\n", mt->type, ith, nth, + FARF(HIGH, "matmul-%s %d/%d: %ux%ux%ux%u (%u:%u) * %ux%ux%ux%u -> %ux%ux%ux%u usec %u\n", mmctx->type, ith, nth, src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src0_start_row, src0_end_row, src1->ne[0], src1->ne[1], src1->ne[2], src1->ne[3], dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); } // q8x4x2 src1 tensor is already in VTCM spad -static void matvec_2d(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { +static void matvec_2d(unsigned int nth, unsigned int ith, void * data) { htp_matmul_preamble; const uint32_t src0_nrows = ne01; @@ -1311,7 +1798,7 @@ static void matvec_2d(struct htp_matmul_type * mt, struct htp_ops_context * octx // Process src0 rows for (uint32_t ir0 = src0_start_row; ir0 < src0_end_row_x2; ir0 += 2) { const uint8_t * ss0 = dma_queue_pop(dma_queue).dst; - mt->vec_dot_rx2(ne00, &tmp[ir0 - src0_start_row], ss0, src0_stride, src1_col); + mmctx->vec_dot_2x1(ne00, &tmp[ir0 - src0_start_row], ss0, ss0 + src0_stride, src1_col); // Prefetch next (n + spad_nrows) row const uint32_t pr0 = (ir0 + MM_SPAD_SRC0_NROWS); @@ -1329,14 +1816,14 @@ static void matvec_2d(struct htp_matmul_type * mt, struct htp_ops_context * octx dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_stride, src0_row + ir0 * src0_row_size), src0_stride, src0_row_size, 1); const uint8_t * ss0 = dma_queue_pop(dma_queue).dst; - mt->vec_dot(ne00, &tmp[ir0 - src0_start_row], ss0, src1_col); + mmctx->vec_dot_1x1(ne00, &tmp[ir0 - src0_start_row], ss0, src1_col); } hvx_copy_f32_ua((uint8_t *) &dst_col[src0_start_row], (uint8_t *) tmp, src0_end_row - src0_start_row); t2 = HAP_perf_get_qtimer_count(); - FARF(HIGH, "matvec-%s %u/%u: %ux%ux%ux%u (%u:%u) * %ux%ux%ux%u -> %ux%ux%ux%u usec %u\n", mt->type, ith, nth, + FARF(HIGH, "matvec-%s %u/%u: %ux%ux%ux%u (%u:%u) * %ux%ux%ux%u -> %ux%ux%ux%u usec %u\n", mmctx->type, ith, nth, src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src0_start_row, src0_end_row, src1->ne[0], src1->ne[1], src1->ne[2], src1->ne[3], dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); @@ -1350,7 +1837,7 @@ struct mmid_row_mapping { }; // src1 tensor is already in VTCM spad -static void matmul_id(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { +static void matmul_id(unsigned int nth, unsigned int ith, void * data) { htp_matmul_preamble; struct htp_tensor * restrict ids = &octx->src2; @@ -1423,11 +1910,10 @@ static void matmul_id(struct htp_matmul_type * mt, struct htp_ops_context * octx const int rm2 = row_mapping.i2; // token idx const uint32_t ir1 = src1_nrows == 1 ? 0 : rm1; // src1 row idx - const uint8_t * restrict src1_col = - (const uint8_t *) (src1_data + (ir1 + rm2 * ne11 + 0) * src1_row_size); + const uint8_t * restrict src1_col = (const uint8_t *) (src1_data + (ir1 + rm2 * ne11 + 0) * src1_row_size); float * dst_row = (float *) (dst->data + (rm1 * nb1 + rm2 * nb2 + 0)); - mt->vec_dot_rx2(ne00, &dst_row[ir0], ss0, src0_row_size_padded, src1_col); + mmctx->vec_dot_2x1(ne00, &dst_row[ir0], ss0, ss0 + src0_row_size_padded, src1_col); } // Prefetch next (n + spad_nrows) row @@ -1453,25 +1939,24 @@ static void matmul_id(struct htp_matmul_type * mt, struct htp_ops_context * octx const int rm2 = row_mapping.i2; // token idx const uint32_t ir1 = src1_nrows == 1 ? 0 : rm1; // src1 row idx - const uint8_t * restrict src1_col = - (const uint8_t *) (src1_data + (ir1 + rm2 * ne11 + 0) * src1_row_size); + const uint8_t * restrict src1_col = (const uint8_t *) (src1_data + (ir1 + rm2 * ne11 + 0) * src1_row_size); float * dst_row = (float *) (dst->data + (rm1 * nb1 + rm2 * nb2 + 0)); - mt->vec_dot(ne00, &dst_row[ir0], ss0, src1_col); + mmctx->vec_dot_1x1(ne00, &dst_row[ir0], ss0, src1_col); } } } t2 = HAP_perf_get_qtimer_count(); - FARF(HIGH, "matmul-id-%s %d/%d: %ux%ux%ux%u (%u:%u) * %ux%ux%ux%u (%ux%ux%ux%u) -> %ux%ux%ux%u usec %u\n", mt->type, + FARF(HIGH, "matmul-id-%s %d/%d: %ux%ux%ux%u (%u:%u) * %ux%ux%ux%u (%ux%ux%ux%u) -> %ux%ux%ux%u usec %u\n", mmctx->type, ith, nth, src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src0_start_row, src0_end_row, src1->ne[0], src1->ne[1], src1->ne[2], src1->ne[3], ids->ne[0], ids->ne[1], ids->ne[2], ids->ne[3], dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); } // src1 tensor is already in VTCM spad -static void matvec_id(struct htp_matmul_type * mt, struct htp_ops_context * octx, uint32_t nth, uint32_t ith) { +static void matvec_id(unsigned int nth, unsigned int ith, void * data) { htp_matmul_preamble; struct htp_tensor * restrict ids = &octx->src2; @@ -1531,7 +2016,7 @@ static void matvec_id(struct htp_matmul_type * mt, struct htp_ops_context * octx // Process src0 rows for (uint32_t ir0 = src0_start_row; ir0 < src0_end_row_x2; ir0 += 2) { const uint8_t * ss0 = dma_queue_pop(dma_queue).dst; - mt->vec_dot_rx2(ne00, &dst_row[ir0], ss0, src0_row_size_padded, src1_col); + mmctx->vec_dot_2x1(ne00, &dst_row[ir0], ss0, ss0 + src0_row_size_padded, src1_col); // Prefetch next (n + spad_nrows) row const int pr0 = (ir0 + MM_SPAD_SRC0_NROWS); @@ -1549,13 +2034,13 @@ static void matvec_id(struct htp_matmul_type * mt, struct htp_ops_context * octx dma_queue_push_ddr_to_vtcm(dma_queue, dma_make_ptr(spad_src0 + is0 * src0_row_size_padded, src0_row + ir0 * src0_row_size), src0_row_size_padded, src0_row_size, 1); const uint8_t * ss0 = dma_queue_pop(dma_queue).dst; - mt->vec_dot(ne00, &dst_row[ir0], ss0, src1_col); + mmctx->vec_dot_1x1(ne00, &dst_row[ir0], ss0, src1_col); } } t2 = HAP_perf_get_qtimer_count(); - FARF(HIGH, "matvec-id-%s %d/%d: %ux%ux%ux%u (%u:%u) * %ux%ux%ux%u (%ux%ux%ux%u) -> %ux%ux%ux%u usec %u\n", mt->type, + FARF(HIGH, "matvec-id-%s %d/%d: %ux%ux%ux%u (%u:%u) * %ux%ux%ux%u (%ux%ux%ux%u) -> %ux%ux%ux%u usec %u\n", mmctx->type, ith, nth, src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src0_start_row, src0_end_row, src1->ne[0], src1->ne[1], src1->ne[2], src1->ne[3], src2->ne[0], src2->ne[1], src2->ne[2], src2->ne[3], dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); @@ -1754,12 +2239,14 @@ static void quantize_row_f32_q8x4x2(float * restrict x, uint8_t * restrict y, ui hvx_copy_f16_ua(y_d, t_d, nb * 8); } -static void quantize_f32_q8x4x2(const struct htp_tensor * src, - uint8_t * restrict dst, - struct htp_spad * spad, - uint32_t nth, - uint32_t ith, - uint32_t nrows_per_thread) { +static void quantize_f32_q8x4x2(unsigned int nth, unsigned int ith, void * data) { + struct htp_matmul_context * mmctx = data; + struct htp_ops_context * octx = mmctx->octx; + + const struct htp_tensor * src = &octx->src1; + uint8_t * restrict dst = octx->src1_spad.data; + struct htp_spad * spad = &octx->src0_spad; + uint32_t nrows_per_thread = mmctx->src1_nrows_per_thread; uint64_t t1 = HAP_perf_get_qtimer_count(); @@ -1799,8 +2286,14 @@ static void quantize_f32_q8x4x2(const struct htp_tensor * src, ir_last, src_row_size, dst_row_size, (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); } -static void quantize_f32_f16(const struct htp_tensor * src, uint8_t * restrict dst, uint32_t nth, uint32_t ith, - uint32_t nrows_per_thread, uint32_t dst_stride) { +static void quantize_f32_f16(unsigned int nth, unsigned int ith, void * data) { + struct htp_matmul_context * mmctx = data; + struct htp_ops_context * octx = mmctx->octx; + + const struct htp_tensor * src = &octx->src1; + uint8_t * restrict dst = octx->src1_spad.data; + uint32_t nrows_per_thread = mmctx->src1_nrows_per_thread; + uint32_t dst_stride = octx->src1_spad.stride; uint64_t t1 = HAP_perf_get_qtimer_count(); @@ -1835,8 +2328,14 @@ static void quantize_f32_f16(const struct htp_tensor * src, uint8_t * restrict d } // TODO just a plain copy that should be done via the DMA during the Op setup -static void quantize_f16_f16(const struct htp_tensor * src, uint8_t * restrict dst, uint32_t nth, uint32_t ith, - uint32_t nrows_per_thread, uint32_t dst_stride) { +static void quantize_f16_f16(unsigned int nth, unsigned int ith, void * data) { + struct htp_matmul_context * mmctx = data; + struct htp_ops_context * octx = mmctx->octx; + + const struct htp_tensor * src = &octx->src1; + uint8_t * restrict dst = octx->src1_spad.data; + uint32_t nrows_per_thread = mmctx->src1_nrows_per_thread; + uint32_t dst_stride = octx->src1_spad.stride; uint64_t t1 = HAP_perf_get_qtimer_count(); @@ -1870,213 +2369,76 @@ static void quantize_f16_f16(const struct htp_tensor * src, uint8_t * restrict d ir_last, src_row_size, src_stride, dst_stride, (unsigned) HAP_perf_qtimer_count_to_us(t2 - t1)); } -static void htp_quantize_f32_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - quantize_f32_q8x4x2(&octx->src1, octx->src1_spad.data, &octx->src0_spad, n, i, octx->src1_nrows_per_thread); -} - -static void htp_quantize_f32_f16(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - quantize_f32_f16(&octx->src1, octx->src1_spad.data, n, i, octx->src1_nrows_per_thread, octx->src1_spad.stride); -} - -static void htp_quantize_f16_f16(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - quantize_f16_f16(&octx->src1, octx->src1_spad.data, n, i, octx->src1_nrows_per_thread, octx->src1_spad.stride); -} - -// ** matmul/matvec callbacks for worker_pool - -static void htp_matvec_2d_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "q4x4x2-q8x4x2"; - mt.vec_dot = vec_dot_q4x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_q4x4x2_q8x4x2_rx2; - - matvec_2d(&mt, octx, n, i); -} - -static void htp_matmul_2d_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "q4x4x2-q8x4x2"; - mt.vec_dot = vec_dot_q4x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_q4x4x2_q8x4x2_rx2; - - matmul_2d(&mt, octx, n, i); -} - -static void htp_matvec_2d_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "q8x4x2-q8x4x2"; - mt.vec_dot = vec_dot_q8x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_q8x4x2_q8x4x2_rx2; - - matvec_2d(&mt, octx, n, i); -} - -static void htp_matmul_2d_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "q8x4x2-q8x4x2"; - mt.vec_dot = vec_dot_q8x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_q8x4x2_q8x4x2_rx2; - - matmul_2d(&mt, octx, n, i); -} - -static void htp_matvec_2d_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "mxfp4x4x2-q8x4x2"; - mt.vec_dot = vec_dot_mxfp4x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_mxfp4x4x2_q8x4x2_rx2; - - matvec_2d(&mt, octx, n, i); -} - -static void htp_matmul_2d_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "mxfp4x4x2-q8x4x2"; - mt.vec_dot = vec_dot_mxfp4x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_mxfp4x4x2_q8x4x2_rx2; - - matmul_2d(&mt, octx, n, i); -} - -static void htp_matvec_2d_f16_f16(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "f16-f16"; - mt.vec_dot = vec_dot_f16_f16_aa; - mt.vec_dot_rx2 = vec_dot_f16_f16_aa_rx2; - - matvec_2d(&mt, octx, n, i); -} - -static void htp_matmul_2d_f16_f16(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "f16-f16"; - mt.vec_dot = vec_dot_f16_f16_aa; - mt.vec_dot_rx2 = vec_dot_f16_f16_aa_rx2; - - matmul_2d(&mt, octx, n, i); -} - -static void htp_matmul_4d_f16_f32(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "f16-f32"; - mt.vec_dot = vec_dot_f16_f32_uu; - - matmul_4d(&mt, octx, n, i); -} - -static void htp_matmul_4d_f16_f16(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "f16-f16"; - mt.vec_dot = vec_dot_f16_f16_uu; - - matmul_4d(&mt, octx, n, i); -} - -// ** matmul-id callbacks for worker_pool - -static void htp_matvec_id_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "q4x4x2-q8x4x2"; - mt.vec_dot = vec_dot_q4x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_q4x4x2_q8x4x2_rx2; - - matvec_id(&mt, octx, n, i); -} - -static void htp_matmul_id_q4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "q4x4x2-q8x4x2"; - mt.vec_dot = vec_dot_q4x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_q4x4x2_q8x4x2_rx2; - - matmul_id(&mt, octx, n, i); -} - -static void htp_matvec_id_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "q8x4x2-q8x4x2"; - mt.vec_dot = vec_dot_q8x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_q8x4x2_q8x4x2_rx2; - - matvec_id(&mt, octx, n, i); -} - -static void htp_matmul_id_q8x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "q8x4x2-q8x4x2"; - mt.vec_dot = vec_dot_q8x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_q8x4x2_q8x4x2_rx2; - - matmul_id(&mt, octx, n, i); -} - -static void htp_matvec_id_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "mxfp4x4x2-q8x4x2"; - mt.vec_dot = vec_dot_mxfp4x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_mxfp4x4x2_q8x4x2_rx2; - - matvec_id(&mt, octx, n, i); -} - -static void htp_matmul_id_mxfp4x4x2_q8x4x2(unsigned int n, unsigned int i, void * data) { - struct htp_ops_context * octx = data; - - struct htp_matmul_type mt; - mt.type = "mxfp4x4x2-q8x4x2"; - mt.vec_dot = vec_dot_mxfp4x4x2_q8x4x2; - mt.vec_dot_rx2 = vec_dot_mxfp4x4x2_q8x4x2_rx2; - - matmul_id(&mt, octx, n, i); -} - -// ** main matmul entry point static inline bool htp_is_permuted(const struct htp_tensor * t) { return t->nb[0] > t->nb[1] || t->nb[1] > t->nb[2] || t->nb[2] > t->nb[3]; } +static int htp_mminit_vec_dot(struct htp_matmul_context * mmctx, enum htp_data_type type) { + switch (type) { + case HTP_TYPE_Q4_0: + mmctx->type = "q4x4x2-f32"; + mmctx->vec_dot_1x1 = vec_dot_q4x4x2_q8x4x2_1x1; + mmctx->vec_dot_2x1 = vec_dot_q4x4x2_q8x4x2_2x1; + mmctx->vec_dot_2x2 = vec_dot_q4x4x2_q8x4x2_2x2; + return 0; + case HTP_TYPE_Q8_0: + mmctx->type = "q8x4x2-f32"; + mmctx->vec_dot_1x1 = vec_dot_q8x4x2_q8x4x2_1x1; + mmctx->vec_dot_2x1 = vec_dot_q8x4x2_q8x4x2_2x1; + mmctx->vec_dot_2x2 = vec_dot_q8x4x2_q8x4x2_2x2; + return 0; + case HTP_TYPE_MXFP4: + mmctx->type = "mxfp4x4x2-f32"; + mmctx->vec_dot_1x1 = vec_dot_mxfp4x4x2_q8x4x2_1x1; + mmctx->vec_dot_2x1 = vec_dot_mxfp4x4x2_q8x4x2_2x1; + mmctx->vec_dot_2x2 = vec_dot_mxfp4x4x2_q8x4x2_2x2; + return 0; + default: + return -1; + } +} + +static void htp_mminit_spad(struct htp_ops_context * octx, + size_t dst_row_size, + size_t src0_row_size_padded, + size_t src1_row_size, + uint32_t src1_nrows, + size_t src2_spad_size_per_thread) { + octx->dst_spad.size_per_thread = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); + octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); + octx->src1_spad.size_per_thread = hex_round_up(src1_row_size * src1_nrows, 256); + + if (src2_spad_size_per_thread > 0) { + octx->src2_spad.size_per_thread = src2_spad_size_per_thread; + octx->src2_spad.size = octx->src2_spad.size_per_thread; + } + + // src0 spad is also used in dynamic quantizer to store padded src1 rows + size_t src1_row_size_padded = hex_round_up(src1_row_size, QK_Q8_0x4x2 * sizeof(float)); + if (octx->src0_spad.size_per_thread < src1_row_size_padded) { + octx->src0_spad.size_per_thread = src1_row_size_padded; + } + + octx->src1_spad.size = octx->src1_spad.size_per_thread; + octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; + octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; +} + int op_matmul(struct htp_ops_context * octx) { htp_matmul_tensors_preamble; - const char * op_type; + struct htp_matmul_context mmctx_struct = {0}; + struct htp_matmul_context * mmctx = &mmctx_struct; + mmctx->octx = octx; const uint32_t src0_nrows = ne01 * ne02 * ne03; const uint32_t src1_nrows = ne11 * ne12 * ne13; + // Compute src0_nrows_per_thread + mmctx->src0_nrows_per_thread = (src0_nrows + octx->n_threads - 1) / octx->n_threads; + mmctx->src0_nrows_per_thread += (mmctx->src0_nrows_per_thread & 1); // round up to even + const size_t src0_row_size = nb01; const size_t dst_row_size = nb1; size_t src1_row_size = nb11; @@ -2085,181 +2447,95 @@ int op_matmul(struct htp_ops_context * octx) { size_t src1_row_size_padded; worker_callback_t quant_job_func; - worker_callback_t matmul_job_func; + worker_callback_t matmul_job_func = src1_nrows > 1 ? matmul_2d : matvec_2d; bool need_quant = !(octx->flags & HTP_OPFLAGS_SKIP_QUANTIZE); - switch (src0->type) { - case HTP_TYPE_Q4_0: - op_type = "q4x4x2-f32"; - quant_job_func = htp_quantize_f32_q8x4x2; - if (src1_nrows > 1) { - matmul_job_func = htp_matmul_2d_q4x4x2_q8x4x2; - } else { - matmul_job_func = htp_matvec_2d_q4x4x2_q8x4x2; - } + if (src0->type == HTP_TYPE_F16) { + // Try optimized f16-f16 path first (src1 in VTCM) + const size_t f16_src1_row_size = hex_round_up(ne10 * 2, 128); + const size_t f16_src1_spad_size = hex_round_up(f16_src1_row_size * src1_nrows, 256); + const size_t f16_src0_spad_size = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256) * octx->n_threads; + const size_t f16_dst_spad_size = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256) * octx->n_threads; - src1_row_size = q8x4x2_row_size(ne10); // row size post quantization + const size_t f16_total_size = f16_src1_spad_size + f16_src0_spad_size + f16_dst_spad_size; - // Entire src1 tensor is placed into the VTCM - // For other tensors we allocate N rows per thread, padded to HVX vector size + // Default matmul implementation does not support multi-batch src0 (N-vs-N broadcasting). + // It only supports 1-vs-N broadcasting (src0 is 2D) or standard 2D matmul. + const bool is_batched = (ne02 > 1) || (ne03 > 1); + const bool is_permuted = htp_is_permuted(&octx->src0) || htp_is_permuted(&octx->src1); + + if (!is_batched && !is_permuted && f16_total_size <= octx->ctx->vtcm_size) { + // Optimized path + quant_job_func = (src1->type == HTP_TYPE_F32) ? quantize_f32_f16 : quantize_f16_f16; + mmctx->type = "f16-f16"; + mmctx->vec_dot_1x1 = vec_dot_f16_f16_aa_1x1; + mmctx->vec_dot_2x1 = vec_dot_f16_f16_aa_2x1; + mmctx->vec_dot_2x2 = vec_dot_f16_f16_aa_2x2; + + src1_row_size = f16_src1_row_size; // row size post quantization octx->dst_spad.size_per_thread = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); octx->src1_spad.size_per_thread = hex_round_up(src1_row_size * src1_nrows, 256); - // src0 spad is also used in dynamic quantizer to store padded src1 rows - src1_row_size_padded = hex_round_up(src1_row_size, QK_Q8_0x4x2 * sizeof(float)); - if (octx->src0_spad.size_per_thread < src1_row_size_padded) { - octx->src0_spad.size_per_thread = src1_row_size_padded; - } - octx->src1_spad.size = octx->src1_spad.size_per_thread; octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; - break; - - case HTP_TYPE_Q8_0: - op_type = "q8x4x2-f32"; - quant_job_func = htp_quantize_f32_q8x4x2; - if (src1_nrows > 1) { - matmul_job_func = htp_matmul_2d_q8x4x2_q8x4x2; + } else { + // Fallback to f16/f32 (DDR) if src1 doesn't fit in VTCM or broadcasting is required + quant_job_func = NULL; + if (src1->type == HTP_TYPE_F32) { + mmctx->type = "f16-f32"; + mmctx->vec_dot_1x1 = vec_dot_f16_f32_uu_1x1; + matmul_job_func = matmul_4d; } else { - matmul_job_func = htp_matvec_2d_q8x4x2_q8x4x2; + mmctx->type = "f16-f16"; + mmctx->vec_dot_1x1 = vec_dot_f16_f16_uu_1x1; + matmul_job_func = matmul_4d; } - src1_row_size = q8x4x2_row_size(ne10); // row size post quantization - - // Entire src1 tensor is placed into the VTCM - // For other tensors we allocate N rows per thread, padded to HVX vector size + src1_row_size = nb11; // original row size in DDR octx->dst_spad.size_per_thread = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); - octx->src1_spad.size_per_thread = hex_round_up(src1_row_size * src1_nrows, 256); + octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size, 256); + octx->src1_spad.size_per_thread = hex_round_up(MM_SPAD_SRC1_NROWS * src1_row_size, 256); - // src0 spad is also used in dynamic quantizer to store padded src1 rows - src1_row_size_padded = hex_round_up(src1_row_size, QK_Q8_0x4x2 * sizeof(float)); - if (octx->src0_spad.size_per_thread < src1_row_size_padded) { - octx->src0_spad.size_per_thread = src1_row_size_padded; - } - - octx->src1_spad.size = octx->src1_spad.size_per_thread; octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; + octx->src1_spad.size = octx->src1_spad.size_per_thread * octx->n_threads; octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; - break; - case HTP_TYPE_MXFP4: - op_type = "mxfp4x4x2-f32"; - quant_job_func = htp_quantize_f32_q8x4x2; - if (src1_nrows > 1) { - matmul_job_func = htp_matmul_2d_mxfp4x4x2_q8x4x2; - } else { - matmul_job_func = htp_matvec_2d_mxfp4x4x2_q8x4x2; - } + // Init fastdiv for matmul_4d (supports broadcasting) + mmctx->mm_div_ne12_ne1 = init_fastdiv_values(src1->ne[2] * dst->ne[1]); + mmctx->mm_div_ne1 = init_fastdiv_values(dst->ne[1]); + mmctx->mm_div_r2 = init_fastdiv_values(src1->ne[2] / src0->ne[2]); + mmctx->mm_div_r3 = init_fastdiv_values(src1->ne[3] / src0->ne[3]); - src1_row_size = q8x4x2_row_size(ne10); // row size post quantization - - // Entire src1 tensor is placed into the VTCM - // For other tensors we allocate N rows per thread, padded to HVX vector size - - octx->dst_spad.size_per_thread = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); - octx->src1_spad.size_per_thread = hex_round_up(src1_row_size * src1_nrows, 256); - - // src0 spad is also used in dynamic quantizer to store padded src1 rows - src1_row_size_padded = hex_round_up(src1_row_size, QK_Q8_0x4x2 * sizeof(float)); - if (octx->src0_spad.size_per_thread < src1_row_size_padded) { - octx->src0_spad.size_per_thread = src1_row_size_padded; - } - - octx->src1_spad.size = octx->src1_spad.size_per_thread; - octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; - octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; - break; - - case HTP_TYPE_F16: - { - // Try optimized f16-f16 path first (src1 in VTCM) - const size_t f16_src1_row_size = hex_round_up(ne10 * 2, 128); - const size_t f16_src1_spad_size = hex_round_up(f16_src1_row_size * src1_nrows, 256); - const size_t f16_src0_spad_size = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256) * octx->n_threads; - const size_t f16_dst_spad_size = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256) * octx->n_threads; - - const size_t f16_total_size = f16_src1_spad_size + f16_src0_spad_size + f16_dst_spad_size; - - // Default matmul implementation does not support multi-batch src0 (N-vs-N broadcasting). - // It only supports 1-vs-N broadcasting (src0 is 2D) or standard 2D matmul. - const bool is_batched = (ne02 > 1) || (ne03 > 1); - const bool is_permuted = htp_is_permuted(&octx->src0) || htp_is_permuted(&octx->src1); - - if (!is_batched && !is_permuted && f16_total_size <= octx->ctx->vtcm_size) { - // Optimized path - op_type = "f16-f16"; - quant_job_func = (src1->type == HTP_TYPE_F32) ? htp_quantize_f32_f16 : htp_quantize_f16_f16; - if (src1_nrows > 1) { - matmul_job_func = htp_matmul_2d_f16_f16; - } else { - matmul_job_func = htp_matvec_2d_f16_f16; - } - - src1_row_size = f16_src1_row_size; // row size post quantization - - octx->dst_spad.size_per_thread = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); - octx->src1_spad.size_per_thread = hex_round_up(src1_row_size * src1_nrows, 256); - - octx->src1_spad.size = octx->src1_spad.size_per_thread; - octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; - octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; - } else { - // Fallback to f16/f32 (DDR) if src1 doesn't fit in VTCM or broadcasting is required - quant_job_func = NULL; - if (src1->type == HTP_TYPE_F32) { - op_type = "f16-f32"; - matmul_job_func = htp_matmul_4d_f16_f32; - } else { - op_type = "f16-f16"; - matmul_job_func = htp_matmul_4d_f16_f16; - } - - src1_row_size = nb11; // original row size in DDR - - octx->dst_spad.size_per_thread = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size, 256); - octx->src1_spad.size_per_thread = hex_round_up(MM_SPAD_SRC1_NROWS * src1_row_size, 256); - - octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; - octx->src1_spad.size = octx->src1_spad.size_per_thread * octx->n_threads; - octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; - - // Init fastdiv for matmul_4d (supports broadcasting) - octx->mm_div_ne12_ne1 = init_fastdiv_values(src1->ne[2] * dst->ne[1]); - octx->mm_div_ne1 = init_fastdiv_values(dst->ne[1]); - octx->mm_div_r2 = init_fastdiv_values(src1->ne[2] / src0->ne[2]); - octx->mm_div_r3 = init_fastdiv_values(src1->ne[3] / src0->ne[3]); - - need_quant = false; - } - } - break; - - default: + need_quant = false; + } + } else { + if (htp_mminit_vec_dot(mmctx, src0->type) != 0) { return HTP_STATUS_NO_SUPPORT; + } + + quant_job_func = quantize_f32_q8x4x2; + src1_row_size = q8x4x2_row_size(ne10); + htp_mminit_spad(octx, dst_row_size, src0_row_size_padded, src1_row_size, src1_nrows, 0); } // VTCM scratchpads for all tensors size_t spad_size = octx->src1_spad.size + octx->src0_spad.size + octx->dst_spad.size; - FARF(HIGH, "matmul-%s : src0-spad-size %u src1-spad-size %u dst-spad-size %u (%zu)\n", op_type, + FARF(HIGH, "matmul-%s : src0-spad-size %u src1-spad-size %u dst-spad-size %u (%zu)\n", mmctx->type, octx->src0_spad.size, octx->src1_spad.size, octx->dst_spad.size, spad_size); - FARF(HIGH, "matmul-%s : %ux%ux%ux%u * %ux%ux%ux%u-> %ux%ux%ux%u (0x%p, 0x%p, 0x%p)\n", op_type, src0->ne[0], + FARF(HIGH, "matmul-%s : %ux%ux%ux%u * %ux%ux%ux%u-> %ux%ux%ux%u (0x%p, 0x%p, 0x%p)\n", mmctx->type, src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src1->ne[0], src1->ne[1], src1->ne[2], src1->ne[3], dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], src0->data, src1->data, dst->data); // Make sure the reserved vtcm size is sufficient if (octx->ctx->vtcm_size < spad_size) { - FARF(ERROR, "matmul-%s : current VTCM reservation %zu is too small, needed %zu\n", op_type, + FARF(ERROR, "matmul-%s : current VTCM reservation %zu is too small, needed %zu\n", mmctx->type, octx->ctx->vtcm_size, spad_size); return HTP_STATUS_VTCM_TOO_SMALL; } @@ -2268,40 +2544,32 @@ int op_matmul(struct htp_ops_context * octx) { octx->src1_spad.data = octx->src0_spad.data + octx->src0_spad.size; octx->dst_spad.data = octx->src1_spad.data + octx->src1_spad.size; - octx->src0_nrows_per_thread = (src0_nrows + octx->n_threads - 1) / octx->n_threads; - octx->src0_nrows_per_thread += (octx->src0_nrows_per_thread & 1); // round up to even - octx->src0_spad.stride = src0_row_size_padded; octx->src1_spad.stride = src1_row_size; if (need_quant) { - // Run quant jobs - const uint32_t n_quant_jobs = MIN(src1_nrows, octx->n_threads); - octx->src1_nrows_per_thread = (src1_nrows + n_quant_jobs - 1) / n_quant_jobs; - worker_pool_run_func(octx->ctx->worker_pool, quant_job_func, octx, n_quant_jobs); + const uint32_t n_quant_jobs = MIN(src1_nrows, octx->n_threads); + mmctx->src1_nrows_per_thread = (src1_nrows + n_quant_jobs - 1) / n_quant_jobs; + worker_pool_run_func(octx->ctx->worker_pool, quant_job_func, mmctx, n_quant_jobs); } if (!(octx->flags & HTP_OPFLAGS_SKIP_COMPUTE)) { - // Run matmul jobs const uint32_t n_matmul_jobs = octx->n_threads; - worker_pool_run_func(octx->ctx->worker_pool, matmul_job_func, octx, n_matmul_jobs); + worker_pool_run_func(octx->ctx->worker_pool, matmul_job_func, mmctx, n_matmul_jobs); } return HTP_STATUS_OK; } -// ** main matmul-id entry point - int op_matmul_id(struct htp_ops_context * octx) { htp_matmul_tensors_preamble; + struct htp_matmul_context mmctx_struct = {0}; + struct htp_matmul_context * mmctx = &mmctx_struct; + mmctx->octx = octx; + struct htp_tensor * restrict ids = &octx->src2; - const char * op_type; - - worker_callback_t quant_job_func; - worker_callback_t matmul_id_job_func; - const size_t src0_row_size = nb01; const size_t dst_row_size = nb1; @@ -2310,6 +2578,13 @@ int op_matmul_id(struct htp_ops_context * octx) { const uint32_t src0_nrows = ne01; // per expert const uint32_t src1_nrows = ne11 * ne12 * ne13; + worker_callback_t quant_job_func; + worker_callback_t matmul_id_job_func = src1_nrows > 1 ? matmul_id : matvec_id; + + // Compute src0_nrows_per_thread + mmctx->src0_nrows_per_thread = (src0_nrows + octx->n_threads - 1) / octx->n_threads; + mmctx->src0_nrows_per_thread += (mmctx->src0_nrows_per_thread & 1); // round up to even + size_t src1_row_size; size_t src1_row_size_padded; @@ -2320,112 +2595,29 @@ int op_matmul_id(struct htp_ops_context * octx) { size_t matrix_row_counts_size = n_as * sizeof(uint32_t); size_t matrix_row_map_size = n_as * ids->ne[0] * ids->ne[1] * sizeof(struct mmid_row_mapping); - switch (src0->type) { - case HTP_TYPE_Q4_0: - op_type = "q4x2x2-f32"; - quant_job_func = htp_quantize_f32_q8x4x2; - src1_row_size = q8x4x2_row_size(ne10); // row size post quantization - if (src1_nrows > 1) { - matmul_id_job_func = htp_matmul_id_q4x4x2_q8x4x2; - } else { - matmul_id_job_func = htp_matvec_id_q4x4x2_q8x4x2; - } - - // Entire src1 tensor is placed into the VTCM - // For other tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); - octx->src1_spad.size_per_thread = hex_round_up(src1_row_size * src1_nrows, 256); - octx->src2_spad.size_per_thread = hex_round_up(matrix_row_counts_size + matrix_row_map_size, 256); - - // src0 spad is also used in dynamic quantizer to store padded src1 rows - src1_row_size_padded = hex_round_up(src1_row_size, QK_Q8_0x4x2 * sizeof(float)); - if (octx->src0_spad.size_per_thread < src1_row_size_padded) { - octx->src0_spad.size_per_thread = src1_row_size_padded; - } - - octx->src2_spad.size = octx->src2_spad.size_per_thread; - octx->src1_spad.size = octx->src1_spad.size_per_thread; - octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; - octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; - break; - - case HTP_TYPE_Q8_0: - op_type = "q8x2x2-f32"; - quant_job_func = htp_quantize_f32_q8x4x2; - src1_row_size = q8x4x2_row_size(ne10); // row size post quantization - if (src1_nrows > 1) { - matmul_id_job_func = htp_matmul_id_q8x4x2_q8x4x2; - } else { - matmul_id_job_func = htp_matvec_id_q8x4x2_q8x4x2; - } - - // Entire src1 tensor is placed into the VTCM - // For other tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); - octx->src1_spad.size_per_thread = hex_round_up(src1_row_size * src1_nrows, 256); - octx->src2_spad.size_per_thread = hex_round_up(matrix_row_counts_size + matrix_row_map_size, 256); - - // src0 spad is also used in dynamic quantizer to store padded src1 rows - src1_row_size_padded = hex_round_up(src1_row_size, QK_Q8_0x4x2 * sizeof(float)); - if (octx->src0_spad.size_per_thread < src1_row_size_padded) { - octx->src0_spad.size_per_thread = src1_row_size_padded; - } - - octx->src2_spad.size = octx->src2_spad.size_per_thread; - octx->src1_spad.size = octx->src1_spad.size_per_thread; - octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; - octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; - break; - - case HTP_TYPE_MXFP4: - op_type = "mxfp4x2x2-f32"; - quant_job_func = htp_quantize_f32_q8x4x2; - src1_row_size = q8x4x2_row_size(ne10); // row size post quantization - if (src1_nrows > 1) { - matmul_id_job_func = htp_matmul_id_mxfp4x4x2_q8x4x2; - } else { - matmul_id_job_func = htp_matvec_id_mxfp4x4x2_q8x4x2; - } - - // Entire src1 tensor is placed into the VTCM - // For other tensors we allocate N rows per thread, padded to HVX vector size - octx->dst_spad.size_per_thread = hex_round_up(MM_SPAD_DST_NROWS * dst_row_size, 256); - octx->src0_spad.size_per_thread = hex_round_up(MM_SPAD_SRC0_NROWS * src0_row_size_padded, 256); - octx->src1_spad.size_per_thread = hex_round_up(src1_row_size * src1_nrows, 256); - octx->src2_spad.size_per_thread = hex_round_up(matrix_row_counts_size + matrix_row_map_size, 256); - - // src0 spad is also used in dynamic quantizer to store padded src1 rows - src1_row_size_padded = hex_round_up(src1_row_size, QK_Q8_0x4x2 * sizeof(float)); - if (octx->src0_spad.size_per_thread < src1_row_size_padded) { - octx->src0_spad.size_per_thread = src1_row_size_padded; - } - - octx->src2_spad.size = octx->src2_spad.size_per_thread; - octx->src1_spad.size = octx->src1_spad.size_per_thread; - octx->src0_spad.size = octx->src0_spad.size_per_thread * octx->n_threads; - octx->dst_spad.size = octx->dst_spad.size_per_thread * octx->n_threads; - break; - - default: - return HTP_STATUS_NO_SUPPORT; + if (htp_mminit_vec_dot(mmctx, src0->type) != 0) { + return HTP_STATUS_NO_SUPPORT; } + quant_job_func = quantize_f32_q8x4x2; + src1_row_size = q8x4x2_row_size(ne10); + + const size_t src2_spad_size_per_thread = hex_round_up(matrix_row_counts_size + matrix_row_map_size, 256); + htp_mminit_spad(octx, dst_row_size, src0_row_size_padded, src1_row_size, src1_nrows, src2_spad_size_per_thread); + size_t spad_size = octx->src2_spad.size + octx->src1_spad.size + octx->src0_spad.size + octx->dst_spad.size; - FARF(HIGH, "matmul-id-%s : src0-spad-size %u src1-spad-size %u src2-spad-size %u dst-spad-size %u (%zu)\n", op_type, + FARF(HIGH, "matmul-id-%s : src0-spad-size %u src1-spad-size %u src2-spad-size %u dst-spad-size %u (%zu)\n", mmctx->type, octx->src0_spad.size, octx->src1_spad.size, octx->src2_spad.size, octx->dst_spad.size, spad_size); - FARF(HIGH, "matmul-id-%s : %ux%ux%ux%u * %ux%ux%ux%u (%ux%ux%ux%u) -> %ux%ux%ux%u (0x%p, 0x%p, 0x%p)\n", op_type, + FARF(HIGH, "matmul-id-%s : %ux%ux%ux%u * %ux%ux%ux%u (%ux%ux%ux%u) -> %ux%ux%ux%u (0x%p, 0x%p, 0x%p)\n", mmctx->type, src0->ne[0], src0->ne[1], src0->ne[2], src0->ne[3], src1->ne[0], src1->ne[1], src1->ne[2], src1->ne[3], ids->ne[0], ids->ne[1], ids->ne[2], ids->ne[3], dst->ne[0], dst->ne[1], dst->ne[2], dst->ne[3], src0->data, src1->data, dst->data); // Make sure the reserved vtcm size is sufficient if (octx->ctx->vtcm_size < spad_size) { - FARF(ERROR, "matmul-id-%s : current VTCM reservation %zu is too small, needed %zu\n", op_type, - octx->ctx->vtcm_size, spad_size); + FARF(ERROR, "matmul-id-%s : current VTCM reservation %zu is too small, needed %zu\n", mmctx->type, octx->ctx->vtcm_size, spad_size); return HTP_STATUS_VTCM_TOO_SMALL; } @@ -2434,8 +2626,8 @@ int op_matmul_id(struct htp_ops_context * octx) { octx->src2_spad.data = octx->src1_spad.data + octx->src1_spad.size; octx->dst_spad.data = octx->src2_spad.data + octx->src2_spad.size; - octx->src0_nrows_per_thread = (src0_nrows + octx->n_threads - 1) / octx->n_threads; - octx->src0_nrows_per_thread += (octx->src0_nrows_per_thread & 1); // round up to even + octx->src0_spad.stride = src0_row_size_padded; + octx->src1_spad.stride = src1_row_size; if (src1_nrows > 1) { // initialize matrix_row_counts and map @@ -2447,8 +2639,7 @@ int op_matmul_id(struct htp_ops_context * octx) { // group rows by src0 matrix for (uint32_t iid1 = 0; iid1 < ids->ne[1]; ++iid1) { // token idx for (uint32_t id = 0; id < n_ids; ++id) { // expert idx - const uint32_t i02 = - *(const uint32_t *) ((const uint8_t *) ids->data + iid1 * ids->nb[1] + id * ids->nb[0]); + const uint32_t i02 = *(const uint32_t *) ((const uint8_t *) ids->data + iid1 * ids->nb[1] + id * ids->nb[0]); assert(i02 >= 0 && i02 < n_as); @@ -2460,16 +2651,14 @@ int op_matmul_id(struct htp_ops_context * octx) { // Setup worker pool callbacks if (!(octx->flags & HTP_OPFLAGS_SKIP_QUANTIZE)) { - // Run quant jobs const uint32_t n_quant_jobs = MIN(src1_nrows, octx->n_threads); - octx->src1_nrows_per_thread = (src1_nrows + n_quant_jobs - 1) / n_quant_jobs; - worker_pool_run_func(octx->ctx->worker_pool, quant_job_func, octx, n_quant_jobs); + mmctx->src1_nrows_per_thread = (src1_nrows + n_quant_jobs - 1) / n_quant_jobs; + worker_pool_run_func(octx->ctx->worker_pool, quant_job_func, mmctx, n_quant_jobs); } if (!(octx->flags & HTP_OPFLAGS_SKIP_COMPUTE)) { - // Run matmul-id jobs const uint32_t n_matmul_jobs = octx->n_threads; - worker_pool_run_func(octx->ctx->worker_pool, matmul_id_job_func, octx, n_matmul_jobs); + worker_pool_run_func(octx->ctx->worker_pool, matmul_id_job_func, mmctx, n_matmul_jobs); } return HTP_STATUS_OK; From 313493de533845150316b9be11bd95511b9f3d4c Mon Sep 17 00:00:00 2001 From: TriDefender Date: Thu, 12 Feb 2026 15:13:51 +0800 Subject: [PATCH 193/206] docs : update path in snapdragon README.md (#19533) paths changed so original example didn't work --- docs/backend/snapdragon/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/backend/snapdragon/README.md b/docs/backend/snapdragon/README.md index 8e1f37b206..2c3f88e91a 100644 --- a/docs/backend/snapdragon/README.md +++ b/docs/backend/snapdragon/README.md @@ -35,7 +35,7 @@ Adapt below build commands accordingly. Let's build llama.cpp with CPU, OpenCL, and Hexagon backends via CMake presets: ``` -[d]/workspace> cp docs/backend/hexagon/CMakeUserPresets.json . +[d]/workspace> cp docs/backend/snapdragon/CMakeUserPresets.json . [d]/workspace> cmake --preset arm64-android-snapdragon-release -B build-snapdragon Preset CMake variables: From fa16e517a3bcc15818d0813993693e1c92ce6c76 Mon Sep 17 00:00:00 2001 From: RichardScottOZ Date: Thu, 12 Feb 2026 18:26:25 +1030 Subject: [PATCH 194/206] server : fix typo in README.md for features list (#19510) extra l for full --- tools/server/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/server/README.md b/tools/server/README.md index d132830171..0b56ca1e27 100644 --- a/tools/server/README.md +++ b/tools/server/README.md @@ -19,7 +19,7 @@ Set of LLM REST APIs and a web UI to interact with llama.cpp. * Speculative decoding * Easy-to-use web UI -For the ful list of features, please refer to [server's changelog](https://github.com/ggml-org/llama.cpp/issues/9291) +For the full list of features, please refer to [server's changelog](https://github.com/ggml-org/llama.cpp/issues/9291) ## Usage From 6845f7f87f4ece1ac13db2e7d0388090bc1c8d3c Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Thu, 12 Feb 2026 02:38:35 -0600 Subject: [PATCH 195/206] Add a workaround for compilation with ROCWMMA_FATTN and gfx9 (#19461) There is an upstream problem [1] with AMD's LLVM 22 fork and rocWMMA 2.2.0 causing compilation issues on devices without native fp16 support (CDNA devices). The specialized types aren't resolved properly: ``` /opt/rocm/include/rocwmma/internal/mfma_impl.hpp:2549:37: error: ambiguous partial specializations of 'amdgcn_mfma<__half, __half, __half, 16, 16, 16>' 2549 | using ARegsT = typename Impl::ARegsT; ``` Add a workaround to explicitly declare the types and cast when compiling with HIP and ROCWMMA_FATTN [2]. When this is actually fixed upstream some guards can be used to detect and wrap the version that has the fix to only apply when necessary. Link: https://github.com/ROCm/rocm-libraries/issues/4398 [1] Link: https://github.com/ggml-org/llama.cpp/issues/19269 [2] Signed-off-by: Mario Limonciello --- ggml/src/ggml-cuda/fattn-wmma-f16.cu | 31 +++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/ggml/src/ggml-cuda/fattn-wmma-f16.cu b/ggml/src/ggml-cuda/fattn-wmma-f16.cu index 8694fd06c7..35735d48b2 100644 --- a/ggml/src/ggml-cuda/fattn-wmma-f16.cu +++ b/ggml/src/ggml-cuda/fattn-wmma-f16.cu @@ -63,11 +63,19 @@ static __global__ void flash_attn_ext_f16( constexpr int frag_m = ncols == 8 ? 32 : 16; constexpr int frag_n = ncols == 8 ? 8 : 16; static_assert(D % frag_m == 0, "If ncols == 8 then D % frag_m must be 0."); +#if defined(GGML_USE_HIP) + typedef wmma::fragment frag_a_K; + typedef wmma::fragment frag_a_V; + typedef wmma::fragment frag_b; + typedef wmma::fragment frag_c_KQ; + typedef wmma::fragment frag_c_VKQ; +#else typedef wmma::fragment frag_a_K; typedef wmma::fragment frag_a_V; typedef wmma::fragment frag_b; typedef wmma::fragment frag_c_KQ; typedef wmma::fragment frag_c_VKQ; +#endif constexpr int KQ_stride_tc = nwarps*frag_m; // Number of KQ rows calculated in parallel. constexpr int VKQ_ratio = KQ_stride_tc/VKQ_stride; // Number of parallel VKQ accumulators needed to keep all warps busy. @@ -126,6 +134,19 @@ static __global__ void flash_attn_ext_f16( __shared__ half VKQ[ncols*D_padded]; // Accumulator for final VKQ slice. half2 * VKQ2 = (half2 *) VKQ; + +#if defined(GGML_USE_HIP) + const _Float16 * K_h_f16 = reinterpret_cast(K_h); + const _Float16 * V_h_f16 = reinterpret_cast(V_h); + _Float16 * KQ_f16 = reinterpret_cast<_Float16 *>(KQ); + _Float16 * VKQ_f16 = reinterpret_cast<_Float16 *>(VKQ); +#else + const half * K_h_f16 = K_h; + const half * V_h_f16 = V_h; + half * KQ_f16 = KQ; + half * VKQ_f16 = VKQ; +#endif + #pragma unroll for (int j0 = 0; j0 < ncols; j0 += nwarps) { const int j = j0 + threadIdx.y; @@ -160,7 +181,7 @@ static __global__ void flash_attn_ext_f16( for (int i0 = 0; i0 < D; i0 += 16) { #pragma unroll for (int j0 = 0; j0 < ncols; j0 += frag_n) { - wmma::load_matrix_sync(Q_b[i0/16][j0/frag_n], KQ + j0*D_padded + i0, D_padded); + wmma::load_matrix_sync(Q_b[i0/16][j0/frag_n], KQ_f16 + j0*D_padded + i0, D_padded); } } @@ -180,7 +201,7 @@ static __global__ void flash_attn_ext_f16( #pragma unroll for (int k_KQ_0 = 0; k_KQ_0 < D; k_KQ_0 += 16) { frag_a_K K_a; - wmma::load_matrix_sync(K_a, K_h + int64_t(k_VKQ_0 + i_KQ_0 + frag_m*threadIdx.y)*stride_KV + k_KQ_0, stride_KV); + wmma::load_matrix_sync(K_a, K_h_f16 + int64_t(k_VKQ_0 + i_KQ_0 + frag_m*threadIdx.y)*stride_KV + k_KQ_0, stride_KV); #pragma unroll for (int j = 0; j < ncols/frag_n; ++j) { wmma::mma_sync(KQ_c[j], K_a, Q_b[k_KQ_0/16][j], KQ_c[j]); @@ -310,7 +331,7 @@ static __global__ void flash_attn_ext_f16( const int k = k0 + (threadIdx.y % VKQ_ratio)*16; wmma::load_matrix_sync( KQ_b[k0/(VKQ_ratio*16)][j0/frag_n], - KQ + j0*(kqar*kqs_padded) + k, + KQ_f16 + j0*(kqar*kqs_padded) + k, kqar*kqs_padded); } } @@ -328,7 +349,7 @@ static __global__ void flash_attn_ext_f16( const int k = k0 + (threadIdx.y % VKQ_ratio)*16; frag_a_V v_a; - wmma::load_matrix_sync(v_a, V_h + int64_t(k_VKQ_0 + k)*stride_KV + i_VKQ_0 + frag_m*(threadIdx.y/VKQ_ratio), stride_KV); + wmma::load_matrix_sync(v_a, V_h_f16 + int64_t(k_VKQ_0 + k)*stride_KV + i_VKQ_0 + frag_m*(threadIdx.y/VKQ_ratio), stride_KV); #pragma unroll for (int j = 0; j < ncols/frag_n; ++j) { wmma::mma_sync(VKQ_c[i_VKQ_0/VKQ_stride][j], v_a, KQ_b[k0/(VKQ_ratio*16)][j], VKQ_c[i_VKQ_0/VKQ_stride][j]); @@ -344,7 +365,7 @@ static __global__ void flash_attn_ext_f16( #pragma unroll for (int j0 = 0; j0 < ncols; j0 += frag_n) { wmma::store_matrix_sync( - KQ + offset_k + j0*D_padded + i_KQ_0 + frag_m*(threadIdx.y/VKQ_ratio), + KQ_f16 + offset_k + j0*D_padded + i_KQ_0 + frag_m*(threadIdx.y/VKQ_ratio), VKQ_c[i_KQ_0/VKQ_stride][j0/frag_n], D_padded, wmma::mem_col_major); } From 3b3a9481341ce475089efaa25151508a961fe217 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 12 Feb 2026 11:35:28 +0200 Subject: [PATCH 196/206] metal : update sum_rows kernel to support float4 (#19524) --- ggml/src/ggml-metal/ggml-metal-device.cpp | 33 +++++++--- ggml/src/ggml-metal/ggml-metal-impl.h | 3 + ggml/src/ggml-metal/ggml-metal-ops.cpp | 18 ++++-- ggml/src/ggml-metal/ggml-metal.metal | 79 ++++++++++++++--------- tests/test-backend-ops.cpp | 24 ++++--- 5 files changed, 106 insertions(+), 51 deletions(-) diff --git a/ggml/src/ggml-metal/ggml-metal-device.cpp b/ggml/src/ggml-metal/ggml-metal-device.cpp index 517559d12a..06f3d80459 100644 --- a/ggml/src/ggml-metal/ggml-metal-device.cpp +++ b/ggml/src/ggml-metal/ggml-metal-device.cpp @@ -328,31 +328,46 @@ ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_sum(ggml_metal_l } ggml_metal_pipeline_with_params ggml_metal_library_get_pipeline_sum_rows(ggml_metal_library_t lib, const ggml_tensor * op) { - GGML_ASSERT(op->src[0]->nb[0] == ggml_type_size(op->src[0]->type)); + GGML_ASSERT(ggml_is_contiguous_rows(op->src[0])); char base[256]; char name[256]; - const char * op_str = "undefined"; + int op_num = -1; + switch (op->op) { - case GGML_OP_SUM_ROWS: - op_str = "sum_rows"; break; - case GGML_OP_MEAN: - op_str = "mean"; break; + case GGML_OP_SUM_ROWS: op_num = OP_SUM_ROWS_NUM_SUM_ROWS; break; + case GGML_OP_MEAN: op_num = OP_SUM_ROWS_NUM_MEAN; break; default: GGML_ABORT("fatal error"); }; - snprintf(base, 256, "kernel_%s_%s", op_str, ggml_type_name(op->src[0]->type)); + const char * t0_str = ggml_type_name(op->src[0]->type); + const char * t_str = ggml_type_name(op->type); - snprintf(name, 256, "%s", base); + const bool is_c4 = op->src[0]->ne[0] % 4 == 0; + + snprintf(base, 256, "kernel_sum_rows_%s_%s%s", t0_str, t_str, is_c4 ? "_4" : ""); + snprintf(name, 256, "%s_op=%d", base, op_num); ggml_metal_pipeline_with_params res = ggml_metal_library_get_pipeline(lib, name); if (!res.pipeline) { - res = ggml_metal_library_compile_pipeline(lib, base, name, nullptr); + ggml_metal_cv_t cv = ggml_metal_cv_init(); + + ggml_metal_cv_set_int16(cv, op_num, FC_SUM_ROWS + 0); + + res = ggml_metal_library_compile_pipeline(lib, base, name, cv); + + ggml_metal_cv_free(cv); } res.smem = 32*sizeof(float); + if (is_c4) { + res.smem *= 4; + } + + res.c4 = is_c4; + return res; } diff --git a/ggml/src/ggml-metal/ggml-metal-impl.h b/ggml/src/ggml-metal/ggml-metal-impl.h index 952e1be076..383e0d6e93 100644 --- a/ggml/src/ggml-metal/ggml-metal-impl.h +++ b/ggml/src/ggml-metal/ggml-metal-impl.h @@ -82,6 +82,7 @@ #define FC_COUNT_EQUAL 1100 #define FC_UNARY 1200 #define FC_BIN 1300 +#define FC_SUM_ROWS 1400 // op-specific constants #define OP_FLASH_ATTN_EXT_NQPSG 8 @@ -118,6 +119,8 @@ #define OP_UNARY_NUM_SOFTPLUS 115 #define OP_UNARY_NUM_EXPM1 116 +#define OP_SUM_ROWS_NUM_SUM_ROWS 10 +#define OP_SUM_ROWS_NUM_MEAN 11 // kernel argument structs // diff --git a/ggml/src/ggml-metal/ggml-metal-ops.cpp b/ggml/src/ggml-metal/ggml-metal-ops.cpp index 7db95d1c84..20880d9551 100644 --- a/ggml/src/ggml-metal/ggml-metal-ops.cpp +++ b/ggml/src/ggml-metal/ggml-metal-ops.cpp @@ -904,6 +904,11 @@ int ggml_metal_op_sum_rows(ggml_metal_op_t ctx, int idx) { GGML_TENSOR_LOCALS( int32_t, ne, op, ne); GGML_TENSOR_LOCALS(uint64_t, nb, op, nb); + GGML_ASSERT(ggml_is_contiguous_rows(op->src[0])); + + ggml_metal_buffer_id bid_src0 = ggml_metal_get_buffer_id(op->src[0]); + ggml_metal_buffer_id bid_dst = ggml_metal_get_buffer_id(op); + ggml_metal_kargs_sum_rows args = { /*.ne00 =*/ ne00, /*.ne01 =*/ ne01, @@ -925,21 +930,26 @@ int ggml_metal_op_sum_rows(ggml_metal_op_t ctx, int idx) { auto pipeline = ggml_metal_library_get_pipeline_sum_rows(lib, op); + if (pipeline.c4) { + args.ne00 = ne00/4; + args.ne0 = ne0/4; + } + int nth = 32; // SIMD width - while (nth < ne00 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { + while (nth < args.ne00 && nth < ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)) { nth *= 2; } nth = std::min(nth, ggml_metal_pipeline_max_theads_per_threadgroup(pipeline)); - nth = std::min(nth, ne00); + nth = std::min(nth, (int) args.ne00); const size_t smem = pipeline.smem; ggml_metal_encoder_set_pipeline(enc, pipeline); ggml_metal_encoder_set_bytes (enc, &args, sizeof(args), 0); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op->src[0]), 1); - ggml_metal_encoder_set_buffer (enc, ggml_metal_get_buffer_id(op), 2); + ggml_metal_encoder_set_buffer (enc, bid_src0, 1); + ggml_metal_encoder_set_buffer (enc, bid_dst, 2); ggml_metal_encoder_set_threadgroup_memory_size(enc, smem, 0); diff --git a/ggml/src/ggml-metal/ggml-metal.metal b/ggml/src/ggml-metal/ggml-metal.metal index 0036ba90ec..6c349aa0c9 100644 --- a/ggml/src/ggml-metal/ggml-metal.metal +++ b/ggml/src/ggml-metal/ggml-metal.metal @@ -77,6 +77,14 @@ static inline float dot(float x, float y) { return x*y; } +static inline float sum(float x) { + return x; +} + +static inline float sum(float4 x) { + return x[0] + x[1] + x[2] + x[3]; +} + // NOTE: this is not dequantizing - we are simply fitting the template template void dequantize_f32(device const float4x4 * src, short il, thread type4x4 & reg) { @@ -1501,33 +1509,35 @@ kernel void kernel_op_sum_f32( } } -template -kernel void kernel_sum_rows( +constant short FC_sum_rows_op [[function_constant(FC_SUM_ROWS + 0)]]; + +template +kernel void kernel_sum_rows_impl( constant ggml_metal_kargs_sum_rows & args, - device const float * src0, - device float * dst, - threadgroup float * shmem_f32 [[threadgroup(0)]], + device const char * src0, + device char * dst, + threadgroup char * shmem [[threadgroup(0)]], uint3 tgpig[[threadgroup_position_in_grid]], ushort3 tpitg[[thread_position_in_threadgroup]], ushort sgitg[[simdgroup_index_in_threadgroup]], ushort tiisg[[thread_index_in_simdgroup]], ushort3 ntg[[threads_per_threadgroup]]) { - int64_t i3 = tgpig.z; - int64_t i2 = tgpig.y; - int64_t i1 = tgpig.x; +#define FC_OP FC_sum_rows_op - if (i3 >= args.ne03 || i2 >= args.ne02 || i1 >= args.ne01) { - return; - } + const int i3 = tgpig.z; + const int i2 = tgpig.y; + const int i1 = tgpig.x; + + threadgroup T0 * shmem_t = (threadgroup T0 *) shmem; if (sgitg == 0) { - shmem_f32[tiisg] = 0.0f; + shmem_t[tiisg] = 0.0f; } - device const float * src_row = (device const float *) ((device const char *) src0 + i1*args.nb01 + i2*args.nb02 + i3*args.nb03); - device float * dst_row = (device float *) ((device char *) dst + i1*args.nb1 + i2*args.nb2 + i3*args.nb3); + device const T0 * src_row = (device const T0 *) (src0 + i1*args.nb01 + i2*args.nb02 + i3*args.nb03); + device T * dst_row = (device T *) (dst + i1*args.nb1 + i2*args.nb2 + i3*args.nb3); - float sumf = 0; + T0 sumf = T0(0.0f); for (int64_t i0 = tpitg.x; i0 < args.ne00; i0 += ntg.x) { sumf += src_row[i0]; @@ -1538,23 +1548,33 @@ kernel void kernel_sum_rows( threadgroup_barrier(mem_flags::mem_threadgroup); if (tiisg == 0) { - shmem_f32[sgitg] = sumf; + shmem_t[sgitg] = sumf; } threadgroup_barrier(mem_flags::mem_threadgroup); - sumf = shmem_f32[tiisg]; + sumf = shmem_t[tiisg]; sumf = simd_sum(sumf); if (tpitg.x == 0) { - dst_row[0] = norm ? sumf / args.ne00 : sumf; + if (FC_OP == OP_SUM_ROWS_NUM_MEAN) { + if (is_same::value) { + dst_row[0] = sum(sumf) / (4*args.ne00); + } else { + dst_row[0] = sum(sumf) / args.ne00; + } + } else { + dst_row[0] = sum(sumf); + } } + +#undef FC_OP } -typedef decltype(kernel_sum_rows) kernel_sum_rows_t; +typedef decltype(kernel_sum_rows_impl) kernel_sum_rows_t; -template [[host_name("kernel_sum_rows_f32")]] kernel kernel_sum_rows_t kernel_sum_rows; -template [[host_name("kernel_mean_f32")]] kernel kernel_sum_rows_t kernel_sum_rows; +template [[host_name("kernel_sum_rows_f32_f32")]] kernel kernel_sum_rows_t kernel_sum_rows_impl; +template [[host_name("kernel_sum_rows_f32_f32_4")]] kernel kernel_sum_rows_t kernel_sum_rows_impl; template kernel void kernel_cumsum_blk( @@ -2435,9 +2455,6 @@ kernel void kernel_solve_tri_f32( const short K = FC_solve_tri_k; const short NP = PAD2(N, NW); - const int32_t ne02 = args.ne02; - const int32_t ne03 = args.ne03; - const int32_t i03 = tgpig.z; const int32_t i02 = tgpig.y; const int32_t i01 = tgpig.x*NSG + sgitg; @@ -5949,7 +5966,7 @@ kernel void kernel_flash_attn_ext_vec( static_assert(DK4 % NL == 0, "DK4 must be divisible by NL"); static_assert(DV4 % NL == 0, "DV4 must be divisible by NL"); - const short T = PK + NSG*SH; // shared memory size per query in (half) + //const short T = PK + NSG*SH; // shared memory size per query in (half) //threadgroup q_t * sq = (threadgroup q_t *) (shmem_f16 + 0*PK); // holds the query data threadgroup q4_t * sq4 = (threadgroup q4_t *) (shmem_f16 + 0*PK); // same as above but in q4_t @@ -8537,7 +8554,9 @@ kernel void kernel_mul_mm( threadgroup S0 * sa = (threadgroup S0 *)(shmem); threadgroup S1 * sb = (threadgroup S1 *)(shmem + 4096); +#ifdef GGML_METAL_HAS_TENSOR threadgroup float * sc = (threadgroup float *)(shmem); +#endif constexpr int NR0 = 64; constexpr int NR1 = 32; @@ -8660,8 +8679,8 @@ kernel void kernel_mul_mm( const short sx = (tiitg%NL1); const short sy = (tiitg/NL1)/8; - const short dx = sx; - const short dy = sy; + //const short dx = sx; + //const short dy = sy; const short ly = (tiitg/NL1)%8; @@ -8910,7 +8929,9 @@ kernel void kernel_mul_mm_id( threadgroup S0 * sa = (threadgroup S0 *)(shmem); threadgroup S1 * sb = (threadgroup S1 *)(shmem + 4096); +#ifdef GGML_METAL_HAS_TENSOR threadgroup float * sc = (threadgroup float *)(shmem); +#endif constexpr int NR0 = 64; constexpr int NR1 = 32; @@ -9045,8 +9066,8 @@ kernel void kernel_mul_mm_id( const short sx = (tiitg%NL1); const short sy = (tiitg/NL1)/8; - const short dx = sx; - const short dy = sy; + //const short dx = sx; + //const short dy = sy; const short ly = (tiitg/NL1)%8; diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index ed99c24516..222b935841 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -8132,24 +8132,30 @@ static std::vector> make_test_cases_eval() { } test_cases.emplace_back(new test_sum()); - test_cases.emplace_back(new test_sum_rows()); test_cases.emplace_back(new test_sum(GGML_TYPE_F32, {11, 5, 6, 3}, {0, 2, 1, 3})); // row-contiguous but non-contiguous test_cases.emplace_back(new test_sum(GGML_TYPE_F32, {11, 5, 6, 3}, {0, 3, 2, 1})); test_cases.emplace_back(new test_sum(GGML_TYPE_F32, {11, 5, 6, 3}, {0, 1, 3, 2})); + test_cases.emplace_back(new test_mean()); + test_cases.emplace_back(new test_mean(GGML_TYPE_F32, { 33, 1, 1, 1 })); + test_cases.emplace_back(new test_mean(GGML_TYPE_F32, { 33, 256, 1, 1 })); + test_cases.emplace_back(new test_mean(GGML_TYPE_F32, { 32769, 1, 1, 1 })); + test_cases.emplace_back(new test_mean(GGML_TYPE_F32, { 32, 1, 1, 1 })); + test_cases.emplace_back(new test_mean(GGML_TYPE_F32, { 32, 256, 1, 1 })); + test_cases.emplace_back(new test_mean(GGML_TYPE_F32, { 32768, 1, 1, 1 })); + test_cases.emplace_back(new test_sum(GGML_TYPE_F32, { 33, 1, 1, 1 })); + test_cases.emplace_back(new test_sum(GGML_TYPE_F32, { 33, 1024, 1, 1 })); + test_cases.emplace_back(new test_sum(GGML_TYPE_F32, { 33, 256, 1, 1 })); + test_cases.emplace_back(new test_sum(GGML_TYPE_F32, { 33, 256, 1, 1 }, { 1, 0, 2, 3 })); // sum dst not-contiguous + test_cases.emplace_back(new test_sum_rows()); test_cases.emplace_back(new test_sum_rows(GGML_TYPE_F32, { 11, 5, 6, 3 }, true, false)); test_cases.emplace_back(new test_sum_rows(GGML_TYPE_F32, { 11, 5, 6, 3 }, false, true)); test_cases.emplace_back(new test_sum_rows(GGML_TYPE_F32, { 11, 5, 6, 3 }, true, true)); - test_cases.emplace_back(new test_mean()); - test_cases.emplace_back(new test_sum(GGML_TYPE_F32, { 33, 1, 1, 1 })); + test_cases.emplace_back(new test_sum_rows(GGML_TYPE_F32, { 16, 5, 6, 3 }, true, false)); + test_cases.emplace_back(new test_sum_rows(GGML_TYPE_F32, { 16, 5, 6, 3 }, false, true)); + test_cases.emplace_back(new test_sum_rows(GGML_TYPE_F32, { 16, 5, 6, 3 }, true, true)); test_cases.emplace_back(new test_sum_rows(GGML_TYPE_F32, { 33, 1, 1, 1 })); - test_cases.emplace_back(new test_mean(GGML_TYPE_F32, { 33, 1, 1, 1 })); - test_cases.emplace_back(new test_sum(GGML_TYPE_F32, { 33, 1024, 1, 1 })); test_cases.emplace_back(new test_sum_rows(GGML_TYPE_F32, { 33, 1024, 1, 1 })); - test_cases.emplace_back(new test_sum(GGML_TYPE_F32, { 33, 256, 1, 1 })); - test_cases.emplace_back(new test_sum(GGML_TYPE_F32, { 33, 256, 1, 1 }, { 1, 0, 2, 3 })); // sum dst not-contiguous test_cases.emplace_back(new test_sum_rows(GGML_TYPE_F32, { 33, 256, 1, 1 })); - test_cases.emplace_back(new test_mean(GGML_TYPE_F32, { 33, 256, 1, 1 })); - test_cases.emplace_back(new test_mean(GGML_TYPE_F32, { 32769, 1, 1, 1 })); test_cases.emplace_back(new test_group_norm(GGML_TYPE_F32, {64, 64, 320, 1})); test_cases.emplace_back(new test_group_norm(GGML_TYPE_F32, {9, 9, 1280, 1})); test_cases.emplace_back(new test_group_norm_mul_add(GGML_TYPE_F32, {64, 64, 320, 1})); From 38adc7d469baaf8c1bbfbf60bdbefb288a6ab1c5 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Thu, 12 Feb 2026 11:22:27 +0100 Subject: [PATCH 197/206] WebUI Architecture Cleanup (#19541) * webui: architecture foundation (non-MCP core refactors) * chore: update webui build output --- tools/server/public/index.html.gz | Bin 1453103 -> 1453494 bytes .../src/lib/constants/binary-detection.ts | 3 - .../webui/src/lib/constants/chat-form.ts | 3 + .../webui/src/lib/constants/code-blocks.ts | 8 + tools/server/webui/src/lib/constants/code.ts | 7 + .../webui/src/lib/constants/css-classes.ts | 10 + .../webui/src/lib/constants/formatters.ts | 8 + .../webui/src/lib/constants/markdown.ts | 4 + .../src/lib/constants/processing-info.ts | 7 + .../src/lib/constants/settings-fields.ts | 33 ++ .../webui/src/lib/constants/tooltip-config.ts | 2 +- tools/server/webui/src/lib/constants/ui.ts | 1 + .../src/lib/contexts/chat-actions.context.ts | 34 ++ tools/server/webui/src/lib/contexts/index.ts | 13 + .../src/lib/contexts/message-edit.context.ts | 39 ++ tools/server/webui/src/lib/enums/chat.ts | 49 ++- tools/server/webui/src/lib/enums/keyboard.ts | 15 + tools/server/webui/src/lib/enums/settings.ts | 26 ++ .../src/lib/hooks/use-auto-scroll.svelte.ts | 165 ++++++++ .../lib/hooks/use-processing-state.svelte.ts | 85 +++- .../src/lib/markdown/enhance-code-blocks.ts | 33 +- .../src/lib/services/database.service.ts | 368 ++++++++++++++++ .../webui/src/lib/services/models.service.ts | 99 +++++ .../services/parameter-sync.service.spec.ts | 148 +++++++ .../lib/services/parameter-sync.service.ts | 400 ++++++++++++++++++ .../webui/src/lib/services/props.service.ts | 47 ++ tools/server/webui/src/lib/types/api.d.ts | 26 +- tools/server/webui/src/lib/types/models.d.ts | 12 +- tools/server/webui/src/lib/utils/abort.ts | 151 +++++++ tools/server/webui/src/lib/utils/api-fetch.ts | 155 +++++++ tools/server/webui/src/lib/utils/branching.ts | 11 +- .../webui/src/lib/utils/browser-only.ts | 2 +- tools/server/webui/src/lib/utils/cache-ttl.ts | 293 +++++++++++++ tools/server/webui/src/lib/utils/code.ts | 85 ++++ tools/server/webui/src/lib/utils/data-url.ts | 10 + tools/server/webui/src/lib/utils/debounce.ts | 22 + .../src/lib/utils/image-error-fallback.ts | 10 + tools/server/webui/src/lib/utils/index.ts | 4 +- .../src/lib/utils/modality-file-validation.ts | 7 +- .../server/webui/src/lib/utils/text-files.ts | 6 +- 40 files changed, 2361 insertions(+), 40 deletions(-) create mode 100644 tools/server/webui/src/lib/constants/chat-form.ts create mode 100644 tools/server/webui/src/lib/constants/code-blocks.ts create mode 100644 tools/server/webui/src/lib/constants/code.ts create mode 100644 tools/server/webui/src/lib/constants/css-classes.ts create mode 100644 tools/server/webui/src/lib/constants/formatters.ts create mode 100644 tools/server/webui/src/lib/constants/markdown.ts create mode 100644 tools/server/webui/src/lib/constants/settings-fields.ts create mode 100644 tools/server/webui/src/lib/constants/ui.ts create mode 100644 tools/server/webui/src/lib/contexts/chat-actions.context.ts create mode 100644 tools/server/webui/src/lib/contexts/index.ts create mode 100644 tools/server/webui/src/lib/contexts/message-edit.context.ts create mode 100644 tools/server/webui/src/lib/enums/keyboard.ts create mode 100644 tools/server/webui/src/lib/enums/settings.ts create mode 100644 tools/server/webui/src/lib/hooks/use-auto-scroll.svelte.ts create mode 100644 tools/server/webui/src/lib/services/database.service.ts create mode 100644 tools/server/webui/src/lib/services/models.service.ts create mode 100644 tools/server/webui/src/lib/services/parameter-sync.service.spec.ts create mode 100644 tools/server/webui/src/lib/services/parameter-sync.service.ts create mode 100644 tools/server/webui/src/lib/services/props.service.ts create mode 100644 tools/server/webui/src/lib/utils/abort.ts create mode 100644 tools/server/webui/src/lib/utils/api-fetch.ts create mode 100644 tools/server/webui/src/lib/utils/cache-ttl.ts create mode 100644 tools/server/webui/src/lib/utils/code.ts create mode 100644 tools/server/webui/src/lib/utils/data-url.ts create mode 100644 tools/server/webui/src/lib/utils/debounce.ts create mode 100644 tools/server/webui/src/lib/utils/image-error-fallback.ts diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index e3b06f490103a30ef41f127d35275f11b1255e02..327386f413a633359ac0fe4fd25a7a42f15fe749 100644 GIT binary patch delta 1378164 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%0A$mD2RjmwNA>=sIrSB<@< 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 A$m2C2B&rRG1U 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�sp4@QQ@yNs9weK#&WHb6bu|j2hl$a-W(Ow0E1TYPrC0N>-icCyY{cf5uLoGwMhtO z?`a6{^ZNGbkItGor!m`cCJ^|vdHjUo3+V6Y=GsJWo)Mgw#J45-51DREvv^NbfKoHV zeB5p6_d@ICr@pAsEkMoCeND&hVcFl z3^uZd^JYzfaiQ&a;l+o+j}s<<5b&-gwDm_^Qm*pEKOOeWUFNla)Zcd2N(b=4+h@1q zy(5>sr_I{E7$C^g7qt}*3u@soWag`z6)D4~@gsWX#i9Fny@X0CWL6?BtbuUYdYh$P93(^=aBcXP2tKNIZCa^ zk@(H!v;Q-J-=7zKDfBeHeCi)9vSZmkFUlpCaW5~yhxJZEJ`1T7DIH`r_RaGVq1z7{ zpOGB)i>?NEjQG9`yBd~j=lWDpQHC_E3YHX)k;@5xhU4{r7=GUf-_*%~JEti8;+s>` zv*M%j6CWVE%de8mQZ3fk_38c^`zws6(%eGd5rKgN3?1tIr7JQC;$qFx*Zh=j=auF5A`;OFg+a=BP$I^6ta*RjL@^rM zmigp@B`|w)9AYy8InK?OaPkxs8GvL0?QM=P^376zvTg(n0`#0g-bZS5>TX`rzPL~R z`1QqAn1Pp^BMj)b03^!y=f|l@vh1QwxZ$BkU%*JmUs0+oto9(NJ+B-d?!g4?43gp5?Np< z&P->2zAfkjL8a=ZO*x;gyLrzlysjiYzceDkT^|y1BkA`9MhZ!8FT-7p1yM9RbMzkh z_w_U8>i%xM{L>_;V@6N$VVA*AylS)ZTFUc|dY}pL1$A#zFehFagZ&vRAa1m#;^0=A zCL_@j`7_0*%-a)Vak&jDn+3bV`swfZIjY@%NehUSP+{XMjo@+Of;)9JZ%-umtEuW| ztVD6aJ^hT6dk{%1ZqLpqgx@imn@5})PAR@@{ZU;Va}PGY9h)x?r$?mrp4&<84});D zPVD3Ri@&c(-i6CTZaL@EdrJ9@?|OeLKj_RB(us5RHvRBD*4N?}g;`S0u6ugR-~~zB@LZg)%ZC|#o)nr7Cxbf^ z^8E*LQr}&iUMOhFiHz;o9^mM)m%}4}#~bsRO9X^mHhn|x`-ZK}*LeVr2uZw;!a|sw zr{(h$3YHiS2tZ#$O?$05ZY82+Qlgh-?pL^+(XBVo?>v9C-O)@e#WzO<{m7Os`n!3? zJ=8io-w5$Z!_YM$`ohsITn{tu+xVaXXod{w?QE@{sgKP;r1U8Ys0oi89dD_BSsVpB zIyMhYOk--QiomP0HNY6r`Hqt-zb7lnKB7zFUAjBxDz5h z5P_2CT4u87u=l~(zNIx|Nu0!C%%kf&`u$a4|8c`WP`>l8t{T6|M&@NxbH;VvZO=I| za(U((gx&l^Q|w`Xbx?DP935qUAob>1f*aj)?v2uKr~6E6a&P>4o<}4pg^qhEr*#Gl z8JwG)<9LQD_D?^!j5;D{o-i_Q@FDKsy*DJmQ2m|=3-FIu_O+ggwN|Whb6V82)H$_& z(eqd?c7c@lRZD1+1Pam*0eSl|EqT!5X(zsSlLUmecN442UFBoL=Qlim%9?t~3C$^I zxux5@GARW4Qh&Xndh^w~#sYQi)5L?(PuMr_fo7Q;2nF7+C8dq4|L%bJZgZpnwD*;i*v)XpYAbwE5Htai_OUs5CSIiWN~^Q zRRRs}CUVcu-{*O*n)Gq-%JbnGYX|~gHs_Khw*ws_c~*Qb^w}=^T)D37+vaQ(u;MH{ zgmY^mH}Q2p)`7@>?0x-`_Nyz&vE;?=DSFCm03cx9sDyfby2e*IZhRjqCT$sOM3 zA3yqk?(u~t8-h4e#0`=UOlgu+3AmF(I_xt@hFtvc`R9hbx&;Ucb*rPJ_&yy-5lJ3ac2YN?2$ZRvrVo&$}LrJd^nD0Ye5}^$Nh% zZ20}uBzmff1mQ^jL)!?@nSsGjepV^v86wIRA@d=XH75`XLv- z@27aRU2B?q=}Mg0_&Ot2i#;t(KRN1MFdw#!f3jjJw(WDr#U*}F-2bAnqLcYOxW$zO zf-W9^AKs@uSU}MPkn_}f+pHqVq`&RdgiD*Jm%rVU9$`EZAeZH;!!3kG@+{&CID!f5a_(r?J=??z)wK-f!nlyVk<|bV*7=S!YWTgiv5&W05oz zJo&|sd}`6UvU4QQm53Xn!|B>~>Fu!_?Zd=ps(o(Makld7Z)@CjWM86#&ls`4qHt+Q z1bQr}g%vtcai9*|m>*tZR$CjOLFc^ZdzXzH{Mt^14I)+kg5-vIKN@!Zq#rrw*ns|~9<@Gk)4SF3!{hvu z0c1@D5Z0jizf?Hhr(YC?KsGcKW z%Ngun2kffv(CX5!bQre}Dl`-DQm2C}JcGuFt=A98FPuaCXi8EIrhAst(HTE@Aw(Gy z@k6kl%1~V<4$T|W|LaKFDAQe{FZFDjy>h0R@qps?bbhEOf^-k=SVWS$SLyA40uq_J z9`i#ia_mWx-stswtn+VFFAU2f8Qj^CT`cbVt{gTMAG9q;S6Q&xJizvUydS*R+lgN8 zR!!F|xd+Y=?9WJ6^Zn%kEW2S#QfACWlH<71O+@8CC4bWvX%?wFZ=8zQeh#*|&aQMD@yazjaaPh#~s*V+? z#|z$pBhJzkFJZ8CzK;Wt?m6_?v@5)>GNaI1b3I-7#hg_PUhfG)Vqc&}vKW%Sc`!Hl z9L}zX+W0`GOE>t>ue(LDV-*9nh=<^SWfu$c26(V_EJ7;Ef*y6#ICj{7msJUkd9LW6 z3l~tsK6q~sT=#XV*1nu1p3J2e zCbz7!ym_bH?nvH(^yS5}KSacE!J`R4g@kLXl*V@|7vxiODL=`7?(S5}6??j#H2sW( znY!tFzn(hvM7bE$^W#%j+p2+FW4k|36Gs*Fj(d-O^t+#&@|lh&uTf(1$|yP!Ui}nH zHW4)_pC21JOkU^R>3MP5f&83*?L(46>ZaAZVqS0#roM($e*?F<1t0go&UZQq818V$ zi_e$xeZM=p-;)V{?y_{UneV-}c37!cJG?ET(n|9m*D~>gAK*_|&bLbFIAg=MHOBxTGB|OYd>1{636~1IC4&8f%|5r&e)=Sc1+A_nhIM79*UYEBY`s5?L%yx< z!&PppW*`Or_(4KBZt&ZGoylzWVQ~>InACPpB{_F? znqB&8v)54~sI3{s0VcrbLD%6e-KEEMG}W*d_rK>y(|zr}Gl6h*zE#UC{hOz1fEk$W z3;I$MU*TJ@wyKh~=ZXn1s<$tV_7@-e*M0iYN~m***E;`&8P3LGu0BU&Rhr{1%SaIv zC-$@HS%&I=8civoPVd%>tm8>oxlnFfkO-U2zKKxtuwEIt3eOFzWr1D)cFu^wAgOwP z1!rG8h~^~ipUTs-ZoeIY5FZZASu8_999+r$>2Z&D@D~HJPu(DcsPp;e!y*!Y3BU2m@JAftRCyk+9es5*zJQ;`p#6xg=>~h?yEO zAs8bF-)$PN&zPsD0Qo>XISHZqLwS#G`{er$S3k||g?cpy>T~B9!oXEUy=sAL!?J^k zTKxo@MZk|09?Y(@FBK%EcxoNzuDl&CukMjulPL>6RN21~8c}KZQ=WB!5o{2mctMdZ zU;~4H;#vKPx#L(LB)?hrAzq`DZ-;cr??mZMRH~m%Nv~?LetxZq$x0OdIPQ2*%ICo< zLD9M20I3Hd^N_(y_EHYkVpJcm>_bJa*P)s((JyYRL^BR1s^vt4WCzJXee&(Kx)((G zJHD^Qx7Oa_YnnggJ`>8j@lH8O{jP}<%PwDkZ)1)8u60TvGyhzczN*DIKbQM+p4MXu zRJS5_Agv=~#lmPeRLj`BiS)&?S89&95DAI*w_U+TgtOAW#qq~xyJ3uftj)33uh>%> zyTh%n-tXc{*nElL=zRZvl9R`tAXp#1Gk+ohP|LlB(MhB1=aDEBdyr4SN3{*Y#kg;O zc=L4&TKIzhw% zBI4!rB7BsssCRWdL2&|#HoPLSti^F1?{`-knPPz=eyPvydXjx~DUubP^Bz3|Qv7rg z)5pAbl*qrM{y5u|zESUoASfuwL%ErM*>as@|MpB96^ti47a<)7a0Il--hm}$467gn z$WZbwzw$_k;U^)11-Zw3X?o~-yb1Oc<#+UALOIa_mBD!!rf~nu9`!r!cW9&e)F>p! ze%^^4`{ef*0z-@WC4j+|5ukNc$Mb32?FNBHS$Yj|Tg*-h2pZOK1)k@dm(L}C-W9$J z+5KnEwSq3}FF{wjT^%wtzGOo|RBNG0s25s$3e?Q%SK19ALD)WWY`VQud^Oqm_g6LB=j9I9YnREE{&~0w4wa1@Ts*B;XefPY#?+4Ztea3eorxKg z!{=4W+S@2_)sfc}hy_fhxpW9}98NA*z{(- z$;R!2`uNcSUAfiRos;cCC^@P}@%y(h3-W>tnp4M;7vkNkQXYz+%*AoP5c~AL1qg32 z)a68=WSt%vZ-Ibm{v?Mqx)6pI@Vb^g#MT%PK(9V*)W^p}hfkd}i1`=kH{*H2A^KOK z_exjX;W)981ABLWNtC=SoF(+>01wF_Sq^YG-=#>C97r<8#9K%OZU@W3+gYuL7^pyr zq>uY2(4u#wXO4a3%w-84yEc4W_8j1=%=z-|u$Sm`{z5>P%?&I$-BRu0^1QYk(`BF6)E@OR{Cx8e z2aclq*)vIzGYY0rJx*{|BW$f$k&%SwuFpw5mkzr~?9~&kSdK?R2j~wvvjTrpKfqvG zNFTg7q8ep?>d_sI4(!p=``Bc$ecs)y}YmX$OWG_ zdYsUol8-Ati1EHf8b0Tt_ZW!u(8(R;>@gggP{=+^U zIvFOOtMhJ4>gVACNCJ)R5u#!xONxRy-&>Y zBT%J(>#*oCF&M6Kzm9Q{Qp=#Q-;>1RS^3+Z?*~~vIKO zF5NpL)G{4wWO&&z$4{;fe0^YxNo@RcmlhN)xcT>fATZ3@ztu0$0@ZR4BYJ;M>M37; zVcv1135{twA!BBD!{LOIMpN;a@zRy0Til47A^RU;zkPB!55hc@17zI5o?{=-ZN$da z`#G&y2MZRYAJ>22mpM!TT+HKDn9k|AJA;6k@hh}~kLZr#1n`?z0^it!5Z|Geyx&&0 zNI#z|bdB8m{v9t%cS?_6a|C(g_b17Je|)u18%jSx*#OC}!5jTOZdVtq97nBtma%X` zZ$3nU`ht2Pelx#&G*WP=leO6fgL(h7hamu)a6q`!A40SN*_(N>F6J@WFX@xn(}-K! z4-Eo7yv(_Lq;AXimEgZ|2ivjY;zoj8}@5jBo_W z&EIO@7~S6Jmfiui*}|JL#P?`_stxtp--mEybr7obeYXNab%|f@bil7dUk}8Caq%*a zY^JQUOsSvGd5UapJ#g0|l-x%mpU#zMP=$=6Ng26A3}{#=4ae8(vpq2k1wVFy4CYpu zU)L*9vd8G6*07f;@5je3o)v~|&#$L&+_#E!jQ>o?sOwkZ4v+^p12SlTcdG%O-!O~J zh`j`%eE-zALrY|OyNr?#wiq$Kg&ZZtzRabcPlY$LO?@t7+P2Yfz|VbbL|&!$(9Q?K zSl-*KIy|9c-TMg9DEqe9|I%MPzISGnX*MxtZ*Eda2zOEOvmb4bt1ZgYdpZuE)=Jv# z9TccXe$ig^QJ=4wpi!@X=%jemW{t`}3rCYpR>iruZX=%^y8)ciQ0E5m7?vrG#XsO)-7VF32sYXNJFf5STs=Bl4GeCT--XrpVv5z>QWVuBSFD@IY zA**x;%QL5myJ=5?`r&S|y8?ZerIc zH}92<7PdfQ9YvVLLQylkB@rp;^iJ#R#*{mWK$k$Rk&g|3q~&}8%k4erkSAc5=ld=& zUFH5xvSM`Rdiyn-)uM7n^x%&y@&JpoI=30gPy9zJnVbE?wX?st-V`y2qdVQp#rYGj!#dx?>)Jwgq{vvA zuabIKU?8|vbLms0R8#v?LF^A$C=S8QcHxh5zKH`**Uw7wPr66C8S}gy-gYhk_M|Rp z<&Ono(G%7T658RzCeSFp$!{(ys?V2dpgI)`m!_9bm||3kapkrC-MbztLE`Y*MnUaf2nUJV2?I? z)TinUNm6#J?e>;8=Sv59U;a9K=v03`e&rz^QXzS|ZU^~C!+|*RG%Q6XCM`3TgaZEJ zjUHNm-kw+Dp>$*RW>sz>p)RIu=-em(BVq2>5>zuN6 zUN(>*KHPd?!6pD-{qwMoyP=zM;$6!09*Z>jsMFDRb+B{ruf2NB-N*7eSXQ^TWe7)RMULlTu zmDwkUbsq_m;)JF%ARtgV-A?*3MrVE*djH03Zzp0n`Q=tX;RHhwsxLPPY zmThIXxGu~1_K+f167xF1p+${O=UK~3N7sy=>mH9EQ|jLJo-l0u*t_mEZZYvfm_DzH zNfPx^4bbX6O6{{q&slAZ>8IUa=c;Fa54RRbP{YJuMnkdZow6F~u`J(@Vi*BRZt}UG z-yKC~=jyfk(PK)xyH&j~Xc;w#Z(+;(a5C;^xip`i=1;~P7!%kZyjS{x>EhU@i>!GiPD5mR*;pTLOF#M1Q*YGU?K+?x|6#U*3ETKY#tyPh|2Z^X2^A4ZJ zha!Jg;36Dvl{&MXo5*ci4yU_+&dg%C08_b$dBxP;hFcU9t4yAU6|sTVAa^|aBiJ?X zn}g({B3Z|qqN+H>pk{%@_Y!o>Wa#b>ju`o78_5coG04Mk?p{l@c+P6M2AgMEwR84E zH@{RTfTVzN^#G{ipmr!Hfj?P`tk5!7oHsscqL0|)>YqLyF7lEOz3GY`G#1xDAyX$V*oICO4y40K7A60`5M=T5Oikk&(fE)O0X zAKpslTf0HA3JXI>IMJJb=#8g*?~eQP#Y;I1jGc>HwD#ee{tgy=q8b0`Aj9+-_p0B3 zF-`0*FenX(!i6=;g3*jkz?;?}N&%WrENG;$W*yNdS9U+TK0$FB9UiRz)4%cqBcX{w z20v1fKZtW;e_LC9`=*EaF5W*=jd(?S_5`(hn~neBFUn{ZRFzYmc3t();$fV&rYZ7GPm_|K5|dQ zaBqGA#YNL~-)aAU!p4PFB}qGC?t*UuI=YDrQNU+o4gW{ohl_uf;|Dz9>jX)qdf1%d z?Z-vLGlwRiwF7=*_s2(ZR%&wapL;KXUSd*E#80z6R>*X4=T;1#B8d(mC8Q_hyZm$? z>QZ`Ebn($P<40J*eX5U9+l4jGFhG6Mj%=CU4!((TCLO+i&vvIbo-AXRjuq@DAcz#& z6hf7o8W_8kOv{~7+*+wkm*>ySZpM!hcUFOdNXxHJ&JjP3TOJV>GDH{3HjTatVi$I* z&i3Mq0r=ZgsVy0505c=e8UVeyT0G%>&-s<17=i{3bZwDS-Pj3J}(Kf?gJPs$rQk=K34}ajrGCV z+2mk?6UyYku+(9?)z>)+L>tZg^EKHuynKXHSm-f^yk~bZQh~iXqz1$nJffi(qYpgu z{)qUSE?u+w(GZy5vM!qUb<-pdODING`g($SU2Vhw((+SwuizuoMdx{jT=3-sK&kofsBE)J1{g8KKO>TU zZ!JiFozFrwkJDp+p^8PMKI(u1_B}rV-vaO<^qQ)e%Z^BD(nT!{&g0R-7C*n+Pz}=O z=j=@B>d+V9iR~;Myf;x`0so!|>=WwWV~f)^RvzRdV$f5IOJYdOV3^;6`XkNI+=;9( z-KCZyPyF6iwF_3PE(B~ai-x(_76gK;HJr_VGW&by1(=W#6>}n>ZD^+mZ?{%0vt#%%oDbugTd_Km*@8C7Y z`CT#RR*%JSy_Lk3{~HyPmb_djia z{v%`nmis3eAozQvh)n&jkpXZH`zIOT+xQgzeO7^X7H!QUtuQ?A6aokz0&Sv$CvRY} zt4eN1noD1BjGq)gv_c*IJ~zxx5zxh(yF^Td*g$-B*t$FaYX8CBs>*)VFTq-wY^xdP zSQ4LKMfOc~q^FI3t}izc;-me(_3__-rGgJjt>bl#6pR?cV?gL>EmOlJw3Nx!D*v;u< z%6dOAyQ`*f^^fUNZ|jN5@m@9Jc(W|%o$W=%nZ1H)I8xK|v48$R)7kxO?URasQl}&x zoKqC&P1L;EJ+W84>eyA}<;1X5-jIMOxsD@|pAl*16Wwsd?v#h`c6`Izbl%~Y+%4o^ ze~~d;ZRcP0X<+bCv-^JUw(Tyvu-F)8r_bpZj_CQ$ajnB4#>ht-=VF{Nc6WjyJXWT> z2g24Dv9L6+zS7$eF2?vp+uUz|0FQkfx4?9sN%hNl<-v!wX?%^-cO?!d`v(YJ6}nBB zG2poSM^HCLYVF8%eSr%L8N+c~pH_Af%2qd2SsBq^7z$a{q15LTjyUxb3$q)A=KdS9 zS!@QwT7A%wgDVX5Zkp%$>&M}SWY208A1kSLVlTA%)RlKA4Yg54pFcy)OM8cEBTw43h{M! zN8@yVeZCA~l(6br_*~dALV-T=ed$1-eq9zIB<4%;m%865Hp& z(Wj12N+2Rj)By`{g75cL@Y-W`hT8H&)~17_%a{m8!TU@gk4~NIxE*bXO}AW1I;?;7Y%dRGh`peR)?=w2)u? z12d!azF~8J{E_v6Sr+Cg209C)t?OIH;2IRx83$Dpf<0r^bH!WsqmF0acf0WOg(y+zs29%0aU!0zO5BY+>D|?Q(M#9t0b)Gk%YnXdrNybWzy~2+DSxzcA7u8S2v5I&Hg>_p1htQ4!o;)=zPzD z&_2M@xS|3UVR!30Cmr7S3fK;<63)WP(m(MhqTh_C`2=Wshxk}O=+FQYhi;+LLgsY9 zzlE~}x_o-Xee-eqJUC0eF0jtM4T|)3xXoXVx2qyePSoqNH`}suR7$x2E>mcsgq*v7 z%aD+-3m>=#MiL8|k1b@g^UMZu_9fa<+Rp1InMh<-ZT4z63GZBs_qn)aSN;CpIrAeP zf8`uo<6agY+mE^Rz^`fdXcluaF5diS>JTzheHcIXgR@`1d5>v9f>~t~ZT+NQNBs}q z<&~cS8cT$NQ`M<&pw*Ewzcqd;_ptDPLh9mtyywX}?_@0b?nZk*fAa&_<*lyfYEehA zY8Ib6S-n&W&8moh;X&|9hHQ6anpYzi`k}EMH^@7rh0{QMH~a606+fZ%x%KZ??WYX} zF&^T@VDzCj^#wDog6|Vdi8DUET@v9w!odvC}(4x?X|f z=h%yjKJu!+HorwSa8XN`MPQjh7th_@JOQtbNT0V3m>*fh&cl?bQtncI0aya|@Rv_^ z0W=TKC22D=dhsrO4DD&x@pDFWsXV2BB=Wr0?C7uS- z)E2#zFs=#K^=zuQ*Y_-k_evBs1{K2IXwiB7J zm*Mu12bN>Rt2W@)4{kW9V!HCm!Tg2;PN}g-q|_#XdCT&CKeUy(*Bl^EHkOm-yN3p< zVUZlZafC*~lni9>ct0wC)K?A?=zQrZ&NqG9i2EkVsOMm-Is4flbIsjAYF%IqQUnow z8=p`L7QD2BB+R6cl`2lolh!Uj{vzFZ1R8~3_9HRf=p0edn)Z8f%(~z)e}bSYeVcsk zrX+DIynUz^{Z;doOI+j!RlwWYkNuA^)^{@(6Acj(9aaPOY)i*~Cz(LG1?ZfbKVFUw zZ6MuS#mh0@HfjCv+wd?`zKG8kFGnlDSd4-d6mtIEqv3n+;B!pnDM1li`z^RAuV)&r znv4&Cap%D$x`+IX216;zPEc%nHP1^(70RFk%|(Z3u4PI=T_m}cs{+Tu)n26fBFni# zhbq`v!`%ReWXG3(<&AdV=OZJ-FK;LIb=lEa#qi?jHFa{&1Q>T!@d%AZukq{c@O-ZP zWjSoQW`^D}eUFc$1B8gyZ(^rh4YdnI&xnt)*=7Y-9)B{iZou(-PJ}g=Nl~RDnTMc$ z_Ic(tST%thzIs;bc45FGV;-FqHPugrf_nq zTb=6SRHrU~^r2@YsBkmk2`3%z(hky{hgX3Ix>KWi?ds>lf!=V4plVh?ygQbH`NC3ay~T$I}^=LW?kLgrD2x#05x z)@onerOwrUZUM2G_bMZ1)h9!8(8KPI}ggmE$SH9-LiXmCRzhB+kPMLPJ)-| zy?(joBMxZ^KA1%IW9rxLCi#-pFVt?4xe;!6Bf0p!e@Y&%TF87}BK6i^JPy@ASO2=O$fG>-r5RMwT9K)(Ri(i?mj1JZ+U#l`C%lCOu9j^aR`C zWHf~%`b4*zKDa?zQT{&P!DM_r19$#y_g)3-V8wkvr*CNc=#qdEGwUAPlU^VDF8SIo zao9b&e;~Gkdy;ew|Ezz26YR66#ePi~o509@xICmC<@gTt zB25bW{QQ`{#XBl8T_T!vx|!uS?A~Hd+a((;e_<@ecP=5{kA8oHg1100vrDHfNoiZ5 z8>f72EQNKvsGtkkwqe-+^57XrdcA}F1xz#XvkR?FC$o@MLsXnPTwy81nf252*9)O{ zg{i`nO@=@4T=C)Zqk6}$WL~fGMGPT{%PbCRx?KN>iXmmx4lzypzJhPEKD3}h&PU;p zf5-|atVuY|z*{o67_0f@S;bQ$rjBdB;`fZs$WGXuj7u{K7QegdT*%v>qy5-{iS?LP zda15{2*uG$d|C;I_lO9WVQO+cS(_Q08Glc>_T|CfwKBi;i@awPH~4%X?eoart_vmK zRWE;}R%$zwalh!uVy5AFha->6>v1B2f6?$QUms?x6^MACKR)4tyDq zw$AMig;hYVn`r4|PO7s*Z*4N{$P;_odS$Eg_NAfT&YX7OJ3|euxgBmmr(<=YuC397 zDej7T8hAgV`S{t-2eM*t*HZ2^@*PQe`qk+HC8E?A!4F26vy&=K%$wDyGM>whf6gKJ zt?ALygtz*po>N8MpXWDzqO8wCgAc~+ro8s+@3qffBvMPoA*ygz2EOaI%AIL3&_^!9 zBPvd91TVF_JBO)@s830WR3n{EeYrV-c?8c7A$ga+FZTlXY;4>i0sf7xBZ5yGHu3O|JtEe_Gok!&_Mz zi!7@XVK#ZWxR2YwxSwXZAOV>3y>_1x1JWr4+2y$aDR#EwT zYmBg>JqKC58&{N{n!~45e_jO!*NO~i-nFblqsu!ZxNs8~=49p`={qH`yuMOg?{-MQ zM9+|Yu9z&>6(Ugkmxls_QBOe?Uda5DfSzjY8}6^#Vc)){t!*{Yd+4xCkh9A)8h-(> z1=mNoFji{#i&4+u;xXqu*76?Q`XX8^K?&ww0KMdH#OGE60rW1Uf3oDfti!a~(^u2$ zK>A0U@4Tr{;Eesk(T0B)O@#%t+f*z&sMjXgs{O&854hayG*<^X&nQ1{ZO*n^i~-i` znC?%}Trak4RwfxMS9}>3fok5)Wp^6(HxIL$?|g(4`&%8>gLL1!$%75f^hfv50}hTx zT(;dD+%4kQ;8np~fBtT@?YeXJ(ff5CPGvFHVP*O@cK`zG)gIzAKLq9n)1ybeS9{;5 zC?ibTYEw_4aNF`}k`akq#$cO@QG$r@Sl&w9LD7MKWyeRPIh?zjUKL!@Z`7&JdVxxN zcK<%!e&KAI9^aum8Sa6hWaI%BUpd?=$5G`Eqy!FJRO6%mXP^leyX?$KoE7d(QoNph3p!8r{hJVrNL4d!P9CA*&=3 z5#Z{4`fgn!gT~3`1B4S04!xvfGVA*xoV`siH{t$g=#x+yioXo#ra`*wR za{f#CjR?6Ze^Y7Um!-a_&jE$0x2diBsXL7CHoIRR1=W$Ks3V8ZBP~^Uid=a};bB5L z$cEnTWY*cyXYHG+c$EKco^ZWYmkWR2jdyUAiQViP*6BTkO{`}txx`I}iFMA@nAce5SlJGfN? z)5aU*_w;p{9}Luna5_`tSA;Hf@#`57{-Dy4kouLvZ^f%>L80UQQqPyeq}Ydpbq-?v zmIt^If8RG78--}UU2`-<)qvv%WEFP3iH@OH;`%@k4PY&d-~+_d)oKND)6d7<`GYdT zTTf(mA9SIx&g9vBy1kcwH(%*XS<2K7_|ki?pxLX`4}<%s`SAcLtHpOjIw`qy+cQsprS ze^nTXwnNp}3bZ|jMs!m%?~?@5ys?v`t94cOg|lQ)@}bxx#<@{Y$U!xJD{({Gsgcb) zIDzhq=031hD$20NWFAlClkfE3YsvNOQ;xmHB~gbcA0{#`Xt=Lg+CUj#1M!P_uuU7V zorPB!OGFghL=MAG>haJ<%T26gIX_rsfBU_@2fWR`%I^AxVlh3Rw``EA@X8?|pa0_F zA|c}!PR3GefpKzR6X0HwD&7Y50F$%Ib@}=SVF9^0v(NE*Xo+$ee~NsUHpi+uO?lfC z##nJPOTvTR;=R7ezjUwSL6q43XG+C_i9x(>XS%9CyAD+oV42Y^gL1X-adj`geX=xeaoh9|1LolhZ73E$-UG+5(drf2(l`Sz6Av}1_LpGE&pZxign zn%s{BlP@wqoC&4N&pkh{=hNjLf4f0?VmM+$(zC?*NJ!ai%W6EmsCz0SFP%)rPrJL2_BijH|Md#^%E)V-bbN0Afr1&b?+eHve{gj5D-mw4HA;GMlN zwuQCv{WS+|F1J%8*d6&I;>A-^BRUu_w}9n8{1oKr;@^t&fcf*%hOn=Zf7vYociHV9 z%wR7vgYi;uLU!2Q^(ssd$(y?aRH7%@aG{1@_R7$Il&%fHcf;3yH^pO1W5l6u3A)y( zp_~!&q~~kJ!4nc>VYzu5gz5!da-iN#*YYl>*q<*%&W?`*X{tyCs)K5)cwu}!Vk|Yn zK25UkEj}w+*!AQ;++UbbpCil%Bg2G*1^>oV))$Ztd?SN>I^Spj44@v9!&m96u4nL03?m${P zCbmS`x9TG2Y)uT1e<0xA48{@>YMbm_ekLIwu)ZDW4&c}C++YOp)vkVi6-KOz1btm2`7BBk^U9A&wys#N;7uyNg{(yu4yRaA0MJJKd=#dRhc;buJiv1R2| znRmn$Rt4^Ui<6e+p`f2ElW>4;d$?L~mD_Q5dW1&27Xa%%60bw5gOp;mL88^q;m4Ys zb$osR2TmIWO0N1XEW+_D7SD@a$v5*yvHPov7axBv+vsBg4yDpzNx#8_+C3g?b!oqD za*J>R7jL}@f76Jv*3a7jaH^AD*+*eFr*pYHlC|d*~K~34jgfb{p{k%&LI#a`uui5G4 z``M6%w@cHPzH~uCIcmz_ENf3)*Z|lK5=1}cznD9dtyR%93ttce0YP+- z13-F2f9abU2+|{sD0=m^|5eSX)~bqG4q{biPg?!u4;T z0`s$|e#8B=(;yxDe(@{PzMAgQw{Ruia`(U60Zu*BscndDZk&?o` zxv1*MR))!Cu=0_&m`5p;ZdHO`xn&_A@gcv3+x{j@@80^dBNsPYBRl19|4MS>kes-Z zf2vY$WAWQd?BCmd6-6cCto0W6<|~?EJDFs1iu(G~iz<~A#h`CHCNJ#x3a=zz?zZV5 zu5Xuqn)_zGQ#57r%3X^hzEDokXIsUXJ$pZT>mPAuJfeH~=>ZL0Ozvf~gEP*VGO(2W zeKrVwtOjEEr}wq^-h_I z1mtGjD@WRuP=vS*{AvaN{#%8_ltWx;SIdp4?Bi9ktlBD z8D(F9DjzV6VDQo3u=80x&rZY#cNVmRe-5awhbzt_drx?5Mh*k_h%rp=0GoIVlkWNCSWXD~ zFL=UU;Vp;tk{e&Od*0>IS$5$LlD+z@xzoDSv+wu#9m3k8%YwZ>Z`@wxK^d;u&-L{E z`4N2`?7FA=qYyBu42VeZe42r<5O#2jZmCd1VSYRQwm8x#u+lGpiSEhde@R~_Q#&<; z6Cw;eT|C^4X?_%#{J};)baWme`CiEJ3%@u3_=9Z?LK$)x;0_pv`U%+gbKbh;vBA(N{T~wMeMw({M&uzaj_x<@x-p*UBaKbnv zYjL}tAAe7=N!L@ei(v6yf2M9e_uC{0chE~OjZhQ6j=jxTE%>7c%h3z0W_AC)6vib) z&-hm=lAzthU3*dEh(xLGqJBjAN#N<45?UKyV5zX>Llage?05r$k_V<~c*nSbNbl@9 zyxXPf(e1wqC!V^+k+ZY!Gw0c;r487<;3vAAeX@tjW@)fHC+04Bf7v~<_GkoeT&CR4 z5EaEF@ium!lbax+e51t-pFhM{VxM)7*ovN|VQ3$v1d4!U)Nv718;WXx4_n0NLB{yq zpKnZJzQ}2RQmhYwA*Apu&za-7E>*Ot_4km~wjGSYPXM32d%Xd~un7d!l`vBpXNK@r zyqaTvxAxf&hosOqekLmJruLWLCLc6EIzbi@kd&Vz9)^%Sn0m;VJY7r`N#(%P zD@`eyu}^-0xVG5V?2b_^rHxG?BYwwFFF7j7SnUpcl?+|3fBYzEhkx43B*(z#Bmv^u z>~##Z(>WNa`gXK1NPgpT@OV+zS9?4@=(8g~ZU{`c5nh@R(wVi)DycP`r16{vufRF# z6)?{SiYvIBr1V(5nI_?C>khbD5@vhLWj+fw^8}j|8(UEv^YLZkLr{|O(Iz?r3P|ln z;J*;o9D2}Af7mGg<S6;$r{`D$8Hz{al_SFQKjf%-|Y&L|8zFHUFO9-VKg$m0284 zfrm8%9PYPcTD?O0_FEE&m~qa2x-)zlt;v3d&XD0Wb2kt97(`^m1MIcJu09d_lcztJN9x3Mnm1QpPVog7Pvw z9Yg&YCcNCe3bC4{^!75Cj$s$lYq$D5SZ3vU!x{5Ccp2(~s$%;YLNGOZcQ!4P+ zPN|KMf3k*)=rau9&p!&=EgVd1Mcn$L(OC;9uNEN*Y_BO^1nGkbR zu#ZXHkvxs1$qV{lt?%64)(cCxiTW^cg(}-@(}bH~9GiyTT+_7Wl-30=;1hG}{k?rq z<+fcB8=6ad(!M56%nYl1kt=i|&9LyEXq*tPf30s=QF-)JXeFWaA$-3+Uv&y(QF?sm z!mp#V2L6~IV20^+(4TJQm!q-JP0Zyl-;h`>Tv|dv`N8HB53fv;y!u#(ke@(Ay>l}L z5j466qVr&0Z`AwF)oCfBjQx4kkbRu27S=cOMF=tpU1(aEYZ0gI6%UAPJ*>B3PQoRj ze-`J9bNK7PHN{;Ijn$y(w7&=NVo!T&C=TKcR&TI6x z)*DOra{CDra!f=I=AC*Q%v7tX+btTHe`e%~=A>v)Axe{fyRMgj$&Z0oo{jzISbS>g zIVjcwl}4`)xJ;d!{UBVGW0`NaUf?Y-|FC7hGGi{uJOcW+(@4n7uVRyDcKd+Qm0vFt zZer@~p^M+?OUGmd>00;Ea^irjTWKenaTsBR=(8AHezcW#+wOFiY2L$n8h=`te>78d zyak8-lsuN9w{>hc? zHO{303jL6BQ4;MqKcdufHPt#V3|)V@{Y_~e_SIu?mXI2NcC9b*I4ck5N~I4o9^dmp zk8fX@J%#R$Z#tO&kcI^m0s|rNt;%@T&f3Ly*A4gXq0)^L0vni`F9G*HfBF)yU5VG@ zR3*?A{65$9R?ppQ&q_BmA&~nU8$|!MAL-3pA-qbAjwq98`MYsVzjQmII5dXodqeIL z2xB(}`(pP3M8s6xFURQsdVNnglTjpUPL|(W@}x5qY@KGnQ6JLk59Igl_VU;|$Mw4c zNSxl5T=vxT)bEG~s5@@Ub-9Q}guYAw9_oxaNRKl*_9X-bSoB1ocES{IOn+ zdXba%IX$Za1{IVxyWLJqB|%VkUDz0dZP1&UqD>79N`hG=}%VO`z@sz1Y60zJ!pQj%p zszP~}p+}39iq_*fe^WrSUAqdwEB}Z0>C6_-58i$XntVPaQzSx zBw119v(Dex(o4PGh2;lGmjN3ly()StN1996k?cvBh-1QCp zJ5g=vcnQ85wTF%Wij(T@{@o|un$P7o^hqK&K$;_#E2H#QB6kWlh=%fcnxHt zvtPZSv&rsndVDREw6#sSzJNhXQ=6=rCg@g(6?sCyVa+JkH&3N)gjFnjWv@N zjCe^ONppeKe?mN_y_434G z@+*nuft4I3>h!L(b2;4bUAYn-^eb-%3z`1iHz(Q+fBn80MW15D=S#7%Uwhq_@oBx( zyQ|)ICubj$+6Ny%SJ>4*o=^bd6gu{FR!*lVeDw+d?!W3nnva{>bL%iZP8h?vS0(!z zjdTZ-4j);^1mp8?Qe>0>N--_M+X>4RPjHV1;YMyGpFDt`{-91PKQ9owC!gKAw4Pq} zYUSS)e{Qo71WE31oA4+qk5}Qo*d#+Y1#!aFG_Cp+^QE%wpYa!baFlYKYDWQ~?g`}Y zDiW{Vpzmz}85H@uod_Uuv{^^v?#Le%LCeVkAd2fGHNo-RIe#x`0Cx{H4i+-z&Hs@h`U`R zQW*{0Q%iuIS6!Xs&An~reURtJ%$%MKdd>bp-OIS=WBV{43Y6`g^4*+nS`&RrbLWH@ ze+a%mkNu8bpM5m&s2?BhXM6aT2VR-+C~S?dc{BNEf~R7=*0zJBU37R6y+3Mp*6b~3 zcoCAr{y>(OyJe3hnj#L5ZyyuQB>}|OM5e)c`g+1Xi}~-wzTf#WCD>hw4%(UiJmq~h zKA&q8V6Z^GCg?J8@t9d$B8=Vf_W~mBf9*JVkWtJCEt`Z4Tyw}z;^+7_j@6WX$SAjoxVymp1seh3`cfiO?Og{4{_W?vZFN+%lFsI!w?@@`>mKWX8Q30 zcki#uum&6;KKsiU2QKagu}r?c$LIIh;37Z^M3C-J>@MfAw&( zvC%vqe+yA1^_8xaE7?K1kzQi;kw$VXd@6O=p&Gc~KX$;gJL|Z_YP%<9FqW%ZTmbvx z9EFqT09@WmZnmsN@`GvP*dIBje!tG0|8;NmUdCg^jPS$&gxLvs;U%&@PyE6>`LJk` zg%5;x{6}UTa_m!rOfZXo6-r?JB|Bu z;BHAh`l@a}`oCG`kBPp{&t^V~SzVLs4T2MXVBW%oyWRl0r~9iHFW5@Xe^O+j`S@kO z-zli7WU9)m=mxz{@s@~P+)cj;&)agh3s|9cEJM;Uqeq*SQ>GMOGSucYJ>s){<=(~dl2fWVxg&EZQ8 zX~I!f!NaQUHy+FW_l1GZfA`wqrI;M9Bp_Xf`Vx*0B4;1k2-~&Vw6Z@qH=;yewhOrC zZfnz%IddhGNc0<-wtZ({B=e1`NA75DA7ILTy#u|J(CR1<_;4(IeQS5?FoXnvTh-Mf zCH3g+&+adY2$a_aAwlTHlx-uW56ds|rPrM!DGG2VfXT`gmj~}%f6nJ{8Z~}(&&G`$ z!B(p9;0t~6>?q(Y#swPe=RSFMz9#~D8{=uJ)NJ?%iIKn|Gz?|KoZjvUz1JX*3!zoq z(EbM!Ud)R;apIRsL&V7R3STF09&e<=s)R#IzNN+jZSl=^_;Z)+bfHikcF<&qGNOh! zA{XrMQ%0j)2)_RPe+4KGueX+xzqMgY6J0P4X4(B($6dQ;Pg-KPAr6;r5Pb#;{>|gw z-AegzDV=4nBsW&U$_781lC{Zci^8V;u9FOK?}?%nH;Nk=2&l|@dgbeOeN#{WdsyP+ z9T1*-77yoYv^ap-+wk&~E`A0bn?}o6Su{2Igw&8rzP^&Ye|6N>`R6kpeeGsIsddR! zEssHJ#N034w^AppPn@Z>XWJshl8>)od19ymctFK#rDg3+)`5#K*R6|_$`@l}BIeXv zKp{9e63aKoLy#;_V9&4adfXB6HC9m$yQBFy^1NEsN;=5TbJX5T={8I? zn~03~_{in~gR!HWhavw`81YnEMJ%Cggs2Z;JW7i&&|LUf0h*H6*4ZVcbrzQvQ@h5NGoSa=5&U4OQ+YeNW)gJaghHY>?%|?Dxrg&xs5l8&jler8ylR#Ymv5Ln zkq}KT)w&?d<7xTGFI&W@N1_Nf?Lree9uIQs<(V?dnTFWIⅅ2RVMI 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

v~kaA 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

5;Z$n&hy9`%GwZu> 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

n8 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%0Ar3aKK7fgQ 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

}PM+qfSlARyS?g=t)Rpi^^S{6$Qw`L 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

eW$c?dU`F4a~jZ8%$^YaI$SSO5pTWMm<1HPiSCN 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

tVu|aUol}ed$WS^oO2JT_(Hzoz`t3CoR5BsvPT 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 L0gf(4rbQ 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�Et0gb9>_Pi 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
nLf4yiE)(sBW#R|b23KjveDAcm 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
  • XC3vgX(6DSQb*+>q-0Qf^oGdpYykbgwD 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 BNKF6$ delta 1377747 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%0DXf>4X8aKe8TuXaKRe|ofI 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

      #T%^ok(g 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 z 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�OvTcoMfOv-*#*sl6Xd)KWu@s_XxL*g8n0 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

      fw-$q)zHzcf*#JYwH%f9Y78M%nT} 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 _%ea^P>em znAzx|it*UuL=SrN9*2tDX~4(E0u_EDQ#vd`Wv5~!0rVBl3`SY*@iGGtpTZ00$qc-; z&;(m7WA-J&Q=#eO4Oq<_kFT7}fR&CX-@Vp*;1GWTX8b~BhiaIB)-DvOLaT~v4NEcv z_agLy&$)9kkgEGPU=Owe^^f?lYiBS;i&;0yQWZ>v047wGLpyA6Dj0yIBY`~5Yf zjLv`JzX^wtc81-wxUs7Bw~-BbGlXfMA1k>g%)&+9K46>`hAb1<})mDy=w!RYQWT=WumGh?T%b=35RPH4vkg}VHjtu$_z@-pHrn%z1pvID%Sw~qUak; zP(&Q;OimGQqjoG1L4glIqK6#BgqEvO%P@b+=Fq15>sK!M1GP8rt)2c&R2DE8W1Bht z&&9;7wDyL245QEGaOM!pG zUyAeqSvv$^MmF&6TWA2o0w;zTS{-x+fFGX!i_eL zKt0tuMG=C@UJtD?BQcy-=@V(JGjJN%(vOK=#76LfRnaD}Qr5+abgGf5!_1yStdr-X z#+d>g0)uW$RR-5xn)>wOl3p|{GJk(8FWHD?^&?`eFlFO}gn5OigfM7V!_g2Hjs&K~ z*FuXHW9aVQ`yUKBY7kN$m4o*N)YBt2o82}+M`)KLZC3AVuM{uXQq zQ1<|~pGl~by?szH%D{NtkpX(t0I%y#=We6eU+lo1si}+RF$`)rM@hqXkr02Hjl%!! zTgq1Qe>RG+5n8*O2k7PR>;Ta6M*_!xe9M2EI*FqG9S6Ojo*}d2&`jr`G;-P<$qN8*yIn3YfP6qr}YHSSrmG zRvN{Ed!LDb{ZmGLmqQ`&4rPA!&O4sUa$2q~#XU=x1EjimurG-~3&`kgoUbJ3w{H-0G!8_m zCS_{UUJcp`Fmw#pgJUbXZobq{+WAs#q9}2B(!aV>jGRKGh#rbEwm^TIqr-Keo}Q^g zl7ipnt3-(W8wL*D!qep$-Wv)rRA>wDHGLXYAm4^75 z`kgWfai5<|=*-{+0h8D2=TaQvHfUiKP`6Qo8YN6kSemq4hSeiT&X2)d+3h1p*}!T3 zNN1Q%ir1is7<+YC3VpGM8a-L4Q!=%9nlS)Yh;0T5KRT(c!#OguE@BqJx9KI=6lC7i z%|B)g!v7Zi72U$HDw>?*sawT1uJM1?!^XRyAzCq&5T0m$r$n64$guwhxov*3N}#ZO zJC^HBcoTlO{&Ll8ZBSbR2xa!d_!HL6P4?6iFe)+Oq5I@9UZI=<;RdM z^PoxHWfhhVOntHWuUBSa2Gn2q+vMNH4!Q>i;y3&3au?SHnCu-f8Et|zB8bqL$<-mZ zLHQnZXNvax+oj43>}}vLkW6A#S?V+xa!Rdyz9I47Lm^AVWy%PQ!!rRubjOL9Zj4&FX{92nH$D+75-vuTTT=+Zwk~>sX2KSU& z-I!8XKIKxUa2DZ#d@Q-boXbr!I=@f$1sbhSqq8ExXTlJ!@z#GBl}(aDMo@Ran1Lq$ z=*%wJ6#()AEmWEg%TT8=&-dNJwFb=K;1ZTK*=_(+K&-!jLj`3-_;5x`hwXNgBo`22 z^gb5T?kR8uV~cg9_bg`?b#G0d_8U8u7FNGAeJcHJqAj$r$)^#UtHXd8oluKWD|D$3 zXPmr8BrowXv^kt#1mo&|9Win%Yu${C_*-3jalfl>9XwrsWAMAw%Nx_F1i@aElZZ~h zik27MwNcr4_sy9%A134o2@uvBkhdbGdxxh1-q^7t$+rR`-R!}Rcwwpn%0-cX78|&{ z#bgpSh4Bt9;Z2OQJ=q=n>ns5g1t!|uJ;dk=Sp)xil(##}_J?(UZ;DvJl#N^`ss%iIuQffW5e^}208+m|J1borv zWaz~CGiCy2E7Qz>zk&JZF30546vW8lhKXitfYp2!K~amS_=tfh9FrEbCfnU(5W0cL zkKfg)#?9X-@QK5A9hYl!KK?8sZSz(=0q|O+gb$fj0n2-)9DbN&H)N@0kB9=(KIT|0e)^^z5ynP>riVJ=Hr5XfHca0pHelJ^ zYgWe)aOh@#rj&&&ukF&GZPv9UD$i-r3wi$O96-oI>_w(026$*B?N!nBA1j)1Ml0a9 zMLIK&n;&hq$f&7E7q_G3dzC)YaZYF?aR0;u&<*7(91Qw5IE3|k=HKSs?ldQM9GKBv!q)tM zw}=Czp5%+PUVtSn9UZ=gS=%KsDv6uWm4!lXBEY2}}aU#vs4=pnkF4jT2#3MORHp`+&T%d_N%_!D;5|{#iIFnrh z-+S&2=!1~K8Jxl1pQ{H9A&lnpB?)E9UK686$~%O&UB^45eV={@x~y0m#b_XD+)Gqq z654yF%IP!=wYdW*2!y?#f_l9=LgzVUYYzpblwL!uTshxGUsG&aa z3)W4SDBPNqp@G7k*54d}{s_?@*L986D?vuSCh_#b8gCU)eAPNQs2SjY{-8Rg#(B|d z+mU32h#H@BHehj>pPED)W{sUoNhPtG?68o#l&$1m;=}_W&;m?Bj4G3OlA___q+q^! z+?yT#sqjw&yA!}V)e=kJZlZ*3*?YE65LS_Y>Y-DnU`4I3>017i z9SJ4Dc+*XB(?#E6ARt9waPuWwNi{#P1)#fS`!J0Ko)*9T zn#h5RR)upJZ(LmQUQ$-}Eq1KBI)L#P$*b^BW~M|+-NES_l_bE?0knf%0H}E-6vN+yREvjrrQOPI zf=5P&R_5wk7iB<2A;Wb^QvFn~-yE?5)0H5-`RUW>jh!Y1!7BNvMh&(K#4y6Ry5)8l zu=9!OpZP8do54|0@K|waBD3YWZ4~CCsd`O3w(OAW)oUAny5rO}uughIWZTyT|EcB&1Be@z z+hFcqiJdfm?yxLRfRF&*n9~^#w6E!mL;Y2MF5JW^+M(8{4=NQgwD?7`Nf&!lQIrYg_Ss?<5Aa1yB#* zd&YrW^C#16zJs`lM8YDoEs$E!!rDM8!WrcXlp4{0jD@-Q!HE!T!fUh3*QU1~(*^<< z%lKSZs(HM!LGEoEW83#hE*s}WeO{OtnnIl{5#R4p*CN$r;Y6T}$_SxmlS~HI{upgM z<_R9v%73%+!GQJy$Z`Vp6j|+j>TK(QBwba=ac~{M+D2tzlH|cgt=yA`Ny^8(g457@ zGD(_$C`)}XD0LRG&X3#DOW+B3=8~XM zrv_~oQACZteFN)Glm+#?Y&l8PN2fwB$6mjGxuLPmNO4|q0U?e%nX!|^MI(v^5bfUy zRO^LaVzou2je9C&*W=pc8Ir}%*; zCv9pz&3HgCJc(~HGzTI_7KyZyLzpDgg;MtEu&nUeNx=|V$}g8N$ORXF_XuoIRD&qt z+Tu7~+Y$r!PV!r`U)l>B2a;y+ava-6;xFv?$|sqd6y8*8U{q=HwIF1lL>esZNEGA`?vkBmiAiH^wP38z8QwFW~oQ^ z`UO;aFq0 zybYHcr{x_uUx9Y(P{P{Q8+bBJ5hnq|&fAp^OxO$iI6A&xn!$Pi#16ZqWk9igmoUi% z7fB@jn*M^;jt&p^b|IN8kTjYs+rofb(0ih9Nby!%Y!6IfyB*V<-X893Z?zx+>YBFa zw7R7ll-gcXh;54QJVdk^Hj@m_N9!|}kjVuX1yKXwJC>KM$pt7Fx5z93xee20LsXRG zkKr7DNE<|LhuT=tFOZ^8JdtT^2GF&u+rU!&^|fL}B}< zPf43bQ^5V|N~>>S%LU?`+NVd>pGW_{`f|^SwHXox{bk<25%%cXUHU`$AXc`^Tz$sIO7AQEz{u z@^p8BswrtAHcdZl)-8dXN?K5G_u#os_5NFifUHVvO5)A`u zuLcnjg1bv=Sg}$l(m)}03~C&8N3z+ ziCc^R%SpKd_3gv8fcJR|q`79H&m|DiC3IT4u+ZP7>o_+V#WD`uf}L&&lpmO57u~7b zm+Z?087a%S#Zza*dmsAPSBLFC+U@JoDbOq+vsu#3_6k{S?Per&q)4oz>8-$*F3bfg ze|J_g5&EXGkIhVCdq{K&LY>*D=5W-}aMZfWlZNlO-PgnU^|@moaN(1ao>5B~QnE&U zD7(!1&T?NHqjPWg^f-5V6GZ(0T)oCAgd&zKP(-trcd5qWK-}h(%4rKpELZ|iNaI`N zx)~lJDT3wSk_=@)AV?;i_Zou9*=(POIoPBgz6`k5zPf4FM5F*Ar_DlGxSo)WO0M~ zvf^kp_B}%P5dXX(gpx(W9vdAO(He-F5*DMukmfpqmtf5WKmk*iq0I#xf5*uEm~0iz zPT7&~b{fd{@SO0KJZkkuG6gXzAIzOB^UY`0AmU}(ZMQH;^NJ7=K(niq zwcud{tr1<#61PUxrsPskGDYzr>H}-YN(gZI@gflLOAeNVmTsM}m@G`aCfBap{Peyiggr*-mgc^b9vqD&a2DDUhN{ zwW>osLUavX#(RMF(LhnJ!!})SMji4fFEBYU3o@A5H8QJ}K001Wf9`-orj$9N`@^AQ zp+c+>Y_>os21J7Pmu%Jj287d~IRcunj)-l^c(8H-p&Z%OsOB_EnyS!De3+9mRGh(8 zy%7+fBP+rVlR?;G_g-Ko6%O>T=Y+x2n0-!kf7M7Uhh}RF2L<4yiRKKqD9LR2kwvrX z1UDBFsUr<^8VID{e?(bn$}FN~;QK4s7q?JzRzc*hGYHTIj{=kTnOnF^gdFz>9sFuF$}kE$Sj-$ z+}&`y+Hcn2kW3B#yW+562i}(#mcKWbsjwhp=4Ir~zPZV#e?Whux7RsH3EQXfbP9(l znqI0;jzHA2TJqM53E1?^wC=Fo8cuyS30=*;zjVKJUG&fP+Szr4aQnO59SBiZfW&sH zg4{+6F=CFhRAS<^xG3M<+t^$I4_~&Lk)lv+{MR6U2G5&J+^*aPy(Sf+0yyO9kQ5q2 z80O>Lvs;}Rf1^>Qy+Wv#g6v9l*DwMTn%rVx@L9%ikvWMsUNFYL1Ur7f8wMFQDUE|tRkFK0Z@4oW)2YH z86W~4mUu+ok;31u?Om)huWYpBoc$>FZ32FBHWE<{1{pMQA|izNxX6tPL=`(*zcHwc zQ)^tLX<)uebH{fRhU6WlCorRFLJ2U*02LNK8iw=;Ml3mu?!d3sJxlJT>fVW&ijhlY zEQsNye*zPc+8Xv4bhdrgjOJm{GJdh;Vz^31brsYv0Jg(+@D6Nb2_Cn{?748Yav&NT z4TAz>8WMIlveZH%aa=J;F7X0V3x(TN@E#SVQQxZRvH!LR3|VZF-LI`cv(_v3XCY~C zEcvCpw+q<{o`S{&?U+Mr-ZVe%FNFyhul(c1Dm1vi7S((ghqXsaKB!_%jKKdsXyN9CUC;?Idiyx5Rm~4~j@CGbDrlv>WoF869=4 z+WTt!+LxHp1tWi_g#{smFhZyzrOB9CSXa&clPuSl^-;p3dI_}Ydy}rhN(kOlelXq+ z3UTLIda8<73|KxI|2XjJgwbOt9$rfHENKo|y)(Zsfso!HK z0s3m+d9nJ37WoBX2YyZOK!~*bqaFD5fgK1j1+~H6_d8#{WD zHo797f$Mb#+z>buhhKK`T!~=fz^7{CST`XsT7`e+r0ytshfiA(bx0I?+NPLdL`o50 z_y4eif(f9Pw8@HjbA}V*2Q(#V@9iOn;B1f%TSN8M0fvYI-vRtI(XPHmhlT{t8V<81 zy5E66PC8!#Uc<)@tZ!3@7hdL^gCe3tAQA!hZQO`l3>E44P7qzsF(sWu^WKWIx*8WqEl4TxxWY0h>q zHtlWu@?DT|CIw52G4M{2*3)m8cns1Lhlqctwu(4Y^1}2^8Ix+lVY7hW!;biCqoKP7 z)~X$5E_d~ihbG(4Qi1V;F~d+2ZQoO%8SDyZ0W-^i#p|lpP*)Xr+Cg22kDwo$)WN{+ zVtI;>K*+f7k%gGPMAM|}NW9HIgrdild&a8_YgPaS?~}>hs=l__IIZN(hVN#T}Zd)aw1kvS93Dl53oIe6{`4$?x0crytzf73aM^e{Kybg?B?Mi7(d3=UR*Q9JUe-~1&kpOA%cwd&=K$=+nVwO#YRYO zJ2{R~npUG^x<}_%g{zU$-k_^ERX0A-B3x$FD473Vo+MOpfGb@RM-r1tY6yRf`z?Cz zTsX`Lo~TDZv@Q%3zTs<2Z#Y_!0}&6K7h@NxD8MJ$Rmj>P9p3}tPdI@wKp)aIi!@+h zMin29>OLwT+KMV9UrVg6WGn3xo%Hp%3Pgn$_n8$EQlcd7g3X|OH8{Kj(xubsvCW~1 z9BU`kRY zpGe~O!dq?`7ofH5Y(INd-+liMM@`s4=#vR>!6}qo+cQm}C|yBD2$eNu%thpKQh{#A z%=lz}%%A_pfDeictjF~*x5|sKN>Accys>>uGF(Km#P*)j9jI8t`#O_Pfh`f?1%#(vd47TyhhdH^M3-T)5g0kcxMPn zF7AT^9*~f2(W$oc{Pl+exO}L*CZ`WD|H1uxfT<_v{#vxC4r_F^leJ1-CH(!K7op%D^NA z7g9^F7o#BChylccwy~u()5i3Qlx`=)jB$q<_713LTl89Jj137}sg!c(Zfb1}w1gI9 zA@gEMA^L;Wp`3pTA3%EO(j`^|ZlS#kJ(=GX9igGgDIg#8aDj!6k5fuy$^HAk{APp)<2x=!C`^^P(>M=E2qS?0h2g-w}XSycx9P zcc9=UN2KhDX4?rS(JpaLvgFhz=?YY-c_|SxT9G|fx13j+*EW;YIP*B%Mh}U5?6uj3 zp6BM_QVf52#CGOcWrQW zMDmRcSdFsT0cX2P!Ot-g#6}(s+a0of(pyTnxZQ~5TM+P-jqd5;T30cPu)zieNzAFI z&Lm&U+&2X8_l!skiMAAQly-DL5w<+euW}3T`2v5gmQi|qjIGDzgW%1MF_+4hMY+dZ zj)a6e-Y&$?*wTeyC2e`DvB0q|y#8gcjhO=+SYi=q#+DkaIiFHjUO~6V)y6`rkX5x& zh?&0|v7BW7kL^OYfoMY4!7;a!B2}NR4`39fY;Nje@!#($WK=;%qfKmc#~0F*Hl#0c z0qK98bjzJBvlkrGTAqPTHCTOBvJ@V)%?GwI_c>;7Me5=T%e=7Bc&>8r%)?c`s+t>8!<+ z7O|_Bs8I6FM-#Pea7BZ~`^9l$qfc5O$NGkA9O4vn1@SQEYY^wI>=QPIEM)}d6*+$H zI^p{StmF*o1^r&5xW2*F18lo|42hQ9Sa3ygssKoR5_N&5ary=56bkeOJ<%65Qhk3x zGHiB+X31%S^W=aN;%!ZKs2S2h+K#L?($V8FggB+)Eu?l!fpF>qI?brXR*;o+XW|yz zD1wGY=RZXTqcL&KM7J_4*3n-niWZe|BAzEHl%xeFYUIXWc(y6cjPBXR&A#=Z%RjIn z4<3z*yq<$gHmQnr+J8V_D>XmIMks$fZ|3K4<|T2j}22QVUgaLwOwo#tC4slKmVHzhmq6CxKD*n2m+h&gm_Ryl}!1@|vu}M+e zv1Vj%{*$r+b1+j_y5I6Nr4>Xp&eW1EktIJlI|y2mRokw@_#VHA!(d-BI8gLev6x10oV zPjuIv+R0UwWtOWHiBFk(r@A5)q(~s_LUF{tb6atZgrR+dx!8{n>zqfz=6Qp;2|KzeoIJ0Pti}S5m1PXN%E;Iz^!*$pNUJmba zSUsJ!25f%dXT+`)u*0`tMSMr|O&n10v_Wi5%sk`r zt~MVJSDWQB+4(>O<^+CR#5+n>rx5FWLU%9fFd0P%ubz|FIab>@1Ei`4Qq@ooyS91Q z!7->+=v~L5jaN-y!t*^gfF%(bvWIvyKM9aQ0$C?a6vE<1^`(E|Ok--Uk498yO3m`| zOb=1swK->auMIk$1Ds@NT!Dz2Ii-bVaEZh6nUpUjq8KX?g~uf>JSZs9m2tgNYTluJ zD%Z*BtL8>I+Us$xQhTG0NuF<66ApPkSq*$L98(lq^*ZrpjaMsYXv>MV;@sMBN`{Wd z4AAVRoygib-SvOIe?OH!0CFSQcDJPHHf%f~$Y}l+G`~h`4Y+Az#iDRp$p|Rn%LM># za%MFXjXbrLN<)9NXy?M(_p)b;otP_9P2x|9x=2hd=@gAl-^4kKk*?o0zKLTKX$w=w z6g8+~7s7RbW*a#E_wVF@RMaMB(q6W~)VKg3VR#+q+yj5{x;n{obRHTyLs0k7uA7FJxznK7k-zoBP)-b!txv^KJt>t&^Be;ZiBuY#P{6zmZt#G7vBty#?YMgf zyp_Y4f*IhC%5Nkz&xQ=eXdq5O9Dox8Faxx?84ec830%z1NqLm`H+RjZ$tzHu(Xfxp zrb&E#_Tqo`8sn^1CrnY{e>*PUpo@s3l*m`A&$ri^=G8288J7ucBNDq>USiTP2Rx%| zYlNQ8<}n2kO)q{h{*uLI3*#^GvNMbo+2y%j@#!iX6+z_Fc z=S0LBwjR>jUbZJRZ<$ zANCJ;%nmqk71=6^9S6TudF&|+HQeoKOwcRbcCtZ9i$>1*=*UnA+@qO7sGY6gSNZ^d z6ytxU0a;@bEGsmrf-5ru(2-gVev3&c*jrga=oAxQ%>LPL$DLL!jX zR`?_#Mzq0RI0d+C*@gN#;p&G!zmts%fDyFSPFFAx$)>LjZ(1 zZM#z-I3>G-G?T+RF!|T_DU;Q`C0b$>z3!qLHq4whJ8T!>2)61rNvV;V%4q1^3a)=@ zV5`g(0Nn^96j)56pPUYuV^GipX$q*-Z}gx+*bNFkh7rZ>QT7~3k@+d1ZUn2)ASkg4 zy+d}S8fS-dl3@ZT-hH>li?PaCR}p{O3T<{j$i%kh$bM0|;Ub3MbFe%SAs*}%Xfh?> zv2la{1>#M%dmTt=iph71Pk52p1j4bpcoe~d@W-}S3U-egb7A;WrYOQS^V+zf3ZJqI z|CpfTDn`Rp4SpLRqJ4GonMnb5YbFZdrDG(l!y)p!dOcK?_1L+QkzgtyG68>)CgpcF z3^sQuz)MUE%y4U(;cszL^z7IvcA7F;&^A+Ho7mf8bH?#F$!TTKCNIe15ViE3vcV?! zFyOfP!;B3#=@UkWjvGQCR0AN-XVuy{3Fm)Cchfy?gWINNe;|JvI?|KC8PM@J6tJYQx#;y*jCURIu=Y{w_=sGk+2)Qn%+Y0yN9J#d4vNA=O9L&SxyFAm)QhC2C5T7s zH$V;=UXI+>NbQft|FsC*$^G+(s16ewEyxj_OqjQSc>RLN?e^;zBJM+yRCxVD8SYj{ z!TF&o%DsM3hsgc$_WMpR@4i#iRCnKzy2JZUqu{7lVEd zcB%vPcra2u7MM~@Ja2!(D?-yv5QPg;IFg4-qjrO_0!M8|1>q!RP?ey0<8o`@!yrmM z!PGkDCb_M;Fz)i1$XRl6@>Y_qF&8K5st*iC7bi6^O>Zrb!rFO;)=ttjiA0v9r^zG^ z3URrdV@EIGv*T>E19BK&#^%yei1V_hH^AC*E$$BJ`CnDKIcsrt9QN<8m<*>EkROB+L*`Q<@1~7!K4m%Q^kr8_t1e)Ux zj8;Wf`}Gn8H$!VdW|< z64)!r2Y^k|2iSj}^#IQny(3|$vc&oZVcrq8ir;vcAa`Z9sk(5t6o{oVkok}axe-yw zd=fS104|vjIRiP}wQLS;I+qd+y2Iuf2W+#6ioq=4z1^oP8Kx*ib^-3H$PZp_zXD|A z`;F%Zo7+3P^;a8Pgy8sQ`_;yCziSqk=YEDufBUM{;mCi%qkHUE?IZ3{+`r&XfD?$C z1!P-qtrjFVfXoCWOu{&&1JuqAjrIVx0B&gdc4)$;Cx?!crG$;c$YELOfun9aGL)WR z<8Bl~m&kI(VIn&4F^AXq;t|*k;DjBD2}x!&i1B<2w$=DFa*vjDS*ZsuW~QAehNWo~ zkFjR8V1EoGaA*U2PbhzIusvX%N?Jew4BS1uNo)pk&VPil zsRZEtSdlk-?#-UOseS~!VU(u2=icnW8w>U;A*6))E!V9AdOqg65iMjC?#>q)yYv^6Erdj@8a#}?CM_M0-ke=db zgYxB?0vPVlKS`uP?+Zfd4+#A8@|u4V_pY8VlJr0|p|2%er>UXka#@l<1eS(06PAC= zIC)wO{&t{WbK&H2bm!q4zyg3Nw;{ApiPyM${KePSa@i%v^x#VU0<7N$G9jUO*ijfz z*BG2_+y0xB<6{XzEThsI6{WD@Zx~PzuIbb!GylrQ6-4t~TtSinQF4-LyMSi{3O$%c z;_JmPbK~&kR~?1p8ymgMg%LyO`A>g87Mjdu?YXSC#2vF7d3D_uRLt@wmE}bY3&M8| zGW8UP0}HbC!YYblefjj+TE++R@;R-d{77{1vLS&6uYO!R!o`yf^Q9C_jXBL~QllLq zYy&y!@&lVzY4{4Zt_moeH=lK8m)@+IQxG^2KGGjUZTT9;F7n$Q4gmIBtv-KqAS8mE z-`W&(xOG|YUxLc;wZX?_iYXC67PGJx#DnpR^}*sN@u2MDP!{XdsGhu56!`82Mu{$f z6!?S2H%L-|fIuU|L2CclVZ983*k%ac4N45hwS zTD(7Bh8#5>*&=lMsed84FU5b0dx)Pw1UmPHq4>nOzJ|Db{ZH!ofbekYjUY|+B}iLo zRb0*KJ@Xn5*K<0kuz4N8PwNZ{yzb`fmu}tyKV2f4-u1{|74=ZTX9(_O*}s;1A6bpM z1wMN~UnG7~WFvd${JwHC^breU^2rM0j6k3gka@M7qyt5w#N|se?1uq7tmYJ1V<<-0HzL+PZwvJ{zZP@U$(b3j zTQKHt!6F37u|vLppSKlN1jcd`ZrVaGcDH%=Ke;7Z1WoCz_dS0>P`FI0?iyF`S6#Bo zzm%>*`7ZLYtbcY`E7KIFIj5%r?hy;KcUe*#rEv1xT_?|Ne+^Z4PH}Eo7+z(JFEq5E zO+GP=TMZzhVreU4kraAdNeQc!K;~&rI;Sfm0HsadQG~9bDiTnrdxBR0X_wG z?h~+_*HXfixH5l6*`?^Yg)k>9Nm^ys1tGZQO~S;kaIcs>jQGNYMLYXF>Ak666a`FugEgF8c`|yD63r;}h zh@>msmPYxC^BG<3$uur5)2g8n+MzcYB{J4F1mLws6O|p^dtG9RD&z2D-7MF7b4unx z_ZoA0EeNV$AZ$*n$uw);7&!0RFi_s>kevIjOU!?~Jbzq+*93niVt%VR7@BZk^s3=2 z3Mm0s{dMi$T|a>^(nXj%h6@y= z!ftjiM5t;Exr%M2V{K}t>>8ESZBCz~u3VE18tj!&k zy@Lqix|*q3ID^B5Jhj>{Lz>+!*P13hr!!_{2+8>BP%H;vbytGP*EH^DgYHwP2#-q( zQ=@+!R)%=Kbf3HF=e&JD{<0NT5!|wfl6-%{GR8|t-bsX6^Lm1-ZYBWbi93!?;Jt6w z16QU_Ie{O)y~Iik%ad!)_!1XfW?q}V)J69}Rw@^r8UGx9F4^TbDL+oOBG<6fV8YYJ zzk`VDbJ7LJ?t7OU=3XMEzGJm~e!LZf;sbJd#${u;Vv(cbc?0)6j&p=~thA$r?-=JC)#c z&ci-n*ann6M13=)ilwJMo?t~4vAr0}ASLYbG$mZuGwiV@?2?0=CWAgZN=5^&$pF_I z)eA*$z_r3He$K2B;2b|!Yv|sFZ|Hxxz1_yPu3&>hixqF>c4n_eTRF4Sxe7X-w=ckL z5x9dm(!DZ&K^;-@9E=y;pfc0SF1nc(NqsZR4)SdzPL>^Q4cOxpoWx87lmW-xRa=yI z{TU^awB7CwmswB*L~|m?ON+VpjuuX`gwSE#$*hmeyP0WsNZviyt6XD6S9%jlWg$SVfBcYUB(C{cNu%$QMs`RE?kQ^ZX1O&i$V<@2~W{N~QV?EDdlpr#A+aImDUhWRL z*Twy!ZBlwmJ(z1Gsma3bikp9AeUmyhvN+XQxlsZ)P>Khl-y)hH!~_2q1^TX;^9w=M zMc;@f!oav42bTi1Dq^J@d^?J}8p?jay{8>9g)(aY3DI$pJ?VUqe=s$d@(6q;nk`&( zEV@OFwS13&)}3upCq@S9jQ8q0Rw@TC~0!bXBC`YTYwh#LfmTP~q(Y#0_@iPz~ zx+l@Qtt2@_WEkfTgp~zlxm-cfmQVG2YOdr2jx)#AU(C;SDUI#{s*bN6 zMFDjn4rnxK_q~S&GM0ZQ#`Roc{e~eCF_=&*LfQArFFu%!S?j30&*K28JzOX?l+@uH zZ*$qiRmj`fn0<}jd=Q@|&!|q#lw@!Ym zI>UgkhcRqu&Zgt(#dQz^_Pfr^D1C3BQSsZcMb)(98L2*Ik%eE-qeAx`p6(LZ6Eb(e{kK$KD9(Y>c$!WF2~Bf*gM z17cERvJG5rj5vSHBu{*hw;^ikI{{OUXvbZL-KCPQv;KxTqR|M9<&x0chH2(jYPd*I zb+9%Y=1OpEA=d+YYl|z3C9hXriwG-=T$ibg%PLvu!{od#KB`^(fz4e9f50l_<8n!j zPXkK8AXyb$mKbp>``u^@ge4ah%SmIoGk;x}qOj_SwoO3?O7qUYu=trFOPnR0>1w;XtmtXV+ z8-HF_-V1wk62xqoD&4@QV9@xu@{(L-293Ry_nVO&A>O128xLBr|C#=)Ck2+wwgwSg=Y}26rzsw&kJO zuC2?v^Tt(4en5W}q}o6oGh6h}%gP3-z<+Q2^L}b>uTq8iOmz+e-NcU}ehA3j&e}E! zYn<6`Py&)xs<`T`tS2daxj^(n3ZuxMgBj^gZ%UJpv2E5AChl;3N+ zGc=`@=d~;RfW+YMN&V$K{2ZN!zuI~DyPb#6U5F$;?t0UoD~;)2?|R&ESaNsX@qg3J zNPz{OCMX?iBpT;8EDlir%XMb9>B1cNQ!4z0;uRVQyuT}k7P2OoJvWEUObTVeBdc0) z)^E*m!SOQY!kQ*mq%CLA9DPG0r4PiPsvl=~gmPFP{%$i2W16t*CLLh+8;`)of)Bpn z1-L2&HIt|=g4HZ)p~fi8=|>Pa#D9->CY28#7>!QohL*8j_AIBf@mAfu#R^G5)WRZ= z3xXPQc|K}kY{&{jc#UAfM0=n0t&Cj`09yzE{MFX2-t$OZjqICVBc?_m3)FL71LhnFKe>+zzt zT)%y@_%r0wO3vMYWaZ=|=CJ{ssdokpfFJXERkmUVo>V6d)vs*KB8j zna+Z&QTV0t&;!{VUWlMBCuF&kh!+(|$p>YO&7pLf_e??;DMs?H=&`QiU(mKl%x=QH zW2pq#LNRnSp*3_UseC_3E7$Bmyq_uqtYIFQzCg+yoyFetg8|_8mhF1H@4*OSq3PuD zQAe;1%zdxjX9kO8Gk+HJFq8}rFUgKwe5iN3e{{R&?lAbKn4DiPZ}r6{X_AWutwvn2 z1GYkwhF+h6Gq!;?XTOqTwtQWWJVpbz=B%U}(Q8vzhN6I>tX8U0G3Yf{=#1C_Xn(=Gl`Fb3_DN*0Tkey{ z06im-0X;!va0OQuZxWJ`j{q51Mnh#A*N|ld{a1;F%16#4c}NF$*zmat@lp2L)y8$| z4F8=#!hs*B_@Ui82(CS6P*Fpq;a{BK1r5gmhU4s)Uykqxu^vM~JKuX4D!FoEvhkf7 zu!V7JKbeDR>3>#G+_1dEw_$NglXu5>hud(aj!Xy0bc9UiN3kVWExinF@O>-1J{?5Y zr=$3?)R{i0G^dY#?6P!kJ-ia7QrJ65Z%Mow5DdpZt4?E((P^|IodyWA=`L%OKf2} z-u`sN?Q`w0kJK2xbfpv~8{LAXC=}_$DS7h24sOxQK$HQu`#@ikRerPqD!>2-P>My~ ztr3C;+1zFbV;ac9ZpH5ju)qQmV<8f}2G5`@##JAbhTMp7=wJ|`i_*}I_Qu3C;2{kg zf&5VvCV#`dBbS~#Dwe31#PDHUZD~>CaLD-9*>zc41)ptg4eat20SR#CL_#(rhnm86DIt}JlATj4ls8&l;4I^in)_| zrxW3)-J;%!5|d0RSq^L_7_Z-(QDD2IIdRvHEyjH$RjEP<3PPEV z@}r;Vfsb7iM&t;D0^rW=s8K!DxI-f{WhS6_j_Su@m-5W+O#2*|(^MigS7iJf`4~p~ z0Dmit%xJ+dcumOFG@=kF<1pPfZb3}3+h7+$V{GTEVn$=m2Je03UN2!P9bN77W(g#*nfNq%40+AS5X0$@iY8e8YVz=L>#2>%v*iLqw4;W*f7AAe8yNEU2@MRT-$u^}EJ8?fUg=aNW)MS3%U zV1UxM;k(@-h>3A#p024_Ff*)h%M25J0ZIhye=-9C3ut`unS!p_o!8g_k zzL}2I42m+uE)uob`#dDLU!gk$q%<0u#vk8tq<-VJ30h$u5qMxxF4vX2l|R04$A3@} zZUYrg$Tx8bu{`6P;JEUm&BO`6jxJiQV>q6zwHz(ib$%ZvJpy}nQ@M&n%= zB+jtq6l)IVhLL7CA7SpMeE~A7mz#ElpX36BP%c80-G%ir4w1$aT%uc#VfNK~GC!gV zxi``RjI*>F9f;ZVaVSM*gH^~J8GquDx0=YF66&9%(g%Ht5VQ37aNyKq$^rEc3&LYT zNiIl}oi7-U5$^|f2*hVn^wUw~WSc2G9(f5DdAvIj6f=Ytiz@c<0Z zo%Z0G#snV>Oobr{@B@ohxpz4bB|KSj8bZAXqiYGtl1Ig%=V-z@!wGjNs#zC4CKT7K z1OKOnUKyMGPH&7u`e3rsFn@qcD)P<^f-d_)mxwZF0W_le1X`q3J+FVzHs z4ix%31{bPtfo95HNd_UsPV^R@a_5aNAnpD`R!pbeg^g>Dt*W8?ntx0*(uroAFGS;@ z(!vOPE2xn{xY$n2ZbG1c^b+~-Mo~>8q8;CR5H!m}SOK=B zan1G$6dNg)k$s57j25~xe5ocsV@+tAei0duHZjE2Cns)MWc!NN31+sMn}G$^(4SW_exlG#QTP^$TFlar2H>px zAoe8)F)d0mDCQV37V}?$P|Ti<2w(V{=O^A|!xV-0kVt z;|43rIocfB(tX^RX|Hw>=`68wwnq*exIv3eOj{dK$X9_7+A9{82p*V@aW!iuWJO~oAK%PNa9Y2W5HnP zTo~Qk^!YC}!PhlFbxePb(CZM-bP$B!45CaUM7GzEwMIE0V4;&Lny7})TIyxR%%oUh zOJ-7oN@zzVrj68AE5ciOzbOH@Baqw{LP@#I?kFS%R;J7XR7WADy*SeZe1YKv+*oZ? zLZmre7Rm9I3uhq^`jK1S5npmHibkD)~r{fnSwh?gJWC}+B)<-d0vYNgS zc_LUGH@bImW5lgXHgwMTsIqMA_{>uTa|TO^FkOO6w+i0;Eni=-Jw)R|!YyjFfLJU* zvc&LeExc!v#ioBCl_F#|1SA2fC3UnRQ$?gxk#5=Yydm%^Q~c+GQ&s3EZY2gX!7N%% zK!fyNua+U)o6Yvuf&>yUSH><99h|X^hyUyd-9p3JE1};pQC}Q40==>hEUq2r}J*E+fE^!^MBku11rM;h;Mi!UdUz(GN-W zzI~^4!nPLht>@c|wlVNeW)9lWB2_IP84CGu9~^#6d?sBE*efRKh3(En4Z#3da4R`~$u27tkqh>EaN&z?E98-tFPzS{z}<)}Hm8f$d1Nt@$q*vE{XlR{ z$8`#)8RUPXW|1eei-kjXd-ThNW6*t(Rmv0bSs!wY^vecGGT}-_Eq0Y5h8SclJp_Ic zKm=&_+8rSGQ4K4TR5k^6lb}g0ij%~&+{8xCs3d^Q85^f7HAcaaFZ3h;-Ep^T6y{h1 z$3SsxE2Vn3W%9>6a?Otm6)Q1-Ty$oP-Jio&?^=I$EeTu$F@VxTarZ>5pyCig>JOP7 zPuZe;U=5i`HZ^ihaV~V8MIOvvfJ(9<5-yM%^;f^wcP5Ro#jRlVf6}O)czb;Ul%ITZ328V1|Aa9P zo3wxaAjo9`(@1bp`5`c}Vn(~BeORt7E<9XbeDGj-0n)^NZE4}r(xdt61AtL}?$_=w zFE1`@fQO%#(`L&xy;^InwSM7z_a7`gT3-3EtOgJZ*)Pf{xP@Kmv4a8Tkj$1b)F_{} zH410i_#S$}hkU1pFimcDgbdcx%M&}iAclYS0R~9EuAV+VSUvUetB+`2&l-qYeoXPJ zPl2WIxVEsoyavSz?pC!UC=>M8lP6CeR_x&yq`@fJs^%uF4^K|8=!rxCs05*nXoA zOZTe}mzE#RKOj)^Uq1H<)f|7q!Nv$Tc!W=Xsjii}wf_F;CrDGe)5pJD_P=+hPbeFn zA3v@xfA3;Ys}K0|nS4H{&&~h9AFzK}Ya-3!_a>!zM32+U<;92hv0xUekM1MT6f|8_ zc&FBp!aGtpp1JUj6i%PH@QxHd{12Q8hqWOWK9s`o7#D8(Ga8|`>dh8cy8o%cRBw8z zyzmLR@2djLzpmo-L)DnMw?Ewb1_q8sUm#bC!SSk&u zi{D$6`To>2_UC-{{-R`^;+K`E?4_lpM-P{l<`<=Cl>F$C6}`APUw!y+Ve$U`yrLJY z3-e2h4<0_EtZC6DN;OYblRJOB`b)?G<`QnK(BzjMRuI%`s$8P9w_NAHvk)Ag$ zS6FrndHNXy02MZ`#70^9+QnwX)kjI(%PL{O6F_-@03UK_O8b=b!L$G&(^WVhNQc>W ztKds;9P#nxgvJ7(>Gi%&f+pcuoxK#^*J{%4wZV$^l+1!o#ixTc$`*efK4VU=WtsFp z6obG8z+$$$@KByFR55$dExIZR-7e}{ZSrJz!7MH4d9IA*!b{<)9l)Fg>kefx5?o(I zV&`n}a@An-_S?r!xM|ERs_8*sBm)?D&XA4=wd#1{cZI}e%`lhbu(Kw@-dc6G>^aCytu7S%c?3Fz&J znrcyxf*`BZyQsP0g3oJd@SU#P$%4rSu3}k9R71RV^6H3EP%VPoii0q?g^_cOSWRo+ z1I1;i^zv)me8Ik$(H`7wWbczs6u*96#v#A|2{*31SPEjYixo!Z*A&64_@!=Zvs3HF zOJa?rx5l_(JQ`Cg-BpUy%m(#@6-7+3GET5G?~hh~zWH_M^(zQli5Rv|u1nYm0AN9U z+}ck+b(ft61~q?QLZomqm>?quIllt0a~VydsR=Ggh9-#IvX_vBDPq3c7sHn4i{P4( z-pKh1)JW3Gc`4WMY#&S;Z9lZUxo$p<5cL4UB*U|i&s;LF~5M1p2Y9Nc6 zEQLXYK3lfK0?aLpQ9Xq12fhKM;Ogcs2z$rgXbaA`$YDXm&{P*@6UYml(; zckn@F5?}gOkUKo98e04ClmMKIphh@3ftP4d0>2RAt-KB8w%55iy(i>j!RJ809+4b{ zQ^2Cw{}e2N{9^%P>ty=Lnj|0cAMb-35UDYFRp+LT{VmW5SX}g1Xmmls=m_Mc-kSXk z%fu3tbQpic{hjOcqb}m#LSop!TKJTur8cYX+V|VCyY?}2kp>u*o1a;&(k2^7%`nii zjRnaVQ36lDa0QSuU=@74(IH&TL8Y;F6Xali$5h#^8kY=nyiCav?Ie?r9X3{)z<5D? z*6B>Z9+V6g6VO;({P9{rvlG%92ky^V7bygP@D&U)pI{n{UxRE%hx5yqTL=b47_J2o zO@DyU4eA#_?|1QrO2cJ-p4`!1MVGh;1|k97m)i&i90A>z_y`780j`%%2?iknpO4ec(-*D2a1wgWsLn`bxM7o|hQ z{~+o}sV8J)A<4n0P5cZi?jwi>sC;VQs3LzSSBC-=OrVM;lh(6V=Mq*s6n&tF*_?Q@ z`E)|$zeqLf%1}n+DPe8zdX(0dW7LUk;j_L%472`e9)xx$P8rgQX zp=PD*Pt(S&^5XPqn=F%l!VwfLqbLBVWups2CSm9Xo-9r81?2V4Mc%b~XasPqMq%_=e9uj`R7`-l!D0g=UH7!fR4h;`V~Trk_;cZJgbBag+Lq;`dQ4=u|o@{B=B-pi$q5a z0o+04Fcbc)u&f~LMNyY?Scl@oaC*UQDDWMlm4(RIC*3QUQ{;{a_JCbBCx{)QGl0k& zyzaqbRS2pBn{5Ca2tM9RQ>0)dQs8Oa;2VU&M9U-(2UN6xh!CRm==`D&t2Tdf5ax;x z8=-G|Jzg6+ZfO;Hj>s}%$`^1K7ABmcfm4~}6lP5XMYjSdO1MdmgdZlQp#V3Bd`U2w zU~Z2}le^V-?{~k|U(~nj_4>E^x3}|uJlo!UKKSEw2`^sn;h*~H`#+xjzE$mf`Rk8w zc-(qUFW0Z0zuWr#S$+L&{po*OJZ_%S+tzON<=2;;y;pnRzEDzrx%ceVVDBT6ynXQ= zj~lP(<@;Z|e|&iQW$x`{(oH=hXgZ{HgzO{cCe^ckX}ewEhXgLq3%E4J?+0c+5GFTDpG4bo3Gbj@4n!lFPDCMzRB&Y*UP7y+nf*eah3ePb;`i+ zpLVUC^q1ae|A%xm5R(5b(mh8%>CJDy)q7OW#>;xQyYZDr6xF}oqSoTSyU!>%5lve>|1=UavP@yJ&vD z$#`IWZ}IxD&Qp6g9?Z@0)Zp*j+-@*l>+3X+>0JEK|AMjq|NnnW{>Sq~6Et`Ft$v-m z?%f`Ii-Fu)ufP2jbB(_{&zCm8Z7x0g_I#`U^|V=^JN>x6{q1FaZ}_5o@z?U;?Z+>h z%byoF)?Zv~y~T{b-CE!N{cP{U)4To0b)qd;I+S;7Yi_W(+5LL|r2ZWL?Uqm8Ts|yc ze0#px?Z4dkdR~8}|2FG?-9G`%4Cn^Bc>e3rU$O@NI^F$D^i=52+sklmZ2HY4`FNfC z&q{ajKZu!}=)(uW3l9Q5iHo=buq*D2?3Feub$2Fjglg9M)Z@nsOW)&nkVLUsD0#bp zw-3{oi&Lb49l5$1R9A%n4fK@Su5HZrhesj-EzP4LK&*cYU)9UIuA|%KtMWPp#hAc# zAcklyyshGFN0>jhtrZ`QYNcytNG2hMC|8hI8Dq9IxqvIGitV7EwzdytoWSOl%grZ? z^HX$rd=6a#P;WKdf*Iw_RHhn>OC zHz*B3L)n&6<0r)e4H#`7a<|ppGg?loXSGJ@tn%o={mQYjLKR5gq=NGrRDq|p>e9mn z=$#)tTHs<1YCYsQpJL%)8w%Qf&9crcuC^Zo_N;$gTbeqk9n74Td!=J2aKF#vy(Plk z*?lWde*E}xl2Z^ACpG1~vQ#-;FC936!BOpS*y|wNG%Sf|oaYb(?t+A|t8|^azf}48 z=4jAGRd~IL1;24H^XLGl$KrF)IY!<-q?L~jJy6dswigR%@N2W`<@IC8XU!LWM$qv;N zZOFn|@AFI^gm3`iFxZAY>6nA6{^q7*ZITX&jOvRZ&XT*b*`^VRJTceM&0a_|y<^DeTaQBOc8 zVVYBwG?D}=>4B=Gm9>DMrg!!7)(K*pAPSf%7$-o6X%S$+&t=?L1=vQIIkE7vsV3Jh z_F|1T1$nm%dW4I$WavSE2ysZ(GU5SG+6K9!buUSV`UdYn)m7X(B*QQ4bWM5)yDBP# zc6=oE?{ln;&_6wGJWRznO*=OMSannYuU{DU)pH8?^YH@ zQ03Qd;0&;_^#X6@$HB(ymv3Hd?QX3sR5o6`-q~7NtZcn{`+n>F*2=7Y|4NzWsTbe9PS9RXgtt-0FP)9=||f&zM>-Coj$~lNURN#Rw9j z=EQN4L`?GOEWzr3(OUif9h$s|yMDO0A?0M7tnMHIoG) zdHdf0aFL(k{j$%1hBYD5(R?u6yTk%%<>xyGArJDA57)4Nj~}Xr)H2>*e1Rn5f_t7{ z&Q8!^WLLi-cZo{X&fqujVU^nt#WPVO_dxSTxviQEda=WcVK`UpCS>lePeiU{fYQ794cL0Vi%?$4fn-@+YciuA~G=U9Oct>GQz47_q?zx{$ z1I*1$W|K??R)1rJ)s*`{02q{#5RV0S8ZD`y9$NqU(8@g+43m;@YwtMgSqz9?z(6m%_IY$iXXG9e<+*eEkgS z$9hl}F5h7wa1Y8ryUW7A{fYcl@pY6G;b?K(~T$$ zMBA9Y!nIupg;85;B$=Frq=uvj?un{CzUDlm)lRxzoLC8)Syojhi7u(kU5JF-ol405 zb(Q^tr&PiK{s3R*2Qii{grnIXGIFFqH+l9CYvI3IO+0CIL5c!i{Znd`Lw{fq08U9% zJkTzHq`PRb^K+*4n0g(XH7Y_+Za>Q_@!Om$i;ss$rN`o)uy8vlqq2jScPe^??l7=S z{u{FvwXA4uXne+QhU7*&ga|Wy|B5z7lpC`e?yYF`!zYq9>-X=Um;Wp4|4v=}$IHL4 zmUQ(e^JgMLaXx_clAfIEbblZ;SBhguC0XJiyG&o1hfuUZhH=vGPz}iWOK=f5d(v7( zKj23QR~E-Rix zb}UeyxRWWsXyZ{(i;9`F`ma24?YZZ8poE}G{d3~ z3e^yU+y#qnN5;?W@*jV~PK@q(2VODT;y95GZ>B}z3I#eucF@8y0MHE54R{2r$B*%9 z6}o|`=Ke9HEBI#){ucqVh{M6q-HPan`2Qyjl*VhFA{2>Hqpw9#>Vg;Ip`FtX;MA>l zxE&p|qrFd|rtlB713@eC)U&59JvH>n+SB$;#I?u&?)u-KM)!Y)5#$x&{-~X(V*)29 zlZXTDS=b@2x&R3@8FVzf+lJKc6!C_q)?h01?|U-Eba;yOXKR8{*jFZJke#spCa?t= z@(%<~Wr2OzZkRT_whoKp3eFRoUA972A`h1D9_iVp4vE}&LL}#0NMOVaS)0n*n=Y&lQ1OUXb z>*O2+Mg!2x)@X(gNl4EoX?A58RdxnAeCjN8@nj*kMzMb}C}aVo&+Ro>jKL8HMXq@- zgf^$ZVLyu*tjV5&K=Ez^&c!DY zE)Hn2TeVAAw*ajDdFx7|kk8J}0tF%RdqPrNM|ehaQg>~%0VBjt8XR04djmH7Fk`wm z&;KK1Lwr16c@QcN{jTD2ym9U9$85%F)~DK|7feDKSe7Y)uaV(v=Vc7imUbP$bM`brbMe zJZ^tqK@700`$arm&Y-|1zvEKsZP^bIJ7rWDXAGd~d1K`>%YaR-fV>1H8kpxl8NHy6 z|M?JJg2GlTn0Pdx;~8M1Q6RJfBD6jFr$PVFsUkSFA*Geo*fmNEw+B2x+LxiUT}}b* zYDj41^T%_g0F1yrcd7V$(x*fpTb(#IHr7ID~=xz z!JxPx*tPv*Fl;B4GYb!&A??m3vvgG1scd=rwvn=M^;!ubFQ?|VD!VlV#s;yws+E6s zW{#%j@O^oDONL-Oz-V5_@Ab#Et<`l;<6nk-9+uaq;llgAwu>KEF5leff^HYeM0|$3e$fhf`OmVKl->pkN5|V$R{h+cIBzQNN$C0iy>AY z$=nyVJAQ^EE?;&ffbWdtp|14bJzLM| zDg}~q$iN6GX6=G=-aQC_a?I}XTSrb0`J)WiOr*!fo#1nl6eRg#lwY)vKsc>_m^fk= z=3Bgtne%hlq2molFeXtHwMl~p@m_ZOp??&<02uCA`G$Etsnt@rA!i>jCw z1m+Wf*(ft^(y1BNsRUIihO*KI522=+>OHX(*-dnkSd{>=5}cI7XHl&F_D`t~5ClT!qoo__SGT_akUK!yg zlQ8I=wma{Cdm!nI8H*{>#_yoF;h+8SXecP198H^gAA*Yjn|zNjZM2?~=WH;$b)R`{ z8K_^O9@JTZ)yI&SgN!kq*<&4$zY?{%-F%xE>`Dx2*68g10FZwcf6*s>mVj$;ys5qb zc>4=P3n?Tibjt@|&*M!D7-IOK2HD%(-TrAGN)c2-d^>{0*zMgH)k+JDe6fFiK9zlJ z@fZ>>IP}wh?fmuP;%Xn`i8MwY=0cT=H3^-rRV)8z*uFs4_sOEO>{+j(FLLzpJbZbH zfyO=?Q-h7eo_K#1o+#lUWly{bPn6JL?g^RyXNdg!ej7el70l|Og2=tym;c;aslb7J z^au9+z30G3`|%lWoC&^NB?{$x0Xo7ym*_eD%I!g{ZisFh`yB9X@Ec;cCY#o(3yWPE5!W9yd*cDRq9R9;y zjal}Mzhc?9cBS%dVmE&_#$?1Ps0`;s`UPTdUjg&E(hSg+FOWE?J@${e{&3{|Z~rwH z%hCO1+;@K|qFwWB2JO=^*1us_?%neZW6R4>e3c&n9Fofb=%b-U22dzBLt#3bRxP*EOpZ))RPp3zs5B>&-qU2-)9tq3e!N^zEoA55i7^4;LU81%R?x`KM< zFVYBt_792bg#XiDQ_jzwUVl)Xa4AgCJJeW)8a;n5!NQoZ%PfJe9Ge)CT9ti(-SVZ% zN-Ds-;CC>8Fx2g|`j|(>>QoPj%yBNTQn-$sGs2~s!01eW+&k?L`5DaNuB-5V4~lt! znO>{%L3QmsmN?YZYC7PW9M=z*WgwPe8$vBsLM?k-sz8mc+|;jRTU$!)4MLbE>Z&( z+pZ!jA>Y1KWTg=ZSt{PIMH{n|tcoX&=6egHlM{^9&$T&tpMl}_en!eFmZ2G6`o@>O zfeHwvfSr zr-nZ)*p?qC*uam`QGJJhSa2XeQ1E-KN&}hy5MKjvjFa}N{=ELC{Qx3EO|h4?1r?LzD8JXL!xC zEc72uzt;Yv>1Xv{wEJlJS^cT@9t}UkC~5D}@H1y=>&0U$KcRqsufD3khTa%^SD~feDnlRbC>}l&T$IR)mM#UcJ)=`b*=vF$&!4^v$bWc415b% z&EY009%auP)#r_0(7g}ft#QGMHJ_tKk0SPbmp3&7@(JtU#h$`lw= zpiDvSq5x6!aRHK-m?;Jo22Z{5?&zJDvnd8-0VQ7OBIjMh=br!qWji!rd z*mdx^oB@-6bKPz$bKvjEwriWq3O>Mgk`;7T_nDRD#S{Jc20zbluw!-SzsAmVhJW`! zhLJP}BnJ2?wd%*U`c}5*L^1O>=9hpC!>oh({1u8dOqsF7T6F*`DT%Ef?^Fwxib91kQp5%otNcDN?%Ufgx)eveQ zpNR93jHVO*^?X}{{7M{?>7YFpUF*{xvD*;z@u<7U?o~y^hrKkU(v2k2>pLHhYO|4$ zbPBP5>vun#O3G-U-Y5A(JnNIJvw=#WpU_b1qEh4reQYoBKsCuVY)J&>LPx;l;Nt0| z4bQCbv`d>7X7$c<0E0<`%7Gl@e$W0{pza)5_7FLy?!rWP3?ya$ z3}sKJ=jZQ}!rwOvD1ILBV|(|3q*a5OlU<;u)9gTxf%)|E#mn8TrvQCA_|g4-bYq}n z2g`&HV5;_=^`Bcmt(T8121EkCvzOH@23mgv+Y97_2rmN!wO`jrC`|SbzkkjKj%{M` z#vhD1k_R`Y*!xZzUF=k4Z1SVH8crR`)!?9Tl(p{paLSKd8#sO)&$Za|&1?@p;4r{_ zZaq84`Rf#iFN8L4`_Lh{8H6o=01pQo!orQt+$LQY!i{s*utS;LI7N-sjkWBcxt@Ow zR?zrTeP=EEy@{jV3f^MA-4A|H9*M=zAkX!oea5;cvQ&G5m%J)}V!!Z&Dp>01=yQQU zx>E=AgSZ~lU&)^u&RfsD2=Nw960s86(OUJ5?0at)$g(e90MVR^g>Ye!+`UUGg4tKm z0EIn-akafre!}1FZN#^&hNy(B3V*Ym34$Y?7)-tI z29_1xVvaFvCS8@-hTn4JSkk-dbznAq87)CtV^J{dJ{`9KehSbqyaNIZiuszW4dV|Ed0Zb{{He5Wjz^E&Fc; zt>AI^d-bwso)W+WubPpBe!d8gtED=Qx!dvW)5Q*M#|Pe}*KQg3TWOpa21e zT@15Gfz{XO0#Ez>-rPFk-1$T1TRWButwSGmuQeGE10Y0Uk|0JwE}ir^^^#-PC2w*q zxjA$#Ia0Hh9JQ6Ul%J)Xn}mPY5F9Ko%ErU*Qj|6IB8;-N0?jJ~uMbw(3!}ai?(L5ruyy%J$<0Cr;>Y z>D9B?0_jX;Z*UtQ+k-hMC~?L2cObfbs21UH5}rYsUTNtl4pqi`gCG;Pm$pFf@6dkQ z-gxG5|9pc|6%Ov2!wP0^?Dbx_5*zaU4ls$ODm6>s^#zH!pDNe;5VmgT@p8|sLZ{*=%sG|6MImk)Se-KdkwrTCUO1@=O9b;LBKc%55Q&!NGK6Kmaij$NJgVj~;*h_?vH$ zUccTS5?n>ZlrG3r<3XJk1gXmUlNWu4Qg30swTI2GAAS4X^5cJ{rSFzj=wqp_r;{d9 zm5+{AaI(WHoMz*-wXYz2jURps*=y*|=bB=fCUYliVMZ0{S_WRc?v3f5c;Us@D9oyr_@pZ139V}bfi*r4~iH4h~bjyC{-eI;@Y2SXcMvhVhYx-Iz7**4W zM}3>!q{!x;rEZ?{Q%|s7o9Eoj6I(Z$=aSiXHEd!^W}mI6vsX?4+W%QKQxY%_kfa7D zo@m2vp7T?WGM(O}Os5`Y$-E|25(nNFFk(>^IS6f@{TaiCA06~Gl~;`!$IVv zN6;wHTSW(>lolYaMdXk?6izz1=ZsMF(J<@&VG-|QZJM~^y8V~6 zUIVV z(pj^W)Vg)LlBHcTUs&k*m*`~Kaf{c*nTiT^tQ}uSX58N{PPXS6I?sV^Bn`wKI)(4@ zMcxnmAa7rcw4F}NY332pE0iII^Hh@B05yNRPLiaD4@1E8DSVnRq$DM=p4Hy0^ba>F zHj0=p|3qBJdJ^cwHJC|8T%Wo9Iz{i+I;EN6B{_+!l#9)94?0-kxF;^$2g{}OUD4TN z3#j<1(@q`d0DG5$f4LB;Z6IDxlfA;=j z1V1;18Xw1Zs6}-s46V6A{dlg!U-ixfZzXYf8P)?1?ji;F4`Tf#hjNOH3mWl zpS``E_T&$jXEg?(5nthN-(k6oZ>AS;x#&?~`W}}UHU=CP$KE@ZL;K41WvC-x;u^Gy zTjv*-??snNHU=nv^ayY{K!EXkY3H$5qj2x`SX17~q=v(B;&h@$qW32WFUo z!0}(Z^ir)}HrlmC{DhXB8%?vn0#7fZ-W0rU#?Tw7Iu6h`^^Uiv8kTVvYEJRN5tmzK z+nPG#4}^K6?asx*v)%PKdzbkM=P~NX zK9cro(o^ztm*;tZZ3|E|`*YtlzQsPe{jl+!RM|lr2d2h^Khg&Mk-n=PWYa^y2OZUq z4?9%w9f)dwa&u)p+<9AVPV=0G_&>XDP92n6r0x4wEL)WF6t%rL-@ z@xa{I&=7M@`Z6b7S&d-((_@Jes}Aae`BQkj4CY}W|1NncM6r|kY!^>InGpI2jkeL| z%yvqfFh}-cr(2J{W|t2*1}|Q3#|ZE1v-SgifabR0FIs0p&hLoT0G8nrC=FyTk+5ZV z|6>fsqa_)8nL758`qfSZ1m%=y(QWx(e112-31^eSLvP^oh6hrSuOQgrYdY3CX25WzA zw0tdU15P@33W~!>P`otHWj*SB0cW!QRd2A%VVHYAT|mCQ*8a=Z=H6cG;K%KK1ZkL< zBjV+g?DFA5ktgxXv4sPy1D%74xnxu(Z>InOsT|dZEVSwHrN?x-LE-oyyG8~^c;h+8 zyRB(HCAyvbu1Atkk8>xf+VKYtx-fsKpSO|83!!jwckhz zJ0A^kw1JV@TnPEwr{;^bTF@#35U?;P=FL4QuHU%71JHUPU_aL z=_NK1x%G3&y*KXO1$G(PdM1Ba$AvveH>BG44C@5Xq(0yfAt*jhRO>vW^A1Bje&Whi zh8V`vDs9LvE**~GQ1#5rb(NlBEEQ;!mA7f2>6VuGv{k7!a};WrSn3i@GW9oZM2G7f z(Ja|6s0+qxH*9cGklO+l)B)fi7f5ic1|peZIV8|2g_Y`jISTG&hTMO}0>9%(C_&+F z#vJDkDlja4*^yj$D5M%kEy<&!;2Y!;lg;#93!e*4$p%dW>oy}U3-=0JMd1l;1Q3Ge zDdO20?wHS;?_T0qi0j0Q9Lm_jYa#vSAI9G8ZV9wn7`LP~hdz_gy+pMaNuRf8^$Li% zIiH?%c>(lC?6xJ0%zsP}dU{jl7g+$|0Z7mIbfO8r2`zdul-~~U?ZXErlMdh@<>IGK zssl*1BM-gi#nwS%v^IL|(_4?Rgxq#rVXSf!(qwM|4(Zj}{4X1qT|5RTe?LL=@i=|$ z1@YzDzJweLv%*M1J%I;_Sh908(Y=7KU$`;W9vn6Llf&~P!ukxL{AXUUK5AOPM-VIF zqjB;;O8kNTw8$mSRwQr#XRU=ZkUdUZ)}@xPhg0be)!rk-$?+2gVN97D|KY>=`7TCO zJ~xcr+SFBJ?AT}(BM5WEf9Eb2v{xzF)@<{JBng7`J(SIe`qNeU+F&lWMQEOadCg`Z z*PMO1ur#A3;%C$^u-R)f(Sy6lad8m#Rl?b<{LQ)QcXd=5|4r;D?67=&$5I}a;IO5; zr7Mfh9>|vO0Sj_F(SpK~;T#cJtFY#<@q{8Sr&P!Bp#AWr_W@N8o~M zNRU3^uff_fn51YWu`!=yh}5+T61P8s9_yR0zWX|M03R(rLX0m=T`R$vnfL1b#cZ?) zdzNb$Eug`Y76v6P3~JE3PZqPmB6L%TL%CHh=%}}U7rIfmf0K7}s1{lwv54_DZDGE+ z$LB5b5YPmJ>;$9MA!JDyxu*a92uTjYedl4=KR<L53OTH;RMI}q6TJZzZwke!DQKl41r0(Ei${39-!5d(+kM~Dye;X8$D2yz;6 z-Jse(JPwSD71;4%00%w{;P;yw1R~!|@fiq`x?Ogaeq&JT%C;%iG}dH&@bDqz3k3qkB0$MH?&FEQ^U(;cK*t~`Z`};~ zA*>h};CpJ55*SSg>G0NA$Ldj}8wYV?CnXy|HhQOe4EjlL|461$dK{)wzC552tw%?u zNwaS@G4XxZb4z`@?(l~YF{sr&`;*RL3_c4&T2?wo<{=YL5Yu<+aAArx$5V*WcDMYZ zNZcg+0*UV8Xu&`cD)@vmlI?MyPB@oWPr7c-IMdT+*}(2r{&2jPM>pN;q45khO{+pJ z=;Z+&bgUA!poLnZ8XdZq*FXkc0Z5lMK?WZI_m@>c21fzNmz_ZdSpl7w_dy0nKiG%C zoAQb4m_-H@xE==Ti*CZDoJV5u zmiWv^<^&Che?Mv@CumV>la2s-IP0(+owduHV7T3z84RwJ6?dc)crXA3%RiTj_ z0a@R;4ibV2cam4S7v@@-{aRm9$+zU$l3Lo%C%nUfFL}jt+IQ>*d^oLQZddwp2?i=i zDdPitwnYjR3eO&^Zfl>QPOed>jp8vdnTrC$R0vD;Z=JFp}FATX5HieDnJCEBMm_k+JULAK^dGEg49R zqHBk14ibUea_-dg5J||C)7yy`ak~~HCSe&EJi?&fph47*3E&}dta1M9X#v;_(UO56 ze{3-0NJ_C-ybi&Xh01ZDrBv29%R;><1hcmYP#v+WXi#UNt_${TNQ0trFR_>8ohEav z-sH|gOa~6^Uot`1&@y!~UAH8HQXpS(Q#Z;5SMnDhKK!{{Pl`284$6b%CNy9?n`n-u zZJe+NpeuQiVrI$vm?Y2s)PB%Pkb~sCRzM(LIT| zg%FPYiWr_>aRgJ!1~k|LlUMb+%x?r|&DbNK80QlLhMx1m?coX1vvwv(&H7t~XgALE<7Ox8KVG?9o4_%!+Q}x5bJA!UVSKr0PQb$DI8I3ZHMl{~ zNBpOAgD8YAt|vFYk;1q#l8E3^>P=&Yg*4?s1PqtgXC!g&MvfQ;dzY(K#^~mAUiGD% zZXP~HVf_enM*4Lscc@NI!} z^CLWurgtSxfNsn1{mQX;;{tFTGhDj>85l`J-Z?V}Mfnsfw+KZD8U-ALc;t{HmH{Yw zNivm|po~TOSP&Mo85HS5Vy+xXE{30qmDJ5T4=w1trE+m=XMOLVP|JPx5E}5msd;%loQ|UKLB|D%6;hx0GX^a$V#^G zCzt+A1}_i0I6?Nd>iYca+TuiK^!JxMO$IeP+w9fin^oo|;G$4ockhv$xv0 zS0FRATK#>VDa+o#A;0$(MtcH885aYX(+|o}Zx7jl45vU3r+?}0v}(OR!#=P0cV#QPX=Kck1Y?r@6snzrL5XP%cNs9 zeDs+u_ay4}!-toZPX;RkIcR#9#7_o30koF`PykmzsJ{kfe**fZvS$=c574$WePYkD z#AeXqjv+{hO4J!XgI{mz>yS&H?@e9N4&g0a#WhGXQW)3djAfBUIAftZQNF_fm?-%^ zcyM=G6OCK!yST*(lqVsm@+0EWz`Efg1B;i%qnV%Q5mL4k@g<~?X+ImC*s~$2(^&37 zk)r=Ta{nX%e-bX-_ipoee%DmH==P9@FLl4GT?<&{*=RcG$}UM~ab!nIs{xltZ+U&s zZO^$%cuHhjh*jr5D|HE~vu=qqh4VySC`YZ)Q(v)A@GC+rd>*=DHkt%c8kyd5)>NCf zcACen%<0Iez&3TbnGqH3|7}Ar3?cvzJ+CPpyqv(Fe}4ANA*HLK&9g*Y++!sdrYiAB z)Xt<{kLjT0F&Kh+(enmGH%=t7vHRhJqyT*R^ySKfJ1+p=^3*N=@3n`icD2W)DN}PbZQ5E zP3N;pODFp#4qz=Cdd0p8QIZ9k2%hBuAV;Dt zir(g4jEc8R{ieKb>8=naF?o7U_7QT{e;xcT%43m3Mk$9xnV}OS1gPwQ>mCg*w!OQ# z5d543H>>pPX9_XScd%r1%7hxP42NNf5m$n)0+SMht_ZRs{-D-o35*?WYVe#f(DN~% zB^sJAcMSLl{$vVc8ZfMeII{CDT_hM!hjTmqhX4_BkNn|bOgs?fb%O9k_*N0uf8*5o z69p}g!Nul~sx(fYKPpstgDOgf`LDhu_XbfFtXqyF23BY$)O>U0FL9tB@SCtn&esqM zNFq)PEb7h`qo#2|))4zR(O~A(Ql5~YhDsHQ(hHK_u_@YQ29^lM!SzHbX1qiS1gSJg z<kfDHoSIb6ygE#80bbhaBNH**cR3-|3(#C(H?Yv`bW{-u9KmdKjp(@cG47g3Ye`Fv`?z6^? zEtZW@#|=nh!2Ip*@(nJD!{b~XrcBKVKOA#)n8H{HN%c`cv`!pp26dOwwmvzWVg(*f z=P8Jw6JatsZWlY_i_iGF8=fUUW+v_{tK4A(ib54~F$}STK(N&I)lzF}7fvGNOx3=O zoc0Aa6z>#+T=4xnk+c$&ef3gP6x9xnVn9y>x5f$iKMg^BohPuSag7fOPF`5u76*OU zVK7~Xs~b*VOK|#Hs=vcxz(Tk&IcCN<>C#1@eeEW)P$^Ui@>hF!wnQIX0&5Z>kb|M# z1%i?Uzx#l73w}>wf6KW+NpV^K6eG`=E12@t5l(L%?PYf0MOW z`_W{}Z%(>o3yS?t; ze1JMl@cjVOtLM;Uo4)7F(hbwkDst^~C_K&Xzr$rD>O~|}#6WGr*Wr(g#O=4?uu05+ z9)}HP0ReRrj;(83K{f3{!4}ELi3j3S0y^fMSKi;s9Gp)5ZnBDSy)^Y+jIlbNB=7thRqGh@U&duG7!a*_nxH6wS6#H%?5mPVy?0~HAiju!oe z_xSG}{)5fm@1T)Xn_60I)b~d4O%tKVOI5e4;0v(gx=|-h*KTN@7A$80K=W5{wzv@I z0NfO9#7=C+_EyZIaoaYZKeaC_u~*T6@D^#hl9u& zZDwfjf74Jsy(!)(ML*HNr)IlWg-FRn=_oEN&`e1_D*=0=Ki6GuTFZ+bJ=G_{R1~S` zlAusA)3fX;uI?ObH26yVqVi>25@STPsdjo_JV(&B&eJWO^hOklCyM}Uj-|QT&&d$y zyw@U#l3V=SGRE@Rxy-xchA;y2`9qM%C4xl8e+UvmLO9A60pu?UG*QVx@#g`J&k0gD zc^|0m#}nryQ~vP^hcUz4?=U2QJZTAHzzEX@YfqSvX*QVat+HVHWVyM#I9*u|sl4nV zJOY`0d9hP?kikvzxPKTGyYjn>hE#o4?CBirv~$?qt-l6c&CS|$lX{2hVHdK?eoUnw zf1UIL;KDyQU=P;1%_-l?D)`;e9^5rw<~}v623EzWjArr`iDQ!oQg96I8q>W?xcNI7*%e6V=o(vEP>7fe<;AsjfLOaB2EAt$L zAJent1pp{5_W7fWACofOCTS{)zI#THe{nmn1*hf6b}4x}Qb5xY3N8TOyEa|y2q;7f zZn_BAg7_QxiQ)UmHxtYNWVp=lIpT-Pbz{3y$v&n%ZY;0%*5C%(Yc#kLz(dCG8`{6K2A(j+%FHm}v<*H*hl3Y&jf2P+2 zE$VkZN7^rfOV}0iYB4=6e?MR-6Fh$Z=#77ZB_NmK^K*o)YBdaNT+Pl(?p%S0ZwcZHz5mch7vaQ%62^>fqxe_Fn*Yxs^$dR_Y20LUF@Qu%d>EIR&EoH`sqx%ish zHd1TkKSLeCa#LaMVa=vkWe@k>pCd9F!O-efdsLV@m>BS#%;?~})%T~FK7}v+aer&~ z$MqLmeezvG?#)1zt3+PbUz)u?dZjf91#npVR1T z5un<8_@=+`bbIfo7wb?|yN`DTKkcF`cAG7`q+8m&Gp))yT)HjyB0v$59Bg4lo9pMp zBzWv|0Rz&t`T003KxM5Lpan$fNm?Wq$E@#5{P;cx!fR7<;)vy%C-;}%e{a~epI

      ~m?iPsAF&0&~e*-Z@psV+%4S?ARj<3Zz4!tCRhc?&&B(I!GT@zf4Jx)lNcQy?SPEq zt&F)GnK0&(C^SyOXl?lPCSxcP!j$Y!iQrP~!D#5;&UFX?5oJ7(~qM)TvUa)8a#Ovk`4OYAdo(yKu%-@e{zWkPM@O_>H&mr2F;P=Si)gQ zGyNiN*EBGAEu^F*e~Jd(r>AOEN52OcBevYMzO4{C{lB#H=L0*|sZ*Eube%{(F#ss^ z0h@t=TQ!_DhUgOm8X`|+g-di27H0$z{cZnu0QUJQ9dmZ?73e_PHZ8Yr*NG>kZkH#q-P6zLqwnKmE z=)Hf*n1n*&pnf+t9NO2xbMqsK^iD|sfCVWe?XD&?tep1?=htRsh-|@NTXLA4B=S%4*ARSuhLJDHKIRn5M_iHl|8K8 z;@Xk={NZXl7LMqg%l8Hz$Bo>dS4{8Y*0C-l7|HIvgo!5N#U68B^}!dqODDo zuAxFyGLaNBjFnD!u`)KSzsHrmrh;=CIPIMbzTN;4d>piY~|4T zuA$-|z4w>!UIrineW8~UUj{7!N0&ff1|I<;mtbE8BNcQ8L0!%`Gxe1+sH!4*!^!zF!6!f4&nbl2Ojb?=O2V9LzEo#qGiq0an=vd>QXP?dfe9XJj(%cBOsBwG!?Ka7pl4&(`!X)EW(8YwB?Ve;A*0 zEyfHu)^zxlaH@e(M%#e(N2Y3KGp<7QT9Mf3odb`zL0Kbs9sB6p8qDgBb^|`%B`uI* zLT}2tVwJGe__T)3VTk!^u(+G@Z|~W+bGPu;npxC^yaO?H;j%zo?p~g{AUha!rI3v? zCRsUW@%}=qHx$CeMx)z637x_|e;?_So$FsrD+`m+d9Ug$?gWK0w$)!~$+&R4Zhp4B z0$7gdjogIcgaS^~u2<6W1P2<99{g6$o`fRx)xY_%RdEAH6itwma0fJ@efd2Yh7j>Lut9hkxjcO)kq($c60Lm#|24e!iC; zO53s(nPslf@p`441h|cdHlRj=csv}uM=+qvJTn4KgeWUhbtlxFY{uyxBRo-Djy176 zbNZAG*PT0#d~7n3E)4OBfAy%8PMz=(6kCSB+6nzhg^BV_1PU)1OkX1JFX8rXr6aBu zW7z>Xik}Ff{h4&7wK?^<(^DA@XaY>+;Ef);t@rI?(b_v%XONe5RNn~WXQZHOp&SI_ zx6dxA8n$UlzxokQ7`R%7wB2k+`MpvifPaveHFOOoXh7;2Qh3Z*f3Q9=69L+1`T*2A_Bghe1u6vF> z9uMU8|L-EY@64FDVBd4B_}5?O5bD~m)C5Zj^@I!IOC+k# z0<1@LCbQ8%fA(P{811w#060a*mVy51@J}EA$OL2)v=m(5SR7giwW5Bcoe&V{**yp^ z^WQi|Ts9EloB#%yYqxj0bp-=SwYl=|5399bf1S)#=BM*t@<+yhs)zrstm4Pf;lJh2 z+y~ah&0q1qqYwPI(yYznzc0~rcvV|pg)f*Y6IlHBf8noJOG}MkufG5OX#R^ugwjGW z)b$GI?&{_Ey^rW&-w2|{fJn~Pw0?a88ET*&jwjg{T|Bzl&CY<($r=)^P32Fg4b|ec zw;pvvk2nT&e8IoaTR=r2 z*OJFB$i9 z4;vW+&+^GawTh4pe^P~kcGMYxMWE*rz_LstHXc;JxE|irEblQMgSF;Q+EJj!B2r}Urn2x`eORYW?CYhkG4SS9 zp70!Qg)8`w(2-LaBG(N(fAeSwpv(H>n^3JKtBgXA$*bygwNiPuwU0!no^U6?yMUlT z^BRBDnUi^?(ix2r*$Ou%nZNd6veH8y5*=D3BAH-wZs_trI9snP$g3-rlMyGl5{Ze& zNoUKo-_4=dY{wO(Y(ol~Lv<1XHAHuz7{+$$MxVi3OdAk`H0495DQ99Q z9s;`u*AR7ex?alHl=zRi)FBd!>kfsw+_S}hpW)A>xw44pA8r6J`Hfw`f{k$oeiuCh z8K2J>=Wt4r``BWlQXVb;Hr;k!2kW-hJ5;gX_pp3EQUyEvYcW%2s?eNS>2KDbp3Kyr zmW=m*vr;s9Rhe$of2l3ba%zhiDhr;AQyOww%e>|@8WwuuDV5tPk!RPvAiWc* zQd1M7%d?OwH8+LSryEqt^BG-mMl|{|Q<++g_V|YC^5XFTh}IFeQ4Cf81vEgbNXNGjM#@jodty ze?|>S)6ROZ(ZS*=eo%Q{2+^po{OmJqI!q4GzMM`#m*P$iHsfv)9WEg}sJchp_hbu> ztIVQ=pxgGCaEy4DT8RBAN=SqTO9dq0`IO0IKv^)E%yHhlXjVcVskBxk3a>#aOx~z; zAvjN$^mcv`e?scPd>Ubvk&v^a<=^T;`jkzGgFj9I{&}MRS?_5Mg*c9?B$nBeK|$Ll zE3c=#r^-HR&MC9*t-rrjd!A~|@1ySjWHo=OdOuM)w%@h;V41gnxPzaH)vfTnkDt{A zgMnwOej94$p8+)8Ok+xZwjzsh{E%6V%f_>AI zzp{Py&gCOd@7SfPCt^2Ea%8J;vQ)bX?gaM#j;Ef<}ccD98N@&D_EI z{(ioZ>%spPGy4fk}M-p+-StqcyQ+-@b&|se=qO6)g}tP z;V=co=K*R9DU3aIxKw}MdBNA(qcNJ6ykUOc!C>Ux0YzGNeRVblAp!XuSuLQ57Ttjx z1_D17jtC_m7CFc=cGsPK9OILyCwr-mzlFj^3rk1t;lqm9VxfqjNuq-O%1>m9Ew)kM zf1;p%K1^Q9kio9-QvlF74FdhWr<3fhezvPzpO1*J7uIN(8x#Uxy@ zUh!PGM4nInn;f>T0v?%dLN5T;~80iWY zKXoW;aSPBX*gxb{OEec0x+Afx?3R04e-rq6LnD22ykoYv!ab=cu3;<`rzhT#-pVcg ze%|x!legUkVa2$?DX7EvCibZ-U|Qs35+>jU|N~<qe-J}S zsZ`X5(RyJ7ydx%8DHrrkghnkuo)t;#|CvP3{{@53IKK)qE)GR=%9q{aRig|{-C`QF zDKC0R&VLAC(fKWCeRUlZ0bx;=@`EZZferch*G2iWs0Kjdw*wkaNz=LEdZl@XP#84) zsaq~E&qS&C<&L?xBmXq=j!IZ`f9~CO>VaE3qU+sPLO-J+M5Dqhm!emc42$TobpF7B z^Kl8q2_|78n(wEiAbM;j4c*9I8$FPCM3lb>k%hMsTfr0Wbe2Xc(U-Q)+e1Vet6+Ri zZGE{C2fl9UdHmDWqx2#!lxz+FV?!~a+=(^O!`<%7nyTz>acRA$I`zliek<3Xmt;GUi{7A)3=f1BP+Lf} zgbWPUe}DHzL}q2yB5;qt?YwUmqpHe%iHwZpMjVeX>w|QU)gJ^MKw)Vqvt(vj1+w@O z6Tt#r!{3eymKpKX!^NrRYjEV)RoZ0nE|lUyTqG7HdoYr=e_{b>_<8p{#Homj z8H2mmmVPk~9r@Spvo`KJg&55OBQl|VEj;?V+F$P!j+ux>C? z!%#qjzy0;af&m9HRhE^envjvnLSYgAa_wkX5YOO9hePp9ZmidaywM2T6GnElkd z>Q#ac0o>|;0yCQDuu2>-9>#cOm@N0wZZG%qU1XA`Fj<+Qhdp7$P*DUll?n4FY}o#9 z(!IdKEYiJ9f2~gRFg9YLjN`b;@o-KxZg?nrler1lf*_uVcv<{={6Xq|QQ%|dy>aqx z5#QB+#T}eF1k(@x)z$3L{~vacXP1598D4bQ86SC%Tk^l*fb&h~RL~8NtoFZ7JKy_o zN-59-4yH75X6c&{_sap)U5AZ@e;x53*p&ZsVSe#we;%r@RCjkPx;qU2mjl&@^}TJa z7-a6gp-Ye(bBtY+^d4(&eT?7$01F?q#z5z(U<;*I`YtC18-S_%1A0|!NzRyauUHTn z%OQC(qJ3tj37MRGtGJ@g0e$+-=vKvYFo!iH6p_GL*iP6qFwN7aY?Q?O{2yz_nfCDe zNFBHSe{;<^um2~Sac-3e&9jVKIU`dlD=IVQoGNphW*z$9)F$(LT3QB{BWd2)qxT!^ zh8`?4_3OBt26o_j0Z?c=U_kn*L$ZM(2~#tkhR3YQApHntmRmh)36pjZDonK>;A?x8 zmi!Qz5M+KY?f~Bp3PQ5EwexOkXJ6vHkQH*Pe~HxfeAw>zBExm;z=%rkc5vExFj~O> zAEt*H(Lu2lQ9wYZ^FH6iy2T>rc)w)Kk+>qbgJ7KT&09!IVm#iA{ZdG@zKg+Q#zVxL z4;30ZrOx?r&mHv^D~EK0#;f-nRb@vFf|8XUH3=~`hgVJ% z1-mTp^#4mP|Fg;E{}RRjenj!RkSqAQ>#-baepf*EXawwj5!wfEt+({+yI` zMb>@N6gB9B1GA*#Mmo=%s@v^MEWM9_Of{EoDni)wqwc9-vjY#N_yq_yZzO&AT23-oalbJ-^f- z^^}sc`}og0gPBUMCzTnPdEzFAr8mO~?RL7*Q~|uihoF(a2-(y&?Nmi?jmiszt3z_*>&_ z68D%<+IO2&I4G`GfDw-`5U*m`naukT>Y=PT@#@h2fGLjPqe|->+sDlxI2~Mkb zir74%z!Yaj%`c;+RL06K#k?&<^3a)ctKOTHteKlD{r2cUqUsEYXMv&_Ro zAPe+I3qVrnc3`>>N(`F1TG@bA?&+|b%m8|zGD(x193_X9i$Q-dx`b^}km1d^*=;pu zutq=(+Lq5JJVAJKf09%NfC=<@>G?m~GoH#$p;)gm7lOJms+rFR+?_BR_Nc#hOy7L$@s5?>#UN#Z1n7tJYM0%&%vPnyyy<+~ z#eL_C!wsK(2e=fRI?Ch*en@u3B-GZM#x01=6(X@xP>yu!V{03^7l@4G9c4A>QIeTo z^1s|^q;H$ue=j(~V!lg7PXYDY=28Jk%_cmXU?qiNUtBO0YaV2FS2tLj@xaBA*Jl~` z*@`O&bRb|WrqkU&&@kuQXMJd&!C_(X2}}!uLAbsUn_~upFAyCBX~qs4p~NuY6I5ks zYzW%RGn$RTS<5}nM|>%XDhrsIX=xDHBNJ%B9}ulUe^asR^#Hf9(2yovHUKu`qIuzX z!UiT-xa_Y=6ai1dS$CaOLZdmYUBL+Qbd0SAC>$YBOhU&a@9ycM1*kVc+Wc&+S;|%8 z#{v?$xNxJ)5-I$JtE z#l_%i%oY3ftG?6IX$2uVyTLOKDIpjGARP^Sf6&J;4ktpeqJ@aJ3V)T}6Yj6ibAT+c zX}}&6?7^h9LLZo=Rf6Rm{^bb4K^uoZ9W69*iPtyt%_mYUTvI@c{C9oX97xD2k9}4_ zSDSNRz~?V4h|qIE2=+p!LC&u_131PG&LKH!{EBx}x4Amk!A9;})v-F~mY0^EjGr3M ze}VH4iq;!QU7l4Ze>zDzc)s+>T9yofwWDO{Lt5bZ)jI4`7w0l~lkx!nl+P>tOVLLuSY9d){pz;^*Be@p4( z7tgGVP{5trZaUr>&49`CkYtA>DJ8v*w%SL~q;w$4=-%lN$M@O8R!m&Y8ENY~Pg{jq zxe7TIgtP^l(m*5=3Olh2C62L1tYeH)I{9&ZzaY-ysD7fcW`DRtY+$~ga8E>|s!Pdt z+*O?J1l}&X2_goil)IObDvr3iMqU#jHZ+&r$!&*ciDf42(ff&=CE4)qPC6Wsxf9$ObosMr- z!o+F@ucSJ0hdbxeiI58tF~UlUKs05Z%T}8To^XK*;1g{;e|DYjBbMmxx#(a#WmE}`#VWtGG@t=0Wh8mO0v*Tf4<{#d zWfijl{LqATNHDD~+;>xc_B0O7?VPd?WLgxg;mH5suz2w$E{vI+QGp&j=$Wl3mbv%dH@cjFzbHtU0@bA$OF z_=`Zc0JAp}Iy`>Ne>=#Qi1Dzy+cPJv!G+ArTY@h(bB%E#zZ3Z5x1rx?^I8Hi9_Dx z&B~TT!G4?6FZF$Act19jvURyZV0?yf--5yzVd(_DlzcVQ*&^jG%37|V8Sj^owt4K;nl0E=j$`CQXehnV51wKHILt99UC336s1tQc? zaPeUo0pSMCZD{?-hd}>KE%oZ=I^bMs@T1}s$OMJQe_egg_o8>v50Hw7z?B*`FTpCx zVSv=B{2JiHB~~ad(Q#?DQ``jQ_msS+IMd*hE8T*!Kys_s`l*3 zljXk})H@m}fzHF48|TQQucc}mELi@NVLc_0zfE8%XEU~lv0Df0e*pcypFCKuodG{M z_*O-sf9aFNjO)heLh@}O-$y(| zX+N#khDf`HZ%`~=u3d>Bp8FEhyk9h3xG8L3e?Y|TCo6pMVqqCW6uzlJ*nNZ2yQ3}8 z0I$W@aoJ8MpgTfr))9!DV~|pF1qgcvVALVEK-uN#YLA-TWIZfV8eypUrNtE{Vp-U2 zg(ndVA_F~B6Dkbe|K1jjl^%O<8#im9G~4}kB3y6{6}{&`9Rv$f4Kz5xm@q0{f>vif zf7a0P-!R5J0k>|zR8w4LH!7LPzvH7Ghre{Fjl`=Dc!hYe?ct`eGGD(2y>k3b@|qMQ zw9%BzpVGIcaF^G=r?1z>xXBa0Ouu|2!Dw~X$Arbl^RL_xG6>OX{C&N4uwG3z@f9ZE z(Dy`N|FvFwg|7`lMrm(ee_Ye@x_mbtf3>;3b!ok-_f~s$+o<*J$Li`%V<#Db2X(`Y zJbS?1XPNCdy)LcK@v%=5>OH}H3e zzn#aAPai+tdi?m8)?6pxElFl}x3S6a{i zdGQ`kV!v^$&-Jkz!Zi$`>v`j{fBOL^B^4c&pBDeJ_|so-E8xjYt)QNaKr_wmhT890 zKl5f{YxET-(w!{lHVfFUwZA8Aa!=H{YY^s9?JlCQ`>q;K4-OKjp`h(iVqROrP)F3a zc7r#ibaWdZi>cze35zq7>#fKhGL)zGTawv8FvPMgTI=f1V0&DGRn{Yve=9?d!P;?d zMaZ*k^WD!FMZZ7rp z?!jCOa)aamlA?BUidp4-YVp_ytgT-{g>4{g6)~iT?pCE>7IG*YPHyJ2TK(7y+o?Ce!4C zQTt@3M2(YW!%h3tU|kDSN1>&CYLjFjHJqoTaIAsBTCtc?Iw%M z0`8%fl`YNsmbP+wk*V_=YzxG2p`gGp9OFIZ0Y@(goKN%ENjA=Q-q^-Lo@NH|7G!h{ z`nVyuz8MXBf5M>(%4 zGRqJY$qhGWN$8?@@c!@Wgd>(S5gCFk-_?2twdIS&|`4 zV>bQoAw>rFl;-eOVg6eM!o6%`kI%0zdM^hF>_4v zEQL$FO$fmIbGT&8Mmi1aJK@5oQ`abAChPP%Fq2?%|hPcEL?Mpb$RYE8M8s13!oeFn$v5I(lO)T_q3RM zCUVdWe-cVN$5&J+O>d-2qa9OgDU*!j4>S*Rci1(&mOudoZWLms+sZ_w$g0frDhNuG zsBth$>bRcWI8|V4UpR6_?Z9cl`D_nCy?LFzXN`sFm=W3+*#6$bYov)J3k;t~Kc;8# ziDdIUkeeAbcrNMHqda|_O3KF-l9$8j&4MAUe@|85jp{Vl^av}jo2JnlE~PtjiCa-+k5lMMK~kZ!(T%vg=TWjSBU^NDHYO4P1DgG-I&1nW zixbj2;{lsBPR06QS=<~$ev3EnhS(?Dt?AVkrgyBu%>g-N+*)!>FF0OKxSfse#PFPh zf4%`L;b3i2R>Fg}f;~XghgH$!{1gVNH=(JShc^couye-1z)~i7Fds0!W(i+R(|fEG zMj)y63j{3sDZGZsbh44QGO~xg>(IQWH2aRiRNx8pv!-l!%9FJ_k_J+s;Q?+1r3qaE zNlk<1(v%lVbn%vl592|f7-@m00CJ0>X+IOrULr=Q>}sDumit(+3Q}` zx*Q#$$pKEuZ!I;fhKgA|?D#-wmNZjexu+!Gg0$AO&Y(thhhOs?`A5PQXmZO5EWP#zgsh$rr{ejDzT)@roz(nn4v_oGUmkoyo z2Y-0vBsRs3bc&Po(m*x~OL4EaxV5vk{$?xjR#P?eC}!+|vms3%YS7H`jViD+N4?$d zYi6CE)}R7l5Qm!jK8Xv<#-K;pG1RMSn2$E53&SolH5J@YyiAku{#osuTPF4H1X+W@ zKo{r?m3NROfUEb?F4(NzzfJ+!njlmzoPSrd>-+*EiX-hG?c3Vfq~0;3E^)?2SgxY7 zi`gHuL_W40A;}cWn==TxpgTA&asewKvtso@(@CgwX~+rjqM>4o!@xd<0*p4TMreFy zk8@L!PAx|zEl$A$2RK-0e(Em1-`(EXN4u$v<7$#CcFM4@J0+h=U6GF&BSbv^D1Y&& z-*x(8q5x3dq%k}j`3D@8S0Z*-#74dR7k93os3Jh}_ z-q!0{zY7RP$|tGZs69G$+NY3ziwJ6^?VBu5`qmJuGmL&`_^zztRG*v zkY9l+J zcde-BO-&0sjT(A|HS~&R7{>R-#gv|(7|bcV8TG`2{aE#Qt(uu*{t*yJ$+(+vZwM?RHQ-EaA(Ee@V;4V5p>R{5DDM z&S9qf5#u^!-WrTO5lH=CZP;JCM#ImKM!KfnfD%hY4?wC1l%P=$?>rM z0=BrJl`x_@#vYvcsYow%TwKl`z*{R|+hs_D1DDB|HJC$mPk$Yvo7#^i`VM1YcMc51 zYXMHCu(8TJKr^f(ZI`iooCoy4Mog4rfEE!b33@`KA%L0-h)Cq_JaFdFSo-Dm(AX6q zfa;~s@?<)&Vj!g1hlR`3TWXLjcSSv(rcHL{x6p$Y!bV0^$@`)BC2%^uhi{gNb18<<9 zi}ZgF*~csIAyhs|@COmoV_16zhh|z)j8hes5{*yUh<{i5a2pc%qv|?Rn!=uHIh*m`m91Lp$ zM#(SNNq_#(%n2qa>M_9ttOT=c+a8k2frG;b_oa(LOVCUpX(nER$@Bor1FI&zOTm5} z;cQ^~l;f`MKPbb7-g8nupy_B*++4)*jA%9dV@eloGZJFdojv|oaXE?+Ia+!E0nkye zCFdBQxEQe#ilD~=WsM^aVC@{NR=m(#bj}%LyMM!qP-`eC-a!`@6s+fB%p{|QB`Y{W z3P0ycY(^{byksS&i%)7R-qO{w4^GAbGhk=9#}*cx5yh{w`SlvtBFD3Wp_|-yj6w9R z$JmvfQ#27W1fpoL3tmkXnN3Mb+ueIaW(mv|wZia9V?L&-e-h-(frAdtGLpnbed7Rx z3V)2(u(8?3kkgqpeExa4{Uc#==fTUQZ>P5kw-(nk1D>1SgNI41a-&Z!f!vncG+a}0 zRqo(7G!#!}5L7%yI*GI0zgN;Y!4T^DIKdII;JHiW1dr+$Q4+gwqVcDw_p@$z?=1`* zG3o{6NX+tk^3r*4Z4T?I(AykFwm)|?E`P)IK*ik@XW2-nmg2*DXB{;OYri*8ZNn*0 zAKdR>dY%)?-2c)vZ%1mB>0dN@nHRq|?S*3%#p=zpiJ{_7-}vTHn<$HVeK@x{Og=Q> zYzkOAxFqIeFIZ0??jn7;fSEYK@`wiCrXiJ?sA5gc$P_|Ik`}1W!-_n#!9|!rRX;hyPSj$fSd9RlMVFUL)qq_qzs9FvKHXbXH-(E&T)N+zh~a`8 zAD|CJy_vl4#?!%+HVU>9gQld(-E{hb(SXoo)1`Ckz`MQcbtZ5Ibp^0S@c~vtQe77Y z(UY+s&Cj%-P`fX|9-DGB=P-xJLw{|`*3t{bKl|^orNm3~qD>hwJ!IAVH59R#>2qw5 zaI(NT7P*@DB@b?-n__hkV2)`k_J&R6?!5;F-nhGQ_zp*50bJZGk#lP&%|9Z|Qi%ZL z!nz42I=+0__-tMXT1LyATqRF3S@{Kux)co%D<*nu#9x1h>MnTPgUey?_&WajA$~lC`=>oZB$d2Bs|PL) z;kHcG7{Tf`i*t3ThT;{RW=b++62-&k@^e}`R(r5-;6)ei4mE`b3KL?&Clwtt_~K)) zg_S#$SIAJ^$rR9?_h%8^0e>9|yXI-->n0$7^ry~R^)4u+(FqH2M<+jQneC2ZdOGW5MbNZv~m?))!J4XI<@Zbfx71$p#`A#YaH1ID>p1 zKIi&_BOoh-5o#(BA_;e&_BieruK0uM9SU+&8>~X$Zv-n8qZb?tcq(6Nt_8L>?`c9* zJy#J8kA&YUUx-A}bbmrK85ig6A0s>ifZriWZ{j0!Pzv^%573@>0;f z=nQxhodH~tb}j~LW#~448|kpF7M^2f5~B+%2=N2AJutgMY~ju>zxK`&sOt4MSHZG- z_yG1RJ*psNpkH>lT9SW|MIcJg;!`xtUM*hy1{5AyPa#dNi;&B2nPD9?mvDPvM-^%1 z5qhMd_6R(!zX%1v)>l#?po400WSjUcL9BF_tzkbW(vU3CuX9G-@;iyR1r768T{&@u zvYnb=rQi}Iiz^nhGIw}&|S2sNWc`M@(zFaYWlZIo#^Mr`do!< zo$-k7^9k5Qh=R!m@{SOs(8^EbUJS~{t^3F^rc;U`7*>{?>#A6#7O1@~ez-t>xgQv1fuDuBqt$`4v-@f8*HzWdQ z)S_{|vQgS7k1GhrQEb^gJupKGL12?1q&}vAIK^jyOH+S>>n%ZJQe!*AWVPNg**3=qHDwHk#M| z?7Z7w+uwe-vv+J?g8nhRj$F{e^yTr(ce`)*3QCgqh2}CtED;S%99n}W(PRaDu(ud! z6Ci*;1R^>GR_DpsMNr7;R$w>g6cnw+-v+o`RgMYFJ5|dvh}0GU<4VOr874B2hKE}! z_tlA~R5l-plS-)7R6+tE@dxs&Gp(^8FsF{wVjV?GJF>Ec8tK42^eTiyG^KB<;`XYB zjJ|&oa5d30Aq|6POxe3@I&Ks9;dZWol(^8Oxi6F_z|+TO#|JSo{qTJ_2m9`#YHsdc zm+ZiZGivF;Gc|LP#~n(K@~q-ElP)|tgDW(UH@#H4=!A0M;bC-2hdmxly1$2$$+Cjt zA<21yXPB7ac+0KeAk1HB3Izw4z6BZIx=CRfKt7j9CjfxaQ9G-0g?-`0-iqa{tO^4OFI~#pnIlS zLQxIrDiBzuq><%TsLVr--m6^H2p(&XbfkX-=r+y27ViRGA0Pr?+KV3vuZ^ejj=>wo?1mq-o2Q^iJD}+dX53rs@yp={wLvyxn znr%hk#N~o3KMz_nchjXwq|fE}ArE^b8I`*#g*BmAONNPS#R{-NlH&bMjN~k$t?KmQ zFh{IO-KyRg>7~9Tar+{iB&7`b{*KyP+?{H+*2rTBeM7OY1u|||3&+mj(6qRog!>yO#pqjSxohmA% z05IGkv4w|0uqoxh&3bSUl^yW}V4$9hQs@q3+rZqVrNd-31yk`&qZ1EHm&1~tn>eK$ zoej>KkO-Ah;*ft`1KsoNniecTgzMN-!&?&fkiX53_Ji={QvOOsiifBaebT_1jeIOk zMs8q&33xXez&ZD*Rx&ectGm`ePh#}Oe+J-wL2ymr{PU|EASEas4*@fjVK8Hv7~i8r ztiT2IGviTE=NM)YX$knUYdCR3t&z(K_H;DUzPJQ7bf|y-V3)1=3#PV6^&fVnpv^Ai zqRwX5x#1TyE)>Ik%TVkE9U=X7UhY7a&GKXzE#=nC($_O@d86Jo{T>Ba&C;efkX4E} zpx@&1kKQOY75NOFE1Tzj0!IV%TWX>Y@j z4J_*B018LgiHosOo|VYx1teM$GT^d+J9YdG;NSAi=?sd{u{M|Spe*kL2S`f5C}AoQ z6A1q%XYD?I;onKM_OJ<+GQwHS!efZH!Z%WsAb)=}iHLFOKs2PDDR?!|>ae6R1q>sm z0M#(V>)&?kYx`czCrHdLPO9YixT_DL+G#GKg(SIR#Z68N{zm) zh02xUb~F_JDLC5$%1!eI z1(tuqwmoD6rmU}Ut=RF0K=<6^BOXokE}IH1_mJ^TGY8ELK%51TuwI$dMk;+>_qopAa)D|^Y>L{g*la8AtY^ZTUY6wSGVOa zGhqvBGvXi#-E{zgG9k;~91j_4wRamte!?}TOik$gPyanlA#K+}T_Hmf=kfg5Lt%ft zBKehPZOKeYtWieCCXY4QJ*lO?`Gf41Hz0F-rE?PRe_wM)pP=E zFV_`kDQ9+QW+W$2gdWM;8_b!NT0!>!sG%8yK5n-VH^{57BXo@PzT?0aEx3PwYyf9j zW0N=7ZHLH;kiJe!c+zxhNavJ6c-{*7nGpT?1T+kAkPPkDTWM25z@TdGojs4=D?5pKSP4yIY(jy&Y z$W)$2nMgdag$D0+FJzFo_!pxF;cDsS1AdM}m(!q&l5%6r6Hh$(!cSA3`aGnPCU*LY z3&=dX=(wG7bJZE$RpK)>bAXHx*$DIR;K^s8>}dBH8j?{IzjOy_?W8F>SiX9dk`LSM36Y$KF+&7SV4TeQd{6w zNsMn4C6Wb7VexyInR&<+{e~qZtKEO5@su7cg;;2f5DSg5fm4c!7<&ba+V~55`Hj(E zGfN(_9;HtmkW;Rf@tl8cq#^*>0y0`aM3cL+#a&9_vt-tW8?91({^qa&5(rrAaM-e= z>GxMWpbl#zb9k6FUWPCiy>;Xqf_iFWjVn>w?wOP9fe=t=S7zsiYqsV3;@LqgVDslP z)34|#aA<`oK!~cxbo-dIX|#jLfvW4&^4y8H+DvyMq}Rsj<{*E3Pkbz3cZB=6wLCbW zgHYY}qC~JLLL^98{AdhqlnTey19C=3ON88Dduw%Ze2E)XJMw8S*sIzAn-UY3`qGI@ zkp9lh-je0@gXO4;b>A_*D(cL+P|&X1Vli=8X0@b} zcUvjhBNb*YdTM{=&V7jD1G%eN0NTYpE@Mg&di9f}u19_>9o9y6EBd|OzG*iRDt7wx z7H;Pv<|HE7B~$>R_Oh=76dE;za7!S&#Y>U%(*A_IeaeQ7cU%?!ad-sp4(dLD+%|qc zd;U}B^v8DdFBS85xfuB?1}_)#w=W(p@{=a_E3>q|UzvZkxJk2vm01P(U71xxUw1jN zKue(?^yl{N=>U!zc7zsrKxdMuZ@{muxx>T5$`&B5FBwGtqS2hU2M9(aun%;bU~Zw9 zLaeV%SOd_`^h{pqXY%aSl*djwk8jXJqf;>%Z1q+Tobh)x#jmRBTHLR;Ya_h z39@xC2KRsdfV(p-_5k7s{q?5ZiOQ5O{z<+T7YHG$FiTSCYXk_jeDbq6%Q{a%u0F{F zJSR7%_*I+(UyhC({Gz*Kwt)sYfUT`khH=;C%)l(be74P4L6(f2I6zHuwo7vVUr{ZU*`JulrPlKa~lbSv-t-RvQ|tFaSa6P@F?2JFn|1m%BXeJ<}=N#0l>3@TeT`rtr0_TI%an1azY z4@|5Q9jz`5u=;MSAn2rjA0o6mu2t5)(@C@G*eYll4zaeajJI&ycSJL{K3rBnFr~sO z)(ihuG*q~SdgUB$r~ksV5UxT$i&6{c^!hEnM*C0~k9Z+2goQ{%z8W*^i*00 zTOv4T0WR0v82bx4Hh3MQX3Ik0!j{v5GS$HY2Vm5QysWl9WZZ%u17d$^qVGX z=~Y-)mtOmEhaU~bMC4NI4LWUihl{VbU%h^V|L-4fynFL*H&OF+n)_;45xIXF$*A#m zR>mNi+JMKv5GB{sRhUszHQ_X_PVEp1NVtsD;&#J)_c*gxhg2rFKfz$yH1v|tpQSpW^l|6 zdn>1}G}Z~s${Oq$z6XrmltF)T#SsDY;RWesCMsuE8iIYF<@e>%raKIiF2#8frmrO& ztUO#iZYhkUdj*#dYO8FwAW(;WRxG0o5RAjX$#2<93feudCwB~?Ua8%rhP?9lK_%7 zYXM_zb@GJ7nU4i*E66d;@z74<#~{CN93`&4WhFhdL(_(0HO8f}+aqP=vlm%a9<0-B zg@ps+Tkk8LOxZxeGPN+$nKcWW*>Qg)q%E`E;_mz2=_G2hrm6=`w!g_ zHlZoqXX%PDiD_xNo;`mIF%9Ml&nxV4*Z(t~kYRxfn(ZDg-#%=ps`ImF z1Od`Km79}6KWqb!xluq)Z8QVHV&8ZTiwlVUY5M}KEtk-ke()#_+f;#3KpKk2`iBx8 zx@NP4ZZh%U^;>_>=lY&1y@j{LVy8F2>XV-rjhnfpM1KMyU^(emt52T&^b-V~0~l2C zz+L_;ASN3v@n)KPmVk|}riH_IJX3h4M3j}_|4&e^ZI$ci7C3!oyVtpzwdyG0QT zcK6kKoD?r` zcRTL1@8^~DbLeYg7B(uiG6O7C<8p3v?tvPaM4IE%uzF3l^}K2j5STpQj(ttb8n()mEv_Cvc+RAa%JNlm3hnZ^KV&4 zrV=-3(ZS?<2P}jU?ojQy<=9@#4>y>TU76-6}M7V=} zIjiCSA=!<|Bn>Cz+FV&)Tqb5dSki2o>uwAFSP8AFCYLvG@yjMSZ>#W`A^}N}PXfLK zjvrszYvQE0%L^gu?BiA_PQjT*X?RH#xHPjQkTnLl0umdaD#p3w?5?Me9oP%;hGD({ zt2KW!cyhxGo(dzcpQK4n%)5pNfzCSW628zlWLh%aacNd-@o~AcH+L}LZNm!M_XJk( zCLEBF$MJH@k}z2`hUQs=Q_K9jRr2keKB3#kfohIp*CkVk( zx6hEF5DHEqiK^;QRwP%jQcXE+LV9%;CSVAP8=zj*vs) z@}r_MOrSgoT$L803~s%?u)JES)Ov@RFGt#wm7>u`=pwhPChkBBhY|Nh`pkjBH;M@M z9+JH%yqZO3O(4R7LFe!bj!jyem<@kw+G)WCL9gI_oWca~FkS06A%{1*wvye#gvwHY zcN`x2YqFqDxPj~#*5H&K+m#9BK*&8}ye@`wc%)0js2f4%xR!)&!XwsexHBsVMH>4w zLtnWNe+@T>?N$W8hARa8whAs7Hg0mqaPIB4mU(xsxL{2d7m6_h@H&$;ps|0fCM3Dd zjKeP6hrfR9VOLZLhm6sa-#F$zil~SSGT%?wu{?e(g5)=t#9;Q@*gq@>e|!;O0Ukew z^|}m#Ndhxxj{C~P$1_T1QWx-CSo~SfNU%8wER(Jz39SR_^ct%W1O|Eq={D|wJ}_XZ z+`Xa47#4oI2-EiF);MH$4s3tYE$VKxsNu}--L|_N)nT`J&hTOt#GZlhuKR`NiM>F| zk2{^&XSq&8D*{WEVfSW^T)O+J*bX%5vK5z*6rZeEaIo}qy~Ua029M4pS;+~hI9#aU z-Haas*x=gRB;Xm^hU>BsJzMnZL@r;HO!{VK#+2RMp(mD0h<$4P1VVo;+Js8_aM+(ihGPWkZSX!}G9U{(g z(mAS+F`sh_;LI8EW_}rcXl46Vy&D5@6)poD0I`O#dN6`%fa>{qR}>slWPmPEn9vHB z&14%xtf4Z* z)lwGlB4Rt3HUXf1$$o&pD_ZYsKdvTW_9;8#*zb%BPyOLnTe3$`svF@|KZjM!2fKfG z!AU-b(#!?haRc=5kt|+qXX!%27$2u&45^4e`eA|FndvRUXl#FYt1`sF5GZqV71EfU zL7(2%WZt`9cuL_IPG$O^!A| z<0S7@yi8XFTUBol>d%v{G@=3Ft2Yni5gz+AaARynTo<7VZ-Wn{OH}pAUzeUBOplpZ zZTRa&8ivEcl?s2c4@f!1fQJ0pY%IRn-uXu@h;i|Wt~!d(iLd)xzwC!!-yeiuKW=Zn z+S;$h6~Sd5Q|{}i?B7(v65jX{D(hFkxbTt_$t*mDia5m^ZHMD{pTgK4*UhkJ@87*YcprbJ{}>I+%iXQ5?9kkZj42q_ zt?=vb(ZKEfpM$mC=={r$C#*KfCWqGEoLVjNo*eE3yV)9&8>>oC+I&_vNR2r(Krz%0~? zSpZv^Faf)W$VBS^%7XD4r9+8s&HpoQw1xnVBfaXuS;~i#75W~Qi=?5z>ww#o3qvMPX4LxS z%y}$(Yt_=We5DK z{7Aee%~XRPchdmy-CM!{CBTLXKgP2RMVFE1V>C>x&;&|`rwdQ%5!%66XU4FKkBvF} zJz{^@B&;-u6y>ja6e1V^qh@m)GTKd{l<8MV9o6ZR{|fBf=!?%^H9ZImfx&#Jl=nm7 zG>4q|W~y_fT|X*l5}L@hhL0w%UE+P#g*Rm)1S&)IR73%c*rSFJ-$WzTnUaP8{YYo} zWcj`F2t!UQO$?X^t<=GnF3}Xt=hrMUOW=QdGrda$h*q3_m@2OEBDp z#~<1d6!7c_373w187hhn68y*na7dSO%*Yo*w`<)d#$awk`q7h-!XmSAVIMJMes~(z zS6p37jl(d?l&{l1tU!K{5-kxST)}^o4%&5@`cRH?-30rafBk8hc&mXu9GFt`4VJlv zNT$n6!D#Vc`aPgi_G*3}l{V*0P;}THc54rJuPbAxkxj*I>Ny4XINZhQCYqhNGf2IYuJXWlvMhhF3U&I4 zhbL=Le4mLv3*!zPFMGmLOIqAnAa2svvaZFRF`tg=47+BZVKl<;sdeebV2EY23+5As z;K!L{&IU6~B==0lRz7AswD`UH2~st2LpVdFGf!r|z=3{YLGaNQ;8)OVFLdM#tX5~9 zQq{nu$M+>Y!A)LUqczv}G&X;sssAHP*XQ}B3?AN;-XCa+izE;Yn5iPgzmWzVE*%g29)UPQqfY7)? zE2qwr0SqG|^oJ?xmwhOSKZ8u)sEN-hh~(F$`3U4e-aRWw2YT+)!4e}lQ^w($(y}w<+|HEF1WGMC zh_HmB6Qs!#Z4#G*Qb!r~0&oPmX7B^yVU^H;9KF(wnbeDI~&CgCH&8 zQ8RE=#0N}IiZ3`;E|fZjuNXBX!vqCrA&%3DOsaw*8iqsENPTEY%Dq6rjgrLXv(ws0 zqCt1BwEwjHwD{{8>j3K2E+s+`oVTO|o?*!<1E)&=C_sHp^%y{1O^LI1_6w7u3=F(VAX7LYuw?i1O5$- zrK~4lXNG@zhIN0o>>yTbLD(>Vp}C$S9W+**Jz))Mak1hvqs0ezravIC6~x|s*a$SWsO_#m1BX|3Hwo3DHD`v`Nz;b9o%YWJ7=95=|I_8u04yOplVgc!FsT zmyS7pA9v|(<>!Ra0O>Nzw>U1f4D39gRX?F|r)NU&B`Y?gJwmjYG2>*oJq!i>=cDxg zMQM(>e0xM{Gvs3$)nEmw{EIkUaA5iNrmxt7@QFESIrmwuR$Y$ZRZ$L4^Zi<+o0A_n z`>KmEq}G4Vo%X?N%~!-VhW{NqPYBWf()@Q1rpGW#P#=oO<0>X2fik;6iMHtwVU-R` zL~D7qin~qY2)h{nBET|DmbgeZRU(yQPqX5`??spJi~yw2h&SJD2}5w5@42EH$LH34 z{c<7DGYVY3QvicRx)pj&Y5_pHm1e@Mq6jV%Hyk-HUrBLXd$+Rhf0m z?k<1acxSc^mCZPw)X8K;Tp^Cz!^(KroBOlehee?G6e78KsH9fLSDn8lmE_Mqga#R<64_>9TA2sB12V1?er z*0Fj|NUo|;*?dqs?2iNCW{Tc4eZfC5V{d~M~Ht)9w zu0HKUxP6>jxyA>|2|??fe%vd+UKtcn#Wgi14V!Jo%Ze zocSVJ%7r#?hniP1zjAHHkS*w%uFPON{BXCAMGmLcAMS4O!!Pq~JQ!1sr}atY=?lQL zr=A=Gt*i3$)3X;pa|6Eka}@)F4erl&fsTg>lCvfDVF}!(NeuxCIW{-%^%H-R2$&~d zK!@qbuZmJlFc}He>^i~~04llyul!*hbPS&RB9cY07u8unONTG&Ut^+f%4IEho(2b} znllqa$6}#E@22&kZs8f!IX@9*jZ$;t+gNJ0L~zWZd>x`vFJE7DKTR~qD>C2Wk5N;( z%h#3?;PIY_#FqO?_EW%-c=mq-?5T>>;IT7_H11jLjFUwM*FUGeAJq=|_Q(Mq+2xQr zW9J8IY8E21go1syZvw4>4Pq!Ux8Fh-R;XCl(Le1ze9t z^o-0{ir{=OTjK$YL>$KRz`#yZA#h}YFn4m8u@&Q99Zf1nuyLaS8$`QX@RFjD)2eT2G(MpP+Z242q< zIsuFD+WE+>fl_7x4yKgIC8O9qUB&R>v}AB%+f{Ii?IK`F2S50s{w9McW# zU4L^h#*JZve&-!rpXkDeBKZ73;ozBI*|8N=5qyaM6Tem>`_LJPZeH*Yvekr9(-dw! zLwDz=`UVMUaCkHBjKl>kNg$xF2Lrr*7VZ~5&7KjjKcARmA8LCsf0tI_SaBG>5e`&xU#0@$6?wQmu--@gaQCs-Luw*_75%$aQq76rST zI#Glpc9zrcvaD7vf}QY4n;sx(mEbs{H1BzuV$#liYOLMU@=7n*$2Vyq}DZ3N|{p%qkE0%{gwYiR6$OTV7ySrD&xvB~U zm#BXOqUV8-gfoS=)kntnG04>M?g`rx^c1blFWIbc4|TzEXS3$BRqU3l7AF`2g?A4Y zF`~;E3C5Zg6u54QnBnaSF93fZ9~g|CJrcwV93Cz=k(#Uu*2ED4xSWBFRRxc4T^m)X z6aGt{;Y3%hxCK?hO_Nk^Xbu*aa`=Zx17m+jp2^~*x$_4}Cn63r@6ddRR0_w;upGV? zswYWqwVq3|F`$RSmJ2(Sf2+zLdlXn+?AF>n?FHGcKu1xk-KL`{Uk^KEL;wj{ns!2? zMp^1Z5s3C zfuBl*DBj=(8&;Pz8fyW`7)=2yQ5yMm6QU=0}t`6&A}<+YMuDghX=K(exQ%Tui+{@l`c4QhWG@IEl* zyDEf1n(iV=#c^=X{_gwQ-BtazDj=zpb-aQK$swJpkT#2!Af!x^Kz-~0W?h|dWe@7D zwZw67Z7c2{Sz~y?e1lFjh@7o8dQYzi04UfpNzxi1zvNp239mK(aQyrkor}?{qrqE1 zms*N!;DOo2xxq@A$ z*H>Slfa4-X&b<<`7M1YLu3#?^tQsiMhfkjU>B%v}TT3sd7A367!B8cZP(VZ(aiokw zEAaPdG3?PLRA>Y=`7X3naxdX+Yy-R3voU_j`EPDMN$>#(`!6dW5UPJfm0D{ck&?j$ zB(bZSS>9VON{`D`KQe&7kzghcM+3MiA@U1z9x8v1ypw`2l z01hrr-Hhj496Jcp{SgBYX!huxDAt%$cKa)gt8hqA-!~2V;654oF^KiW-$@gwX?*QVX;*Ht>9cS3 zS0|a^vQi$6#6ZD*CrQrH)bf0py28O%r=#84)KVx})?O@Db()f&iBDrUWh{Srt5H%umx?TFdCS7LIz59c=FvT{p$)l2$?d_uzj_OT*2A95JQkI9;P} zBwcLii^|r4;aD)g(LLm-;0c&xc1d|n?RWxd3cVX{z!bn9_E7(Z5Pu!RHT2!PZ@-tg zZKJ^{g#_DLBjaJEQ?8YHOWzEn&3h`ztb-o zAg^*NS#sK)iMuU(e#V}U;aqY=`UHmhD=u0QuLW-V{-6#2l)@Jp}0?( zVxd%korD+43Iaj=00{00z&FX(DNg|ib~%5rPF9~4zYy(P1E)GMB_ROqPi^2s=bp@Yh)yap=zR86`h z9=eM0pa6e55_6AzfPD^=q%W_d+q)ABW9iaFaBu^^9k8eWg;KGmLpx_5}1txb$)pHzg|LSDBqtg6B;;-?H+w8;3P5Y zLl5ir8C1UgxB1rgCC#>Re|$r)Pd~xTvqo@=V9tNSA#N0J8q+23QJ33Q-&9>kwd-;b zNiT`I?L&-PhwFU`A~HQVFnT!^>CL`~D1ZpQ{tJQ86~I(HFYbVIWL5-p zNmP3bu-7i4H8+@G$1Q>0o=$BT%^^C!!1Zp-lRu@S=$% zB-tFcKl*4-5HqnVh2Sg~`RmZIcPBfuwZ3Upv zqyXP!p}Lh~6o)O=zxh{wyU`pMW~VW9R2F|MS{0;lAtI}&s0bmsq;>$fBpfX&;*;uv_tyTn9~`ID7EoE!qIH8&8yYEBs7LcBFNw+KMG=Mf(X6)l#JW7a@|cS zg-asWx+SKkxU^y%^QkO(7AueIEqX=?{-CrIHwfGZo&rPS%c6S}w^ zD-3uhlH2wetrX;P+jwFswiB>QhYo+Ctf?8k8Zr!L;7Qo#u{(A8)R`YH9S7Uim-Dtx zLp1$OI-oDyn_V%@Fz%Z}s!iqjn|zftJ<5EMkLBb&hD)TgfSFg$j^o=<5EwfP6YRKo z?DNL6g4P<=7DZl(dQqV`$KC=*+-MeZ-RDq03U8_|>h(Ti%s_wqf-rk5c}Ra4@2D{q zeW_1j=?)F)pWy4Lk6Z+~5bq_GZu%5F!aYu*V})NjDr?R`3`gAbqr$=zUumND6ikQN z6#eM%-Md3mfF8AvF$@pehd~2EGkA-n1LZJp92*peF2{d%gM}GjF@wyN)$A3A!rQ3x zj-D#10)(a)F|fxLu?~_Od;))r|MWgCVfMi0LRF>uh>LUJCe_T$z<$B`n9X@<^>g?F zO0+J|7AaPY;_KkNy|Wi@%6>buIz*N2y!{})dD6L{Q83NuQ{Wki&tWdmwW%&3&uz?N zR+YsSW)XGMN=bH+N_t%VV>|hxwv*3eCwtv$`nvqsyWAzhq&?UlD8he2Rqv{m$X3pe zf~3a&@v_GLS8a;Q#XJrk%Zn~!E<>N4$5R+|Pt`hlVQUo^IK^{rKZXTp4x-BIjicr+ zTvYZi;$rup|0!{=o5wT>9MdFl%ott-@#;K(KEQ%&Yy8@pu9(T^7s+c_hZTBVlyWSB z=@_XWW51TslT4kTJdS^w6GY~?_{)1el!#uc6$7h}g{W`pvWkw185p5{)I09nW0p9r zUH%@klu4oYj^Yg#{*dblWzm!N5keXc{Ur4g7JX!&U}b3p)PG{jMQi12FinIr$v5p| zh8O7}4OWOF4mzf?{kPYfr~mc0*Jqm_Z#VYeK$bjdwclWrIo5w(dhi)Dz=mc?`Z4wY z(zKC@rGBz?N9wj~jWsyJ>^anOVdAAgo$33bK>j*1^4D)KZ!HjA zu)QnTvzUw+CDdks@qsEGzv^@e{j@5+2F}EHyF&!As2Hucfhhl5ZfvPCe}(cm7KmDC z*CsGgFsRudTc|iBGdGGYQp#Gy^Iay69K$?2AaIASszZN_^jTfxXvx2^-tp0lyuVv! z^wbAfMKVQ-I66?g~*64%6PQ?cb8fJr)a3?Lx$~dw=`suYrx26=L6}bW5Bl;*&eqm zhXguk7KC@N7)-EjVKu3$a$;5swT9iCzOMyy8rFX;4pstqXOQ%5L_+12@P%t7r|_ym zRTxXs!kG~S9=_vZS;m{GHO`QF`E_{>c|VpQ!&p`I(@|CSF@V&w3Hp2bnfn zhJ1g$h=e9pOGfrh{nC*{JuW|sWa)K?VL93yBg6eAp`T&srI3 z1i3W#FD1zuk}b{400F1C1k5^dKubin5}=h{M7qo$fe`XwPV~Qg4Dn4+JXKnlGWti zzyG)u`((kd0B6)o{0hpeouPFXRy%d4uJk`h`7q7jCO5ETUMZDd41bBa_twzZ_k`Mq>PFjQGb@rI9vqiw4KrE$d ziNF`2@f?8VRvavYUshm!Tijjzg_RI&M+m$r0M)2FjpSK;mX`?LJ@9~HVXz6EYp~TK z0$w}zb+uCoeZ1AvVi^f5c37^vq~l_7U~VJoOXPG(%^T}UpoRLF6TnaxsDpn4#Y#XZ z87zI!6B%}iW$r%lM>g~#l{p7CuZ?g( z1i#X(5(S%Ta$T291Nk-svEV<-E-2^<|vb6NzNHbds2=b8NJ`_+MBL z+=c-W4*FTvOg0f}QN}JFc=1E_D0!%gzP3L&otz~!al2u}ZwMfki_%X%DGxdTEpeb| zzYcKX`xvKnKJH{_K^_cvGLq2H6}%bJiZ%iL4q)~!Bm9y&ccHb-SRH?1SxVy?_Zy+G zuoqXQtAuZo>?u%$VxojGhGUL5(hVxpf3r7eX5(^_jYarMg~rp*QRPTbg??|AxPZ!1 z3+@_;(4D|d#eA)r=LhHa^$ZSYn|nbXVpKCivkFc%1gN{!FKZ}k0^9Dbg$S#m?A!*lOC3LN{sT?6%6z&UYc367u2nc^++ob+_ww}0c9hGj4 z{Z`yVpRpsu0<6o32#&gbcRqBeI+eb#HaIiyfmF%PPvNjfsNDvq&+4{v{!VEdTzcTU zv;VBe4l2-F1pGLmQK{azmDyfG&HeMXc^*fSlOjS;BqK3s)$$HnKF)wwuw@kFOAc77 zd^t|7Wd?!t_wRp|4@Wb|+XSOs(EpN-%25DgR6s2nV6xdMJW8VqM3me83_dW;J0clI zNWr+(b7;W|8k`JnF!8wen;N~a6eBR}vL+!)l9YH!Ke;@fUl2C3@2~)B!(T&kCPNZo zKLDbUK>`QdQD;0waYcW8h#>*-Lx=WPu!}ziQ2XI7 z2>D4H8@crAX2##YCn=YLTs*(epm;H*G)U2r?wXw!fh3lfOOtyAX0Poi_XHm-bgZ+xFLo_7}Re{Qc4Xp4;EI{5qZD=~VN< zpUm?(@;iU!fj-K{Ex@~cjFRL>1{QqnI0C!ra9rqE!un@aMmPa6Adw$|52(N9ZR5&9 zO{Vq>T*vkc<_h~YY_Ect@gt?yER|PzXF@hJr%iDOMZ!(goHq#a8>q)?EWND|}NWsjV>$Q?RO9 z>tkXO`e+3GX}t%o!Oo=F#uX$q{Hq*k+$SNHl?}(Yd|%>CSJO_g)X7ZNtUL7qePh zJ!+y%%B-QZ$Um@Ta6-%ih8zqxsIe+0k~+~_)3tv6BIiVw*+hI*4>8}7&rVkROeUS>wtkpJ z$0Lf`5T={Ld#q=;A|9FvkG+ikwa(&ty2j`awO8z&+S?Er;okKvfI4wbVDS46F)gJ# zLD-B|z;3)gaQ8#IzB4R*4}RRYiA;YT39_rXjWbpif>q&jwP-TC9T6g}5gY=%*JiiH zabYdON|QFyM{wQjeIM5>f|d*fj5Z?nH$9lZP7RRiw8jsQQx zsXOt54FP`iXuiL-6+|+kc!Af3Ox+A#Lm)lHWW}enqt(3|YHKIwM--t?tpDt{vMKRMp^%A zG%uK62)-WlJ4;EI%nJ>YAZ;|tv)|TAL248ypoA7JaW@#5zQxrhovAluZ z)1l@TK2rUAwKS=F+fPyAQQiW$=_zq=eFlFk*su3wEs~9`E zZ4A_5$|Lq?DE`W>HgdvFXyOXsf#74)y>Y5PR}hwUgP&O+7EOGv~37aJ~w69i;#IvNjFDE&*qdQb9N8Za=ZtO4ETy1 z@Ck12oNav$2!6N)^5+6}yD{D|g?-RI6`HtStJB!NM!XGv4_l+g_UtU<(1az}R!I@R8zRzi*O#$6b2=vNwxLG=ukTFPr30 zc|2E_N#)Dsd~R6>tEY1WxYq7a(tlF=E*nc8+KxO53yDQot%bs4B9yjeKHH$?iQ;YC zrXhH$>S<#OWcMg4;mgZ;`&10s8wD$hib%1%4uW`8+9-ZNiCR*k1V-L}3ij4O-#kMX zGgbLEZWBOz`#vrP@e}WtWVj__D`{EPI(hOHdlwyE1;7H*zxqh z!@P3RD9HXUfx0hV-i<7^pGZ z{Z9th=(PGDJl~rL3_sX()?JS#yuH_I~kwMCuUf3w3LD^BXG21C1IY2Gp;oTU6SCf~A_%#I z%dEiMVUy1&8!lCm3hiLTR1lkAfz>Ok1(_h zn^uoaJMHGh0=7s-A(<_5@u;`I*lIsW5dKdWP-JM17=VD1=%A+y@KOStMOhs`z8T&& zKfW2@B>HxYfJ8lwz88Ge4b%J1d0o*PVRm;5)8v)#)vh&Rc`H83C*v$ppsL?2&9>re zl~Z!+GtUu!=}J=)AgyHN`G006{w1z4FTSYR)ZQ__E}>h!|9F!r0{&WFI#FI(2C zJu8Z<8~QTe;QoAY?OwBwGnXV6Z}7Un1pEbrTu$M%f_z(II7s41ge2+d)em8utsTIu z@b%N*fBg;qo$TS_>9ao?i4SU`Xf1}(a_@^BXrSzWj~kgnJdN3VDLkP4jW2c@_v9{t ziEvT`*#ZkAq=|6CHSWm)(Z+5QP*E>k-B1w(bEpYN1g7cUs`JOegag4{xAp;uRzp4BN5dpD1)`l)m?QY36ep6cGo56e zsdl|Zcy$(A`!I&eshrZVw@dEAD3`*M>J+#pG6CK2#@ zqD2aOZ%FH#`J?In9DQTA!E;dCuy_<3Rw;$ep>@US7=1XM@0mL}dTl_bMQdzQSWh3!+bzSNDXVaCQ{Tv4Xckz+dne)TCTS-THld`M%Q9DIy zV4#&v#D`9d+V&|O6jaWc;GI%$qMvkTKUBF~r1dIcP}!ML1!7Ycl3mu%eh$sEz9WAH zJ%sgxOGIwbU!@-w|FBN@+OU8{@3pVtRFx0;pFz0q>lPBMP_nuqj`E_TK$EYj~TCj6lVR!rKo9g#CF#YpSv6DOA4+u1cEhX-N zRV8)yS^?TIBHK_5IY*9Ex2pudF_B1;9lNU#{zlL1)lK$H6g^>yR+#S7FbR!+hO)UP z3@G6B${<1LA@qobsnm_j)Dl`4vCa%sO-)z5vYavb{ zMz6L>^)sjco#5J#Y{Q-)LY{ktSJ*M#ayRi(sfM-C7+CS*5krm*d$J84R>sBe-J23E z^ZG4z%?YPc^3^6>r5d-tY3##)0kslyIa2n!${hn_0=FzscP!qPbaqtq6OOycfw;uc zX+%)xA^`VB=U^0=@j$DjuA9LH6CQq~fW&U9e(o9TST^&4=`=7H(>lq7v%wF5EcaUyhEcFNjBHvUN0VjI;@{wef9j?@NyG< zuTBvtG6Hte7b+!bmG0Nz#u9tH%HU3UXXi zfGm_;H4F2A08jayW?9tYrSeUIYfdnWas(r|v=YBL7C{O@p>)ii;?)i7$f5!nBf`1km#pGKjf}jk|j}|epQ4APf1cptzjEY|o$*UdV z8AOxrIuviiGbu@mW1{VpgX8w$7vX?U^93|PqSho|(p&kHPb_{I3qiT);mQ8u01^E( zzky>?=2P;tc{&E4o*(TID8#VAu&9Wuq@cJO`ZJv>MKVTz3ae&1xknpa9DxIHIKI;6%Is@{G3y^3=BRHZN{HCq!7jn)I6xX$YSTMt;Vy>rda0 zu&JS#1;^W4-cXWSUA`)#9GO)V@>oeIjH2NjRwi7gtZYgP6bdv^8 zaaS+gM;2=5 zbaSnL;;pr&E)^(JzyEiPbv0%0HW5pr5hPgS27g{Bo}g*hj8I8Aywd_F6c1NXD=i&qIq+%xWIrE>lNTtEH&M9CExlD3xU%oc2Q1M z62c&wz9vzgy&bRl!Ff2um9}Z#Fo1XOv^8tuoK|5*8MYXUR7_6d_*P7`Q<12A`9j?| zWBK&PlC+kWFHJ8g;GL<~77#c%N$CWC6{j|lon~vcq--Inq+oX@*r_g-0RAKeGXS6^ zDJ?5ml3G%>yVJ}IcLv$x(^p}mDH?ibxc zEiM@oKa(f#-o3pFcgPkdcLN>0y4)>BCJOF%c6Z-@J^>^J zLwF^GUMt!1+P5I~`iO<&E3hb7Q;e<`1#La3xymci5s`!zP8)oKjR_m)2Ubs9=iZ7YyOGa;lQ%*hw(f0nx3>`DQc= z-Fbfe^sh&I6^)9(<;XFVeR24I{F~=5(oc-W-J%ywReYc9T@^&5EX~tmVZ(d3>AG)) ziI7nz)9+Pj_0|9Mw3u_VqT-lurJU3EmJHalGl?6+n)V(=ut8p#txX(D_j)=VUvy>) zpj@=Eq>DcG3taL>L$x-F0Eth{Aenw(8OR+@_?UL7Oz}k>ktH)8`Z0lj8vrVi>MA_|Dw~@fJkv4owib8y#gt0s_fqg7b9D4_)rSnB>?w&`RCn0zFB^Mh`$G zlLlqwFo(_(GAx(uJ8883P@4xzLiM`6bM*$2Z8EB?~ zp0+3@3i5ojk3m{-e=7{z{uz#OE*98Ay7gL<=H|_C*6pbw?2UeZv=DN)f&fZZ4tGG} zIE69NRy|E6c;q#(OsGAL)%})G5xUXVOp1?e-;F?iNlZ^R-*QZq8!%|phOWXNM}lm3*_i7HbWipLvxdME!vcKQ_}B5C4{8z9Sf|I z?K!b~&M<;Q+3$*fEe~(vV1>7n)14eJ>aJuBLo$C)03|;-Nd=+IUn3&r2PbG)kokL0 zdGmvl1S>vqj`H`u%)rTh)K91y)}O_9#3EQ$(ybX9N)!OBk)(}P3MIDp((Wz5I<9#9Y3Ld9r7~w z*pwGOb{?Tws+00IRU!RcL3Iz%9EXDT#scfiWe6w)K*szu-OaUScTG8~J^E5mq@{B(wmx>(gYVLO?;G z_yJG^_Ff+D+p%UeK+ht|Wt4jY!HQRp1ji~UEPai5 zoW{M=mprtmC38G7d`7aB1dOno?qbH&^&qt)&||RTiZ(;Tc*aHv*V$^Dtsi0F7^b{5 zhVzX=YT@KV=rF<=qZgjWuTfnMkX8WVDJDC|omh(NDg4V4W&=>~C@zU@lz)T32T~oy zhJKNMJTc)Za}>_p@^{-d+v?qmyZU4M+7C?qZM$E5T@!I2rNQV8sQv+=?T{51ziJ#y z4*^E=r(&kg6cfegHB(wtjSBL=0FH=5asTBgb{h?u$6%Yq+r;u?d*p`>P@R=H+dst# zFI=CO08s^9Ezv$)i_>*2?ni30ZQ+!d5nfn-HEp{l6@OHgL64QBG#^eEo%jxwqN-PR<13=&gm)?>vrn_4a1M*KE-;OM zRDBW9#L~`qDbPu=52}@Ap>MKQ%+3RSs-$hf%prIB>H zhbyYBg|-o*qfGs)d$SVNlf$URZg_BiS0^Nhp18?_46{fHICMH_@_}&oJ}txkvJn3G zfdG1zEjYHNz1xmMxh*C`L%J=x+T^)eaibEyO8?cX{PqNmRZ#wm1&B#RCH{`VXzEL+ zIjU1%eCXGIeFH0sEQTK79TZo(t#N*cTa!MjF;(m*uh7ved3Z9#HUg-~>I0>J=BUZ0SDzp4UyFh5EWizuwe-8)nQ0r^=0SEd_NnXhNWjm&ZJ3(Mux$)#xbB#+>w)IcVngj?Ny^@8V z10N?pFbhmy=XVhbiV_HA!?j8!jcY@h2!M(nr1C*wx{aLS3+$?0S>FhMzINQHyn?GQ z=9V~$%I9khy1*4{zxIQj$2$X`SS8mcs3Ma5aAvYfY>_V*p7Q8*Odb@d)xuM3M2?LJr=^0 zUSBJ4ldHZul7l3gH$Xgpjj=Dpun5Hk`0#?8QhLeNkDnMQI?aOv`JMTo>E|-U?$6<7 zO(N{_@Istu$vy$TY>2K&yIUmOs^9cdVWIaS+~X$g1>0VHgl;G4*7j1|IqFKcgDGE8 zzTo*Ml(QA(9Do8~0xyh}%R1TGLQ=F14@i+dC>GH-G4LVjCYx`6p1*ty61#ZEj$0^# zY_x%-0p?a2Y$E=LZE=mCFDBo?Cvh|<%Pg5F2JOdA0){}*Q1aASYH+)>5@?XY-Q!~d z@}$_#4x2pK7(QxG8aF~Js3UdI1Z}NcbDzg6lg-0cdvfdBX>^O!jRq#6>y<0=4YCb_ z(wZvZ(w$Nxj8c4m=8&=13GH-*zlCp9f?6E}-Ey47fUDj=sGGU)R$hwmTr$QwTK(K(}j-+OjFLiAMaLimgFz0Z9SwS&j2bi3c zkXyPs!;4s`t8g#Xj$xWn_bM^AN{BekDjbSj$-^^zcbgQ8u8d)R$NhTRO<~JwIOOS| z4k>-54}-vz(w0sHi^qq4^2&u=u*8KWw@n8Fsdzkpzq+C$VWr{opyYQ_SWL7H&4YsN zw!)z66v6uuh!UxSDLRr77B&fTse=vh1p(h9-5(@DEN~Oi;bzodr3X2Or`gFU+W;om zKiHtdAU9>yiAN1hrD8OH@`*|2OMIu~rTo;0b}K$WVz+oX1a4TxV~aSMmd5C48<_Dp z->{{B#kXjgzE{E>lyLt`?8&~xD#Z8~9o*Dhc;Q*%8Z*si!~OXbtnP5qp29H50F2J* z^b9&G^ja?tZjQ|6Qg(Jv6z$YjQuQJZ;er_eZqYyEw!gfBmO?RV*Ujl2>t?{>n%AzI z^E=ng2-{_{O?C%&&uGl9NL%Lfx&ye2Fq#2>d!fu>Rl`DK?_9>-aK*7XcMZaV96p3t zt;!@&*~#9yHO~c=Hen&~$hSX;KF1prBwCB$t34G#@w&Qs!o_vr&A>2>WgLflLd9XBR*y=tA)N8|k| z0rKXUhOiIx@dulITmclXJ>xZgY>omjWw8)E2YC(M`IjjR^Uh0CS(fNpWyL@o%4$VW z?vkj4gS%wJB9OC0iU9vM{Pyhm!?W*yc=m{qc_C4@QN>I`Z~L3O{m)|Gg{|p##HWeP z7Mu-9oRR^Jo$j`-w`a}%b_XbHIV2b!_3?-=_``_ab;_^!0v_csTc`Ypp9DX|q*#!` zNzp>F81z^wRHWhNv}x)zmy9sT+hA`r;?$KM*Sm<^fT-+~oz z4gx@M|AF=ojDH~eBhw$=x4p$>`?vmc(0<@QhwYOtmhCP6KgeTk-yqWVExeh%VmPAR zarl2kRtGkc5yrmzS2*#W2C$ufKI=SdrvKQC&4+%fc9pR6Nhv}?W4RuN>t66Ne5D(1 z%BPZV0T>04iSrkn{uUu~>u@0`uuP$73%Gf*)jpH5l<)68Y@$J%aIlw(n~4^k;XP}f zvRfO3=oCCRbX*I4JwjjW$tRz|hAE+hc!u7e`!jsUPXyny;yZqVXYsp#GsbSm{_sA4 zKnR36MuSu?vDvem(FUDX^ta932hse{Z*_qycHLS4bW}vc@a?PVHR<8S@HKekEG)r! zEf@;SO|;v*Y)`hyJAS#@1NZdh=1@!-$LQ&!HsmJEEn{#kcDKMT4aC!nNPZK#)e=2y zw=T9P%_r@1{D0CuR4o91)FyA*PyBbL{Mnc*)$u_SUFohLJ}|pmC&>TJS@W~}L3t>A zCPM+uR7jwO1X@U77ego?cMs3pF=~C3Y)cbn4M|~&B8*vtkTjGQHbQaIY~W2BBY0m% zM4>QK6lN@i3Dq$uw{lvokXFmmDkOH?gqy657|sv(67X%Clcv;vyeGp#I)S`BnK8P}-u8q)0I3e)4goeUdg3cbyW2TI9 zR-|m*yS&Xdj<=>s+DBXCm^Qt<@pe!huhADW=R>L3*g&+(L1 z3eT5S7p0KW)KvL@LAlDmXnD{?u!|;&ZJj9qadNq+27ZD&lu!VbrkQU$OEv{#j|`Rq zp&B-Z;FsTieA7Su?2J%%{nO9SfOZ%3tWNvke&YAIi<}5a6En3yZt`0zjz!DkNejQ*Rk~8jIzBfPyWQ?=cJ63MIpNXkIeh zutfQ*R5HHr54B|cr6uDpEm=h(xwJhe0Ld%@Pv5e+qkkEdhOi1D_JZm|I5Xv{Y^kv~ zLYI>81Jqc|HQXaSYGWIOrl?uC`B}w_pC>Pl_+&0W4bm|CeD`6+_q+dImD6rjR=Xju zzk-14Jl*Yo`*1b4Jnau}NHin9KvO}-_qH;Noy8AAsd>0g2F@h{2dHPIP!e`T-j@@wBLJFQJ;R1 zJ>u5XKB3!G?OYGB5}hW``Z;uB^MKmAsQfzp)PYTZl7oYt#uoIN94~e3Q|N&qregmz z2ApZzKgVyCX1L3pRJ@NXa<)w=gvO^aq3{m4V)euDEPg+gPfbUdtsu6Jan=@K+)I_s z6^pG0pINAbO9=HlUBt~|(h8{fLMu)g?1HU_XvLc@TLS;F;FW39f$Xsk%6C`pYgrAm?()+uzX zNY>z{ldN2I#ljqi?36i=pO75b)UVbL$fn%potPRH9!$ik1MfOpA@A?G1&(n{O~6 ztpko!I(e=Ok~@g9Ah#)x+9JBJtANjt$|Si%Sq;T?QAi^oGKVxEIVht;8k8g=wPPBY z)*77tsj^tR_{wfqRFfjf$94N*Sjo_T5Ssn+G^7@u7aii3mXwncUzO@#ENgtv+%Jr+0Pw36#pxk8aGVSR{WQ7T zZNT=3d0ATVEGz_zEhH|aCkA@(#FDj;U2U|!Gxl+S%IY7;4u8^lv!_2sR|yHu!wM1{ z%#4Ht2LlntDE>f}iMp`BT)|m?wp7A{H~?h6F>DSn#xl7*wpo%SF=eYrsF($#JxO1UkbT`UHFxI+_TxC4cB zMD>9$Zapw786N=JY(!;(?sgNt9rIr&?ubf{3q~YEa?2t!iUM~ zT-2eiOF9(r^JArAim zoi8)EM9MUoQP@~cK>z3*w08Geu)Pl3r#%v~^pKh^-sT<|56J0pEn{}lylkGIwFmno z=qTyi;5-dZ_$% z!5#$AQ7H2KKP(<_N7WE=grF5Y4}$$eCjA-E70nbWH?XIFz+b==;s^)gR$9P(F<5Qd zBLLgT#-O1h&R65$$k{g{ui6+Z$^49R7?SmLjtPq2&Z!385pyra>L`fA@kcj0D4=EK zL{{>IO;M3o_Y*ZIz^p+yy@4OEUZ*E9G}X-Ut$I6A57xagh7t}*m@pW{@%O9Y%r zV^$}mj>|TH0UntF0OjB$D2L9sY*u31`AbMfJt)*7Z$)%!c#{w;o8X(z`gZg zyocsMf#3|+);nD|8OIlcF39fvkMH4pkqcIw&gDQQCS^^Lpd<@+f?aFMN6;IhaGPy) z9zO;m96D-rhE5jjS(K#j#*z`bw-0D+9Cq(@+N0Kgt``YrO+t8_%4uV1FGxZdD~!0k zU?B&NR#Q%RCA@dZchMd@gPGV<3C3cl;NdRP7qJa zXfG9iA~kZ_!?2L5#uvWA?sq^vWg*r0Xrue6jo|gcqc)I3xmy}O#xMRDJnlC58pUo` zbvfMaF(|mO*1Cnv+DDzeN zKO)S%@370;=i<43oyIF-DELUJiWZmqRTw~O%>GySOzYv?{7EPC%((Q3pU*j-* z`UTTlK_&n5Ze>z`nB@SN0f~J_%|s4(X@AXI9L6C1%Xtq+4ZVP&TK>Z3DSsF6`K9}b zUS00PJcu2T121a5U#2o$rUWc?YN^V=fL!w;4bR&sId6EPV;< z(Ooc*rEg$iS_PxA^c^fw0-ty%4r1uu0uZ7)!3Hcuv~M=NOde10Mqq@?-U=gs%HF)h zo5og=y=Ox*m_A9b{ict!BE}2`d7nHHaGZQTIHcDYyh8=+T_4l5N$=Bms~Wn=aPSa` z%#oELD~49E8*6CPaPMjFackFoQ7|PP7>CD?_VbV)9ae?lp+YE01bP5)myWz~Ewh^% zbQW#H3RjT4I`wwi zNDJQBPKvDOMFz5<53B-zbQ!oQY8hzEW-`|iKEdE!>XW#b1wTPFS_r<~z5jWLwL$5n zH52ok4Z`gQTd;JpJupJC<1qS4*iXXoj>%C6?0`ZeFh9VY!3bci4(d%!?h0pNe=qA;SU!J zQo=}%ADn#s^ze_*j*gGhkK$e+fF*~Ji>Fr%8PJlXXulDE8Y|!Uy;=!pxmW{t;3*+3 zSC!noRDKHFa-jgFzEs%birmvTL%XdAuw2YE>IG$WyS@On)>P}>#m^Wz=>Z2QW$u=< z!CkGR^s4&reh8N?A#`Gb3UCGS%tZ$A&7h(KH<%E0w`>Ej2GE$WV2vE#SJfmOO!#rX zlp(m8T&{wD_?z~J?JTN5fDtqF^TGfZ`*IZ=VAGEfU5HgM=zbePb(ZR%cLk>kD)h=~ zDACslbVYZdqUCskwv9;4I0Up#cujESng&h)Sp%eUdJnSiXKl-;&;FQ<@1LV3!}cJy zX52CKwYBbsE{`=UO7%+Qa$0<#8bj*c=x$0`lp1G$XL}m%nCDi8T`Qr*Ca74|&~ElF zs>d1?an*_t%I}lhZsWEB1~JFAEx(}c0BfK$@0SqbIaIX?!yQm%@CAuKl_ereH+f<$ zD=C(7TI;vE5oMZV#v1_AMn|DTxJEErnlw|a)b*19aa23XEa;vVlmgo6Pejg+8~v3r zv|%oP(9m=?j(Sl!NVezxQQr>gQMJ9uRdy&wjkdbh`nz7RgGy}Cd4^CP(O%O+X!!yD zi0zD7X#PZoH37i43^X00!@~bC<=0wd2t?I;INt#j93{3NkVLc&$I~3=$j!A(@kB*% z%a%69(Xydvh+A~NL^Il0;Smb^@7=q!6&*l-xU|c#VPfCM@sLCIQ4mi4ClO zef=meFri@cm>ugZiwOqd5&iRKl_9ur%FtKDfvhqV7q9SZJE;lT-kRw!AV`D;3@p+* zhMZ&BOn4Yz8wO!l+Gaz=C~wO9u#fuv)r?KlHLma4{S&)`!%#scCy+-iFV7lQc252G z-^C;2J5pT@B-AZ&In1ZE;ZTkQE8t3h$DND5V|T6t5vur-A)rn=vmXL#5_*K=tOUXh zQtJpBc?VU%`m-uX`=aV|uJ@gAJSdjqJAf_%-!fgUtE%nj&uciXK)LZ!HKb|Hq>6#N zb&@>C!YK)Kv&5M|$Nu0ipPPEC^=qDjMq0{2jg&B`dIcK6A8}Aw17X^~O+Jc$!0XQG zkuBgW?5Z$kQ&Gl533{}{A(@uv7t3jvIjtkyrE$ZZ)>4e)cqk<&Pl=7o*0TlR{$#~B zEi9P4RDzkjeL=+e%yC$se;S{|ux(p^TxFVrySYTDqe{d>s6wKx+;Zmo^iYpvre1*z4MM4vgcjc*kID8*R9hzcXGcQ zy(w)DT!ka>H`F?Z9tzr@H<>)m46y|sf>lipVV$Qu+51Qrf%i1;)}(`>Uvh0&s1_X{ zq;_uCe@NDapt~wSSD82XVf#*Qc57K>sHi2K^&P1ty=js@qt6lS4 zUAX6JkDjZ+n*@=4oBgdB9Mv{<;g7j_z17(lXcpqJe0BzhY6E8BA2>n}G8B@89uGs|Q6HC@;T_9wO_%EAgX(aydoJiCa8}Tp>JS@C=|}rTTKCK<-ch z-T>a}Enux&hj|0Uxwn9S_SE{0y}q#e%4V{Xt-!ova*`f+SqT_hO2`96ZwOz$$3UUX zSyBFuQo*5b-y}>O-_0;Atvw9P+Luk5FW@EceqZQ{-UH?=m^{(QqTqtYW)9{T5g{ui zCCGwrt}!eZ(C6n_{^H45oi*jXD-+-5Mx!(Z<8R3wLDatnU8h}t*`yP_xU^FL5wt4( ztZ3l`;LEk1Z8pQ6rs#iC+Tm2Wn$+%jXr5^9HW3?n_l_rbk*M1F6pWL1Y=d|Pm+e0C zl9!I(#O`C8i*Hk2vHUZ!6d-;!t#P$5EHx#tBUda=C ziM>3`KiKQLDTlj%!Pth?eT^E_m<|dh%a6xb89-&11L)|Zt8+8+1;?5S@2Ki25w`y| zo>4yqob*`%ob-Pdot|PaA;LjG;VvU8;yE!kFU$Z9i>waay`u=Vd6VRC(8h!$WgVs64=N!q z;4};n;CS~Dn{WrfYu66BD!^P3aYi7mHcWWCP5SoZDsy$?^Lj{EDl|2auBHLXQ8(fw z3hJM@ZtLxTl*NEP`w>nWWswLccikoZ`Q@V!8hZ(Kt6`YmSWf{|acN`%Z})b|EpW-W z+(BczX9|+sLg))$8Sg&9ADyO)^xo3BPy;=NPVahNgHtV(}j#1`%~@BE-zp70ALw_~<1Z_nHeS~W}eaZndQ4v>zRzH&Ui@yqrhJ6<;8tZe5w2tC` ztUUSK0McUNl<7c{PlfMr`?K#9KkvkpQcsJliB&1G4F#yZ1D-3o!hj&Kp9qI<@RC(N zY_%d+zkb7>uILmD!3e$`<=1^XLcC7o&jm!;**_6bQx%=Dk!G0Ii>H+L(5$nd1WUe1 z9A+NKU^jF*rte^LPXEdRF+2*y{^|&SN09wt0U`F+DEn)eJoxN%|Lxnocc%y2@4nf8 z+x{#MpK^$QK&BIKPTSlL@HNarD7IjS#GgWLgw28`+x&0PXe4g5N$_kj!;Vu<(oTa5 z;y6kGwc3}Ea{K{fi={J7@U%e3`7Zs2r?0#2$n7Z<% zSk-l=DkSSQ)-}5UHbHn!L(t;0fJCqQQbq-2amWo@yKn%A;EC2oNh?+sPKb2Y$XaYX zc8fNt3#4em7C=&b{@V_8&;0~{#b+o;_I_+Dr)TxbPvC!&cIg1*9*=ldLPmZTFHOh= znB2y)BJSgW$ple?RVIRjuqiwQ-ONH^y=sEvM^Nn8oCK~Z=B+JCaI6qFCuD*MOBC}3 z;qH%o{$T@9CIE9IT%n4k$p^_$Mt^3Vkch7O4k>M=Y|LXpo-rQOiSep`YoAPD+TcBW z(kr!Sftt8Ul?Ac#VV>4PJ(Ex06&9+iP&Hqz>Xtb*DEE+_;BN>ad`&;h#fj$hAH} z=kwrd$7#Wj2KiW6+00dEh=2lgb};$=T2r=`v9u*HEpsyc&JbCsctN}N6-OQW55dir z3{TpOLrHCpaSUvA0Wrbw;DE7BPcOY*{aZ|9_lH1nOL$x6*UQc?zZ$@51^9GJj?|Th zJ`b5N+jI-BFA#^eRGn9fpT0D`dE3@z2r zP|502E~A{aMZu!?+@Au-LeglM4`J+H111{#jSUNxVr5u=DOT=@4GW!s^iATdM zdQu=XGp_}SWRvZWMVaeVOLVj(HB0@FguWlx=(vF&?z8f6F)%eBqsCzAb0*dKimZ7G z!K+0kug}LNe^!M`)?1$^!?J>*8@<4h0z)@^0sbue+a7&Ynk(tU_Rtq;O}rewP+jJq zL(Rg+(-*6Mzwu?LGn$gO^sB6nSxeXEOyafBw=9nLllMaB#(LE?XD#$Jhrnz9PF7>Knn5@E&VrPi)Eb2%0E`=Y&h=D77_HUQ{YcpVfpazeFqf?zh|EsWpBFKc41fi=; zg2>Y!A7i$U0&pD)dJZw?007(VhKBhFa40*90EdH0lHNRo0Pj>Hz)hG&#OFHGonkHce>R8 zRHa+Z<-MkQuY_2hw^_WJkc&V|f-4F@%X7(=#aEc!Z^&i-e6qEL)K`xIOo!g=JB}5y=;&&%tys*_Fm2GKHtpU}ILj{|zR& zFZK9_1fuy)I!*Q z{THiK$R^lnu5K_0>>r$9dL7KYd_c)bLi0fo>xgwRrZt}DcRH|lLPXLIBAx8sxhGif zb#O$8z_m>(SV@)u2GnrY36@V#^tlToFVsG7=GiJ~7R!}K4Y^+H$f@ZW-X(~jZ34Cn_*Poclbd84fsa|ev!+6&Cc8s;ZpjICDbO*LzL)P1d;m?Y{Tz;v0JdRR-?5~{g zAg`8yl2l15EVd9u8rqCGfXv;ix~tL~K^+P^{IBbD>OJ7U)A@m=Zu7(A_iCJr(OV{^ zI2A_W3n2OB;>zSOXrN2JkcN8Q>lJ$f3W%-}Oc$eh_{+QP zznvZ)?fnp#-F1$~-GO5eCS!7c`QbtSWLmTmGsW0mqc)e1@X zXylxO;S0pZ8R)JK(f4bAv3TDd3%tuiU*_;Crq7)FwP*3iJqQK5?jxOzh5;l&; zv@v40RRIp^MPERJM*r%s$VqJ>_)DOaiQPY?TVYb1ij3u+lQ_?RI|gH9F>$nkOF_-* zNf%<;UOb!~BJv2pjy?GrX*VQGvsA0DGfR2n3Mp>En+hg6tlO0^d6PWM)*LWeTZ53G z^>usQ;ILkwkVn}w4u)jJmamKyelk`e?{H1tTPY+Do66&)T3G@s$!6_#B$$Deef^7= z`_{hi*~Fy|fdj*T>VOai3}!`w_2ex&+2_=XZqO8-=8zp9od6wkw@?^F4EOrhoT4Ry zM1;2oi<(}(ki0c?WTuZ5LvF8seKuSDGPo$~8j{ihb|iI9 zDmHgA2kw(%13Y3!aRgH+J2FnRzz-?EVk^n1m^3%mTn#SDQjznPe@K)VH$W1~q zn=GxopC;{p4$=ZPbAgOMs1afox14-g)zpF{) zLmKO(6>;@JYe=$2>%|a)A5ubeUJo?6wP{xtvz#V>5%w%+on{AF&JbvJ(@2_0t9VE{ zh}OhB%aTnvBomHF1Fc=lIP--x5uw(3^+F${$A#Qzj2su$QV@g!l@d^|)9zI#0sT(k zLt0hnhO-xF1wytkOS z>5lY&$076!%UU(f(PcSHs3m)dIYFO~pj~cg+Y?n1ph=s&F$XAe(u8J3apP*`(789! z10&>Q4jZD&Xn;4Az0gCIikkwI>G`{XO+v=$*NgT_`CTkVWqDiWinDbMAECb=G06jp$zqNIwu(8yLNHCqH5zW6q ziB{gXRBgs_iDcUO}2ZTm3r_3W$ z%HTi6Way01lk8f^ZYAm4nrFx(htzW!c{R9joWo}~&9TYsvrIq5a%82qxYR+Sy#8`yxIA0LojtpQ>jh%#tZ+-<>EEy~=m)y?fuR@OUB+ju zX!%T5G~p$siVG9`j|$J* zP9im6n6_16q|uKjHh&;g%jTa%UWzDzNG_H_d2OCZ*##^{v+Eo%;F`A#b96*VZGEBw z6=qZPA{%MgvimOpnrTm8AoUqWV-0^{G}c}eXJ7W7k0D;ii+Ej1;oBTblu?{t#joOV ze|!$_@%3|lkDo1kl~bqYvsztDAt^@+kXaNyO(FLQlTqhMvCfzyitAPWI&7bXL|5mH zLs2yEY>JfAE*4K&XN>GVLm)SVW+q%&5R|{C7gWmNea3u)XUJ=leL^e0SCJxqsd0$3 zl#8CEYEQ)1$!-&gF`KvV(b^zoUpA4^e|xVw3pt+W={hKb`|Zy+_Fo@v>?g^z#gHuh1&rO%LkBUJ0eZc^FsZ=T`gao7&={b%_68BQ~^ z^kjK~X#KPIvQzA}H}|%-#HnI)KV&JsXpH7O6*&Dg5MND!o>M7}NpU6d)Kt5fe=OED z*}woJJY_tfM~HH@WkiA3%iv_S)VT%Q;^;rHKB%5=olG@t2Q)+f)p_3vSD_^NeUO+F zG#q%fG~ZrGJD*sIx?rZT@169QQSdTCLRQvkKF5D2D2OQ7LVRmQ%F%MR*d+Q*N260z zUlRKkrcF%w_c=4S`M{1|50U*3e_BCRM&=HvxSIG6CK#-(aRF$ex(+i+LwRII=~(&~ zm8Dx>Swen}Jd(P_)c_U^=p5CVo2jQH@6pgbAQ4#m${0El`!f0)iVE|)&XCPiGPO{T zhEt9C2IZP$leKFg5|eA|@0Y`KU>TEZpS{QK7@k{cvoyKQpU}%|lg?Gye?(m)Dw#%& z4H=2RbqfQ;*&opBhwKAn#~8BR zZOlUaLTm90*JAKojvZ4IvAZ`4-?pj^!s!5NXEs2kn(2v$?e(GsgV zld2Ap{*P6~=v!5JMXQQye^%9isVg2Z#GS9F0!bx-IeMk11K-BQ6~W68d>l_Zsg=gG zqzot75-Vc?Q{fNLrs8LJ@z7v3Z$m*tEx*9)h8L!OWu2IDk07e`G9Z8e@9rC;Sg? zauOCbiVl?ymcRny{T#CiqAC6H;i?0`-fbh~$`q@MA3xF#Ks;XI3hcd$AJ`-HacM<_ zd@j3V(%sl+5UgU?@0?8u`IiZovaV?5#sRl_M2Vc6m=OLjnH7gF9*@a4;c#bqjTI4qwpq1z^l%h2gKZp_HN zhMdRx&lUc8fBDNV7yKuZsA#vIdbgexyVcHFjZ-=4Qr|h%j`bU7;l|nj^sap%^t4K$ z7>6v?nE&vnGE2O=RIwPMLxE|rk=)o-jdpub?BTBW@T`8~cGdb-oVb$OA1Ff2O>LQt ztyTjZa$Q&Hych(v$L*&`WnNrDJ+H}S-B|ac{XQS-f6H(KDU&CV1540^CJ+Qm?OC9< zRbj#Yfv|YQR45M>q3^#%+o&;tS9A8vtznfl{I}GaPVHjFsk=XZW}7u0G(u*Dzr6`o zc+fCalHfQNiOmuY3P7sI$h2xfktG0|CaYSw2CvWpxwvpRXpwx(Gsj{U8MCXM90J4J zTDYW#e~IJ*=N>T3$Z|Snvk~8r+@SJWz5`qqh};MG2L+KbpoXid8s7noyf97WcK{h# zGPqpc9dNXEhJq#XV9^?4D(72D6O7*CxKvSQB&SFMB`sh$WP(ppdSBn=Ij6ztSeI=Y z*`bQbt8?&_5+^;F_ZXijWIR6o8KeK7plaBjf84-E`Hr(N#7NIe9*m+qZSWKF1NN#p1AV{wUvZ_ULrI?&{@j0^PC^1p%E zf47!>7S=9W-eG``mUAHNyGDJ8&DN+7do?_?mkAH;dB#I~HHU}xVlEFY2CvLOtGRT{ zq>rsP)XSU!wvA7)B~&reUN|G|sDhDpSjk8WyCwfq#YoGRDkJSxnUR*Jw@2YT2XokB z2lZ^R&A}t`(j|;I7R)nHV*$?0Rf*}+e-|uOWnkHfWv44HKJ!`4VJYg*RC@X?3KYJW3RtvMty1yvToQ%{NGV6r0mx=aA(%|vF@VhgZI=B*S!IycYZ zd=Xm9lZ#WdkBMMOY@`4yPQ9zKF%;+XxN8$eflOupUHEGmrM}e|GU^a9wN$`{hAN!L zXxqno2I0l4a~N%zA1}#wW{kE;f3HLiV2u*cZeV1`6FG17d0gKCD-J`*0(+%hGhw7+Z)FUhJZ-`bwp$po&zyQ|JE+%T0N3-4O%uR!)TzU~hX(T}aQFYcYeRiX5PymR0*yjO5N!d5UApJ!+D<<`p<_!kI7 z+5%dzwZ78v92x+>VPD_Be~xZQV$z`K$baaE4FB3?#jL?vVKlTw5L(XeH+5uqbai*( zdFa0Wa-$oNvj9~zR=Ud|HeX)*V(~w|B>2Ffv+GN<_k>QwKj{glZhF!f69@x{N@w|U z@x2(~+_hw;lNG1Vd=78l?@~)ta`_LdBowqFh!U7-gvo+~MYj|i3qG5Y%2~HyUXL-5;%ToFzi<`#cCMTeXSy@}b&zF`3 z3O;%B>37qN0r^MnhWOKO_3*p*8lT$e#U8zE^ZPxRVkak;(qreGvWxD8maoC@08?zw z@2-9NDIR8(`6N8ge{0Q)6%_9I0nQQaDvvOyRD6X0Ip4&c#;^?r0I~du9apXdyZU(< z1ajIw>A^b$L;3~E>j4XM*uEP~zD2r3FyEU*l7t)F_e61gc@G|aK~Wqkx@|AP#~c$M z(_KVWkGY|=+ki6cwT}%`v$wT}9g2l-9Xb`&8LnB$!&Y*2f7lAwv#XvNVb_xwLiA6? zy-v$A&g&*_6XauolNxI_syg9PtJS&_HBE%yxrVK ze;sXHwQn(k`_dCT7|jEWCi`P!!zaSATVJK7z^O=00UJ&~cAS6gIDYKM_6|PwUHbqZ zJJpW=uKAZZoVfn2Uxuq*>8@_DJ ziXdmue{aj^v)FSs!}jA~U9KRbob=&xk3Z0r`$E2B~eua_57L%5#_@NEyZvFg~BF zBI@?D=istW?LQuWRDu>wq`$!~u)fs6Pt1bJf97Ts&6ei{30{I=K5aKH2m)PN4^IIt z28h^1AY!AFi>1l(*?aBNJ}ioj(`Af{ys-$LCYzL+{4T4@`YQyS0n-Q`I zf8&&JSOD8pgiBhOxJ@46_YwNzD86;uzF0n5=}Mq@WMEqpf{`8pxRN@xZ*?HeQMy{J9bp8JOrP)cC&<87rV8lX_nuDd| z=I(O)*tO2>_BpDrJt?k$#@>tF#f__zf9?0n%bv2CKrNq9B;XH|wzeZJ_J#Xce-TlW zC@jorFG+|+y`(T=O41`E1~1UnO~0o_Pd7K=npW$h;NJ!iJ+ZG9urkgeXQ2-f*2jF3 z{gct_*X!?L5e#w#;3Fc*^lyl$0sgkGnY7nmy?Ox;aH2@nd`3!d@V|I?DPRkoe|d=^ zgU0EJ_DSuv5jK3(;z0D@lXDa{jm@E`fzsLuqA?JWAvKud->EEtX>1#1H$n@Co8+*7 zlXMeK(FX82kmW!ZU<1b|hjghf3aoPqtQBZQk%0gQSO}8o`%T>sfZtkKiFSFfdPJge zl$>@cGW-b_lO0d|q-vldpuSKAe<67qZw`L>rLzfJw;=g(;~bXAEA98;=we-EH%Elx z5{!w~HMX^!4@ao`6((l;ihM#_u(Y-=3X^pO7Sgy8p%@jYQ;#!fCIuu#SL#F>&o*;jk;h_@#K?`7fWxf3`S5gGS9h zPtHtk2rtKk(eVBD;i@_r!F@E6_jd+U0?B-q*=8wo?*&-FL0z|DEztEiS%UZ9nxI!k zxMFX2Yuiw40Y`2)eAn;vz8?4gdj>^t_)$o~p@-7Y5A42;&p%F&=@=S?ot1%erE!@EA35cUu&zc zpzXxPQ_#lbFccNIE0{H20_+2|2>RB%w=R;mPVrVRLYmH!TZg>G;x?)W3BdLFgY*)u ztDN&q8!Qk-)l6!+e_mJ=dMzvp{e1e|*$`AN{+vz9?WM*pgfP;`9W6CJTiL}gpE*!O zeTtWt1520Xu!tj)1I9oqy%VC)_o4ba45b0J6sqP<9AnBZ_N4!m6z9?XSFTL|w|#PweQ^ZG zNr%A@)Igv}e<=K%nLnT)nB7|2KD4&uP^h1qQ59g?>R_>D$mk_cHs^7Zo8r7Ueu2Kf zYM%r8dx8IsabnB@G0kFfNU&6h;@E3X3@1N=WN00V4!svOVLR0WZ0M$qJ=ZC>%ZCh+ zQB|Qkw0f*>t+#e1golW}G}z_HtvTBeBJ$|s-8Ruze|z}P(p7Vt5Uf4?XX&DOR2|pD z$K^SR?n&(?C%4UgiNI;^ZQL%kubTTy?Th9Pe;x4Gwif75k+PxY8+as(9Xdwr&@r-9 z9w*1$AKTj}$E@rzEB+n-qTvI7WoCn*K{T) zo&(P}n#|Q4=m7iw4G?z|Apj-kBM7r%MzOTm++U-`BKFSsoUnRS^QDeIQdOTg`gkVV z(=*ZCa5>D+FigAcb&j{wtd zfB9b1ihwZDALwuWG4LN#ObkRK>K~yaUh1x)hleqw5ll?>3@WWZD!x}9Eqm5SW@X*q z=CY5!gSAmj4DdC{q=EoGoMI7OfseR>}XBk2qlwYn}NSI2UhlvER6o2C#J?c;&e7%+7HT!nsJ#UWr{M0GXeC z`wHT{2tz8bPbMW9e+(zny&ds&`}epstz&sa<;VUK3aK3rKx!(6VPL~Bu-1dEe|8G= zL__K()P(tS{+D&o{o-o3BUJW$6vqY?5P}>c5g3NynY@w?9AcymP?PjgagpsoKC(Zd zEq=a8m}^s5r-8c1X$?M&Fr;oMC>DTpR9=9`c+$!O>mQ@TxcPO(5HY-Sy{?n;Uw;(fj2?gnur-chaGBKNPMP+YirUGU8L)8beO+9xRTs3}PVU z{&nL+#nR?%5=I>LygSEUbiEfa*Aa3(7h63SO>J-&s@qjq>+^2s`0T4Y;~yV!~JjG zZXX@L+xv~!=@ND5OM_E~8axG5jYi2aQQzdL+oD*?^gr|P*P#Tvu=abxu)lMH0k%WF(x(EpAIO@zrjS+O<vsI=6DQ2pw!L~jvVTS=>6%ZHDt~BTeQf>#!t-;t`Oy?0&t?4K8bXArpD+F|b zRz3wd!aWd;6ktk7fA*XS;L>r-M$Op_(2Ak$H2c>-5D1R+63+WoMZ-Hw4JEyV(*=1X z(p)Hki}$>}4cd!38;s)hs)|lZ&TKG$FH-l`w-!31BNe0m3vjp?u@y@Y^4{giO=v${ z8A5Qa;G>g;=68qRza>Z-GhuN45gflsHzL^DsUumCrbG$ye=GLjJ-?T*k}^kk>~FZdVdBd9+9?X0dIdhQ$XU z_X-b$kI`G^Rq+P=w%!3(wy&sS1N1~PB~7}grse%GPKw`W2p{0o=>YyP?sJNVL|)OF z@+7lISZi*Ue-PIy!M}5tjoT8HTLF&GhTHx?IGu)KRD3d7aY~+(`eOxsc4=b77^D<*lFy-7Q!N^DTMy_z=--+-oI}-tTg>5xr&q1 zaGsC{pkbtAn;3RG7|SgGohUyRw%Tux(h#11n#z$(e>+fja5otG3tPiBWLJGk4WOX; zz+9!pm5S!DLK7}R(4##$2&hvuKJZHBOy$V`k;C0FlZ<;LdKF6PuTBEpT!DdH-PO|< zy^YKEC2)gVtFQFP<2jw$m&ylZp3ZnjK!y!Gu=v7|pSWSo(RbmE$`VI))yJW) z0Rm4AdUKrJ(1wBfCYe4`e=u6ikm-jVpw*#=VWk&UvoT11%Nvv^ee?pG z2YL?oe(oJfHhmACC~W$^0YwoOyjR8TTcm2@e~WhR>Z)ph0610y{^*z^@xf};JHH*} zRavoo5&pq_^m}-y=4nR-(M?x;O@vVTSQaM)GkxFkLlxqK9uRGH?>tW0%}M7vM*yO> zPmL@3odSgl6&ZLi(4;CDD4g>_TOVyX1&5~dI%w>R@Y}+GUI_8P9`n+i&;O4CfoK}p ze}a8Zf|S}7K}r}lNIeHn_#?vZ`bg0cR0g<@zCH9gmB72HYWMQvkP4zOTGvJ_6(BC#nwQ#e}_Qb zp71xFA@>+!ZdtIS3}B{q<3-dtW)mh{F{=p7+drp=r?BaVgHT@DV+}wuy3{b-`eKG3 zD=th%{_$%~L00r{G6QL{377bv_~FuX*Js(QWW8y}H$%pB$*O=w!Q0P%@9 z9fs6ul5K$(RylQjt|H|&sR-k4f0HqxCu7#XrjhDzkPDVOtLcU`2&s@Dy=IIVii})U zcvCbuPh~oHMp%QbJE~8^nl(&w+Qqw`$gtD|JYt_v>mvpyrUwi0<9}Qu9@3l#ELZ=_ z<4;taF-=d2eS?{Up4M@8}Q0OZvh5z0;Y)NKmJADHf-j%d$jj_O zF$-#_Qc$=o`4JL4xB~GQ5ggL_Shmy$>J424d8Q245UY&9rN`Dc5czw3BQe?^P+!p| zepQ9tVOp0ld~l7qe~9S`7^5hH+!PnETT)rQnYN)ADeG%9OksDQ#TuV#Ze7nABrZA} z@U8~HgJ41+w?jq7VA^DO3<#(a+3;mk1{TDAq)5746OeG#2Rk_=OixzXW4hWtPmqZv zaeu;YHNivO#L`pPupZnggV{$0_@4IqkiM8_rONKKoY+wbfAF4a7T*Uzr+UheDF-Y* z{}QK}zU;RBpf{ySW9m9m**y}`;NgK=u~JpJW$+QEvK${lONWfK*C_&x1KQFfxRXtb zLR}R$S!TV7wbvh{y0K;9W!S61%of~QcC>iim7M*^Zoic$SO<#`415f{~XXP@L=&AbMl$=?a=AM&GCcmEuthx}f|5eOv=kR| zS(Vd~&pnIxsr6jvXW5tjXrd`wv0*h;u4@y{ zeFhW-o_F-2KNn@0t$nL5n7!|r2bJ}90=B_Va2Kk#9+SEEKD~iOF-3(@lQ|=W(jI}sRR5!?!AD~2n3Nx zbPtxt>yDY|O3W86nFT^fOnb-Xl0#NflH(m+VzBCJjc!0v$w#~r@lt{sDQ0bBpz z>cVrMiPi9W+JVUr&|ABx{vBpjN&P$H7f$JCe})+|v~JOQD4v^sPZy~BadeTM4{n)r z1x&i53Era@y0RRd6Hhy+{_@NG$GQKS*sP#5;<7@JUo^^u3F%ohUGzlx&z#pB7c(6t zB7=6gpl8?W7w$JYm9-uXYt98+_OW+hpsq^KopFjJ7Nxpv!WP9#eRdXhGbt~N5&UjqjgSnaKwtn_$T!~Mv8Ex)BrS>i4p>N zn5OvH#LhO@4CzuW_)ep3n6L!Vw8liCQ25Rg0tSreL9YyO<$m^v_28r|HpOF<-*5@5 z67gy0xM%Y{-t6+`N6!$^MNfFEE)m^fe~c=Eo0mwqEb?~a%0u*uLvq=ra*8|BPZuFh z@3g(}ynEg~?|r#o%4)?s5XH*2yM@O!aIXdDM{o2qun4e)9AJE518gibfKCNScd{Zr zi3SP zFkQ%xj|d{F3T-?D2g4pI8MfQIpde^w>302rXb);tGVHJ{QX4DB@a-1V(0P{Qt<@*P}ENn9oXhN-s=gBNoLS;b1|> zz!8H5+(l@L7V#R|pqKI*5gD)>e`wK&ySB?==ZQF? zRMRpXIY%y1f0KA^v@y}!%7OoBtp7l0+i3&yt3uy1*j!)22u$$LG*I~re<8y_FrqiH za0cxGz!G14_T}eWX}=>-7D4_|i0}e5VHQP?8W>8-FHMRs@j{GCs2U{U^eT&;(qNE; zo&WNAG;>xP*Y6~|_uL0d8DL7#lbVi2Fp6#h4ylsnjF-5O-T(pOVGP0U_-he z!DxOm{NwmB5LT8f4L0~BhyU%0Z=^p-BCeL>e{IR$uVu}3m*W&Jj$Xe#8cM_ zUW7--uGKE>+C1+T`2y~r|HRWFdD0SVUAK@xc+Tkot`3^E{NT-A>G)}^V{3Q%@U~~` z#?ih8XMw{e-`g zaTb^$cwgtQCiS$!QQq4XFopY0p1@a)UVxjoNLu~|5L@i7-T&$C z452xTTk7Q$&3f25gQX2z4REv9aBYiQ*ct&mMr=<4@;Gwtf9#72?reniR&ZyZ>DVOP z*(FE;oGq#CpRO@+vmSs3gpN>Nn>V(~zr9<*zm45)E)asjh(da9Z5`SV$RljDp)Y1u z58xb1bq5w5siwA&FdXNLg8^<{U--F#BaMwn4HrP2fQ_!!{4rZ3m<6VfS(BDLv3tO9 z2&4+U3CJcwf5&joECG^~uLOe(t6nz?q$ff)Jmx4`e1RllE!)?HFbe_$xP&A2M*~lc(B=G0DKC?`Gc_x=Du7v!(e#H z+$w?wHrX5z6h;%Q{($C*Yzg5*_KCotRdFx0G z>-mlSi^H}2%LLOK&o2WgFT&dr0N-=vUXbiAKX;n{g|M`5n%|9qi`MMJ{r2Vwl%WXd ze{1%QzczsR?!tM(kjp-kXjR8CH^^Q|c|e($&J2GQL0n;o^g)EJd7cEalVCXY_ps?; zYA6Pb1p+;Zk7ciY0z~0ABN$azfvW%-0uCry&bXHLz~Wuu0wi=o2XRSOf!^X}iV2+2 zY0!tHxS-o~tOi+j36cl8$%C2g^9{{$f34^YocZ02VwP=801HL%CPBY2-z``O^+oRl z5atzkvyem$3}C&UJf#+5bGhZtKMTTw*hO>b6St>8PcXo6B#t?K(%yHM|Jxh4ySh5h#b!m$r-moX70MBri6bVFVnmqN4Y=A~rV4uSE-r?BA>G0F(8E0ubX{^Y$^q%E!n1Bpw~y?qJKMy7au#SFhhJG2FJE0P zUVOrcfYQI+|K{5__}`I!Lmz#5a|=z#^Tqy-wO0t-V>;IzN_Qd%i9GwJZT$>0R46+g{4>03Tp+TDb@e6U+UcHm>xOuTCyUNUNdBepMzDlTok`iP=E>+5O($ zEt-!aV%N!mLO>jq1u0>gA%79h9XiG7GlIp<9-*{kJz3xQ6||z%N@YOLz`Lj}03&*2 zD{DhIl2aic^dyT3Ro-}|e@LI4!J*QVJkAjTE5MM$@jC;^z;)Ou_OnS2Y45#FmK0=| zWb{iX2h1K13%}<$-dn$d^Crv>Oo?sI85-i?nuhx^v?wgc(bXBuQ5q}ime31##laSf zx|HEl66w+(!y5)~=>V_;7jy$W_IGG6`s*LiU8b-SV5wi-FyuaFe{mN_PIqOt`RXMg z!gj6Q%@OOO(G_KAFOi|Wu=+StbZ8MJ9nDvl(ReGaV%(-ZOuA8sB3X^PQixNJVnhvh z@Y?V&70lygG0RxJ-t{l`Kso;5|NQCh&8z#9mn&brU;Y!gkK&9y<&3=~vBA|UEN9ck zsZ6@N^EQ7N)ejfSf4P6fok+fzd168e3W|jCDht4?25kP*(G5e#Iv2V=Vd_N~UY~<$ zF>JU5$I{u*kZcL`4bJ4wjRk2jgf5XY(4J{mF_k^GtWzm*XjJ#jH%c8CYpM_H@_1Zh ziw25;hg{B}m2V-mIZ`Dm+ra#X{p?egF4gbAqA5a>>pCFme@fI8VO>2+at+v9AtoE9 zO2EknN^u-Yo-4xule-(_hc6gg%-AW^&1u#Rp13)2;Lf7)WASc;mJkV1DwlEjwkKc- zU=~TsV`<0?VI?(3$>u;6pmt{<<(L7~sy;~Pt$#6o(&7z7InFioa>$P_`9xAUj49W) zWRe!NtpJaNf40>rXj?(IdPsYGoT@EHTOLFzre0Lig04~bpc$JveyGY%4wp$3Et=@% zmMkF$OR7>=c;~)S=}sYv<^9OC$FT3*_?K}kuibazIjC~qxp~sQV`d&$eaveGo4Uy^ zP+@p23)&i$lZ8u|qlYv}Q;)-J1szRI6g5?`DOaeCJ2k_x z5_l$7iL6{c#ixjZ?#pQc_J0gg)adyMVya~H3%E3%Vg;H8^ioodu(2&*b$)*?PP=Qy z%6Rjv-u@Vjf-bT^zSQL^J4W^r@FX%Nwm8s0Tu02TX19lxemVxx7FO*z$2(#wVwt01 zIuTKWf6x`&!?}&m8^v=N1RQ3UpCOPU9ZD^FY5Hx_w;H$QpY9E41Y@KrdSy683ewQ6 z@smxY^#;)PBmVobFr{iI=M0g92^6z#)az@{$TE;}!2ihbXa}NOwJml)VC}`7{NC2F zom8W0S?G7oq4BF$D6yEnDju^ulPfjrG>?)9e|?xd{fIBJ&taA>uKv02cnCoDo{IwS zLTh#L?4|b0d*GgcWRI(rdJ7D#^u6Iou8X9~F)0f-K;`G|@zbyj{q$A)DCBsrU#yVo z15ziieBa{=Y=_#vPRstCr4HW5FqeOuLHo`Neh zbJ1hXPvujG>sb9kNxz7yYfUpMM%{2qJt57^IxEinn;S@Uz0EYa6q<^YL1Gur_U4^c zDww*Z$&W%$rzY4qWQA5CG^to%5(Dj#e+tRc*2;=Ip)}YpVTP_kIV0O>h!U~68p2dBL!fqNgD7rgQ zGYMr;tr1(}=x6a>1SWuLyuSs}70M1r->f!^TQwhf*|Mor7Mb$+076~9S@-^9e|D{@ zhw5ODBi}a4Dm$wkDz&vLy>IJBy5A>^wpHK(F0UjcJ2S(GRJiWt10~ zXaapTf&+hTI5)#>J=;XDYU*^rF+SVXizklK zw$Hc`td0T~==0OyDim&hI0mcu#_^u`mk~aGy(`!`L=MOa&ib(M_0uiFnyQ~Pi)u#8?e{vfU2L|6# zG-eMDy<3#S+|1EGXcd5y)&n@WIN-4(p&X=cm|^f>RY252_h@tCz^2;^?f+X?)5(St z{Q}%nGUQRB0{a=#qQb6w5Txw&(7BkqASBOC8);uy_f+&nM-*r4T~VK{f9LnjlwAWP zfln?-#Lz=9N(}BfDuKhUe~*HvhEXozjw#1bSI=n#eGVTHPj}4cCMf{Oxt#uu9msPf z00nN4f8m}If~sbJ8Afgkmnc4=v{lXNGVH(Ic4M$SLOP$7K8&7?$?}lDr%j}SMZVO` z2O8i#OspcQMTLv5buw#q-#c!=r)n=u)k}~sWFsb{l?M71hBQuWeE>he!x*Y}RsAGgVIyz0N2Sq8W)Ku(=Mw z;&i~Sw4Sck@DK;vZuC{e&{%rSGhc;=vnN7U0v6O`EMPFixY=J$fmL_9PmSMos}cq> z??#@gGURi~V;y{}f7a?b&Q(&e#D2>f`Fo8~(y`%7Zc#}_$m${IcN>&LP0N7B&gp%( zcG)QxV+Ba2P=P2afLP#)5;HTGDkpb#vOetcY^*840)8n>pQN{*j$?f73x2VZ`n~q%@bSN4+^z54f?cw{f(q){}c%u6~A)LfHZd ze!}siI5))Yn`tP();&0&$tmx7w_rF>EK~OJ&}Xp%=n_+$nD!H^-_Kq-)0)?W5BXs+ zrC2jh5Hf4pe=%?CleHH78^!Y+_2%NZRyVucNAfl`)f(FI=LpgA1{NM+sA)PyXucq$ zAOSp;b1j_glEuDNJjjOeseQX>|2CS0cnGVAzV`58J87kEoPMR#>#3%e^u(_dsLJS3 zFpPwCkxnFxFYBK)SRYT(QuL@uqVRc5UQBg(%e1L?Nk97SdwD0~n+G=}4uHaSt~9cNWlpZZyV_UB@?q>D+qZT}-|Sv4)Z z3vg}XV7cdwC1>+IwUN=%5s!W5{j(byzk#OdUx3(XUmAP7UQiR7-P zo7fH6CY}!G-3Sf%$qZWGBZONOuw8u)LRfBALo<;$h<{eOIrbV}!v43?LsdP!p^ z>{>^!S>%LW9N^+TvQfsoF8_wNGSS1QH9=J?7fOwcvLy zgp>9Y=0fNcq#K>pm+wXg8-HPj7*mwgyZFRd^cURUfmybsN78(v^md{&2G zkVg$~)x4N9ykiWngn|@?7wC@S<;M)KWe!lL3J0{$ulH4F@~^bs@Wfz3@@j33o4x7@ zS-i|b9+ozj4^)s|Wjx&T3L>aYRnGV!<;!j^tYLx|@2SAAxk*X|+<#IY3$M`mqo#bQ z57+_DYv=libG>-mMoWf}YqEIXYNaF@)wfs1Ga<%73IFboNAgrbxaz=$y!DT1Q<(MO z)hROZ6xu{irHbLk6Sg+tn@AEAc9oO;t=e+}Wpxx6e4tSM!L_Ywv~E_sJwXiIH8?>& z#%HQU3L+kJk-|NpIe+FsFeCX6aOB|Ott(Neohz@Z{*^nf#^BH=0oU2+Ryfp0(_OYi z_|}<91!^Zr9AH~!{!o&nNXYVn$zp|=!R#-<6oAY$7nCPv9x?D0kXeel0scbMock%k zZ4K|iF%b7w+Cs~F>tJzl=(tThA!t09uzdcEa4H^8rn{FoHGd>OP4^q&6%wa6=mMh8$TY5^Fmcm+o2&Zt42*zB?U$PQRsJ z`OmfF5|5Ov!}K93v)gIP`Lnfu+?1S)KL8$rcdtOoE0Ref9 zjf}PR^A4~6&^s^QIFcLhzS(J=-tZT*ueARA6@UKyyu;LIfAwSX_D=H~8J@q5#%PSE zb@+MK6pDragjK24y=hu9SFk`NL$(ID4QqR-bVnCA_}gmJy5&vj5CEZpqZt69ghqai zq~8!B5Pv7Yg3kuc>yhz89Q3bet@8;kjITt-VH56h96s(ezyIN|)w^k8PJwn+4yY|q zo`7?3^7Cj+UP0jyMh5SlCMw7py`ydGh-?wk$iuJf20-Y{n$>!@#tYiyR_C($Lw^k7 zRi3%O9(FETGZZwq1%w#a_piH`t&g+jJ27}@aDP1@Lx}N+J+Zxp+ggiw@#+Slv1;at zC;HYQWX@#=M*G&EuA3nR#-65ZLAs0W8Da-VH)6SM^*YT%^-uJBG92XMm*BhB+qGt} zBDH#h=Fw;dJ}R5wKixD{reQLC+nHRpc3w5PLR&Z2&A;}?X9Q1td;{zDur<4BdV=2X zkAIt(9a`eiSNF}Uu2@Ztl$JQ*(U4LiGN-?}fW-P~1S02`%{SMde){Gb_Wp~vn28X| z#}J6)UBq{ZA7bHf_uc*vM+@@MWDJ%hNi+;jlZ8`=&KHBLtC;{?Uz|bR0>}Jc{_Ei1 zZ*FdnR)2&l7C;PVDDU{){^BaPcB{#?hkqUzFntH}xp6|FDv-GM!1PI|I6i}kDC_yf zj~x&s2-h3P;WmB-Rhi6%!*REbI+>=Sn+@y8oM>r=W_}K6%GIAcV7yxRx`P?t16AlV zB--sg!^}dZpJ|Cr{`t(Z-eC4TyXt&=2C*Wyq3S?^5tr}z>{>iA&knw707>rA=zj?* zu8V(ai3y<1}Oo!fm1$KN*MmJB z6yc(g;gGa{f+X;*2k3VqToGt$RirWJ7g zFYIiVtHksLYQq^S?)GoJWq-9mXm+qaBm7Cpdzf3!W}~FPl8F^WDAiYIce);|{_yr2 zqVzJvM?M*2hU_QJEn$6`V0JMw{}Hpxo@biv^8A|4onK*QUF*#9qiUs4qpyl`B}_bJ z0g&Ae-DWZ^2wl#z2dBma5j0g(;}d2>suo~A>QaOcK80ECYDV@3B!54_1?WqhUBCSD z*-Nm##j9$Vm&-6u*i3{G(dHn~c|v#-=@UWZnUf^iTj3qj*(J1D9VPvv=>j1$6_e*4 z!AY6Ou4%DsRZvZJq*tHqT~DBhNDc;GWdstUx7tXSb^q_D5L&%B(xrrr z-R|98xXb|?1IEbSW`A(IX=Lm%VQN~tlfF^>?<_?KLY*_N5J=;gSQ13D1Wd2912Pke?Ja(3vlrL z>dITAL3?u!9Z(Q_t_RUZpt(^3FV{YLolTl|4<-u_Xq?y^eTu#u3u`xuZ)o7D7z87_ z)7mjif!iQ&ZGoJz(pYBow8`gLYhg z`(}FwslkFNM+bxUb)3n}45hA#V?{_f`k~!4%`}30MFqBd6vCt-)>T}*y$wJon@3mK z1B;=hEU+94Q3$LHp=zN;@ARo_-S3~g1HT2rH~@lWD1XP_3Ir@!4hTB392g{~R0a&T zAD`ZiLZ04he6Qw=4!87Mm5yOMw?^}?-z>jaeNpgbIvw7$PdDmoR-caSSrE!ybSf~} z+h;@}Qhf!p*EXLAaVvc>`g!AGX2Jjv);f&Umu^b8l8mpQK_>UhRtlOO+h+T0mVryy zBq6MpJb#(iaGzsqwmfJEN3J$B3>y-GL}5$VC2Yx62$~w&rn+oOjc(YO66ah?U2REA zgJz(j(`K6KW^B?K0Y+$CZyUskzy`DRf~Fy=*QQ7JG);*}zHz40EUXzc53dAm9>D-l zK(N1rWvz|nMTk4QJj3$MBQmbTAFUF!JFxBcrnhTQT!MeT6rfWtXg^&w=m-3U_S2f) z4;2!l=QMH3chU+v3F-wsv}_OUpa*ye<$8EY+E$2w?QAEmYS0h7`Lv%4_5-^LG1qZJ zf>=#W;j)cGDZ$3`HG{ShWJ}u4Ax_3*CxeHoZczdu_J0gqMkhb(3Y@8rbdf|*H7c~5 z+m&WB)Q6XGQ3n-&Tn{1{n&;(OL6FBHr{j@qUDA7HpK;jGzV=kvH%|&TeAyFgFuUDw z=B&~3S2-D$icAW7-7-!?u(5#)ZyChWI?i%Dqbqxw(d)Ft=vv~2i^C*6@@pBXb3J6a3owC z^Rz``nSP@+zVdyfDNxwiJ;aDxPRUWxD2wYG>t@4HJapBQ2W58R=i z8;g{97$JwlUr1T zxeZPvchR+{i5z89Pm@%sr{BTg0*dA$5bGEahD(1@P7}^19H(FdQ$;{~Bc63kzz&GG zUJ)@jrX@&5v>vvHS>YU|E5({UvD8nX<5bb69prHr_6akC8wb(4SsOwD|F$tW9p}X zoRf&j=93)MD%yY;>@NPqmaIFF$D)FN2{??%xKe1~5SFa4!JJ^X@ET zvKfrC>kVtC0zifeEo+HCW!qAjZK(;a6*TC4!_aV2MG&QnQPmb)z7}WsI^6GS3}g`e zJhyD?4IGVM<;L_3N?tOD}9vkl8YrZ|f1zi`v^&mEXG3)Cc zVKUc?ygIjVl`Okk04Sg2zdX5_(?DlH`Cg-aYtEp49;Oe6L!+EWUh zEHqO)3z9JdN@Y?7HY?XE=@Ch`p)6KLWgav4Yhl?k`y+R=3)wq!%gAY?tv9t9C3GOP z7=g)37kN||#4B)sx`%@*9OIaOj72d+Zds%>h4H=Mpi05V3ajp)t6N%(+S)VzfkA0F z;bAT`Ted0h1eb5hc~fR4kfY*e{9}-{VEl$}3K~!hx%YF+$?LZ`hwRx=^x0^D0cCo% zf@ipq@9b_j-oAPLy0KB;S$(&+{5nD4R2%9(EZ7lVPI)^8* zJ-qB~#CovMgoAEe!>6rddaM^VwFu7yjm?=MCTX5U!JoVLP%34&hc*x@Vi7<#aMwlh zxAZXVj7>H@ztN=+*~q0ft|{Co(8_{*cCOBK6M4nJU8%`z#rS#8BvA>O4B_%Pg8IPg zmfW(rt4@~tuw2R1>!87Z*n)Cp6@0Am^gi}%pDJxa#;$Npy+|&sI_;P!WPAT8pPOTI zr_UBK4BQDOnw${C|0W1K#n`vNc(-n#{1-ql)MfoK7{bC7>hp{=WD1)cOfCdG!hD36 zRY%(C1#6_6BHXmHO(#R7q$_(DMq&&l*_KjgZc>>mgTC~aqQH@VA$;K%u7JpY1Njdw zi7M_$nYtGMI$s{J_)`iUEAH&(O?p@LoNXOP??z%9anLtViN*sAEI|1K?7kA|-MX=1`fXB)BdXH8jCRyQ;%rRA!@ zL^u*vk-KP-ri594GgU@*mnV9Zswt|oQYkP)-NiU1?}p)HfQ%yP%{XuO8N~V+-Z}HM zC+2bX8`5HIEw3Szi^QvDzz~@KX+A-y`Rxmd1=FzKRY`EH5dci&FnlE+MsN}s^X0Ac zykV7avApKfBpPR&#I?h<0CEhQZ3(t1MSa35>bv?3ENSk4=@ikwDC$;Q>w}>JMx|Rc zP6F!io1cE9e*zM9AxxFDz zdE<5DCm-AzjKy|IE-_--ECv>AoHqslaN77`KzZ-zVI6ixnt=e?OLqU~)FlX}p?;Cb zXD41W%Of#=zk=jZlOKn#W*C6m&ZIXus+8;Sv((F(xk5k+D4R9r3bu@0Xl*>GiIFSo zln{i@>ELk>QtbeY+1i$Kz#c#BqH*7~hR0uR3M)pjeVNvy=39_Ci31*&rjAC8<6$We z^Rv=H$HE*7024SF7|%|cmSgv+LFzmr^tNH=CL+;)C!NP)E6hRk0+_e#WtaG`7=tm6 zE+hj}aUoheG&bqfitfG^i`lK4F{i2BM5RM88C~OuQ{|Wcc;4HPSxg$wX%pGfL!2nI>MAEz|-g zI0qNf!x9u9JPLR+;R<4@DTYr|Z|#tOe4~-C-_N{&y8+*Ty5JZX<8)?_;#fe}yZysK zrTk%VL7R7zBMXNh?jOc!#hp@mR)!~Vnhp55^BCC`<>wd4GaZ*#wK>y_5^^jSpm^imb5-=jH@`%PeX(LMO*@0P{UdYK#QjEeiEfGun~l3@`}*u) zK;JSY(mTzg2sYiYA&JYluQLt@jjSilVX3>8{7@-Boq1LwOv({>=@DOl{l`~wI55D_^;Uq{*ODg(Rml5A4W&%v}=c0hZ0=+u>iG4_D4%YBihGtO%nKP ztiJNIrw`D>v;V+N$PGap2W1Ss+!zjfovV`gUe;O?E4XyjJg+@MJNOX)x#n8m@aYM{ zYr{z0JfaPxL~)aCUe%5#bwYM_y`z!_gQ=O=lO=WHMnU<3@A*P|#tfn2)yBGg#zClY z1m$O!mR$!Pf0R-!pIu>10O1h=?3h@vkRk%k5?bULxAM~m{NS1A!?+ma^3kkbWlRl> zz3mpk{3pwB{N1oDo!5Q_JcBPd5)bGQtFCIz3k>J%09bWg`x)5v^VhNKNBiR({4qJr z`>?C@^gJ~TIGMA#0rJ^O+vR5;2d=4FUke zbtLFhf8ket2Igs4I)K6f!QJzOgqvI&F-Z@B&+^P}C;uItTx%!a1TZ;c!88cZlU8>V zYG`fyFIY{3d5VN**i5}JgpBCkH!!3~<%e^zRuB$6fXgX842c!@F9KEwA~SBPns zk#sd)O=u=++qf{y7WpqV?PSbyO<+T8_V4tsb9d(li~?y|+Czwt;4{gF?^|XvLsN0` z!Z z)r9i#3?qWO&zamT-&CN+lV*6OBUbOKe=1sR?a~kvVc;(Gui@vN4G8km} zli6gznXWmnm1bwt*3bo2GF_OrZjzkcAp`7YYXmW98J*4G74Irv8JVwWFUuzYLt%yJ zRnitf650d z{9c!~cEMWztPSo}7qL=CURT*){}>V1isB1Fn1CDB9cR2-C1jjNVpoEt>*D1MzYN=; z*YOky*NZA?8sj6%&3l(HKZhc;A^R%&?U z#joSY?wC7>9!0F8$as#3mlRxUf9dQj_6MxZdEMMjAQOd#C_cE0R+Gy$D8im6ola%7 z8ZGnh^Xeils>9MwvWwRE>m=#1)+?5tpp@&lZuYkAhqR!)#6YNYb1BDV$SpL&;^JPv z@+$g5zZNvsZ8F-AchOsi>R4oy<SXzYg{M!ms!6eEGJ zOoT}%fJJPQc#VlXngRd?^i&A!{Q(GI@%{QnT){sAh(Q1ddG#Xc!bMPit|cRsE?!r< zooJ2G9XeX}>N(#`f!N(*f2#v{N=5d()a_JWRAcgDLx*G}zmF6n-{^za?v?aMY16WzRb(9YKu*It6(< zN77%2D$k)AhaB?Rmjg^F05Q1Aamx zY%B++qVLbzcN2Y|gEtYy2P~KH8zy+RyWTiDk?y!~(#pj+c>|XXV+S68hTk>>)B6Qy z+>nN_rs%V}*ci_@8nQh^0TU7kLAYO84NLj8F`^3K3qammWevdt6*J#QTw5>}%yyFD zXJ=>ED!&m|b!TC;?}bG05xXfsieuer+AMd^G=!0t&pXMo-KFhLa!6iNTcX~xj|9IPsDfRuLk@n zewBY^mIAp3n&ey7vQ!D9-W^AuC~t+H^}K?X=N1?v8Pw@yZ0HrWj^juR`=WE`9J*_R#McyXA?kd&#gg;fDp3w{KLqz|Imunb7*Pn7rjxhKNEChBaR%Wh3{?aK}2%Ht93tQqOvEfhA zhUp612m8ewwc})x?#gX|Pc(Il8HFggc35k&yG6Z#M457bEy3oHvmG0kqrzSdJH1wl zY)XkfCmrs8Vj@s8e;>Eq=5I~+T&b3J$K3WY{(uSuIBOtfHirOfihN)RXC=1@{+Ml| zr;VPn_!t`x8=FT1dJw|hmR$%e!N0^BPbop&%HNlq0HZ*6xY*Jk9t-QkDsq}Q?a|_Z7@WRy?|Go%Y5=z5%UPUA}MR&5L z54g?7A1dqNca9t0Fx)WZLgZSPb}K8uqRN&*07G(q1uu-*;_h}0Q62t(9&K0ec88UH z=1D<+CV-E+*PrJVV*>9hRXG>SR;^}gIVYSn>aLpP=Nr|SlAzQyakooD2Cb_-gjxt$ z3D59@S$6Q}xb{=&;HY*qgdH_L6XQp*e$d`=MV_Lbyvp@23G~2)mB4^Ja+30}hLdt? zJ{?@)(c{^muNHQkH!Q=cO|G%6D|CMV>u0jRCD;@W6P5DuKl=tX&S9=l8%#C9Q!1 z^qme^(=v+4H!17GRAH{9>J$0x>$GX> zuW9B*4v+pGV56(IQ`c9vx>dv9r?4`Aid$|Oql162fB~7=<`%`&3D7OusUs*PKo94i z7!)X2LjC2I(JPBa66!UlEP9J497X7=96gQ@r5nm0c}KG+5i8&|#hO-=^Hp_<)#OOh z(yV%eR$ex*6hdL8IaMiD8Glw(Kb^TNWIa=T6qRRt$&V~sW{-3!6gy!sK2{ljl~#$# zfs!O@MxEBqsR6u_#f21;-Y1{~NPE#D;=^{#sM{ZGq2GaWwf%sBQUoJ1dJe z{HzfJ?pQIP4&f@Rg?a*#4D$`d{9t=u3DXu|Xm)lBY?a}%H`wQn>vJXO^UC*WMUSR$hzy;`_{4o1UOboe?&0{v zJ>e5mIyHMwUU-7|F5nYYBC69uWlRgqrJ2?NBJ`*9ap~D@nArt2ILQ@%Z4%J_m7oXL z?Bx@`jw=VqU-&6w-xQdPsMU`({;^L-=EMdc6H-XEFDWT$G{z=S|HCC1$zu_`|IRRR z#xmg1RZm4B2atR)E25Z{QUGEElDzVXX*#Xz#}FR-J#$@YL(c> zS@zZXy$Fb0Gurx9#8GDuaHXWpyFe0|Wt!$|Q=~LW*lFo{q+R-u4@gg9mZwdV4LUg>E zhK`^}vZjYzXQZ<`h>A?zrga?Sf&52({SUgZ`|1D356`T+orrl7NvgNfijzqHEJwwO#ipjIP z4zI{{*pg>lgWZi;#=$Dv5r-m{1y>+x@fA-GS%F^x2$}dYCw}B6z7q`og`c?W@RdKe z!vVEmXv;D*;KuFkmDOxv1p{RAWMU z4_0^O{#(U=g1J@bh5lZS|Ic4Lc6DfS4GZt|(7HGteqea`fOXHZ>4tkxar8}nXA)}S zov|$=uP!AvohFJX?~?=#QXrNPlG@O;WjN7YZpR+Cqvu5r&1OAIUXy&D6_U@!H1gRn zh1BI(OI+ci0bKy8a+SGFknZIb)n{ zJC+dD5W>auCtKz)qJIA(fWXT@UT#KTFeJ_?Go-V>a!9(1IVunHLvH0mx0OXuO|si_ zWcN6j#|qckE(ypkoFx7r*+r&b5iSd<(sUz2iLuJTXxlPc(8k+a_ys8?2Bk5O1bhYs zd`DJ)b`(-#OLU$6G@SE?r?H{Q!EaMfDW?Kbg|=`_%hR~EyyZ2CPz|OSAVnk=q1EU4 zl~{=eoBifKv6!Kp9^H`}t_AaB615JRLqY;pQH9b=4=xq+dq;rj z{R$aOckHDN|3RDV&&5`~BDWB6TsV%bMJy$MsunWqDKcnDV6<1{eBlXW?>mJXA_dHl zM}JGFgUv6ZCxLmRrIA@eYbazWz`%Ep{wd#C%gDhLG78%13p68*p}voPl+<0mRFsuz zs(qowz3y2Tj#=9hfaKla(vHm9bvB+% zaHgH$S@Bat-oohIbaqh@O-S3TkNF6zPTb2(k^{F|&vBhzuYOr)@ZP~Woz|L1Vikzt z;U!5VhWA1Z3-Im@c%jrx;=PpMD3}vU0@;-H5Ztq5SAB2y0^i#`<9i!;1@48n5#eLS zrcbN^?G%=A-TJauGy%NKP2e22CxYXD0FJ=2qgLRe$IT22Tf75lL3LT^|5cm+>7P)F z9XBUkB)f#o8FC9BQ_JS9zW=VSzuNPaG2-Qy>3qoA^lLV|7wLm4+1Huj-S!ZFxJ&r$ zB8^b?U=jrEwf><+0A#Uq#ryGtH2ho}vTCSPHHly}iX znvDsm-bnWJ?hxL5aIY~UpLG^~;0d>GN|? z^*mq+O$0^@&}8NQSLNwbCqA zUke>0q4~6I!=JwD_bVgASpF_FE^PcX)O2+>?wQl`aZ3p(ZX<=pfZh5$O?8Cn=(@4&*)U6a)K<&zp5f`8|%5Z@i;7pzCRD)QuLN-XE@H9?fc zqU8x!9Oh^Or*nvQXJ=tA1|t+KXdvJLJ;uc%efxj#NY&pzmTqueS9Y4vxx{~}?gq!-7*r<|FT{nq zet##akn1w04jY@IsjKMY|CPBPe*fHoD(~S@qPzq)LI)yTpv`X)!d1fP&@%y_jpgZ! z)JaYIqo$tJYM10}_IXg_ls~PknQaO>fUW!N3yxl3qTT3e@?I_==xB5*L1)>$M=C4) zPd`#=I!XeKvBIK_Tas2_0xKMne-o^-hkqYS|Ng^|y?o>0$Ex3Y__1#B;g^RkDIu_2 zz-s{J&%OX%mf-tD-R@(NbiY!kNl0nRJWzL4el4Q9IWZ!pcXVtpu| z0us9pGBapaB$;@0Gr}`OEh??zbvD~oX`pN?=S^!PRfT~H^FEumvWh=i#EgRAFApB=P!L@y@$ z9(QkEXkpoiE3H9{T?6?B4#+)de+n4_xDfmv9BqIaZpp>G9uWvBFnWk^D zKxQJ`3LG5nB{qK+bgLogaP=l{vwvqmClW#^lcuObJ~*k^v!}<8QwCe#YN2)fc$zs- zPOO#^r8$Ax`~LxB_~Bc<=V?cI?CmIRt)INm@>*?^AyQq)1hz>_B)zn0v)D_%NO~7Y z{fwY+no!Wl46{N(BP*OD)(e#?1!BE>goQ>3CpjWj2xr~7^FlsKeL^80!+$FW-rn?r zu-TBH_Pnx(fXD$0tIPy-JXjA!fBIzuGMSCM*l8m#o}z%Km679JO_k$a70L0g(sI13 zK#q5nm*ZU($?)`JSwN&^geK3Jh1iiG3 zBGkwy$+Ht-6KUn7oXyF1Fn>0$rt>u@ntsZl@IJ1_(c?eG)u5AaWNJ|JTX`B(EoNzO zLeZHYwqj!ILS6*sRv8ceYU*Ka){l)}-^&VELC0%2HB1WTsjh+1FXBV}+%vTBed#goE%MS0u?8^6zf z1>EV?{oHBm+qqLz{RZw7weICkQ9hk+pzy2QDeC;C+$nO`coqwX3dyt>I9cvgEp*s1 zK`$mc59!4k4*E^Ka<`Rk|cUw_=c-=SybJ9f&5=fDD-&fG}t0`o>0q zSwoNrn|S1hE&~EFe&34&gGxJtnq`EXaB+yhz-BX_Kv1g*s@Zhq3tL8b3hBYe)OIb9 zd3Ct1<0I-wqS?5+H1jZ4UG$w~MbscyU`ipI(-cuQJr;n>IM53G2DTrdpZvB|7F#g{ zry&y_9R}H4*+hW<3B1kEGR1yFBrGCpK0C`_50}nj>NJlsAEY-;0)~IHF|CH(MG20W zgY2-ltrD2zZWk1sComRY&5o2CFM%of^GrczCnhlVT`s8Nwq~*nJLqh$+^fkBJOMKW zsm+@}zPeFd!R)gHr}RpuMs|BAE8w>>b#nVXffe*_7O*J-kbo;VDX2k;kihu$RY6&r zL?q-x3u>ilMgr5>^-O;)OGFa0h1P?evu?AuEMniJccAW~Y7DX3hfIrET9m-?;C*(H zvNS1q4~24=i36$RbU>ej0lnIOQ=gX*y%g_#UNixRab9(g`qm}aM6JIkJF2t*l_m)! zAHaWLYE09}?^A=&NKl%}xIF)0vhV=0r^XLjdbHs#iHk9)C1QUsx8w5LH`_bq=vYF- zkK!9}9?`*|eI3iNbq>%*P=$tj;t^IRZo)8tRt$jX;MCJh?G^M=Mk+_=JNOi$R5kk= ziVEAi2VxnmF>n>4^t-Q+%A?)uAeb=dRPbGdLpkb2t>_|xVXYkBHr7{2Z(Re(1d?xq zE#UhQ%SC=Yl5+uyT^xD-}+e=y?ryKX$PEWvEeD~1IlN&0jGFE7tchs4&?6llYUrr%>vd;iYxTvO-JM*Q z@5}=5Ku0bYgcPrZ^BfNb%ss*gWeCD6A<2mxSR~iKv4FAtlLf#(DIjZHMhQV)8nh(x zG!jriK`Vb@k0qeF88a==iXxUXsmXP zxO117sZLWpK<&nj+Ro?yL>M@Q0WgCf0bR9~W0^Bu=UyNjInzZDe-Du%1U7B>=ZLwh z;1t4iY1{l~6&6I#@xy$-tSPmggJiBIM}}jO3b=ow=!K3$x`L-bkn3Ac_P%PXjDOi>SMCgjYfCZ=1?|S|t^ckn9@UFibICEn$xB!jcv%?E z3#xy03*xN=vNk!RKKy@vByrr<%^N6AelUFg;t*rRUG(*prvy4rH4OvTIzZ?&g?)Lu9vh z5L;D8e>jZ@gXp)Ry9fk$74YwA1jF?X2Bt)SW6)TxP0Oqe_UQ3nwLUhV2fBYDQ)o~a zYJyfeT?p3@c~r6(JPI-Rt?<-o1m@;|#{}}L8$>MvhoC3UA=6XSB&kP+VUr}qYI)-B zy!|P8$Nl4-y>(M3C8eY?gMV0SwnIKSG|wWDgTzOhy*tMKLaGJ2GUsx3jaUOlcZ_Ni=_P!IyTOm?>BL zHkaF8@(gKMT*L&;Y!#qXk0>>)rn?YjLE{3kx78egKjSa_r{@E1LwIaDC4%4ADKop} z`fO(U45szzAOEP;Y7*o)hWVM|z+DON{=p|Z=TB|`-LDMb_3GO4^A8PNOA3e5{R@YJ z#8meVMYAtuM=;7RK>vUIV%(5K23P|B0AozDa&{FY_Oy!H@Xkix2<}9e%?WNp@&`WN z=a0*N(UAW0-hndzS9X{KW}xlmqio=gVxx51NY^byx^6wSuPxzeA>j45qnduZ-}=Z= zYryKStP=x7e#=_jvm3`59;85C!MxUv?HFg+4p9DpIY1=3CNh5q%OT>9=OB*1xq|8; z1N#Pl{5VMl$h*)$2(~2mHb>J@0aK;de<%wdO>OII~A zI#e~B%98zIzi1}R`YxPiGv%_we9=gFsiJW?HeK`^M<~)E@0*s9LuO3>0Itq4=EBdW zdl{gYF|zT>m8l8@bNvl$e*;ssXQ~<;OjYjL$~_Cu^yPm?7@F#rnc?m24D(g1;|%*D6jd0OoB6! zxi}6pT+Yt+;R4WMs(GXro1Ha+RLRrErXT?vy}9h$9B%Vuj-lgp5zCREfoa~v(!DR! zIz3O2?NfiUd7$6B=vM?PJqOK{H_`epekA{bwSpbU`Y#YytpAcMI4)1^qblxEVA;0~ zVOgMWt^B&?>sLj;J@%g6lL$$@wfzdr`gLZ|=wdQDxi^Qmw?R_6{f~D6Yb*FQJL_7j zM>o|kbpXp$Pj2qu51c9`73UZ>DU`aYeiJNjqD?xm@|F7j=Evj)|8Q0uIJByMCT@03#q%$|O zvpPzkN988DxxLl>@5d(+89S_p7+5twDiUar)yh{s#|=vY?0)mUOz*O(oAm^-hV87xDCUc2jo^^Z{arwpgF2^1&3XgW36H*gj2#6;hd;k zCYO~KFc=~ptH6ENfwg68%z@*2X`beB_HP1y)oCy|LpSw^K(NMAhjv2gT$FzB`~=u2 z+gE<}Ds|lAv7yU=0VB4W5!DHkaNtX{pNZu)?L_bk|B@j>UQ#pU6@~VI0?ODVaI9xb zqRU|y8Tqvqx(}dr#NBL|E#BQ@H%AZViN|3(Ma_a)x%4HFrB#0T^sj|A68+@X?*XH#c-J<0ifaGm@ig)vLb8&7CNXQBxg))Tw8_+QD z#AM!wKGVoB7u5+tO;)dP1q>ogJp;IHh1wE;j3NiGZTe0Mn9Zwg z0gI+~uj7w`U}=EK0S?_!y;-lw1!e=5X;`r8(nORJ&={cW1w<=?)E3@sll@`mV=VtB zb;O*)h-UbYyn)JpVumP&@0Ya7m%A8?gOS&vXa8!yKuzE6WvbUpc6y0EgO%OjMzLH2 z`9y#gI#r-?RS{j76MV!k-HECwxWYZJN2}lTTb_88Rtz%$e8;918&zCIR=P*b&h*od za`;7f#JKH~c?Z#8r`eA*4{pTF=Fz*((dyNCw1QJO62okN{`0y!8q1Guu>j()brF9D zFJE*a2?dS1HYL)<%EjSfXULYD^zMu#Ulc4oVOi7GF~}u-r8|ZYQh$rwU<*&%p!3g% z*Pweijmp+GB7$v%;WM@>`#(nuKShrpML+%cQN)-bqo&Z=FJs#Hiaq1cOBh>@%bCgn zS)7~9m1SUm65YJ&>@e~Tm%95Casit33WKd|s3>)6RT=>{YH(CG(X)s9dI0x5 zb6mpqRW|d_5h%NS{K0alnlM^;O_MtselM^LW2}t-{7?J43{{}{;DZ>;v1WNGL*hM8TOos4blxe2WX##`j6ory^GO^!; z1le|81hgr_ErGa_z0_dEaNG$J;fQg}kwQ#xjW-eIaCe;C#GmHo18f4;+)O^R5jm)N zNH5Od%CR}$7YS8$o~rA`syUBu=7p~dC?b!4Mm<#1t!l3XrA=&yJz`W2K~3${r@^~K zY^z!g{aNDcdlDL*yWW9*Px;zk@WNJ1wxK*G6_AO^em*t%N3rLjwC|;5i3@OJX5lW{ zgJ|B$?m+2a%L4F2^+d8K`7fgK4jrp$ls)Kg^wl^UZ)tJCjN16QXVU0JP;rf4s&hYo z2q+ez+unxsh1JdDvZVjVvltt(apm&x>t7dxadY*m)#<>l9nag>$P0dDhVdMhES>Vl zXlI1sLLdTB4oX%odZ+mF1{QRN&2)o-LId`aYzBrvXPn0FIit}BW7#2xkH@X9B-LMj zyCE~!zGxk@OA4feftz(=ix&q0NZ4|J-z4vq0pR554514)BWE)hJ!H#xfgp5{Y{NDb zX4i8t zM#%`%;|Q7oF@|{(LZG$G2xVE~aLJv4S5$xp>6&b<*`u|{wY3(bbrNX0SsV{!=@?)F z+3B=jtd#JGdzx{%1YA1<~OTxx{YoJK)Ss(=%$sV zf6GxFfrV6mxHEN+fb_Xy7o1dG6RC@F);z`PJu8f;X;Qf1P^3VJm%f|)53 zvTPOP)r!f!z4RkvI2p?7-c@5Yj8no@9KqygBp;l2JOa|RWG zb;?wK6x3m-wa`gH)AeIEd*j_4d;1CRr&0nkl|W+LRf4;~bu3$jcD z3k1Wwmg105hn3OwOi@-@r?-#!gk0ZvQ@mct7NEWwPgK?@S8G`MhxV3i#{1%f6c zBdo_%S3z>?q1yQR=C#D6c#6Q^8IZauFb{fvLN2^NM<#F+1MWFtJ{Z}4D9sPlQ35Iu ziQEMXtL$%Bo7Kfl-mr!p>YF^>+4NT|>BOG`Iau8A;P!dhrqasY&b(en?^k3ryv92Nr`tmxcrTvfD z1)Ep}6b?;TThfC&ke|0i%BJe88GWEIc8r`p_U0T>a}?nMErNn1RcXH6g((bVbKC37 zwI>UY%26gYJPidb?cTpcQxH%9ygJRwW@nhj5XM`V*#KP` zuoSu?K0S=i`V^71YJSMiTZr|^mn5@wn8)!XeC z$zCVG7f7zcElrUOD9p=o@rWRQNhmcP7ZcdQO5?QYfZvzf*gyd-5W!DS0F)qwRB~%R zQ?j--*3BGz2YxE7=Z^%_th|_;yTo=lbhZtpy4VSb{nVx>C}jI7O!b`#kIZ)jQ%4P@zrLh|x5m3xFRcJ+u(#*<#>-J%s&MhLA3C ztZs-g)mx(V^At8Z*#P04@$7)-OwYt0lZ=Uqz!;$W-_lk zjZ8WaY!BBX>crj+;rt4JpIln|yoH4d<{~Eswu|fPv=hC>$gV^u#KN0#<$V*~OjJ1q zPm3nbboV6nF>rz%bqcpuronL4r3NjME?n%Hx;gs4jsHJT$Pi&lFx| zE(-3bJfZz3+)+yibd`mnyLL!($6{+QL-ln1+*TY zCX#NNi0j=3=-2AdC5$mT*qnrt9tObI>brmvSS zL!^lLWLI6dI7{b@O;qriS#o@$s|`~sOLj3;7)FffIdceq`l@4p---6?*lIY4ReKbI z&SHR{!h0hn|!>H_2O< zL68R-e@jk5d1d7gT#T1XyWtnBmss}tM}W~sObZ1@=B&bzKmZ1{E<^fAma9MlB#;q` zxXBvaBBs`JXtpHM*|ck(MlQZ#N~19j^a+-rpTp))|4p8a3e}JX==vsfA|${MO#w32_g(&hwP#|u8U5pOe5i% z8@hHAvP_pt_4p9&KLE(>-k(qzI_+vJef;6i zfsG)zGElmmLur>;PcNHt%Ic>J4<0UMxvY?D3+%k|J#JR`DTTwP3avo7rsnp}hLltR ze{Wk*91Tsyfaj#Ck69L~2yzMC-5vl(K)Ao}_|{Sr68UA=Kldle z1aZqE?tkx8f@VZ(a&KxU8sD?LRXZTcH)74RB_U9Ksb;Nk=WUZLwMriMR2b2ZizRR zD?tj4kXoocCGT@Wdw9w7g}8h9mV^DXvUb++Zl#I_dIc%QZ z%6Q?IW${jN6J!8u$GYCjb_0NZCOCHaT7R{^ypG|3rgV4{QSf>_n1?}72H#YYBc^_{ zZxD9suR{OnR3%`uZUWgV6*qs9$XI=hT2QKMR1ET9ZWYWqL9^^bD0Tfrr+=s@&F|C) zTt1w3jDg1@T@z?)Oi;qQ4{s7fu9lAwfdL_CRU)HDgn@q_HYa~0L9fekm+oJ(f`4U* zJa{<29MpQ`mqYeT(RyH&GJt^`!z&f>5P+OTn_@MG?Ij07;Sk~05dxD^DmWIhyCFT8 z(R=DulC5JVcm#Q=I3A859PKD&d>BE33KRT3oX?|rla%3@Ki~16y(YMSw@E=>ocV;_ zl_4+!hmp1qgl51@7MCj65Dn| zV<3k4NyB^VQGmDix)hK#09^1#PcyC%{_?%q;-=U3_!Ue8xZ$UhxO@>cOE6 zD`)?xt(pfhz2K3V>L4TV3@P(y5ekPz7fmqpG`*Jb}pf*qj#@SLWlrVtU5bFa;pK($Q zSj!>}6Ye0Hvsy$Skk!ftM$4BH+&>t{G!aOVyd$%7-VQ1KaASNaB*nV%k#5Y+`prW2 z6UP|;fc=X*eQB&N>0G5r3LJ~Ppep6^+zxmP=OMF?(4Wj`%YWco2y|tQlRhBZzz{lk zJy?gs#GMS$xS5py&wu?F)RFjMY+J$LUQ_QhK@!;Ze2Er@P7z22BA{DROSK5*8a}AN)RV^!JmhAAVq$A6RP#Z()n>EI&ZS z#rc-$$!KT`tMgYBkf08ZpWyW6*`m5eV`dkM7_SU8t$)xQB1wb}qeL8kVW>`-KIpUa z388@BxVkJY#3a`CskR{gPi4?|q+EBU_R$twi$_yzA8j$wMhelXd4LBM7GZG&o)IiA zxaJlOvyG8{EDusqf0_nywNsEiouIYJ(@XY%_#LcbhGeT`?l6I9e$z7CxKe_8r4R+WCkH!2AS1Ea>Dd{A2isqgil*T2ctK z_YfBsw#%}+%D?Dc65(I0sg7F#{WlF;R{w1$0Yb7mWMGEg+Nv^vQwSlSMpc4&LWkvcw)ey zdvmVLI30{ogGeAac>*^JcX7L{pvi9gK%s$d1g!KKqXC2^WI%Tjw6_oD8-1K?=a`lZ z*u7XH0kTkCg1*LBUSI*lpA#~-0-1Ea9)FB}rHL5oYsquSFyppeK5*?I(fq&Uoegso zSCX#(3R3v8lGT7P8ymY48Us6yq9kH5cu<3IlW1tjGU z_V*9gZiMsaelZc;&*Z%?$5-nRpUaokhN<>K`2&}4Ub!->+;t;hDxA+T12+l$ajsf5 z{L=1AbX1D4$drY%Aj7`}>3Z64?SE&_3^B`R(dlX(yEuQ*o+Oy)hdiF#mP@!l9z86r z9-Ikjh}Z6_Y=2^O*Fb~a`ltgL<$FeYT$CE4(xwJ!GAq7?s37I1XryO(&e!Dq@rvqQ z2$^R!|334M|M>(Pm{m!n(!HB2j|rIgrQ_}xBc8@`v6Tgv?97!xXaK6i=>ti^Rj*Qo z6e`&(V={}bNy5*L`211mF0h_-cz9AkQH}T)bH!)!q_z@yiN-(tNevOn>-V{O=-sy6(XAJ!zp*#|NAvisF^Qj3=`MBQCQ(#R9H5-vSdWA({zuut?Hl}+1L*jwXG$I`G4q9!p3o&B!rnqG?!r1 z3vZv_Dx0DQY|Sqrljb>SCAYFP8I_s*_&ry&56y`j3s>Rn-hRguTYvhRjqD!CWun>7 zb#Tko8*Kb^081AKvwoza+SjN z#hPocd|IU25>!0x z=CHsAkhg44r|KSrE$ACQB+&L-)E1u9AJo8gPVOd@FJDH1v&0(Z=qo)as`N+`zo!D_S$@nwjC|9aJ?*Ala z&`Qc9p=!0_E#{7z15Mu@)j9~-w|9xIlj!B?CG-Drl#SqUO6E*U-Vq&Zw@X-sQfeF; zHwOpX;(y>0(7;+#D|;xBM^Q^;ScUaQ6o;PIIyt#h3jRc%LDW46kr#z#u+IY@m!+wK`K`W zcfn-2vLmsY7!g~ChjzTFe(w9ltDO(oy}i4uE0?{V2N{32##iIY(j4y)-3{YmN4>{p zQe!;zr*pYjqdz`pu(4O?T~hT=$VM(?p&2CKbPeSzVv4cXCOGB zS;syjIt#g#2xX}^3`XyANJm#T(C0IcJ4qt6DlZ1FQ#(a!pFT|+uFZ=2=%#o~?ceek zfi36o)jJx=gbiy5`VeOsl0Irw<2a+PGFoOTJ+Gt9beC_R2SEqu0`~F$d6SSz2Qtd1+wg?^ zzkCw9ud1&WH0F-a_F2V)Fw|v467%KwaS?(aNR4F>Q8%r15K;^hBKOW@J1rt z_Cw$V3uiVu2oE2+UNefl>9jqa7o*b2Orz3ZV{Ub}pw`>MN^fb*PZse+B|i1>8ZZ

      SapODo>n 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

      Im)~bJolc z_mR-zZmh-1%Fk%^7eixnP#i=HTUiVmY^nyiBYFX<`8XiI_?%8MzNA_Pa z^b|;mh)9{z#f3)M822e5({47@sH9m8rZwq})#=iyIhimC2(X2aWEC$U7k8Upuz&r# z5ck!Zv@(lL?foJ!Ny0xVW`hZd3wiDxk*!d+cuI>(?=}2Fqa-Y*2}EK;0w!Aw%y3mG zN=(io>6!Q{euH3S1)AXIDRB&Sj+KB`)*gGEgS}xiHyEd7WbB`X>#(%-jVV{0qhn!A z=En?sydiajIFooL5oIZ+ygq{*)zgNo{k{~*nbCwiG3}n z9B}*o{9ApKT<%@PNxiPOugnyynv_affh^ALxpH?B9 zjD;D1eEO1FYjO3{PhTh&1fAOv-@@9OdVGuQ3-D&_UYLg2WaHDB=gQLG`Y7!-fK!6+ zh!3an+ZGoyo*^iMWusDTpMS#ygl5yY=A&r9a4wjAzj*zo0Ge%mfa(SV7;n^eJMrjr zT*RzUmlan>a~X6A!GPaxQQmw!K}c@y&RA3`pr>yUsq&2IFUGe+`s)Gj!TyRYyFs5L zTdb}qM$0`Y^tqrBV{&o7)Bcql3`vlr?RG4ci8o{g!sB}?AMihgK7aht`vwAJ7MM;oj{S36mtT)neJs+3lrC(-$) z0+$Zoa&rx5nRNSwFQKg0kkj$3icBCikpv$hOI;!Cs4r<)+wZ01*U!j}xyAz3!a?FK z%aR8J^Ht4b1WMQ;_ka0XAI{{ySbr;RDbhb|@~-)4K*pJ8q*_Y_ z>5FUv%@E$eai}EDH$MT`>e_2gtf@c>ta-SgSg;epRR1R?S=$O0%=!$W{OutHNo&6# zz-*t&@{>;rdi)gt6hJ}--I+DdG9e{Yl1tO4LMaz@8HAcptt-ourAh1^)~}TOpR|#V zyL!5WvD%0m6n*d7zkpKSaXy0eg8zK|jKWHr8<$QY4;VBj&85driug$tw#!YCXTS&x zJ2iTA05Gh@U>bn8l&ZL~%xdE_>cm!_X7Cz=^91vB7YZkrnjsG*0sWW2ArJ0Y zM4FcbELI|EhT|oZxojt7b@Iq#G(RMu*{$&|pc`W;EvZUefrcaLfKiVlF57qZ1d1~% zDrE`h7cW~Vm%kH;c=p5lEoyV6Yud?FZQtK&6U!W_PB8+0r2(^VF+u$`uEg^=7E(j7 z(DRyd!vXWq9)6OL49yNk>L_P_tt-0k+GRMm^~UjLj(_GjaI)QAF{egPOdlBIx%}}v zkX_kP*CC!9|72Hv0$l^0Tz))U`)Yr(yMTAcd0irAf7RiW-RZm=0v{mD zO6(Qqld^BC`G*sh&z53a9S8CiNkz^Vbdn~=sPBoZWrBPfzls?)t_8<`8A>`dPTsL3 zN5fnbZh{O~#N_AQR5qB^BG{1ig7@;*!S<$19hZRDV-Eft`svQ@?crj41CH$Bq}x~U zSVjf874N>31^9AKpye*_Y}9lX=G_nJc_8I_^_j-mc4h=>@iY7!wS9w&Sv=GII8_}@ zY`4GLmV1^h3=J*s2~Dggoa?<{R`NL>g6}@1iFUUdfPRLn?h!5i{;MT;3C6!NigQ)P zcd<8@QX~&W0Z*5hBo9b`?_rZW3`h6s@dQt~-+uJ(WdwL5~yr97{> z>HzY7v>ZPz8h_M(zp_!K#p&C7aDkfGHS5V+sYLNI#4&wte>58h)0+*jWpN4M$!b`}<=Esz33rhd*(5AU~rnRwG*rDi+!T5OlTS)G#p0p;~>+A|d%F zr$71CxbjMWj1OgyA;*F&Gr8g?Ge=W9WR#x){0fJJRFe=0v67@`U=ZEP@W*d4<}N++ z68L{1WmTh^ zkP4tOm#MO4oA|(5!H)?{#R{3vrWO==5B<3g%xFV@!V!<}Qcd(R<1%mrJodohEP+2i zEJKo0wAqY^rM8D~Y|2P`oJVN8?Ny5!vy&%ycnME!c|pUhX@|`#xiVX^%1#hTV>EXfP!TMyf+uudbERX=8jTd`kOx!Is69MeS%;?Ex(u- z{0as`Fc0VK^)DFbXfT}$fr<6X+(T@31!WIRHfwR2mlMp2@TXX!rm%wexTTE;4)s|~ z4xl>9^BL_n+#ZaETeKfQ(H!d}Jr|s0b}lD>nZW!6Dn@DG;o5kyy@eq)J+Kl9|3m=a zUtK^&1MhDS%_P)HEXf2XY?1;seACHtv+F9O9 z6VV^#I~F%pFNvIU4*$BrvZw0I0bpOux`fzz*~{F2KVzB+D-$&T9MKm~^)75E@-N+g zHdd$?n;#_*E@}pV+lFj#Wzh2}$GH zD&9?Ms|U1g>RNO4plpq7uOo<5mHs^)8#C@FsvJZ-LuweJCE`H>Nb79?@1)2WUyI!Q z?#gle4!z zO|e=Uz(w?>gSGV9?ACz(^K_Ll5Lc#GvF%6+C+(dZ;7TO_fuQy!4ER4vki}vDN9nLQ z>}RFJGCDnWbY^*e%Nl(bo0o$M98I^7_iR7|SoGVsZEi;$lD&0rc{&4M+Jff+^YRh6r@0^aTKWQ=QkW-xhNvQc6%LrwSK~R| zWI$E^v_>s1F}6fSl%F-1H2%U-KRv~Kg3#N7EXNBlpP(9njcy!nZXqC*31`Lh z&K}%<@kbW8ZNPv3`ws{1_mU0s7s=P9+HhG86`L@p!OV@JB?L5HSsg8Yk{rS^;-g!U zglP~A)sw{Q(+-S=#;}I%r6r9StPe}0^Cb+0n3B&|@-GX-?rXyUjpMhHO@jGjPYrVrNwp&cMmAAW#i#c=5+nbFn z3L^IxP$#r1j$N5&t%_;Lv^R#iN1gE!0-2%kUO| zU>jxq2e|Nk_-;6xQ;e~p*a*K*{gpG6C`_WNSNit z^HC|E&cSBcVQ@qM}Uqsc0!+BPJ&k~BC##<@K0;2fbgv__u;kE0ib@eAN{2(*k z1=K$`Sjrm{JDz^%OTo{#UEuN_)V6Z?%LlhU0VsRH{FV_V)HpAX*^%CBq;5IXxla)S#Re0BbJnuz# zjED>#G7iZ@Q7^<5LtZ68}!zZ=wabO%YXUD1{BIMC_I^vZ-ToV+F_Uf|ABMX0E&1(m6ZTV4xW6znk8|cO zA%+&{*A%o&$O{v|Q;Kh3)1|k`|h{I0YiL83W~XD4R(` z$IY|=E+#Z*yqx-gF`GkwlQ|qo<)VwnG3@!EGXzbR!{4?ys`TR|eRGU#k3_Z`oq;fW zB1@O{i*^PQ;RX+nd)Fs8{pjeug=!mjb%}V~Nzew|E4puFoWe)n`h@+Q&PdVAf6Fw*9Sq$>^VDGTx5q8Fly&3q22{6#(9GSXUq!>f%9 zwf_3sLCQz^+d*3X^|yocTG8JEpU|CDr=TacB%C_VVr<19_*yc};g_p*adTcpL*1?` zz9&>lE(d%7p^{6$w~=l8)rX;ko)BHKbT_Y zMDM42=D#tC@szp=&VPEoWLyt$YHou3W4>=rweT|{6B`bpqW#9?QW&*L$U%MO$IwRw zfsk-jmGbI;ltzn|$d$aish#32{KeX_b}PZ;H3E(h@TV zrV9(@uo$+*%X^;vd6*H!^J>wCqsyK0fyR#l>eG%}}Q{i9VuN4}nrZ zlo*bGosC_<>Er#6-NRq+w}@7>oB)pe;S(%9Wsx#}dZ9*E!zIeOnQ!{=XB+4Kp^{p2z0@TKNgEpZ(--D?b7Dv!ARzMmByv(X>5dKRX|Fo{ZmJkauHXX3UXaT$_2H@Ag0aCQ$ama-}MN-dW!9ADlIU1!>}iQ{{<7Aark_ z54A3TnAJqHN{~5azGEcKyDw4ghRjz)?y1~DGMR5(=N1G{dekGZiwXEl@hG#F83vyr z%sAIuC2DqvaaGW8(%u81C2*>&5j^N#81Fc=V=2*JP2x@sN_of5FeL0|$iKRTxjBm9 z8lt2M6 zorWt{F%Z7Ak9XwGP2HVslBmO08pD_h3o{-*(BalKUS0Aq*ZNXW;|TD5Nus|0+1 z6?~+Yc7BgnpTRYbalURpu?ncY9mX6C3cj4I6>Civ@+dk6fM_qOR2M!%S+v7O=5^zj z=`#;Ze|IHgSip4RUYPmR*c8#?yF4YJ*Aile5Qqqn;s znzaQfy;y4L(rRQi8zXQ=RDPqepsD7q31O@)9-x8}>C)|=bq)xQ3qp(Cf~!1n-6iEkmew?R-+9jRqLRt>=eV-5-LZn5Eu9XgnoM>Y>0 z0sEI`HV-EPZW))4HV;~Vf6LV=+1dl%-a(SLC$Rce`it#PY#zi8r5y}fS$0&Jk_lM` z#*~f&--n!+hYY%zZ^YAqC*5=mDebTLvGp?+t2}Yrlee;rjcXS&ZampJ{9B(asxo0Z z_a!mrtw~J1x%Cag>3?K*LkJ=jq?q92P}s}kl?Bt^7qHemH-_(jWJRtzRat#QI5$I; z_sraq-nO?A38I|J&@Sg&$d4oGVi^e?%wp)AEBzbSR%l^17mD=ylm)cI##=N8dMACx zb$XecUz*q^u_Ol>ki#$hmDNHe_Zie|%%B+h@FApo)*26ge3)DZu(rtq+KQ}N1Hu!>lLinyYr=XL>rIQtVBw*CxKy9r=EWGLo;<&AHS7&98o^=?(s9nBde zwo)R>k69}|gk9vQhID$Yw4YJKYRqc5gGI5YM_}PGS3QG7b|Hh zjoj_0!?{8H3}ra?D5Rl!g>N34YemvvKVWeSbEPMLC8mo0e+j#~^{9~~`%1g}?F-mI zchfcoY%|RCU11lv2IKPDF5L9f?>TYeFH@rD0u*slR!ON;W@P-B24&=(_0>adfBal%kOY{!=yXOSwa%?t7I1fc_P8ltDjZMsMaZ0s#oh0HXcNGeTFHV-!k2-v54$inlp zpz()0vYu?7{u+D)PGCEc%_da;C)1lbX*GJNKkKIsP5Bj{Y`6E89TVSsB^Ef@-a-I> zKHkzK9kkuL(I*W@x(lP>6TmVthk@}?q?8y@(K==-p_TJMeEZS`yxCbkf%!qLEw^G~ z?J;e?rSMMtPZOBQ$isC3w@?D`o@~=8dU1-YyrEzs8wkir<^-aom?To14C4rQr@nu3 zXFVL0Udn0deVsBtQ_!x-1{LBbNYgZbkpcO-Hk7C` z#zL;(I&0Iw>E;XK%pbNa?sHnD#^kj(+%O^B@<)+dE-!WrFEcV#n(1hP(AA9y7b`oq zKZNo%fB5d|ul-|AfZ(q;hpE$l0e(5i7#-vbOxPG1dL%)0MPr-&F`!y8T%KI~&O*u* zq*XrYeB+5M5)fod)gwQJnNp8{qt3Cxh6?#1QUuAuk`2Sos-DicOz3pF!ARiuB%qkYa?#sN+3-@mmhl7jO7~cVGnrzYwj9pzkYxfRNn35QAw$ z9miQ7FlMMRpz<~rxmHat}C zIbESS33=!Z`5wzdemuKfcL?Dj&@K|eJIZ<0opv4Jr=<%GNwLK0i4~y4Bg{Wq#=z`e zFj^83pAg0M7vJY4?G%ZCP?JFZ95Wv(#Q}7g!!r?aW{Qp$(%<-hh>SUgrbctAT*A{l zG&Y{9BE*D#h#C}*k7u=3gu+8JMJ1vnx)chRP1gNFt-gq8F1)3gJVmkhOy(9dwy>4$ z{VC^yV_APhGa*1QFMeovm?yQmMPAglqKQ^?moZW~2N}`C#v?xpz087ri(Ak_MDCrO z8ATu9p_naLV}e9~aXus`(-VUI7j!O~rgqR*?QRfZY>bL1*%1ah$zO3_6K0{lx*$VR z7GqMnE*`@2k#t+dEh|o~xneUT;gkSjZXRC++gg~j$BvA6xEV&hgq{h$TR+tv=95M4 z9s%+!8a@?+*KT^O5WJF_T2M&ajhn7tUAgE;3(s=eY*I3R|JKm=Q(`-t=Uu=*lP*Pf zS&F=$o&jG(Qi1>-8v)YkXi&`PQ6OA~9XS#ztGo*~>#gQnLaAx%Ie!kL2-N|kRAzzXn7~Ea;<7QqV^)0< z>8z$~QI@|ur*vWd*(B4x3}H$_;;W0G zcXGUH+;9~K7FSAh5qOn3Qf+Ab|KI*r)PVmit zf~~Aqy7EVakzVhcDq#~b*Y}WcI4O0}aGs=Wg8Ip|+hn!>V!M3=eJsPL(YP8`J^VQr zwtS(U8hdg6-Iv^!fsV6{Vr>l^IS}_O_~j(^*`>k+5M!J>;u2|?+k+t| zIt$Era{#6r0U|YqThy0eYMobc|DhpT^z{9rmhb8NUwb~_)Av)3;5u&!ec;O2OAQb_ zTx}jrr+PqDvpuqU??z?nhgm6odcbsl`wGQ_?51Kv;|SC{bal$Qg2p{j0s<+9p~;O-%A3sfgE)@33H) zN!Wsq>Wp2p#*kwT3G00_ZowsqZOay`O|POSSd;w(=Yl4N+0IJpUSR$2a!(F__Aa`T zG^3O}ueU96ItLN7l6;wIE5fcw4^FxS!kzLB>fyi**mVkZn!lL!M!gkmaBe?A0-r36 zLqiKL8t{b~a%e3B(g6E}2~< zvH@DPr#o1lG=Bnl!YP~P4+uzqv#d-|_+Qb+Bs_M7q)tVl-SE5aRUOelpKaTiKof|L zgBhBx&4;-HH7Xak{;Tr4v~6#P)Jgmnlt z8-ijgD(H!@v+}gtnP7p9J-Y*W#8qGh-cm-2+<3itO7lQy&gejF&drd2nAPMRvnoUp ztJ&Sba1)+5xu_dEq6Y=yO{}b@mnpLHZ5T59asxzIC&M|)OD4xsHo>d6CK#v@wg+0F zf*eY!)Bd#DKr_^8!!R<{9u_L+l^f^3=?pO<6to7!Y8j0Pog_wteiDw*CKhD>(Kn~Q zri<}{YPPaT{ia1u#j-_z*B_ASvnK(`h@w}eB{k*zV2mf^a&A2ZSFN_9C}<^fxj32Y zHU2-A4h9q*=sgzC0j_?-H1wxCWsrgksZaTIb)r`fb}~@oVlV?^2oSl{!uh4K@zK zm|XQH#A50=05nKPOnpG;^&N(>aoD6hcoZ!d`tk5Em<0)caOZ<>QVuo*vh1ewAt!=# zwIIn1v>-#<6WxtsED~~W2hv^|0o5Z+Q*Xx#@V0>rX!M`}g5*7vlQ9$bWnm3hzxks+ zBFiYU7I1ynMmV7m&YbT#J_9oer}1GH4L;+T6R7#p5d_P*!Zr{+p=hkZ_k%zkc=i|g z_63DTUU)BmlS8CCMw4f+U?TmVC-}|$x|bjTBpmvUrbcKk0-*+1Y!nlH+=K{nb=xdB zSd_{j7oS7NxY!(tON~?Tsb_JZ4L0Lj(_@P=Vk~FM6FO%O?gX+$&V(B-r}RJSJ&6wd#1->kRiss z@LV=oBgH-ys)8(ZF(*nQ)`O^=Vh(fL`!X;C9F|7x1oKDN7fA#`_|*_&i1kNw&Nh^i zH6TTQ9V09A_nqc1A-u18&4uN*QIHLBkr}y^ypMCSlb>EkFMix935?;`$5GdVz~hHk z24MRXt9@9s3{1U^aalbh0A`L;X9v?_at-uo+;#6tj0OF#p&~<-4G`!du+DMH@Op;I z=8ZP$Z;GlA83$^=N0jU2qT_XcZW|dnTY~RtN&7 zGx(e=ov+PM0xJHS+P+qKH_t&)OX*b{h{?*?_Syq+NxiXV8%V&#^#=8uV)6&PZhZqQ zRe^Ke^0plK2<-6&5>>}ie6s)uSS^mCrnjFh_<5)Ii9N3F6+=p&5h^@!nu$5h+3-UZ z0Z*AwQl;@2+^m=sbZOY$>=BFC=a<_@4<3KUNduW2Br=Q-4TGG<6boEYW2%#F_zhnX zby$HO9=At#@TSd4&yYd(8WF{(8+d$pLT*ky4_GfZY_ylus(|e$y;E+;}QPW zmu2H!%Og5P;r);07L+P}d@Pof90Eg(G{P`ZE2Fq^TV@W3*^xj-ju>}q7V-+qHc)>q zQi>(9=PYoz6eFekSe4x&7QEutZhqB1(UaJLQn4M8j^_;&CrE#8er3-G3mI72!IwUS){c^stkn~^~lHnAZbe{Ia znN!0Sv?tFAGB*3*k9W%c=)Px46{Ds|Sq+kQAWa3vctTCm3L^paip8$uluAP3q7*UY zreR=tZf1meDkCseUYrb6{^Nh`{CadY0ogs1*S7&JFNN`*?I3Av(^xu<-J$+|@*poz zSOvzPN)7%5k9oO>_?`kJ-^qA7E8S%wjj2h_sZO;bCPW@AM~s+rG>S`$sf?g<_rb;dH(?4EN(d~f8PL8V&i{KoD14|12ms2 z%}gk#i!rHa?qJTKg@W8|S(vFz@4U^Ojkn3a@zh!)0Z?xIWBojXZUhfkW5%@BJa}pq zlD+{Y85(cW7tEu84;8769>2QJ#@Y4V^xYhLR>Al@oIri zS4%jrraOGNh1%NWmgovfgh?!VoM6jpv+Cj$pzhOYn>Lbht@En`{0Oe8{4Sl3PHO9| z@!dIt$iV9DaC7$suTOI(Sk$aAQ6BWm{Q-lRk!-eCvQ2waiUk?w+~gscdFteVl%Kt4 zfR2{%uuWcj&1Qem&zA7U3czcD3`i`n0j&JuT9xl;YdhP5hQi+gx5{D#X{~WqCCY-! zlzj<|D{rEnbf#7iZ!yQP{&R~n+#5JpFLakImW_V)JBz{z&b@zw?N2(rN=2iNcm3#Q zfZ$uomw>`U7GI4ZQub=Xx53hWUz(T{l44cLUmfNAsn*-uWdvvT`CM%f+d}`pNxziz~q) zEH-k*t(<=__etQbPp11>-bp*x$hm16ABMHRnJ0E?MbGwh?9o=9EQGO7R*6S@)C#E% z5(U7$&d?bPZyAyM?b>b&HybAp^gJ{OOBrMX%*8D2TiblWn3T+eIzWkjR=%IYur2@t zSKKUU+N6cMc1}cPuNEKfc@1G^v*gl4R;(qhv$TIx({-(ZHS;MX-zfyPwO}Sdr69W5 zF)x%lr&`1HHgcJ^CN9?4mtcWX!f=`0+6mpAvBP`?Z$IBFOKc7%Pz@SWP{ii zh9H1en!1Gw%1x*eBs=fMt8z~icciy2sg$vR7FuGujMfCbv4ecMWB2e$pwjF}J7vJ)qE!dSO;w|P5SjO~q zu_mUJrURVruYtmTF}apjiwV|tqUvHvNST;)X%Ypwxt~mhi&~B# zdeXZkx5|B!a>0fqlQ+?}FkFbY}!cZugNf~o@z??Dhn)6XZjS9}>ig%nh*^6=c99P^FvxvE%8pV7yhY6$WCyXm zs7?*Oc0KTz)c?8#9xL-{vh_8X7dW>obisO#H*aXzEEnJ5)Y`u~Yw~Hem>3WSv|XS8 zy8f|}z_1-r(~$R6P^2~u|MjdWBY=PA?y#ae66sF)gnrO^PwJ)SCQx)VbrN0)PQfY7 ze#}UF$)bE%CDVqKuqc;ER_2X?slQ*beGm>Ig>)t($ai$fj2d>uXMDeQ)ad4)v%_SU zB4x%Xx6YHtKUoJwn57;Hdi-2rv1L?YkO}nA@(DeMgOo`;6P}^xfj_$AmH2;GcLVGD z$6|O{8G) zS!O=;aJY(tTLi!n(A&qc&LKISWGgQzsU&QY=xqIQL;5waj8~sNY^+Xt)(aNN=L+bc z*_<x}|-|lPHNi_T$0b$I<7$oiH5oa>4NqpB-3Skny za1x!6@d0~F7->r^pwt(>DQz3;x@_re|9hK2ArD(HqECOpk)fP9 zhlP8yM5#d1oHsDmNbyX?>JoJV{Dka8y$-^ zYCFd&!C8w2v>5adjd2U9_8EBVm!DD(AAbsCxuktTVr>)KHu${k*(j?I8Xv;tyx+n@-1>QJqI1(vfw z1E;5ka@Nf|0{v|4PTxTMp|L2(0~H@TI9u8#Y~YXK@)cqX)2lM^2nr>6qJj~PPk$wl zCeu%l->G9IZYPwhACT0*zI$~(8;;*`OhX@;GY0)ID}S4@5d!e;#$wFFpFgVoNP`kT z!Axvi4EzAYW~JUD;2tpVUcZdL0EN#1`FWratv-GI@)t-o_zGFRPQWFS=Gs+YXkf|t zPN!}cNJ_{~YKg~Wx7me9MdM;VVSgeh?|-G!ddC70-P!it?mG-ZdUm)_GucZEu`wvS zJ(->u0ABAZGGPR37U@}w%cZBFHd1lR_Re5s*gQmfFmce>hqse}e4)kJH^(9t$Q9&; z#ZS#^+Pv{?B93=r?)jM7=#D#JjcK$^DmXB?K;I<*%E9BpSBhLD>az#;5`O_Kt|}p$ z38l%T$P~0LPsRXSK%~Dj4;qu@2FX>{!6EF9Ous2r*Fy}yYj6h49y%*VWK-Ly5=!Y1 zOg}gGdAA5`44Gao?>t1H!aJnPy+L9Rz4`sMIaR3PI=3>edADPvQ!A!zfQYr`Wuy6r z&(pvdE7#dBj}iWbIh^YoBb14`#KnL1w=KcLE}`LYCyDQ`p}A2Q>l3Y>VuRX(M!bKO zaT%kV0mAdm>yz}MC{J2`#fOF1w(4aY1*^vJ>-9=ki{e%el(@+BNk>XjkTl#lG4lq} zEe}20lF^r#Oub?I2Uevv+@TKL9Brw`UOd3R2AEYj-iMgPpN-NNX|oI zhij}|VT?+1a5jH93?DF6mn^7f-fkD@XQe8*n0}MJWd6X9w<>sfx58uYD`4db)Pgt) z|IBZpX|zcr1F^=e5*^1P4#n87R*#_Y5MUFSPf%Xp;uXm=7JFzMHXH6)xdfr8#CqdP zRJLa9YKPWNj7Js+{Q|a9O6q?b>(m~qnWp30-&2q^my@L9Efw2e5>PiD8Qngu_8LS+ zpl0xvz}as@$OT-hAmkRLZHbdhckC6Pvw&9IvDbXjW=FK(*PX4=YIQyMtvmmuVt=IM zE^Ukpz!tJNfBwKqQX&`QLu9@gCiRIml8j2EV0YV=2*8isoE>k4rz?M>1vD%@DawN7qzVbMh{{uiW>rGO$*rf+%}0#y83`8zvorF zBzd^2V@Y#Gf`Eu@jvag`P++ptwVRDjs-GkVUXZF>TdixE|p2280VHAgz z4SRA)=%$z&4&th5bHcHCn(_k9*WCCR^{{ka?e3=-u|!j}cb7XmQj2+X@#6Js|B-Mi z3@*nuXv=|culzCr^j;R?Mgx6%jzOHUfO)pn@|%qiIA5Xa50-zL91_eAb#OsD881a$ ze?5LO0J_~Az@y*$qgUt&a=2?IR^@nDfED$yX!-?~)+LAsfc30JRC|LfEyR>xv>{WT%XmWqE5`-}u#3Xet1{3B#Zp!lG*3JRwkhRr zrRFt(S(t4!UZQ^_vqa7U{bM(to8o>>=u$*2JC&%5Im~!$chA%q`9LEUBWnrwH>_5y zHp(0!jE|o`tLyQqQAa$M$&&C|0{TH@2>n)ApM9)2g_6T z?r{6KNo_cnEq!%81$|}(mxD0=PiLK~Kj)Ock!0#UypNbQ(((~>CN>rC$2i7!zi_m@ z=RS&lj_R`a!+sZB?MdFB&tf#f*01TPbA{4nE;`vI1D?!9igLFn4bs2b7XKb(s9uAg z#&WK8TE#xmwUtV>kFV+bpajlRiGZZLY{J`91RmPe6H^g zJF_*|@fBi$L<`DI&DvJRbYI<&D`1&7e#9ehyik7@EbUf(qI9~oPp6prbcpTKRMR;5 z?Q|foQNVDWxWX8?1H&b3T>swOsRmbPnYXF)76>+Be~70(AJWIQ)xQ!kgh&c{akE#J zaA#e9434F>^bF)(I25B=ugNwcTR@I0TbdfYZ+kk&T)`=>UXO8J3b_GM^H}^?Skf_9 zu{D2gE?E{$p*bl&bq)@>a4U`*ykwA9R8z6D&~gt<3_kL%kak9au43#x?NhrNlm`%jr9%)^0x`N8AUgsOg-B5K- ztH!xq+zqK-GkS@b*JWT;UdsJic{u(7NhR(DyjRl@X>tk4E@hBUN9!1JI3Q1(Q^$zR zL-f?f^mx9k5zhkPWLom9P)zVhhi;KJN65df9PSLGQ!tXHPF8$3p~w^`tAB$SNc?}u zO`*dysX&6Hxlb9o6c&&KA71xFE*;Mu!dEXvU(!Cf8r#NKprOqk0gY)vH0443MDPsy zw|su9fJc2;356Gp5KGX>e$I~9L%BK)xwYa}ee-X1E!>)rU}2_dSZBsS2z> z4Abu{wb^v1YB)crW1Vi|5~P490JN4NJkOcsbc*Go6>@duI>p$nh`W$uG& zI6!(&FMVM{Efzt3JyoOePrBiZLxfr%Uw7S5{V~>YH2RiKkoAy$HXVQD)zaezrlzL& z5HO^3NEB&8+ih4ZKzl%D;pn<9A^G~a^-_)p(Szm_(DoVmwA$-HHo;nw@8PhVvH(|L z?*x$^Kp1QjfCNBrs-?YiIw|TNNcHk(0$Zd*0Lu}9 zvi0}vRv&lQ{#-`MnOKWLJIOtDono{Nl7}F(K*UMn1`nbC0BSvpokl61Y;A9JFv;3uv|ZIROluYUDb$xO}UUJMiuD;|XIkWXFFWCrLpi0f(O2ChZ{| zHn6sRu-@D$+S>X{CQu&6C@LZ`>F8pxjqb0QL^uDU@}xW9ap@*egRT9n=MCV|*8@pUKyuBkDs%$-iwequ-=S7Nd*Kibi{fJ8X&+GVU|&Ngdk`Zvm;o^G_pno2q^AO*E=xIN!MSLZrZ zx4D#N0qM8Ku{rQo8&=)f;nCv$v!-~Dy*Uj<#{tzH-=M_NWZ=B8m#|NLi^J+Wd&3>7CLt&Dm z+aI!UI{vrm0f$M31B5BmLQe1**~Hb>YP4odO#BEXhuFq8&csLY^*JbIM8=SWzJ5x>6{kW`h}1VdpLV^ zYZFY>rEPGtFF&)uVyEl2DSpAhA#%x$KpV6UTVxqxE^Fw~CF2VUd4F#hMC-3`ST~wO z>0;d8!QQvi1A@%D94+!M$dr6K#vHXh<6$(gVx)fC`B>eYXGYtJjRiL$O*YQD#xz*} z!snkog_&^1m~?%{hKa?Y^a`Dj!5K8#N_SMq@@IU5Im6uA>W5g&G>Nf9l2gYh5^o*yn$>pg4G6{(zsQ|fQz(Ed01(uz5@~=!^@6+7)%d351bGEv6PN|@F8-RAaJGhKuupKTn;S>! z5kf~{K-|B`sDJ7kJe7U@l@ac`76S$yjjHtGbMad9D^Ps&gg@N3Ka7JFvQ9H;AaLiv zQhI|7OC97oqZhX~Js`?s#He;8_TRx{iOfG>CRdXIjxgu~#4v-CX}m%LwbVHa=`C3l z@7bfuFMrmb_F1XO@apXcUSrCd8}d~6N8&T1zg&-sXMaoPZ%H7l({yJvwhY1vd3LP_ z)d!?ZVvAqV3cQ3-xQ7+@vUhP7Qxnd(2u*DS&c zTYAZ#gd?9WXao3EV43M-5efjwbm<{2CO;F_08S*@^wlf2l*N9Dd3imtijYHSk zINMJd>wosu5s zNv?bUn`He-&F#|l*>%x1Uv9@grXY^JaU+f;>mlT}t55mgL;w=lr_e!xDUEn?ihJR$9 zT;{MJR8f{($$P8kSXyRXnh~L0%#RR@z`dcHK;Ap&z&=ae!GoVC9vA${>L(j9eb4bjz!eZ^U8uf9rgE(mK zDtRwAaIydV^bM6(Lt5T{g%t>C=F#J`N{|t-Re9Z5Njy;tHXhm{Wi`_x-0(UAL5&HA zCFXw%ovJm|UxRK{WxEp98h>FawFUYH+J6IR?XMoENa3*&>xzOZ7O;QWgv-+=RKRvT zx_wrm4&$0UJmltet5=%4NFaw;k&}khRpE9#x>NlYpFjzD87ZUx!JZm5}%jnGF7PX<9Rj(^Nu?6vyHbDr+PPCynGU~*k;q}}DYs+>k_D~Ccm z2@-6~P@N4(*s;#YAm@#_oN z9TK9cEwoWCMT9TNLC@!9Ftf21;=s@~A5jDJuMYi2Px9N}Sc84WSaZE$4}U1LxVswu zxI~RWYX29AZ3_c{Zz(>FEEYDv%qc=Mf`u*(E$>(ur?aU#Pwf48%KMd56dba0`HOsb zXP19_k$vH8okGDY2`)(EXKg9LY@e2F7Qz;Lg3^L|apqEycFEL3@u+p-e*cwrflxZ$ zGdxzN%8UQgYJ!6g6j5!Mgnwc9Z)%#TDJpS_o7`RnR^+?*75^>ICqPGvsVcx)Nq|K? zfc0VkLcp0(Vt zPqU{hqnrKU)#B^)PUbd~&QU9_mxhOnuxlj)HmB^Yjc?G~&mL0YT#b41&4f#KVL~K$ zxKD|R?8oh=;a6ei?E!p-FsBtYoxievZGdvl>|wtKcOC4a%u*o?&S?7l#D`rZ(P_1{ z`c2s%S}RswjW@VzFMsQj4VNBHnHvwN2`bHzF+FF` z#voRO7R4ZEK>NEP5+Ig2<> zDS&q2p2gIW;eQ=@^>I;J89N)6sm_Pk*sduTSaLWIU7&o7=&oFW{;+IU!6J?mgh}pq&Q#eSiB~QjFe3)xS?VtQG&OuM$TW z&72%PfC%PPM|$-Bu{^=?sGxt#NdgRPR|p6R-v%N~$izX_AQm@3Tmo`2wBUx#ad!>4OF5?O3LXz1@V#Q<2#(JeAk=YjNudZ6&x%Q1Q-HPz2gnOmIC3I|Dh z&o;J6zJGyA_MzM<)nqhE;4~s9K5;S4jk2n7%JMC`fBy#92r{aD@W%VaL#|?JcqA;a zbtH+r~@`UFRn@7A(XlG0pO6?d4>UvhM0bxq!OmFQ8^oY>8`5g)?9FF zwc6HPYRh=7vWKgi%NtFQ=7@^_Wjn(j(Yp;&#eblJpc=-$T(~**j=w_&9Q_3r0$mXu z^m0STlHh7=f`OQj3Rv8N-H(@`1T@CN6y1 zoy}V}t}6tg#zWejg%;c4F3vcVl56J`8+mbnlKYO)#IB(}{B`&`=Pndz=0T7Ip1Hzi z?tjUPXZk&pNYjcDUe6H>rom>R?mD~Gkir;mgWsDypTs-&UPK&$$0^$|MMsn4Be}b7xU)7SZBgJs$J!hXh75h$ayu&zQ-b z(y)@3jIFnCthzI_V{fSczxz_NgH2@c&wsKkDBjB>6hn7{UjYL+H(aTPyd?!d5A&HgY7)qnCd zUHuPwN-iNSwb$d=|6-$XRBa?%WBLQkSO#CTC(UM;*g7~U6Iw&t-83{b4b9HiS~I|T z05w8dzY2fDm2$!&^?JvuBFfrNhKt*3Ti1=OpCZGv;;IqP%Ac?M5Bb;_Hv%C0g8r|J zK9P{Yjzb)WArTuO#@x!hyAAOP&3|Z$@GjmOU!J?hx~V#8t?HfazLXswqJ(=x)fnpN zYd*Zb=>_b&f{xel2igp6;Odr#8(#TC_hS*^HbF7NSTPtym2rK=sm(Mz6)P0%|Ab+;U9SBKD zT5JT$SVV!x+>%-mFZ@~J%QAE#v!W>|I z?-0GMokjM_SowpEY!EiD^?wYPNjLY(OU$wG)8~Y)IaRvl2n~@Dm$<{KHrlutLLKO%=$|oVZvW{4N(=|~L!^mHy8orcg@4xs3H~@b8|2_m zCnTuYTpKN`ppozt`Lu^_)+@pqR!)m#bJYCVYMGPEhxpSJ%hSNW4tYtDFHtd)Lc6dDcD!byGjQdiMq=`AEB1U-TG?I+Xjo_r6i!P9Y(2iQF zL1lnMF-Kpp$6y}U0maQA{g~GL1XEkzA^J?iO6t3iYLT*S;Af--|NRLsVXWkg^ zv2t$|W-jRivVZcUnb_W-lsu9tPjF&z)Q>+8r#8|b;b|X!Bs45WBKFqS%=AS6fWn}W zzn2}q z_h638y?=R(7e+KA44lJhnQHQK&)h0ce`SyW+6F0R&wrp0R})<#<{ml+-N6?b`bGQ# zRdI23f`?KBqm?L`wy5oyL}vQs7>-bz4x^n;7&*0~2uA4aF88OjS8|mz?i=2wM#jFC zg*SeGytA%Hl?50}i;6o8rr)7qv0-&K=NOa%Dtqgt#Pa<;3JZ6O?VDgZq04O{=u}Rb`0}B%st`vGyh60gfL8L6yTV#_QvG`Kt@?K zyNiRtQFP~W57lvBtjTk%q1HL1@IUsZ#crr80xTjhB#8Y78kF*l9Z>IFKD(FpdtQ*r zj^VZ_Cg)mm+!uN!EaP*pYK*C*g2PnU&ot*6<$uaFKK%QPQO$Uf`CE!gt-lC!jWHfm zZCZYd+=SOED%!^EZ9yK_T2~Wjk=qXaKo=u5?5N>I14mbc%o^)yJbiFA#IF}I(qrp7 z8afL=@W*HVCKmx!kxJbMQmgk z=zo`08liAch=wM}j!%Ivva$jq(=^Ivt~AspW@<GDB7e*QA0~&XjipTL zZ$kYU?#LrLcJxZa@=t2Q4|w4`*IIJsET~DD1*ZFV(<>K3Sp+V=&iMz2BQc|Up z?dCr4m|#Zr*#w2C>Tn4i0}vV=12ch{Sa<37lq5Xl#*Z`?A}_Lw($Nm`9hRs;v)@DIqoi;i%kZ} zwn)3f4v(XC%a9N)K<82hGCbCeslK++_VC!(4rt`6gVPx_NV>QAi4H_Y{bY$Fy@(HK|fYfibCAG;~skNAb=v&IG0S zNKwRwk{qrYi3Tr`z}FAzdW`=4w>C%`by)6KU}*MD>1qP5hn z?!d74=*oke?k=%>)Xa~tV7ins%d4J|CHlLO`SN-HQC4Cy&~n*ez!5=j7)!Yl0qJU8 zuypfr@~ugOAUsOKM#=|HfqbnW;Oz0u<_u?2Wst>X)MB|N>;_2t2Fb|JiWfJU-IwP; z@GXCc2~npn!Rm8s8~=Rqr++{Fv+ZV#83Sr76%?(~ycQ6zV?xw9*ZbkhdzXc~>nJqZ zu7GjMigS&6ZkQ6dY)>P`(Y3f9ZyLTS$KcqqJUI=@;p1+{IT*}9_f`Q7<$My&F_(4^ zmWfRd2m;aRJEgU=xtH9aL?@tmmXzg&(^pKk#R3}(H{l>d`$4A7zkg&ib6+w4PuaO> z$8j8K`c-N%;EI$WQiNuFj_KuiJThc!j%;~#v1}7`4}fj}O*Ae-Hwcg-_u2RR|A@R) zH|Uu;2dIpQtgcH|W@KdCvdApXQMZ17yE}$$wS0NgbZRBsrKs`4#X=J~e!(Gg{BS{l zk@iU|>a8CxFz4pxKYu@5prZO<%4*D9naE5KIeo`nBvdLcBm09fHe`wNo?hj~sc8Zd z%25|cpVXk{BMsoUp{H&8O5aEBoImOrU4GIa#BKoJA!oLex)e>OjUQy3cC#*&-84e_ zL<%O15-FI{rpxS2V`5zc+)IxeRaM;&2(oT_mCZ=$Jd&ksH-C?@dsTf>e)v|dnjHUK zTO$Ohh+`|Z1QSRqkEQ64;55a8$kQ=a^Qu6zcU}IvSrU!pY!Ce9EZm+7*!#K%8SZRJ z9?*HP`iC;1zfW#KVJPAc$^iKG>onpdw0Wb*iD8xkQeT7=txl+~fEAJy+1drMc$1a= zNt9s39;vfwbAQwNL2f^#EIY&rXFQBIC;szp_}uV4q}kl#J6#iHHcewilAALC1mdhl zyVf^S^aFp|;ARDEEI#rE^en}cl$9e%K)>r^|EQ`|->ZEmfaE%V=BZ^Z;aIzGKi)fG ztbiIw3`Orc5p1;9+!G{P>Ksk6HbIQ))@&`MuDgY!B7fH|ZCcS21RpM8*NGJeheR=R zAF;7Em#DP$pon{@%@7rp&L~kD4eJ|5>zVG{T)h0*Jgu{)3ydW{P&I9q zZ!HpW$$!1uY|y-U|7;q{fFx<3lh`t*BqWInDcU!w8yU@ld`~jFcneo%KITTzgN}DT z%skuD6OslXQX;bQmlgm ziM%Q8eAEk@kKGf;&rQwRgSRHG`y7mTSkx46{lJSJsKYjXlNyOcMlZBspKq_zG>LVU z5`PsD0KA5FYZ;NX#P7h6CJR<3xkQUazuNp}zW3OHnt1h{noCuY}Mp8Si&8G@&Z85^MReO~{Zh!`)>7`@6_^+#B>v zY)O?8B|&aQ!sce!pFlv}`YN&7alHFRSbvBf6?bXa{bKPsdUB!jdb z#Zjmiq!(=8t?7=P=`U$9o!~iGr+wh6857dv8j!N_UWLmhkzEi`)a7>p?00_^q0WrJ zbsZQ;>&tUuc9k0gLv)$nBePh8(r4(;+TgH{mx6GzzS%7~P|zUC9vx?7MwCBed4C{E zguQ>)&X%ZLa(1;WIEFUkQ@gY{0?PvMNBkEzBBTE~H_j42`m1t(Z&cjt z8L;UU;G9ToJWI-(E}Q@=4mdwVsC>!`&{#DpYsSIq?R{E{6!A$Hp=86}Wg$sni|uk@ zc6GMerRbET&hsrP3_i~wUc6PBI)B{wyg!{PS8_p?9a7|}4lT(*N|bZwFeK7irk@{) zeO*Xgk~Fa1T;n=7&VPA=c!KCP+&bn#Nb*+5E|^&Hg{joT*pH~Vl|ev|xjFY|m>s4% zrz$caA=_qMU3G$#&8Q04Ur-*$0VydT)|!KHkOLKwLElmG?ROb5-`_k*(SH($p(X9= zLnlXx%UI}HnZFM4ZCdYOGi91)N%UkXtp8?pu=cCpA1sa| zFMK@uJrzH$UAC)PyL?x(b{kwqybN3YZtW+n;zPe!doJyl-=ihrNJm3hcf5T^(oXw9 zvCu$bCMG4=f02zgDk`rpHGj2Vu8AEjFUgOy#nEZikN-%7Xk;`Bg#64o%1|E!EgZTj zqpzxTGNZP3HLc7vMwqvPsa2%kFaxxz|Pu+UIou5ewQKAM5+6D~-wEH!$TgAIG7H3O8se!_gX@AaYf~~)`BW+nM zB-*ybi%)>_Y>@>jtCKP?30h-p<3}xXO5#LI#&n#+zOKsxXGAFLXfbHE zAC`o=jSv!ZB7GW)AlXB$VYoVFD*7N44$XYAB4YS1brzE{>IXN*R>b(Da1sN!^a$JvltO8__A2JMk*X zUrRd*|1K{V(x-}UvrnO;ks@5zD{$#e1&$k#P^MkAMV=>tGz<3sFE^-o_oEcB1&+OH zMQOd?ND8jqN-F5xcCjY37#O2Divf;(rJ=}+sZaT=OaWDq^?#!rc1oFU;D)P9+K)(g zq-=E``O6=^ZZ75^b#?>pQXc%}!cy#C;`rCU74M9{!h6gZ|H{ao2kXPZ!7zDb%7bmXd@G4X%@T)(`K{LO_-{x1xYn@oGa8l7#2HBCFD@x{& zZ7}($WiUuV%dksyl!R+r9H0io_#(RBTHc@S+<#(ZeORtn^@Fpk`;vF>(PpD6BrTSl z!f5T6U1KMODPO9#=t?~;PVK1Lv*XZ~sY3bVY<0^l)h9kLRpm1kl(6HPPoNP08$0}t zPu+N=dxPg)Z(EB;OoBa2tuu)e>8e-7V}<>BJec>6oY8aJ_C(D{-2?hpVQ6$jZfsi- zRDX*^exAS?7510jZkHc%p*3=ypSy~+rjhd!Q-%9f+#@HNuiP4Pr4cU~Rq270!9H*L zC7(1{-j^tHFORT}koQl+Ya z>H|VqJE5RogkUiuiI)dI?5Mq@)YIGBIDa!Xfs4iXy8V09RwMTM`|pvH+^)5={{H*# zkwhv}5!&`H+5YMTiD|a?&6h@`qKGCEJ1P==(7gw35nfCh4bTz6cZv*8-S_=U&QSKr znxpTof;4pJ%^1DNMlOvtO5gA69A3A(F7xEZ?#_9>t*4f?gvhsN#92qQ@lz$ISbyuv zUFO=_BT(;z3)$Dmmp&_of06YQjXAEYA_8Wpqx&-|_d88_ZKpP={nzIk^EsB@oj&0)FZ7oL?!`XHwj<@h1zX(FE_6o{HN*qcd z#o2TG{MVmq-U&(|&Ksd!_ea$6V_gywIQ!FSguH<&$fBK|lj}$@U7v9MIDbjZCJf4L z%Z)Fr2Ayt~?SHC6;eHo=W}%u89zyZS+tYKE#j|54r8O00^i` z{J9&vcIPfP+uR`DXDW=jv~=vYR>ZHsvg<^LC6V5em-n~{-1(W%mzVk&@hY`Fd~YV) zMzv#ov0P6gmQlDcY+s)CpM{y`l2S&?l%Jr!B=}wtuw$XmprXr4>+l znvJ2D6Zq^p`R9nXww~IgmxWcW$z{|1)OPkgyST4WOV8O@_N}Lgg&^1BwG~+q%cPyH z{-JHb9PsHkFZ;UPv%2j?+LY|#ZM6H?XmE~q5{n;-%Yn!gW+%VsN{#pB zV&p!}#0S?YnQ$wbH1bNZ(#dZgd4@94e4<^DbW*IQtP*XXD#mY8lzXLX)eIz~{#B`B zL$;hiT8?DFKC{EN9%BjvFR+}Q3tS$rz%?p*o1onBU0Xb8!bNW5hyX=~M!;)0?6StE zCh59GtZt7ywYPte$C#f;1NI(moyj_67HG*YF!(DmDH(VMB7kz z72Goh#B@g@a3ZYojQa4rI<@4*uGprl4>xb8mxhp*6;la-Q(a!SGf6n6hlmGnB7oU9k^4A~y`4Oi) z{70ue`t_5Yn|6=I&e5Zt>GLQ1AMgL&KjWMyJIBv|CMagP)c1L|b&-vapB;f1O#070 z+c{J|{%7?GFL$mVUs~^buy}a$sK=&{9=+c=fBxjf!KZJ3^XcEVUncO`r@!2O`SFvT zljj$+f7<~T{qW+^&gA*e#TNVQMgI(k_>9wgKV7D9823Nl*}A-VW_at_!@HfY9zFlp zpHCj29xNZ;z4+|qqj&GVdW)r!55<&EbR(%&(;6w z{!6_3r%&kqzkI1H{bqC}RMQ;4t#n#K6daqR4KKt2^NyBQ` zmnk$``PtUW@}%0N!tOfHw%lDq09o%Kqsp}ooIQHtweRR{Y5HKt?{|1dCw+hRV)gio zZ~pLyy+3~c@X7weefo$7EW=%VDNosAe_NU3t(Wf~?dwL|EiR!Mx4gr037Cj|2z$U}W_HsHN8Xb8*~TKq09zU#&MV*4|tjK z&u>F@GO*avRagxS^%YJQmxl+7fwQsxX<;|88`kVvtMq{dn9lVUbGEAwEctU=+#%a! zd38P=md>s_py(TJ!`q^KU%uy@f0Hnb>u@^Y%yr?z)JNXna;g8R4pa-(foc=*Ez|#0 z2dahYKsCo*A5RB1htWT`VACY73#x-|A;Qt}NdMeoscNA*=oTUzU9R-6Cs_FjRzCO% zAe_Eomz!aBccuUHrvtiS{Xf0(@iQHFhpWrmU0UQ|0pL<+sa&!P&fo*de`>E;D-0J1 zXFmPlkXMxpBscapm->jW2I4W|r^C&~Ef$YqzBG1pwIHr%&ZnE-4Ma-vVUA|=#b6`z zKt?TobWS6m&_Z)Q#G$uZdX;6tPqUn7c}BT9@PQ3AT`uS-GO@gh;*9QeO<%e`KJwvC z$N9x;H3zHI;Y6VzanuzIe{c!ZRs-n=>4Mk1AekJN!<4s=r0u-ZmE4KwPqHcxCwz>> z(fL3>)&Ejm?tD2Q*k2NJaF)M98mHS|uXfp_CIAx0(DaL4A@s!408W>$cdt(l2mW_~ zhqp>3F(BS9huNDM&2$BG;z?Z=u5t zpLl+?;A>OdOkHp%zV_;upV0+0o^B3zRr0?JJRC0X7}Y$GA6G4i)nq`i5x`Qpq;v`S z6&ayl-pppa3VIW?f0nSo`SP`;L;59cb)`Xmuwc){C>gm|^I`t(Gj4f2@E)8WN8$5j zY#~3q;)L7NH}2Kco_LeZHv`Fm4rsqAfHwCU;1h>j=(S5})Q{jddJf)Emi1wknVAN- zDAMh4i@%cGXD&GVZqU!pG#X`*+eVPZ)O{sYA^O+<>@x~)E5#diT$n{fwVpqQ!n9GPO zBP-eB*+&nbJbAbE?w{TvHzASkFFyf5D*mXSB05Q+u;~=H&;`Wg&{gm>&$hO=x(m!6 z|M17(?tS~+e;40;yEpm%tM9+wi@9$sK_Tn2Lg?hpn3=Zr_aEj(_xB(1=#BoO(qC>d ze<31n$f%ytQ@+8nI(v7lyjV|0G7JU>Hu-pV-7cM?R1v8rlB7P~`efDrY<#mKl*a{T zkH47w@rOVB``)*cZ}&cQuU@*#6<^-|qkJ#Qjfr~ef1{7|uH{jm?7w`s|NfnXkN@dy zKHB=ow^6xqn~%1(K6?MMyAH3EBG1;}=_VgP*x&zIB_FyH-Us1PfARw@<+dI*31@Hb z`Nhs&NI189JBOWw^XDSr999YEcJEh*n-b2NprWkQy`ZvP1;rP9J-*@Offj?mtjNdp z>}OjDe;QH`jpP&w8O)A1%n%_zF!iy1WpEPO%}|3KO$W|lpSrD`$W(*uss6>xpzGXR zoLvwhYrX_4fEn=vO^Xj^!-M(o0Jil2*MZ@IXQy5|VHQS6xQfa65Jtx2e`xF9Y$B#N zA^L6B#F9=v=p+e&c0l6HDH}X3R7~WHTmgPQf1NVz;9nIm%*U0AfM@D2U{&S$?^>sU7SqJ6}=+hxR5v^01rTk?KFZw z%Zu|PFtl3);fLt>z%tjx#SQwQ$?@w7UI|=jdeo5(5{BOZw4D+LZJ48AnsNGnv#9YD+{C(Tn2QGXKp}Pw)2eT z(VTWEa$+Zy3S^RDGj15Vk}X@DLZ_}XIZld5GogLPgr7v9?Xs94=Gl%vImCl%Lf`il z-!La4wKhq%$gp%C!m-Y|?CO%2T6ufQe}T}cBSIZYH@G>`I$$=PER-=8*PnxnNr>&k z0Uv@6#6oH^we@UJwsgfj3A$$Oz`+w-0XQ$RUZ`a?3V!j=Sx_T|k}y42e^ke6 zg#3X-(<~-MRGk!Ab|RtGfErAhAPO!ZrCCOIh}8_rHGIMs6AO_W?nWI7u1pu8y0;i% z26h@MgXQoTQIz9E64=D@ybyQ}FMjxD!M%@9-})I4(fQ6%Tv19O_VF`{IAzW}5Eesz zT|zt{haVL2u>z%Oq8nuLmSYtX%FWTK8yrJW+?ZBx+-x7_DWXw1|-Sae$}uf879TR?x{! zBsnn|!Q44OM?@{@RI+&H7|R$#(L3~snQH29vo52j0+SRH55p?4i>)$gao~u&fXQ!3 zsC`zD&)Ko1#x9hu7RR{p%du~Y17~@T`f?p@8GC(AXh>Jot0~%Ubr~Qb4w9Ay!z|7w z;+BD+9VVEtlj)Dkc$1&mQypz=c}jg+*Jpkx=I%OxMlG_4a=NFdLWCIY}{88uv0M{$#* zQ_}HpBr*<*=4-uKg>M8OvGjT!z(k?Yd^mcxj0)1TD4t_^rpvIq1Jmk~m-~(nBofzh zUP?G*0XmL*)ndl3VW*Q5mobkI6gyGri;9)=v5Yg>f2Ho=ChSYX+e!t&3gt**9IIIn z;=eArzJXW>Cwz-WBEVcK!nx?VF+T?!3XR>X8<&8O4<7+{m!OXi6b>$4-6&JEAeu@p z&h&!&m%@(^JAZ#T(R>Z8N2H|BaJR{=PQj1;{$P`D{N4x)Qw&D?7E+0tTA#`t2!m)^;gK+dQ++SiAl1+eqGsqr_*m zIVqbLf`8MR4!X}mH)fYaj^~#?%wM}Xnb$aK0iXwEn5Bej*xe)ql0%VLe7#mFRwPeX zDnpc-o+!cJgv$qT2r!$y*72O{pUi$jO{t}pNz2zXr8H_fWFHq;gpEeN672kR0CaIW zkhIyFL-?Mo?<6TmFiH%WGqL#A4f2|`?*kQ_9DgihJVa)=EHJ}LXBeW1`2d(#dRf9! zfJm9GCRQ)k!5^5?1H}NdpvwPXpSliI_dPVi>JS{e7eAb7N9Wz0`TPGM!NF1*A5P{sxo%3X#I zLK7eoP+jd;%FRU~%yu;$7?4ashYqUdILdP$800=BB9VAImc?k=RXIOr6fSUMH|$It z4Vv6215{|+trUs)hDi^id#~_KgVDQ~MrTVK<`FN@QAoin9cDRA zu$G{Vb2+{+7(%4;k>4nV)WpgywQpw-7_Fvc8sKmp;yr*ar{npO7Zkvc>61_~An+ZK zH{&y7n&K`nJ3jF1^uBHoJ!$q@`?@ebXR(1@G08}(jN+EQSD{JR4D?K4r-(uuA_`fg z9^+%w*KXL;mXi-c0S}i$lMgW#D}d_@7ShyVc{qj%@lOg88s->V#3`4GlMgW-UQmWP zC#D)75h{6V8`_kZ6mE#M;~HZWX)kpm$ETOslMhdSQ;TAP@XntcRfy}eq?v4}ArTFZ zPK%6w%(~EXn!3J_b5;gf(!v0;gwt=$i4Pi=*r=_sdY5vXdz2G$^drqvZ0h zhm+5Slc&8Ul4qP@Hw?Jb1g#TB%xj~v*9BSTh$A9Mkw9EB3j#6F_-8%HF{am(BdIfd z)IdXjW82-0Ri4%?tI4gXIz^=vd*ob1Y68ht*F1-4$HIB63^k!?WP22?taK54kfxHT z5CcqRxfyxobyeMWh2N<>M4MOwZM0YgXGS%7ag)52<^YX;Ejk#{LELi(Q5^kxY0R{q%o>e~~7=Jf!v zJ}ww6NeiroieGk^EHM>N>~i?sCGj-ZS>UcZoLnAc+!cI`cq7n>UbHF_2TpOa49~Ox%FdMQ1WPIs= z>uBjVxn|caDJPd~!?7XujZV2|K_;=Mf$%gotURRKPtYdM^|Y6(w^fgEs(`f>zx8UZ zp;(ku8HNB;K&-!F7n7$2*acAjOZs#HqD!Bm13#S|++JRm2hg@+GD)*du(XfE=?N?j z3p6HYx|GI8f`!AK&gHfQNMj815zhxyS{ z{&)G$g&fvmv_&GGUWm=1HwC$*-zMQ zFt5$aaGiT5P|1HVEBaCB<8m23(EfHo;Z7Va&li2PhMJk+%%mKO$ zAExy5`9-{h5-`hdZ`cMN-P3@yrlDTfZ!Mz9bE28}3#5;4grVnOW2~Z23lJZ|n<32U zeBlD}nZ1N(frs2v;8?Rvm^0QXy1|&Df9sDZQ$EESW#d=+l4Agx5u1=$X1+_2VzIgl6?F+Xr+rDV~lI;t&FPG3&0r+(7leJIvA72iy zxTv%YuR>w)>IRE&9Fe$J1>%GUXTzCx;Pw&4&Kcsj57uMet%ftKeP__cs`3;-6zLjN zIRL9tq3RUQ5Kv)sTsDEu-qVqEf3=Dg<4C30EYh$|!%wZ-u>RBs%+`y0|8~Oo@ zPoCauaT;uTm&Ng>px603h>Y>2E7hLR4OPQ zG#62e6ZnC0hI85}|F}HPiOgammTqS?5EV7$%6dvK)wA#vBHzVaz%x=TZ6wOFBlD4% zk{qV4t+nQgHLxIheoX&mmv zK7Tg%>tMwlhG)8oj*Nuv4%{;wW2?ymI0w>#X_9Y>Hs)gW78?0r!B|ntlbKt2f^JL1 z1u`090_7ZK#syD+qaxjr@fzvM^)efzbS^M*Uo~nYJyfYUXDv_>fBq4gWX`;gs=G0} zFWR@hL6~KORh%vtH@t%gxhi>Zj&~yNuDPD?;HMyGDC7O*1j;b4(rZ5f(O5n!KDj~q z9YQag>R9{}$%sYKoGlI!{5#MyjU;gX?eZeELA)5M!(xgtA~6s^Z>JVTwFgVN zxv&oe0(el;Uk&8+TuOu(@TwDM6Cm~xMcg)Y|JjAT5>heDOWd)P)J`V` z)0835OE3V2{#(AAt}O{6EFWTw@yd4^HZm`tfV{!xaX$SQfAue~VRYzb!$e^@0Tpg< z%cy z{TSVx+=9F|v8@x^^piF1iaD7DoD-RmI*A!uyF!_~h-;DL7R9JdZSI$cxPm9-+UJpu zrhhm;Iev=PfA@e+opy-4s40qe@gpfkG-g|Ma5wG{tf0uP)5mOV8hsGI)W9Uou$jgwFwfml{Sw4$6n3UrF;$3_@yN zYPT#LvMo3j!^eM-iUF}-swnrF-CEU}4Xui5fmJ*R5`gSXXfl}j&d)Vl3ogrMzPcg} zF2xAxfABGdbUii6Q+$rg8i5)mU9lP#qy#iJ-o~2gan) zt;Fq!%0gQ}&aOIjbcXmQZv%hyaUR9>5SP|Xf6^zX5iYUHUE*yU3PYeP4zpby;43U$ z1o5>7PVAl%Zx}+KE)L=-)}+28gp2FglWybKksS7@ON59cWvIsY@PN09UhE_H(VT7_ zTLYAWnXvL{)^Y)85p`4|R9Co)i&j*#>*G^jbpz~*Et z^2X#UqUKhW$3Di)YUl$KYt)r_(^yQae*)KLRguc1YPig)iR1(*Y;#66b!|djqqW&E zD(cm8HZ_=&so?5k7)Va6LV6!V57(M3&t|u{-bE1Dfu-4qVag&V-wxK9 zR?rn?3@Cd660Agen&@c3v27`3Mom-zP6u&903$VTsDvh(<-Ik72yZ0#D@I7zf8`40 zzvG3Xz{5cWejHbILcY2@Iz_DwD+83tPQ}t|L;;>-1ZcIYQsYwP6-Gn@UVIub=MWT@ zRYS}hihzUV`4}BfkZj+qD-4T`-O-E10|+z-;EkEXfE+c9%&ey9hSCV=N!41y{McV2UyS0D_6qIn0umY5o z6h+1B6smmWN)c&FLGHw>oH5hCQ$+ogBcsxVR2_y2OA#ECqangn1YY9D1j9{DXBQnU z(ApHa{pX~A#b|B25e|}2fB6s3A_4x+l-0usBAPoYbbHz7ko zeyh&58puyLz!hL#p{oil3v_!_q2mf&Rw&LRHdTJwd<8IVIl^rd=w{Q7#FW~wGWAqS zPOc5tB-F6YX|~pF%(b;f6K+NPCIQCO+t3fpzugICnr)<*i7UP~e;rqPnUfo#Ow2tc z=hI5soT6LR+B|(`J-ks%5s;^cLro=^76)ou^gQPdAs0 z0>%`h+6i``oJ*X1sKLswWQt`24c#^YA6-=#F;LYxoHAR}N z=vv=Ox_VZE#|4O9e^rnV^r>21dP*VmcQx{~V$szSTkB{^E#0i3rIR&0J3taPJ6Nr7 zQo@R^^|noN>lL-GzftzHf^{-mA!Wx)w066Khu6)xeKzhXA9>01?qosHsy*S-OM^FB z@XXu-j)|fSuVeud#aud4MW){nN1QM!74DOB)(4AhRhMhU2APUc=lMfij&WJs3~tGssl z9F{TS6kXItyvE7rlOAgMvv{JO)*gd?LMqHIxrXA{sToxu##ACckPI3Z4Lv zTXhs6*#OHhM1d+Ti#|pmDV^>sDGu34_yeA9_tb{NTUPWQR7uLfVX*uL=XUm{l*)^u zJe8NfQH1Yx_&WJmlyJI{j2*5-b*ON@4paz%QuyKuf7=n8wZ0=xF@V7&Mzk|o*ft2C z_Y{jz_;bXwSF##`K<3fa$cK6DPwDs z&c-Y|f0OgbOWqQ-53%ip>*}C|Wl_zkl-8^SzOLb)trMOGq4@WJ;56vVD3Z&bI2}A% z+%Dnf++WJukU;e+ii@HoZfJRACbn#jM@u%o;RG5r)9pC#j!ZI{=p>2^MpNJF<4(Xe zveP@lJx>t;>E*|xulXB-&lcx*E@RQ2PNQDMf9dQ_4`{R-A;$SutRw}F>|7$O`ybvz ztNw=yTk=SB{L0SPq^_Swgw{ zFTV&#*=MoQ+WDLxJFM5k9^ ze?c5ykd;L7X}3Pdh#woEM#_QMi#hW<@o3ylgN;&eA6;dBr-v>gVgWi?uOlJtHLM6J zm11F}VVmMyt=o{`YK>&Litr5z7;;=gKOo6RcrFveHBf5>T1V#NU5#iDWp|Ge-+az<({h+xoer86sWUs)8>e;_&@Y29i4KI zS1I){1KH9zfGE6VNzM;e;dh~ zzPAui-0LA3%^XW4fU<7sseU>pvr)-R#y8Ydiu7y2Cd&ws0Evl|=W{5A(n~`YFGaXY zon#dG3(eOt_LZki2>}q5I~X<--h+$_WB##m|YtE|JAxQ2i_ zFhF7;2)Kt$K;GmK5X~GY;R_s-eL(QRtg!e* zp$MXY)Vd7DlV0m;o@*ENxd;TyV5g$uf6YFrWBUFY zR#PYynQwuIQ>}=Hy*X5tfhcqhUg}0mf{^Zj<+`HbWzKPP6k72p8JFMg~be}g+0+*R^Mq)#i5X4CpIrlw*UAt8hnCG3gF^)-C+r`1Aa z%rZ%Zihan062CFV#HQ!8grE2BsSZ`X)S{jDexSEFowIbbgaz zRr~~3;jg!nVfg6s&cVPn|J=&y*D16{rUA89W&DcWnj2DK2Z1cpfA?Z_$to_D3WiH; z7l?IZ?t)S-gr|{@*|!a+G|P>Pm{#(y)M)Vr#mcTl%}W{LXgdL^vlko=YyvRMDA8c7 z(#M)gzq8{f2IWY-ekxfl03W9*2!2=WY-IlMB$+rKZwxM2!i1#?=Fe`qd;O2 zu6zs_#>ux8l&LUo7#q?u++3)W<93&056C@Fj(Gai*(JoC_p%TlMqsIFESyI%1wdOd0BWK^)+M7`j%BfnI5^0ZKc@sH%a(NR1-7Ql)+ zhg9_xuOJ`Xe-5{^HwzN&v2SvA|66ZIocU~Sy#w*&^H&A>MTLGT2%ih&1kLNtr&+X; z+J-nNR!T-)Bbq8IE%?(~57O;2+XOQvdff5IBlNKK!60yJuJ2$XY1aV_9- z2%wPhHt$OmG8#tfWu0L}x)Sf>MH;_@D}A~vvl8PU2*at9Rq zKN++Kb0+jw0zc&w(6TAhFK|gli)(T}HG$HoIk6vXLYI`2Vbsx?t9X(b@|5#VJRoz} zITc?8f0^3}f(blxHYlMTVvm#7IUS9@3iR}cVvEso6aWcvt zgG{T#!CO2XX%#tHU|*I-t${JFOb8K=?h?AMaYDI>QHv#2%`ZoiH{}$R^r4YZQvA81 zoOB#w6s0FN`t?-u2U*k1)jQ2{=#VqBnm@6#f2fh)<^kz$a71^CEZd@-9fz-}etE=} zCj|LqVCPYZIX{X3Z9>ucQ8@7>;urQ2hw~1?k4o1Os)xwbOiFnawifzRms2|O1xZM) zT`-dj)nr3fiaPnv#nn9SjaYf5>^~~`B}HcW7U+yzC3O#wxFOSX{*s0kZ ze*yUq1vN~_n?_|$9wl9YM_7CbN3H3MTy%EiL|&j(of{*yahq4cRnJ*%!o?cz&de}# zaL5-S5scvIEsSdMEa!cRE}z+6ltiUV*+M=Qy+sO^yHh2>>s(dk5N@-OtU;MiMae?# zUOQ!PDzujJ4M5|ljC>S#c4-k%Ywl!He~>!@#+Ft3Hcl^>N96=Twq7u@Kf`e|lB)n0 z;AsIOHzj}#5fQNhRujE2XL0v(b_9=#U685Rr`9wqH3-F|YT9YZSnkWq(!BMI+O;mU zxY|#V?5njoYg!bD{y(%^&KxPEGMyvO?bzo*ofpCf2CAfj55p&W!OgMXzfyN@Jgg`>Iq)@^aKYw9B6d( zRGTv zL>UUU(C1dF4RIM0Nv$joWqzi;q_`M`eR%}eEOC(qA{#Wa+0*JLa_B|`e+UstDH-6n zu=d~m?#nN}{KIelBH*h(^7qyEf6Xieu?(!)2V(!PhHLj?1SxIQvqtp3SdCbCpM;W) z%iu14cz=zX*m-nE6o33ekqBwQtPtdndGFP(&XwYzAPPdb_blAC5U~0SDj;Y?V5YzC zr_0wLxTc5|(O!7*QsHAPf2p{W93uyVk__PFt%H*@C<(zS>u)c0NzQJ=yO+HNl_@o# zoR1BgFPw%kYP^tHXEP7xexSK>=Mt&!n12WTEAWbkig0`)*@?#w{p*~eIX~8k$2#%& zME_*gM=Kj4`XyOQxc5P$lKbD9x4Og6&lF^Srtos_Mk_aSJliCSe^8WZQ<^1lGlkN# zaMLOAYm^^St0~-DVe9957LE#5XCZQcn_z^sTS&^%_Tg6lcl$p>ve}>ZW zA>&2e#REGJfmlXTFF4I`ghk(HhE;wh71u|O7bS?&QKJs*@vbV#e5Dg`2#fdSa18F{ z2`$Kh$wj7T^?J}ajA?Hpd~`T}dL`)_xwXY&+8x!Xf+zj?6`802P|tf9l_F~tKsWKa-v=%e`)2nPHXBozPwY9$D*%b$zEa#gwdVT(AWBINnwCtGAR_=f~kkOX7bIq zzZF4Oc03}|kb);d3~9K&d|=s(fyf#Z2!ebpZ4|=hY+^F3YA9w>aU?aC_b2H|>u|70 zlk4UoG_6v4*vdH*EDi*4s(e%076Z)gUE{uMsv^q5fBV_CbOo>#6e&~DZEuQBG$OZV zCq>W&WJa#C)i~g)tf2!_{O5tc|$lv(HnJjWxR1zOQg zA%21tHd#Zg97pAY$Bh7f20&Uq?TdM)Fe(|pLYVb&QhF(p1N{X(wEiV;UcwQ?x-S*p zT-=LCe{n?V^PEkCoYM0tV7~n*C`gVn%2g40OdR+VtqtI@n>;9-piv^DSakqSE&v_S z;=1Emi0T8PyghUxZ6EtBcuG`M1!v7)TmFIVPnNi58&w#r5X&Wbjpo6@Pa_Reu0kYm z#2srig|86OSc|JrMl?IX%W=Db%ZbumFn2{oe?$PG2^34M5iAkd01KkCY4AqW(s~?2 zj2Dr!*NmbJP}0!eL?DmJUecy_e+iLn7xL(m2JQa)hDy~M)1(~CO0bZXLzVNv}%)729ltIE~lwfxcS zly<<)>|E&-sSMi)IP8W_$voCMw#lbge>2&2&a4lv6$TmZn&FS82{l19UkS-qB0*f1 zs<)ayk&*iHc&5c3)3~D{dlD&>C4K}rsVS?O%FfG7OfHI|inSkF9K{ylLh)(^h+PK2 z#7pJ1ltIv*Z7LoPO;P1h+R%_xj3XGjOy?>Qx`>#=J_pxq?oR?-xPS&QW~obD@1{`mb+qN41amU znlhrsakk-c60RRAtU0N%YN=kfe@B@V)w4X>-NmGRF%bF}xmqBodPWMHc%G^x(AFJz zt(pdTsSFg(6xwuX{4iRK3&fBGf3o|D6|^NnG|S1U2BVgI9_LL9jp{rt-0}Qr?QSw* z63pj%c8yIlYKq;ki!-9mNy41HC{_Cc(izjwz&UD$ZX|}8m}q~y(Rxj8GjZMP&{kRu z))MkcTKncv*NnD|r_M~PG^wd;5Ao1ja|g_$%eLuiWsH^-0&c}~O>q%Te=qB6Ea+F{ zd(15~Wt@g;zDu{!DiV<*V}oT?ZWm#oO4tn_$7b)f(y^hjx)PpFJAs7d9?hyIveICx z%KigT0-QZflS9={#?E-Gic3p{L#C|z{;9e)y6x^o^^C1bJ4pD_#?CF2RZL8+ATsVc ze}SymjikKisE$h5{mRB$e;V%+C9n+0id4h(iC4T~<;8sczy{#xb~g7`JFt4HEw+PZ z!v2#=VsAPRVby;$vo-1>1XyZ6MA;6tI2iG)57-c!rnTp1Ju4FnABtH#O?>8=w@692 z?rIqpVD#l%1(em$ZDCeD40p1|#4#T!;I_I7+&2v{?sFIXIEw!Ce^jg7g%Ko*zTU2e?u|lwRgxr4^VS=m?qj}l!0q~h z`<(-fcP6W^-Z_f?^nB+x@y=27^?qj`<52_5ckYq(AAK0l3%!naev|L~<}Tf4-n!by ze8+(OP65U{IXQ%ne}{3@W==A-Y8y2yta{-n%JaU>w|y&_11qS+N9S4&ubQ61*bw7w zI|xsP$z*uImXQxQjCTF)x6+eR(7VLvu6)`)vF=9r@sobzzOoZAyW(wb|NCEU?0w&M zh=&jNy^pvy65oHUEq;4k#iJK{vzISE{e=C)O*|ZJoA}@PfBnB7j(^`h)KhJJIJ(&8 z?>}(M&)P10FLlymuFr{V-B>rIeDZHk>Q;gOpR_MwXyeGX{woS$Uckm+JIlR`uo0mqG}vBLs?Wn zga?$*(-5>O20iv5#*Dxj3_;+#g3@t@^*cQ+!>?0FC9bPN>fRr0W7~Ms2Dyq$>mN{O z%E3=hx7)W(gd*s)K#Tz0+0ic+j9vw!9Va|QkVA$}f8DJ<2NQ607BK80>)09FjMWKw zen*}ow{a*p7}e=sRwS##a78ZcOF}?C{8~lHcC_Eh2vOezP%>a()0b@Qj_KoGI+EY4quX z5ev^iU3#Z&FUxI$hdcdHt53az!Dx+<%XD!I#5Hp^dgHE!g5SLZ&9M&-H!<%{LNN%- zpO?Ce?L6Ud%z$ojVTEBex<^}we<=2ja@d|cf9r0Tq>f4vqYHpkF=22PB#3Y!Q=c))84!Wghv8DT%e^CM~xa~ez(qdbW0NImQrBd7w| zf1Ut!R}X>HIb65m?CkMMtk3$>|o zLMwU>lxcai*G0xRDdv;EMiy4*i!U`h_-abIYGe#M8{L2H3G+r zio!fu=|FF=hC%g(q6(0vwrIpKfB5}*+{FT+kmVNDtvNmhSB9fm%HX~XZK^Nwe>)mx z@#!klYt(lMs#^)d@{y4G7zeeh&?iaJ3lwt<26u8{B^khhEqL8F92+06O^(YLaO@?9 zbYt6DWH(G0?4b=e*@EP`O z3l!8E*{vSp%?5+OuwI;C?5a^Ne^1$Uc$^#yU`?DidOc0>>K%MS`Au1NL!lo%8+#uk z!;!s!&4yiIt0H<~)1rn^iP&P5MFpkuXh&KRLc%u_u33=02&N@Qd4{fOq)ufz3PJlO z1Qq-gTWzc8j{w8Ns&t(Q?@$?A{zFbiZ?Lg8P2oP88^l_X6@$an)me=^e{jXQyF^p9 z>3R?A+B?2eN>kL$vyf~;Vc~+^5==a*W=W@0^V(rwBLf-;3P=Cttz)X7ee4xj8%=44 zdO{I;7b3Re~f5L>!dHLp0`U!5406E%7D-YxD0CG>kp)Um~!EK?_5!Z zm%FyE2H^ALx&l`JIksAYX=DM8M3Rsj-Ph`G(cR+7^+tc7NPO3?+pH~WWPNdM3olZW zmY^Ef4e&2cW7(J+8tKSW8B}t3^rl^T7s2XI z0&PtUsAi;`?hD<5e_CC3b3GEjLYq*L04=4fBaJw!JXgec&eRLfcF1Ls1&E&~G~BtC z>0WLGej!mj9x0F8brW(j7Nm@Ka2p6gu~T`-1B*`=p}qp+AgI6=LgHy88R#U;Ybdi` z56f4l@TG}8iTg{q?q?1|cWVKFo5S|$+5nD!q}>RU0(zBZf3b;_G&mzAEh97+otB=2 zv1f?QlT)mLSTjz+?d4nnr=5JY(=#(zfMVo(25UDbL}+2QwILFe*ntBXTsn}L0%vz< zp#@vEte~mboQF6#313V!jUji0d(be>`Q%#l?q5<~TdeE#rB^hVGYBVfH=wMrF zr0pp^%rGmVPLC!7M*h@V7t3BRz7&Bz^`jF@cr9?qoD&L(TBox~wQm*~NA3d{_wHo$zCR%KPt}5}GcH{1JCc21IA|`$^$gKh7%xu59=6IVI=O!Q z8`o8M+T|h5qvwUrO`!D<7e{Kq(tF#f4IYET$RW2JCNm`$VRkIKQb(c1JVF`_uPneA z0J4Cj^{JmVddFxFoR(rv23DiTIAU6!2uPJgf4ZO}s}ErIg(Z0w#;lZKg*0K<)9u&H zESpi_%DrCPWGu=UGXr15(0C*z!V^`Egd`CRVH%~8tf@G;&1@wwf5tRGSJlx5-O-wd zx`moQsUmT{s=r%myL$pj>IyTOd<|y_Lq!PZ@ber=WOJ73sE4g%G&&GJoaEM&M5{iI ze}%jwpEz6_p6^0LfT(rQ{-GLe=ok94CG+jlNpaWN=$L?9jTNrQyAfRrW87W(AqgmD z4~i?dEs6aOZIL=M4T^!=6k*NOEV0x_@(;tOocK;){%~-VhZ|xg@*=kvq!sdZqaP0D z_-RgiCvj3)I>HbRTp%JD=cXZ!J@U4We?A;(=`y;HIenN6z=TtXt!e^n=?i6ng#b1z zI1&u+r;!~!E8b_gYz;2(=vfI0e(jPH8h=Q80c6W+cri`SF-%V zqCJIg8^=MK{gI&{%o$w1aVSe?e7`|9YEgaGyOj1f2qni~TSSIyAH@E9(*cRce>aJ} z)#{g<%o68Ipm=XpIu+sh-0_VukIrb(gx45wiWwE|rM>b-gRm11%~t=-26551@omUi zHxi3)VlxWZ!HSA;=QlH_A%6z(Ii81C!3Nue|0b3U{S~Z z5daR@0DChxCCuwy__+;$R^a@8=LrNr%U<`QbKxayncgE7Ev)Ub_VZmKghcDu?51)w zjfqE?J1+1y?>9!)X8T@z+$&yl<=^%Qb9@9paBp$9T4eB+x`&%uK0k{-a*8M zL4^DsoMQVpSp*BFcXo4#e{*&XMlsEBpkf_&M8G~16#;8q=Y;Ms?sVN@6H9>;7u{iN z0QN<92sTFd)H1bFc#hLXj_r2+n)JDC`YDo@AJG%2)hwYtbW?^nsupofzhQ4S1g$Qh zFieya7_gXCEw2020S|kB03sVMWZ2<)ij7yih*nAmrm0I|IWA_`fATR>yu?HB%nSOE z*;mw-4_um^A9sO}Z3iMLxQFe6!E)JLo??5&$oJBEM-T);H(ZGpbl=*fW9y56V31E- zO9tZCc@C#Lw2VR)cO6Td0D<7kPV5N^#RuHhDxv7F3n{qgl%8wL<7jeXJSM8SQwfBs zbR6zD>T{wA<#;1de-X>ul-zw9#6U~&w2ckKf*>R;fRbMBSwhj63GzXN#rT0E5p#$2EQ)uCRh)5j#J=hw?vzK2f4Vy3Du9&)H0wo+=HQCB z1gJkgJNKmkxXc%ZSiDG>!IqeUV}{VVXxBoB5+a+@8<&`f#w_enVhv0?0ZlAGy?6j- zP7B&Ub&H7vTOe8jbgwz*!l;iKc0%P~SC$FXXhHy_A(3g}5zCr-NOQJun{x8I1|HQ& zHVeoA{lfT7e-!NS2MfH@WyHMe2S7{3JUoq*wLoP9=4sTn zF{)Mdrq(&-g_jbxX?F?t60{JwsWFbs4c1I1%4yf$j`|yK1^QY+(1f^U_P?!`GRh!F zdnOwMhRsmt541M)|4|(mz7n<#k&s6r36OSpDE_OOe{2{UXs}`m80?I)42GY4aCvFCV0p#~E@J6=RtF07Vi&wKc1QpCH<#uD z;(@_zf7T5#ezU=9kpyCT_K&fjgDyumo*?cDzIVU_v_?_z>Y(OpxJAf4F8-l5`fs1u!dY8ZyAj*oy%VF7$~8 zE}v_TT9SQ?R0TOl0^l7PP*569NQN9Er!-UY_$$~M$W*5hmu-)h&53?(>>j$Y@%S8K z2%yxkC|-B&=sN15^EUJB++oHAu0yZ7L1vKe@%-WG7Z93r*I{JA&EYQWY|6kvaex#E!mv# zRCfd`j#R2==$k`M9}^|7l(KM?PYBNN*|(VrOnjd1jzj4jF#@=z8c5Su&lMP2+86>^ zMG_uw;aY5f-!o3vf;cH5awRp@SNM$h@qp9ofMlPv9{BJO136V$%#Vfmu8=^Jf6fc1 zMzLZk5ixdbdd~1v0nf-Pu_28Fzn_S|N0L>CU$^@>-9bob9}Z@*_uo))+t4Xg{ zPHkWdo);h?TM)ogifi0ET>~2;v^2ml0suClV3I&vD2P%uCDu4%p^KD}J~*L;8@yhE zv&PsG*~8lnrQ9*T2}o9Mz(PsDe={&EGn=sn7RR;aflBbFvE1$6(2Px>t$c({jf3D$ zSB7fv_ zn)OTsXH04Gko*e>#S)2RSyYI5)(nvB;7O9w!lZIQQ;|u{O z+aR6jyddZXnfE?#A*1aC(S$+JdsD$a+|-`BrI2V5vCjdW52DVvgyLnPs4#^=S3zm zm$jj+02B8zgGpKn&6t?NgP^F8e@UelY-y|%1@|7I0@Hqj3Mrtze=H7)c_){hK;Y?9 zkRn~$0qjS?D7UtCB#+cBa<6dCAJN$^w#+^XI5hU)9$0@Lrq`}fx3goBf74@nM(F**d2u|0Ec{pkS zu&551ww}mB%h4uff1r*mp)XU8aWM-yaACre3pE3>>|J`2O}E;pHCSg-H{K+U^^%&o zSv@ctscjYtY@NgM;0kA3(;)I(n^t}T$+L(|abp}OX zi|ckvf2+oO3!lNc;!UsNHS6;Oi+e)`%Mz}8gpPukea70wtm2-;9HTP`V$NRTkYPT> z42LFP6vkMXSm~^Cqf1R;TyLQ<*3Fw}JT`o|cVzmj|jF#P& z3`CWg4K@vGA4It1WS~bDF{}6x3q@k#F+hYuN zN-~zCObKs>S4Y>+M}2sr2cUHTsf{uKEf|i&uv_}2#8Gh?-9z@kAKVsF-JsA0@;a*D ze?W(Y;Y4@bcpL6LVpj=J? z6rhzI9P85;i*(E2x)x#ra1lWEGDM4U2P`)hm}Amkkl+0iTI(m%E|OqyBEs8Kp6i(x z^WeuN&oIGd8EXdh{0kRc_Quam*`|(he?MnN33eeeMGEz>YgM_#&9bpS<YEH; z`)Fu~(|V7(AQC|vtCEfkPNz6<%&L%m-!ixFD1|xB*b*{}o5OtP-4J|;4Z>^A25~Sj zJPbw072a!X3V|)?nNp?7U8-x$b~2j*d(7U(7-WV7fp}7ewXg~Bf2D3= z6$~Vu6vHHVURdG^F%$|;9s=VippyBDen(&|e3-x7CWvf4ozReFa9HewM8y)sP|$fU z#!?6?pGQvMB9ReFm_;t(H}W`4Ed1Eom*JVf&rxT#Ww}KmAASnbJmLjXC1y;sBzWO+ zj05@ZyX;=9sN8w{24xwYLkAXjf3EWpp>!CHSpl&vicqFhLo`rtgmE;s9>Ag?&XH%* za>n?_o*|Pw(vVqIneQ6_J$oHt+;dqVY)edeaH8)J4Q|UQVRg22%YQ)}giI4~)IU=k z0wrZysvBr8c?W^L+dC>4gMt(|U>^teJDpuH8%mFgvJl4*!R$;z-M3W5PS@9u&H>{q)AkEd z0Tj=5e3j_{prd76jHQi%e+@t?$a+QVC?g!;Yd|cp3&%R&;;>0a7^=?=M5Y%=nqe;n z54+2oG%i(y8HLNc1-8%USlet$5OY#bAQ;v*Zi&$dn&}%1MTqhVZbF-&Y`HccT>3~a z`+&$HyMg8rJZ{L`OBKH1G=&HJBT&s_1fw4WhZ^vwaqLRV8E9v`f7|n;Q4NWW7fW=k zpid3`go#5^&&1Qvd%Z#s#E`}ts17TZ&)qRJZLiKaH#ETS*co%tY=7>b1)m4)<;vmq z?$%nhVQvoE%jKPVv*7vQOWqJ{4UY~M{^Q;ikmj#hD_7n&H_Od8ht+1Kyi`e?Ojly?^_7viIx$aR2t>!DRm<(EU#n{4TE0F+=5Wv$kD5tkk!* zs@ttl!OG#|(D%GVAnRkNs!8^f+=$)Waefi=hjJ!;+HTnR5r za@63ACigEye^({$2+i~P$^eJ@2HffqFt1-MFw`^4n7So>X2|i+om&D~aztkn<^Ynu z{sqa~G~=>4J#VgH=$*;~HUzx|Dcn#Q>Dt^`ntBY~w^H3DIFRBhf7*w`OlWAyH=pv% zh&bZby=u$DWcP81rpJIo55bxji!ptP!2`7;bY2t@e}$S0h(<<0io-PIS~NPusDl%- zVqQYcEhwBF(ghUOQ<&0yz%m7dpHj%Ry&YkPI&4XNXNIE)I8DlP!k1o4#_tF_UKwg+ zcz43+fj1f{hgm=zbOSv#S!x~-6r!Q;5j*M03d#s@lrsz!bLVZ=Z?WnM`Gn6sf$K2y z@JfG+e^A=M{VYD+S;*yW$zqBaZ%H}sxC72?z-N)cSm<`UQoKO#uv6I>gE-8KL>^yV zAZX!L#688b3!Xj$3t%B;971#g8=O8-aD0Uw4(A(40S;JH8IhfY!{RX+*u$qa85^2s zbc05gg&}r(!cYQ+4?4weGg#LNz>~~i6|1qWf5HoMf16vHo1a@;I$E9OJ;(Qpr{BO6 z4IIwEX~6-#&Ky1Il%H%IJVIez6z1B}3o|w*xQvPZcRnpH4GVYA*t3ea_Y0NMStQnJ zAOH4_jyqR_(aiyBNBl0Y95ayrH@M#Uy7XunR}LQSL6CFz%lHHYUG?ns^+CZu(5IKa zf4vNs!>+iRz-2fTJ;6@2lx1Cmv%An=TnZj>Z2ZnGc@!78E5fdhU8p~IkUZs#9`J$` z2FctEKSlps{V{U^^v~5|z2gPkHTwcQD(&wVoCxjjuh3UeflByX4PHD!TRwS`S7WLc zC~WY+KEHH?3pokXT^dHx;>8nC4FTC-f1Y1KNr5b=kSwSeSx~MnH8ZkcK9B{?NEVc< zFPmR-T2$L@R<3iTV0jJ{q2MyO#V>T80=)xps^8fMrEeTGl$SOobx;e_(ZB za;e_|et#e1XFv!pj+w3fyR_{7k(SS8hPTY;x*huUL_*hiNR7?`fHUMWl`>1q@{nCx zhP(R_e}6A62Tf`K$O6j__ZmUFEc$iX%I|@IKP%;n+Wgbf{Ik;h^V0mcrTOnl^WT@| ze<;oWy)^%i()@qp5-;QWGu-eDe|J2?EzfYzGu-qHcRj;x&v4&!-1nU2;J)X$?>X*! zj{BbDzUR2_IqrLo`@Y3}-#(M~GVCa&o2R84#3XuJI>PVs($Tl2qwh*b-{O1 zGT8X^B5rO|(vh6uWifS2Geep?!TR~mj_e;WQ!8veaB z{732HX$g+y8P^g9ca#ZZ#NovqRIq~z>JJs{pn@G#u!9PAP{9r=*x?s<_{kl9bB7<@ z;a7L~*&Tj&hacYImv{K-9e#UPE z%Qi@!OI2*TA2$0>1CVame*q(W3lX47@97)RuD|J)-n?&AuZ~JwXZ>)p zZ8l2a^i@VZKuu3*U{sN!AdL4*JB=C&TO-@aR3AOji;+I}^xM+rre3fvf6427cD>px zzpJ7!5LQ);>}sV_LJEskTx=bkZT3r4MnM7ubtQu2JvT&TDg{ofN-)+k@Y4?#8QZA?h*i(v2SX8C$JIX-!|*BKqK9dK!3_^LA*UrolZ+P_cs`s0J%$ddMitOb;h{N7%B zbO4+Qz1OL{1$q#g$i5YI2iszQA`XeJ_inMx+ifQZuQ55f839*Sdc#{}3hxm=P53pd zJ#<8$aEgL5{Ccl94*0EIAF3a%po2;8^zId2*BjsQ_f`lyC{*T>l|i@cb*@H#(8-@Y z#y*O-jL!Ac*lUOHZl6Uk6lRD&MnqNPpT1*4)0S(1oy*Z=@QT8PaO2Q_s+c`GRBeY= zTlv$Q$m`SO^c7Bm=#JC&L3h$VKW6oxqJsF5^6!NH=I=0aPS0=A2dCF(*8`M)e0)6_ zA|y9{KOhhny6^+V)4d4-_yZfAwKbGRz2k-J$zXE3*Bu-z0<{qa!8gYd7%!9C0ZUwr z?j47itQk4F_wwt5g;!sHA^*`lZW3ww08Q~1c^=>RE5WzGzXPB}N-29%Y_9-WK&HQJ zk(k8V0*XwU{e2Kh50()q==+q^(?F#jJTAI*d?E*tpvoRD)fncpO2txG_|O7izLuhZ{QvU$KD(kv!;?N)e^FWRY`6&=0u+R$ z2ksOslqzIl8RpJq+NUbgV)%yAJu0FeLWCDZa+Q58dB3FUbz@LU0Kbg`yit95`!HLw4JsR+w{iU5o5OC3R~;b`>@`lbbMm#% z^a`}e9EhB&=Sb5qI+_Yb>Ga%1~!HfgsKLUg*0$+qAe1<^i#RU*coPqqf z;}6*NS$M>`0wz2b!9dDvT7YPW{4t^Fsn|+%MuAw1>B{xlfL}|VIx4`&4f7iDVXc@>}$V)VwEXst(A`sx?BD)nBjJk+$&N9WpmdPb$iUd#8InC2vqIMo3AMJh@$ZqsvBHx4sgs# zJdTridvMu^k9#E8#K56ZrfQ ze*{{BDoBDgSRrq-1RDxd|IjKf7EfQ{tj!Y>e+~~GfA1gj z%R)mP-@ICQI@x;`uRmI_+i@pYKlz2lsVC{!|L?r`cU+vlmWwzNIOE1+Tz$q{p83V8 zW98}U42eJ3@+SvN=c{`wU#%?hsE3~ke_r9|8~n}T@9UL=rOxWY;nML^a}|T?+1%pl zk51-RSDUM=mielgI=H!Xycnb_e=#!x=txlBhf8zlJQTVDl(7_aQeQb(e1w-*XXZAS zj?mkeUKiBj|5P?hSvp(YI{{1K4clT`bHUFCE5EMp-{SjM;dXCj>0@vKXiChG98h32 zlLHaQ*XfLd`|o?d-`;`Q#v}Ru{z9Cp;C`h3`aT`fi}&xv`wOzH2k$Q|e+7Ty{sQac zi}(N2?=Fa;@_WHx8$Je6p}UaIyen{Okp4OClyBy~(Gy5hDSutZ#aEf)>JZB#cLta7 zmD5r-t{L$*Fn1wrTbWQe)F5-J+-OxBO^Apd&p}3cyr7*IygbeYFx#;E0ugC5Az{mC zANU(007~M5=$R1v!lTyNe>3pg#$7*;a*}`T{o$OCPn}2c^u0mZS(qDw^E$zfHd=0D zjJF31%gf8>c>3s?+JPGFX`#*T$4J2#*7$wsI>xNV>qFNuMm0Vc3rp7XA}8#@y00u; zPJSOOq8G4w&FaZZtqHp6)m&KQR#sANa09P?_S^BuvssU<>@Tpmf5q9?_IT}J_BCw3 z+95$=M8_&mlan0mYC8dLTE_@bq8ntyYUFk^ivgvZI|->-*<>*ZGY@NnMWiHz#@ zx^Of^@K{8puis!9e|^%0`cOXgV>v(lv>c)f;n5jkh}Z)&Q~}PG`Z?kpOURr+F(#Su zHR;Fe%Uo>SO|>|SoTUaiOAX^JZC96C8E5I2z*%ZV&eC@EW$R0<)BLjw4RUvhI?Wb{ z*|9FQ@B&(N!e(A%yG}8T|Mv0O((_NNpirM<^9T)Ccoi6if4y8$Va6jwo_+co*3kP; zh7q);$1#QqBP!Di*kqkeh#fyiLF*Xd}28+ z3!gqwduP`BfAnRLM7nMw<&vaYCQ(Om`2SZ0TLL}>#hEw~uW;*Z<%*1QRiXfn}E?Oho55ZLDw zv!vyny~-Ft&hIhBii|&Ki~(_*$jC1+G24NQsWhJaf9w%#(r`$UoiNE##0DN&jACrj z!*gREi0g!%;UFn$?9EB`zA4s~z$W4d1D4Dk zDU2k=m?&4oC}P6wGQ6sJA{6#oo{&wgG~_E4bK8C^kmoXC7?nI#`CdG%oA3*Vzp8`P zZtI9le;xnT+wFHp-`zYT?7zzQsx^&?VHNc1G+}(oCu{h5Q{LPV(0X4-day)ytOJO( z_Q+CT(@L9;odEyyj5C+Xy%36Sw%p)r$b0a}*X(PFE5ij)uv{XiwAuzxhsqb7aA01B z!n;<(up;9ax4?LJkmh1G_%ZQ;)f=<;(bsl@f9EUj&oc~LQ#7=(N_m(4N+!icB(57c zE8|mFczih-;jM8Ic<%4y%~RBXcEGU27fJ4HVM%-c10noIX^pRQjj!7pU#l*avo-#I z!Wv(WYkaNxvixUM!h_Bw#ar8HxtbzEDqQ;lO92|) ze;P^+)+Q-^uuD;w!aBHg=eaNpK8-zB`@G_ONvc(cuS5XzPoHMu zVuyf&DpdNbbI$geKNJrnBB1MvdaMO**vi*Ak1JEiq!ug2X;Mrr+FN`ylgt-9@jH#Z z!lOezt1+!-o&4{gPQXM_4UqoHV<}iJdIIU^o>)4%cW_AhoKCp>bakc416X7!gt zym0U!4`P9An+0(?I8!5;c#q20G0b|GY~l|ce-CXD-B5PES3G&*S}mVB;W@oM_jtf| z2gAXzzMr+MsUB>Cp`G6X3v_>B>BZ`SR`l6ig3ndtPrec_{L4p1Y*Mk|_FjNxxVL|B zkPq?c9mdyIJziwIeW9Qs>c+nUp)Yxp56Z`LU=gZPNT)v1(0fN(97Y!7PF3ShRkNMy zf1zGh(aGqMsjb9{COOFj3gmXlxx~6)^}JgVHk; zS@#OIj1wrRnrCwG4;T>;8Z73Cz*ciJ?L)#_aI>|}%FApjW%Rp=eIOYXJqzDuy$^qo zgmP_$E0X6yK0+D+Kcx0mf29gzYMKrRf0IbSe5z)u4##7cYUwkX8qu#;J0Xw6)EcC$ zBYK`u%}jM67>EkFgq7yQS`JV=iH{kLZmr6*0(Uk)HUKmcr66b^*m9Gk5D5pfmx|3O2GIULn3NRpxbh7iBMQLa;SBAh+s>YU5o)dF}vmi%vFoZe-9c2 zBy$;COD7u>n|0{)Tb&S99wa9uxxyr_3y{8JLsJSvQl`T$?_%lI25~{8fq)kpH^lwY# zhYqn{I-`-WUlmnMYYFycxnaV5e{+%|2(6~>1Ela?^nfjSKV}hA3?jZhIw;n0PVcqz zXjH8*r@92>3zvY2_Pv>dWZ!OPP)DXV95Gcj1fn}v!NZ}Q&H+k`;Tn@jM`=xMJ6^;6 zG#e>DXhR_ii>DvDPvG&-?hR*hkb5S-@3BE3wTDN*qQpMR=LuLl(N~n3e^XwMm|{L# z(xdNJ$>~SkAgC zkLCGI?jxJ#pq3Nw1O;FUE;KHa)ta9V#Z-k*W7k zDKyg!rJY1n$%I!+c;?UsA5|NBrnttjCvys^f~kV=pP_XfUNAL*&1I!lXDokz(kBvQ z&DDyGqh@bc_r=XCeW&Bv^%5#xLPE8lPiMxJuW-|JF2-k8tR}r9ah^LqzPd$xBW*#H z59SM%=lDkNShmD?PFfqXXQ>qq@n1nn&>ONxpBO#?V@bZ+q_PHnSJb--8dPp;!0m|F z<%mRtO`wty4n82+e z`*Zd&@d49{KOwMxu#ilK|Cb7JgNVN@^uO;^W442eFM6)H;NkDW4u4zKrABu6!!WSJ zUn3s=wyG~1pJ7wx9N2|dtNTsLXZC)5LFKO%YF;6k2R}Bo0C}=8?7l>QGuJE{uESk4 z1X0w3r9Q$>31{V%z0$#>7nb68`O#l_$I|z)FHI6P#YX<|v*i{_`YtaC8gMgYT3+ar zVxjk$*H4%`{W4gPi0;qdQ{?$Q*upk z!MYFvjFtvz9BpwNZP_?~LLuAPID$I2jic>2j@GL$xBrZ(!7Mq$LyCEib35$$pbaxq zTkj{d{7i`af_{PV9U88K&`B=nds}&Mr%19b#LKAAA$l&t_9S*%lb&BQwfda%oZbK@&=upkkC` za6oG+ZUF1t0M=~-!0f1J8^BfA0P1lA*r~p(e~F7sigG5y)=Y?;KWm2!l7_+H%#ELt znOT9oihePFR%1|?C@@dy{L+|J(5tW%q2UozW{Shvr4fkuoQOIi&4~hA6Vsu{)pSJ% zDRIzqN8nQ?{-mskaC#8i3UYMt&Z4$PRFt^Kh;-GMz)J*SEk2z#An)P3YIhnQV_6wEET z{EO-@@O5m*2&4NG(}|BwTO%X}lGVoz5~SqvAPebWiDe_#?W?Xv|FGoQ50-w*b170C zc*k}Z6W+#D_Yu&I1azljTZdGa1lh6KSePehi=4Z65+Q|Y(kNqybKP^v!fyI@kcPL{ zD1s<|Fo@iWD!^zb__7x3p-r17j->GDm$t6nJ^V5u7@!Dewkkk%Fmdwpl|eIz4!- zE9#Sc++Pkd)a9a9^s{NJ^ukF_R2@X}2e8wBm?^uC|&@khtRkFOH9X z(E)(Xg{VqHodFa?JB=@!?SEDQka{^!_wIhlePQh#X0E3e7ruG5*R73r4;KD0dG^EP z+vk%XzB4^wXU}vtKL6Ch@nmgr?#$DlTa^aKldh=)e`%V=Y;r$P zkuag)*7@Gms&7Hko9$1-ZRZM$+a&gX5j_JK&o0I~H>n9$FhpbVCxcGl$em(yn&U9; zMp;P}#LmgNYI|x3Aj-A8qPCemNjy-D~Ry96X*`2NTOm8T*EWTMY)T@d9+$Epc`gU_M} zTl*mPre~32ftz6NiRd;Sbu4^%!WnEtL!b>0-rOJl?8q=Ohq7Bw${Hj-BLA=BhVYo` z(ll7N?azRwd|w)wB)7dL*+qQZb|*MX<iT46Gh?6gd+A)vRw92W6PIW!o7+T(M0P znZ*EsCM|?s7<YaA^IDdZ0UN)Iv8kXM~xtTZY3A|>b2 z;4mH#)jUEBg(v`8rP_M|B@uRa2%lC;{e$AHW8`xYM~HhKUQDe_A6*6hFI4|p2wLTa z;;nvodlVX{43o9P{f{WcJAVhDRIUqyB-+L7aySG<}IwA?&pR{cCM&-we%{8xlLq8lEc)>zG$~ z)c2tY&;3?ZT;d4+qOmF$wjo7bj?FWLZvmi@8BfvaW6exRZ{gJxKGJzMnOf^OIt$nB zb!m*+#n(3K5yd63mj38}TDOyJ0_8G{f`z-)AO90pFt7vWKi+-%PvNjia;h738llo? z0F6Vxc|x5=Sor!f9@yQsh(rIqgy=WWpI-RSKj%MoKP{~Ack$7W|AC1S^z5>d_V>xu z0Bb`^c3&)xOcL5j^6!5^8Z69z?1OK?7a%2Da}Q_Omj{b{)5&Uo+)n0T{JBI0V4SM) zLcEOte(AGv?w>LvoP(L*+>gY;2b+USN$||TcbenhSIquOPvPCX8Na+^e;*o`WZ&TT zzy1s7b(rb;SI|_z&T3(AbKb!T%{{+*0%NRc)7S85AouP!!2HK((*b2i74x5|V$KT; z>U)(rW>5ln+;hW!>6Ji`G&hbH3Lhb;UGw$J3{qPXn#qGJ6q3N^|(4yC+^_pe&pO)1vRR7RX( zb^dVq6lU-h#jaU?PD1uFb}~;_%h0nz#GPcw4xd=)g0s(m-t^5ky6G^@mx4MmdE~S7 zi3gvSj=xYYxUaCC{(J@L25o+E8FyAw1s>8Xp8F;W;R;f?GnhWZGkOL zl-e{Fqx*;FU)j)*-A(4RMG(TWW&W34;&2Qtu)!ACuohUWE^TEk0IxFE0$Z^K)~YYJ z{+u7K^7>Y7yH&4mHfgc6vqRHI8YZo;?KZX#%Z;kAt#t-8AcP@X-`=QgR-58fWw`iN z87{1U{N|w$m0gZ{=2m~HuGbm{@EL=4%B?pvhbq6TH)<_CzEQUa-qf0{ zdgI@O-fyq(pnBUaAhqpg%L>A`R2$pX)?uYwdBgHH%iFJa%dZ92E9K4fiCeqPS_LWY zep9cn1FG+ODLb`FYqy~{?`-bAM)95xHcPmFd8bkLDg%1mC~u`k$ura{c?Qs*cWafm zo8{f@3cs^at=L!Kh4tM=rP@4HO>6&C<$Gc-4Y^>P+Nu-S@*6g+XaK^!3*2<##Whs zy5JY`r8UW2nj#%&D(Xh(3`i_e;-yL zS8Jl_8udEc((-m293WVBF(O}2=k7MERu=Ns|Gh2S>VT^Q4!1Cd>?4%9Q*CVUbGIwi z!p$s5gY)estN-Thj@61)tgV;V>J5#5(e(C8EV#D5&Hk*d*WW5>R9pJc z+WNoMPg`q;DnR-1DdetKH_$q*`u4LaoC7e&zn#K49)Z`;DAixkYFp(NOsi66ZCf8% z%=~$`+AQW^9&$_pQ_Ype4+N$P7cy$E->@ABwl+Boz_K*FS#9B+)z^(Wq)C>4h0?d` zO~0QF%y$}whEbcvp_j&5Hn^H^Dy?6XRyQ{}0$SBySe%WrNg7m;O3@u5ylI(C#QZM- zzg9RPN5$8n*_cE{&Z0XpNjn|>nTosL(1yFgf;`8>J1%oiTInH(itz_d;gUEWA%Vk_ zY{Fe7(mXmrm6EcU0^-h|%-{Kcl!S-XjnbPuHBr+g4%aZS(CHbf$>$P{Spd_ZXKh$g z=1SVd5X1OaCx256x{`exzQPZq9&HG1UUbY0{tO&fjDH0yEqUx z*=)fr%#Z@RJFa+&5x@Qr>RoA6R1`s}UE?zqSB#7s%kj@JL;?DL5QR}z?{0}>KyAC$ zlnf!E;z$~b^A6M?a#S2_WsqAH%;gOmT0lClFRGNFcM|Ur0N=F365(c7#aXx!q6HTSA%@50ec}oM74e@rJ4~opqqvLk3 z@F1fBhKPNZg9bsp37h{^#0X9!uZE?DNhd5UwN9LqwT^~FU@q4>jW#6mWaX3f3Uq|H z-@#=8aE(Qbb!U`fy|HY1)m72ZqP8%DL*ozo+Ekc0o~Iy{daL1u2Y|%c!Yo8}ga-T& z-2NjC^{k_R1E`jXFJKO01jZbw8&u?&B7mY^32#WBfH5$_^>j5}tNW#$(IDPtu-^&9 z?g3-i8=fr}+1Q)VPXwW|hFH<~?3BTP7YW;-QC^JXobqQC<)6lg>yWPDTf;8FoX~5& zBw%!2qMwS6b4j%`P?RTpT(= zr#gXogl>d?m5-0%NntQ>5X)!gwrnB6r}ru|n29IccxY6{j^C+bE`$)_!q+jBKnuX^ z3rlaX6T?|XVvoX|O)&R93~i?D=yf~h3-{--mQ=23wxBu^cMBpIkL&O24V_sH4c9nj z1f1D_*4PN9a}BsqKznf2h64nwD!z)KR&){TU)l&7L5(e&1I-v*Ux>y6R}mlkDJKl{ zVy-XzDZ`uEGivgtVlc+RRH+)vY54P%Ig8mF2;}4lJv_?bMyf#!U5zFJh8i>q^Vz+p4&0v zd|P6sKF5$o%2vKLuhj?}%24^O7+m9W_7D9kxKm>6y!Hx!Vv6TSA z2nRdqeE0MFuT@oD-4fWd&v{N_)K%5hb+1*c)>TsU=)kI4Fn!x%QTN)9sK7aYA6=R} z=lO4@0(@zzn6By@!`&7;C`R2GiA!~?DmH#Udpc76X4 zYj-UwXfwN8Rc z|0dd6Hfz*hS5~1KRm2-UN;Zi;FrjAC?*cwP&p_OpB+@m=1sDHEyrvlx1EyHy>cAsw zioM6tHos||4@EfI;&avfXva*b8N?R^x#C~UpZK*M)39ev^MH}7u_Ug4#*%Y2c02RS z8CL^Ww$9a9PF#)M&XeWOvtl@5_eXYTTYF`@Rkl~k_G;PgmhJVjy-~I|%l1yW@x0vF zDmQj`?5vlY{jyJb|9QFFE%%?7FWQ*txs{&8HO9(aAoH2I7b4&mtkKw6{C$cYGYR3n zb&Xyb#9}!o-Jk1Z%=|Ea2_`2gZ%NUb(6q!goURsy&E3IFlK+m1`nY;Q0?SHCLejx; zbEF>ze**!V3ce(wpt*y(C~%f647yzWgrPup4ix2%Wp&de@Mvs6?c7dST{b=$wvYr) z06XrlJ)|Ym{%-u>nLKSF3?n!ACi!H>@TtQ_2H5Bhn{}&L0=IB~vB>UHD_#y5DVH0* z4PyLIP@*)Y3kDA_{rUQ1c=!6FOQ8evZcWB`Af0J1WiSZk3?s+v%@GT|f`?Xb_CtX$Y=|C-zMY z%H8lKZe>+zN@KMFtgOODnx$Y~#%YHkCcjE~$}d7eG#>+ygdiX`kfd5z))q$PS$?lE z7!c}NfwLxV1-8Bv-GUdfbI?ppx-1qKz1>>Q@#=xpN*8s1qLQpHti8}0Jwjs?Y_!Fa z%#lajh|%RxbW9%96*l{DX!E!s=FCDB!n9!;f4|pq^k8eyhCxZ2=%r!Ttae*^!K|f z@XVU+fawN*Hy1YG=H@PZmZc8N(y4FYT*g+e(3Ir?93L+CtN{-KkhUXGHiusD%Wzk|p^523L*3Fff@>=|*IpH}X^JS*|SfEUsh&b0aY906#L{ z{}fiodU~c11fsJ5=RLD1r!xj+p!J1yk9@Rp%+rqO!+c+Iy9FXE`J4k>|Tqf$=+#j zd}rLcA~58F?M$7{7(zRGb8&>TJiQO@lOr>+rZy9~L-eJgPVxy4=aa*BhwaEv!*>{S zM}wYUjz;CxoDS?IRgR&-S6z zL#8?Vb~Sa7;IF?x2sJG)S%Jm^!4v7A}RYS{VFZy(M3Bv=39 ze0685%m_#;=7x@v!6zcPLsFg-b{EC9yQ z^P@Ys92IisXx3hlyZ%By1&%y1^lhYvyPPdMg0@7 zHBOWe&&Ehi>emMqzGTQB$4rOo=a;y>{`29e7yK_(Nw1ek!k1D^$y`5uJ!@&DSr!OB zot|R#we#w5;o+;N$?FsUPaikjZ%N*NF@m~Pfx1-(b-#7y*E3Le9zorD0(HN2o~(Z! zU0~Av`GeWB!=o`xzbSvcI=sG-Z*6ua?8M7CyYSz)yls2PLHB97)y3bpF6yRp_DQn_ zu3d1#kj$RC*W;!=WyF&Hv$?K|)HuE{4J8NwR3`cm)Am+{#8NKpD;Gvh0h>vGYs9&) zrshsXG9_i`3ld>?MHa>b;%Gi*+LmhZyX=>*#IZqJVL5 zEv_Zi0f@Ma6u_qpTUuM871=NbE9yZROZMC>A)sC_U;ZhBs&3-kVCz=bk+2-%9}lmO zDSV8%act4bl-e6vzmZ+?@s+H9AQs2(@pF9q5mZf%k(C2;obnHCw{L007og*M$Qz-# zCFV#hE^sESlMm_*r{DEZ1~POmy6w&4ElY?zm%of|$G;49N>HL`+rd+D-n#~RkcFOip4qmcl3s4-_l1n36D9K#sUx|BplefKkZgid&?^3L(_odi5f><=)FH7X!h9 zb09XF4d*wWK+S*Af(C(K9j!EsGSI#X*$NKmC6fCe9m%|uk|qyUOK=Geiv`Tdu}}Fl z*AK>jZE;nYsO?pw!1=E>QVf8kI%$qY4ujay*3mT=D!ii0!$F3>%4b&Lu2k?=CaO7l zorcfWZp&3P^I0y8SC*{9Nq}W8r=t3nw1p{4!1DDSuAYDLVIGZl6uQUA;tW=y>>(VG zy>;a{u=zfiz%c=+36tXnHwKaX$N^){sUx{_I6vb@PS)kAo$ZVn68?Zi$PWUT zL}KT0N_cb@T-;ZvKg-zge;Fl-J|8s2hJQOnkq7j89U!=K7xkD60GEJpN3foa@%ryn zecc&oa&~DjT6v-CjF~Mdj^vJ&X+=_5uJ{oVkVSuA`g3#QUM6Iin^D)X5PbW~vpx;6 z*P18yk1>3WB@jlPisjr}*Me{gh)!%JO2^wLW6bGOG$_+y2+gU#Nauyf=JYnvPlZaFLa6w{>$H=N{D~q5q3jg{$X}t?!E;wBq?(v=fvghr!O;$H}3bYMmw%n z&YD)vny;L_&irn+a!%sP*-a~Fuk&R0^RBQ{daKr-dcE#%$*{dZCC)UH!p z!<*|*ekTf~g>+s_n$^2HlMsfC>fL{3-%^+V@BYOsqbiziI*uPYB~F(6-8mCYhM57m z3Pc93$Y^vXD5ujm@XxYqtf3dWO>ml1l+bdlIJ<`rKG4rU40jkgLS`2M-BxgOC3gY^ z$KL360rn_pJ7DJeX2A|PLoF4Py35BHQ7MM#IRZC4zPMVjb6uf-co2+8BsG6KDzCxz zoM$S8WC)INvY;k9Sy7Jig~kX?unUxYJ7J9fMCbr6RFFNR(GcQ=rV6zrlQ}UtI-?~T z6L|_zs}!z6*C*HMJr}+4FI+?rLRt{IGPau*17Y{E1scdux%B6P?2H7QX2HhkgOD)m18NnM|0sEOo@a5KC>ddJh?M zN>;g~e<}Y=i!>$hp^SeNCbiF|Lxc%HX z@S278dar-q;dd9+!|fup*PdNHwhoFmnu|Lf3}Esxs;3s@Sl!lhy`yLsQq}fyvD_<` zw|iR!EbjtU={5?oJW=bV=9SJ)d#yk#n8LeKZ{)Fw>f}zbj@oo*vsmx7micKvFE)C6 zodV{1cjcgf{VzpowBb3%kw8$3VbUX9u*MVh;Ld*wp6k3-9&|PN-RnIk(pz5_-?Hep z_Bz(tqECy^**+k!-f1h&-&$|KFumjg&ibbHZWnn3HA!{tN+G*b?6umvyBkU{_IU#n$pW+e;ZZs&bG>-l=V&#k+OVxjRzl_2F?1+eQ%d`pIs|Ll+CV#9Cb;Mz1&Vy(sFPZ_+*TD;*$n1VXJ@}dy)F@9TX>r_L{$Pm+nQ*u zbK3<{=g(<}WQWvXTbR_e$^2x&FbK9W?8nr<)2?U3g}q1?whVFGqJ1{F7sEwIM%M^$f zQlEAss09oHR(9+p?UUE`G$$-pDkwzvd^Vn!BZXzwnu!?tzMTVH`V>$@zP6<+t)IR<>W^-gDE?9`Xtvz3&_u+a+3@~1_Vo(!!^3W!w@YEZ_kRva)!Z-l@)z~nF@dJ zVSo-dRRB(iDyV7e7fZV?Ds%#MSzfstL)Sa#-SSX{u6fEwzk5_T4mJICU56!|I@D8itC!BD-56A@=?EtC;9Kh3bOci|^s$+0zmlLT6 zIKjk+VSl9VxBTSrvs&29CJjGcoLTD9WPyO4|1JpoMhSoWMJYQvC=SAbp{RrjJ4}n7 z{JdaP*wWQTwvaO0vyDV1KigVF1}>L-;7T3aA6-Y(Kv${T9yEhN(6K9IF0|`!ehvf9 z3fV`rpCwLPmJ&;3RpWyN7r?YoAA9~ci0@|SfOB_47DY4<`r|-le+&9L77Oxruxb-R zy4C-;qECMwinfZs^_Y)^ZBh$;TLr7o-weUz?9%S)6hCUAE41^Yy&%MN>O_j6@S@LQ zv~38^PJfT%tLK>Ni|+Cu0v$u1cYzKVfE0Qm1dxCYuZG9KibJ8D|4tG5p29o*EV%Py zifBSo1Y8Yd-T*DZfVFKNuw_$NGQ)a0AZz=@&u4!}O=3y~@3&S5%geIG0(fEJODGp$ z@SFn!3}CAz4207!fOtF2m4iEgK(F6QENDQqS&>p%}d?eq{-6^2a5 zFASv)kqV<$!VES%jvvWG)$H6Ov-UYVQ_Renb<21!ogGB+x?&LXAV7HdXGp1)JRt@? zW}<%uB3lu8#Fs*DpeRLvG%fb7owXs!wvC-rR!|DnONkwhaYt)>ff^F;_4rMNj=o*Q z+7{7*v0d9(215F;zzO?fBHs=I4d?6rP){N}x;BhTb zhFPm6wUgo0A%qnwZQ;~~fE}jq5)?2$y}ko+cfG!3xK%?uMH^%d4l_ zabZ?9NX6L>YgeYbmR>ueZ|pBD+nif2>0bMhFOG+v%}72YcO! zwg%z_MTgI-euZJQ{($X>*kg#f;r0xDRh8de?IXKyp>|Of6F-P=`dgfaD-o@UZ*As* z$+b9JUhp>0Cs5NUBEwsu z*lsGUD1GciGdmvrqB^L`k2f4qMl>RPkxGoXOS7gpn1DaClW2-EKz?rJJ8K)$U+a=Z zljFXh06=`}2S7cb6$`X_raNz(vej^*_|d7e-u)8LC0{YfVgVj$iXd zkHm@GiG&71BJ6sZg`p!&8}QBotNDQH00>WwO*!sL2Q}CQcW03S(wqoZE&p&NX<67s zO;!nM%JdxZ+%ob{GiOGzNkc#NrC)8UR~l9!ne45;NJb7U>wUOubYy>VFYVuf9fKQP zP+gIgvlBzRMs(_ZAWkiL+OS4kJ7m(vrfNqNLG$fWi^?JWv;BXyb$uhyG(m2FnH@jX%-E1`4nXud#@v2tD*w(z!!9P$ocWNa z8BT4aC?=2|@5b%SZA-*_6%_HL3e-kASe6ti3|Ug3whv?{vr2V(W0qi)-YgzyIl$X0 zErA!iAUGy4^~Ccx;rI~Jkkhf32)Ea2`CDd<@*o^IkX8W4p^|?}&63qTNCYKEeW@IZ zI@}oUd9sme2bi(D4CGDL)cBxL++80DLz>!`yFO5F2BIZTbUq-h07>6A6*jfeeWCfU zqZ4=5Oh*i9a>Tm+hQnIWtu`Uyq9NeqWJRB}20|xPx!AeJK ztNsIhmtn_g7F3FLU(*3<5=fG)oV6}kd>Hj={et$2RP6Y1yO(#u8b*D@>5xCIHCXLQj)^0Wsp;-to z{QMm7FMv96GV`jkTq5X0Rp$0t+jgMso0^JtuLBL*N#4~V?X0CL07*c$zh2>7MsLrC zEjw0HnhlqJxVCYBl=qxgtvgzHm+tlng%HCsAp_~|U-6so%2_d__qVAhfC|HyDvCJk z&DcDm@w>`<;9yn>33aZLoJ&!~D@3YF3%uy%U8g`>dsJ|i;6$`4p<aOCUnXL`T$Gg4Ver#rykeW~>RsF4h(!AibWt@VO_@B)eHcHM& zY{0uIZ{oO2dzZlWly{ROH7!@z$Wz`pf;Z(wSW4L&-G?~{g&;Y<&p$V1U#6TpTx^!uT`YOkQaIJ&e2Q>@d^Vs z)%zE2-VCFEp;iGa6-47}8R2zUXsa4Z1q-mW*cL`;sw!Fsevkwh^JCbI9z&KMaX z9Y8BnOjJt;t}N{=fb(x7n^#5O%JcA|ZMXne&KiV(VblO=4lUKElD(IqevD3lIM zU0gZ^)jodUgR%@@(^yEv9OF&_%~mCD=OKyL5Q=;bf;IvsyJXSrZ~fU{2lj>Fi|~E_ zMfkjbfIQyL@^WV{Jgnjnw3jE-?J{+Yzpw8a_oFxt@ z(M~9cs}Yhon+>q|y*e+#bI=AriUsWAf1%QWw?9e7R2w^`xKMc{+T4{MZ=@W}kuYvS zgNTHp+zUZb9GF-_93lM5&y;0xTwQeZZhx>ZXG22%SZYQUot2-szRGihLQef}~9E##so)tf5LdI5rhirNwiIhsikU4?W8#Lp4flp+)m zCa0nJCb{L=rlmF$CCNTDcYG0g8g^D}!IZ>CTHfos-q?*1snP&;s)**d)|Gm^idM~^ zNV2QlR=_?z&yNOFS8%3GgF zT1z#jJ$jd&qS(0Z2}qL?auu>%equ@yPOF;xr2w3U>$;^NZbXpGcWMt&Pl zlUY0peSpw^R`POA1C0rOf=vp>)l*C!%}(Qhxtc_2o)A>6bbz}^P?aMjSPlW2s2~-Y zjZP?V0*Ea+ms<>Bab~liYt?vMw5}{@;`|=X%1Vbth?|(Rco&g+V#*gw-`C=hsTwIJ zbsBXz^2ngO669aRR>@x^!T6fQ>fnWthkA;x%*`Z!DQ+oAGB-NIM6jzD2qp=-mTF^r zndG|3gBj|x#8P7sNRl00Eofo;exF1ZyZ*)zNK2&8jbucinPjAz;YzW^LDIPMl z1vZ0!p+S*t;woD+|4-yn8%p13=b{7((Wa*A?WyJ{Fa+PpVx*ZiM>V&1hTRNOKGUrI z_~H4(QKb@o^6>4$v&_`s<3&t+?W1yu<&UpRdEFk*q3bTQru5-(s z-s5t)_xLXBgh}sz(k1W9*E&Tg%h6!Ws#d0d=`fTRl&;FachYkfrvRHh4BGMJt*DAT0nXtr8F9wpV_@vABo&wnhq78 zpa%v;zM0ofD$A>zRHO*ATov3rx^mpiH(BILABA_+1iNsLaZQP1B{W$Z?Al18xMo1a9)L~_rb<~#3BI4my z=Szr462sKoh@rCA(ZnKJyIhLRsz9@?Cc^_rSMMQEHr@s;U0yOUo6Wb8W5obk``4FC zz|zDzK+%TRy4H7=8}H)A=e_7q%|5$-q){o<1A@Nw2OtiwvfS+H6ARmLINGk>PE3Z_ zO=Xb5RNgh(*~p`}R*I{{Ete*GuFS@!;_2k+=Gt=o9(}pPS?!HN0SGEfvlV_UT24(I z_>s;KWL%>jo{fnk49DyEiPbMzO9hC%9eG1Si)@C(y3Qv z(8Hzi9N+bY=PHr@BC~!K(kth%nhMn=^EBhHXM;9ynbaoBfc=$+3$oboa4vVIPlKYN z0Mj)#htIl>mX!{@1~agzG&SOIvvi|=QS5lB(?tg>OPVjX4m7&kI}8Rbh;kr|JosH1 zEJ36}m-=^{CZ0iglTV$0^sVn9KV_5ZtpjT7;-SG?Y~UfQ1I#o&)rud;7%@h5E8!YV zO4IgI27HYU5Qg1M{jfMWsr@72eob@cznde18Ie_Yr4GuC4cfnSprru5+&d@`ZGti( z;<1RUO673?1_cvL%J^KMr8dlp;P$!Mg$br0_q~|DDJ@TQ^0=6P{;+h80)JHqs!oBw$6US0w%txY(lWW*PO(f8UA6t)XMVHfh<2AxaFt) z&irqg<)^b~`RTW0`DwrN}~DI_d8o&OTkdBh%d6?|+%c)FQ=> z^Y++hmW)NwU^KHb&gT|0H4hJG9vg7xR>=FB5&KDh2MrtcC;y4f`)apL$*OU- zmvO+4=P3VeG(`W+ci(+?SiHQ!bHUTcv-D!FoUsQ04tF-zh45afIvM`M+T=s-u~jzn zcy?|6U~chWzaKn0!7%!xfhBKfh8Nck|MIGTEY}XdWw7*xJi*SPKKAOCJ-?d9_a*) zZY5=EIy%C0my*%bVe}?;jF<5y5F!GeRF@Se5M={m_`#QbClF0IJn07e_DZ;Z^Ik*O zmK{&aXNh229F)W3DutC>`;54|qf^X0Sjl&7$i8%R5yM8D7sq$AFmjWmdB!BYo z*P(n9EPed(^m-J(S~hF9c?&vP@7Z^jvz8$X%l|j-{%=k%vM(lDy2^UZqFv1YV#5Bk zmc*tQp2T^`tBAR>-1ta;bMrROv@R2{c@B)h9_Ja%WjGro%dy%o2AT{D~sBPw^%`hS}9zY3aq}`p910 zu~1TuY0DzLy!*5J(x$z`|N7~NX)kuJPwRy>^2wROMQuR(r>DPYO=r3KSLe%u)gRY! zHFJ8h?huMptwolW0Ah%xt!Z%pmkq1O*G`YzHUIg>(T6NDysRSreV=;Wvwy86vB@3i z5!=E9Gf?8=53<7SNm;Oe!)%1$`>ZKD94WQt?QlzuYhqVkVVcWm_Yx;J21xhh->v=% z&ub@G+%+Vw2B})d$C%(XXd|Bs9Y22B=Oei?v3+Wo*32pv^V3Gm_GAdQ-oT`l^Awv8 zurgei1UQ46eHLSg>gKAig}>YwT`P80 zMSWx6R!;NtkCMOi>?2$s{STVLaO6WEcl`G@Evseb@ngtich_=P9ktS?cJ;nSWnE{s zHqvEE{;4AwAe+IweKU`3$2Vm45m1(8#usR&E}hf`Oi1 z&*EQ%^=Uc#Ie-1eCgGJ$MlHRf+eTpbI`hEnsJq|7M53AW#(Nm%m!kiNMFnX5=+UF^ zN!KH}j+r1m`NR*?1{kx3D?fXaVnBbHzUKBA>uFZylWF&FaPQo3WHKXfFYXVBmzf`x z*w~ZNF+LR%CGA8!jBu5%zI*H+)+kZ|z~kbl-n+X8Jbhqpw&S(;ZdaG2b|b+ENFGPILF!J({Df~|J2x3lYBG>qhW^#l*)gK@2J3ndYv(-nlEQwXH2^E z@_+Mb{__Al&pS`nJ~e~q z@D>J%ymj}!ioL8 z^XTT6(>TSak0h*$o+~MwieMrg|G3%hMok`$qRUYMWhne~NHPWD_L^=f<$jI8pLf?mQu9{yYtC zxp7`j#=rndUd%nq6z}z)?b5e`I6rHH|Lhz5MQ8pX+u(z^!4J{~f6;kzaQ6lWLy5F^ zT=|Qh^7^Aue4JqbLq)FwPX<27@WLqfaye=wp2R*`W)tr~#Y^G~k=-NrV39s;w0f2X zf2I{qPRce6o@;(b_(5;u(YNeqAD0~%P2~y%+HwUKqDMF7>gi3nh8x)Od#-rpI=;cm z4K{4Kd3syQ5jQ{P)eA@JqpNa@>sYycdNSfio?CfnUGRW+pkHO|n@?ySayH6?zqfec z>I2|QD0MWTk9XFxZ|sN?+T4gAc_l0Ne~l#~%G&#@viFu;MVt2W5 zdi~~<0no>gqUo=>QdQ67Nww@lfh+rX6{E$$&1$)O1uyutg#U4^5pj-1xdb(ee_05$ zHZ|^SczsbWpI(0C=jwdK!w(u}#vWZE`{(C8bt$Gw_XJA-e{`TkY6BM>J%RF!p(4;x z8Oisr)%gBU0l0{QuYC|RE)bfI(Z~wWx2&VqqM7|p(+`V&T0LQYJ$*s zY)!t@1kz0TIa6?(i#E=o_LLh>t@AzQ? z`QaNJw(Dm|D|jfuS#Ar*mr9}B>{DVPC!v_HdL0OegiKMVTu@b~A2_(ne}yytaXys` zs#z5es}G0D$LXsdy-_xt52_-lmHdRN*n9jbwbm@fLhh#=8IHORgVVSBzg1*HR5YoKfDR`-LlM&@vU7h*vZWCR{5A* z(9!c7;98DED-k|U?%;wye=uPqRseS5C%xkU0ZDP^$UKsx^~)=L zfcxg6z0$|!{K*ic>>M;qkeA=Lcu_we@<%>An;)P5S{z@F zjWg(9ujt)tx{1R|`T6Gum&N+-lvIfelz%SRvkcGG@%UGM_3B!_+)r;5{J_uIadGzc z1HK3g9AKZ_7GU7T8$N$?%)i(C4f(s^53iXg*9BZ_erWF-(ix^VKa+evx;O&I$Mv}bD?BLT{E>CRFIeRTe$s!%y(S(NY5(Q0xTMI- zt1*7)HB^_s79(0T!h`AP3h(6jkmTSZaEtr#;+m1TKBkY?f5+sNM{>%5Tv1#Pi)$t0 ziSt6keodj*6n;%#ulc9k>i6|~<@%L>OxCs9K0YF4OmoIZR5m`Mmt$(7Ib+5{ zMhwek(cCR=aEkjF!M-5WmK72(_^gmwT@p)S@uea3t~2p|DmFdY&Y5uep2^zrEGGUm z^Gt-A3X{dr^r!q73$Qtn80yJS7Ev!wKC?Yvg-^fAf7=rifBH)8`9m^sSz(cCI%N_b z&En{EbcK`D63?Z_*F)oDmK;yQKFT4e%FVdMrKmjt@TcSQ97Zp+7Vw};$V%lk0zrxB z0!DQ6v8J@~Xg0yY5=eXtz<+yse#HW1`56Y7rOLhi8$duQ@BTNZO1eh4M06}}8sYgg zxwzSx$UL~7pP74TJ4i0E*+a-Wxf<(26<1Q9jmmV?CNk^vy5lHJeqoH}}&U zh68xU;&l=heXqNci0NS=G`m-Q`F{T7UNALlMU}y+@keb9PN0+0JPx0hiIQ3h>asUz zM!&|T&B}&a8TkDZs|il83F^ZKybs>7-jGfH_78)R=Ab(tMC$I;0gW9nBV0@iLPU51 ze`v0cef$13^z!i0*DqgbjY2ATcv!r8`ZUebvf>R&|a-^Oj$MjhsGRXF`ZF-C8_s&!0h_s5?d0!ngq7AJ0Qq*-0xa@#|hz z`}Gdy#PpGPmDsJ$rf5|XuQLyCD*b-oe+kr{X;7)YZ|+j}GZccpB+Bh*I={#;m=}p1`f?OkA0C$oMZ%749`0Fs!=WioF&y_Vs*!eg_HY zL@a@{^1?|gKXm5zGt$cINLtxXq?I2!Pxe1Y$KVi2TJ9o8AJ2DXUu^Fq+#GDTwsoOx?;c?0-Dv*ET zLltVi9Q7|oBbyM7QAmYSUWnYCXStD`l+L$kv&ldA2aDEQwkpyQrqWwJb34uiD{O&9!xMd;}<9ZcQkUllb)9 zw=V(T&;))o5Zu>VMZI>=N5Ed@C zwqJZjF@q)zo<4rh0jt+KvZCC2e71c4B_w!xCh&B5W-UDPaRsl5&mESHJU!A}g-GbHVxdRY?9?8XBLcJ6LrsFM@hZmZ zOc5a4Y4r-KurGHHXcK!#o7h9X#gBa85H7p6ovwiLKoz_kJ4Zfl_4R}a2-4e)HYT0x zxdK6Obf!gXQJX{s`V}BxkHuGLb2($iPTE+|_-d4Y!ccJyQrI)VNUekjK`uu-mHrMC z_LvTV(#~pb#V$P@LZOHd+XrJXKpbNePM^#+XQn_I=hk4p3iw zLNEx~w4_ANY!CP%Tj8h(--Tf0ne)g}T8yJ<<`Q0KZ#nl%v8+#h$A=V*NSb{+K6Wsz z$TEa~43DAGq-LD@9v1!w!&r5I=LJyVkjx;Z4iRgp>SdViS1A`qT5X(tVMc8}wOisr zH-2Y723n4eN2>IQJE0y3VTH%H)&{*hIo0W<&^6s;2|DLa&9~f_BPg5knP8B`5WqLk z281)!BM+<|z2|VUZ#}`Xy@DrFac4zepOEr@OLC4$wh`Gtv{!4=m~LMJiN|SI4XziH zQlpjlq=_a&;3%yL5^%h{spv%yPBRvT?1k0@7cS5 zf7af`>nl@DLyx)6+;vt*q$zQQt-n}sESy62zM`I4niRr5PLZg!Ie=)9VLVsqh;Epk}XmNd3)O(U|d202abF)BMo^+s36 zn4)@UV;(gM9eb&16NbsV1lKiu(Pe<4H~r$XlWYG?)dQTS6PPInCRM*JH z0-+%v!#}$OIIEbXB&et3Z2-A|NV~>h&<^}{#Odn_g03j|>QyCzvxSlUt-mgR7pTnQ z!V4q+-Dprov7Od#f!%EdMdmdr9T(U^;9r|Ww5=O>PL9wRL?ur0gJ>QyGIzSCZJ5!pG^eJosC11Tir`3CU`{d`lSMLnwEMDHce2F0! z_Iwt7D5;;Dhckzd7hgdbXVqM@LPR7#dI){|;m`==BT^23l4+rT$BW_1moG1|H!EX9 z(9ku9n(Z35DQSdEnY4VJnX5V=3IRlo~W7EiuLcUg_31RZ)n4D^6Y4aRME_8F6JO{1U*5 z%#dQen~E0SINo%f@Hb@RB{)rA4JoVXqfLifO=DP}jcNff@8(WcO!ez45LlPH`2EQQ zFTFxP$QR_wq%#vi+)vs{jsQtN5j&1RmCIKTpFA+0Zd}JVTE{oOjxTTLf5_JHZCuAc zq;-6G`{ajz&l2-TP)#5J;V!#5Bw2i<++0dsg7=6;*=k2{z;1?PWb02(B~@?OF~kZ4 z^WR@$BSJz_l4?5z!-6zdJn)r<(YS>>>k8aUkrvWB<otDy(g+ArJ>1gQ|KHXVWg!`innv~eWe{*{RxuOSALc(b{C zO>BpMhp$ z2-F9RHl-Fa06zx9l*PYM%0-}N0Fm9CrGeiaIN8abMUU<1__Ep2?iL~$^i*M z?IVd^8e)Meh_gXG=|XRaM9?AvYW;XVBk-7i<`LZdCR7Zo%j<^yy5S84fUx5;EWhw; z3eXSmEc_SFG}#A+Y{<9b)WI20^}hBx&<6dIgV00?g1k450IrJxf4xeRy3tV!>#Kr& zediFR+Bm1BNFRG9J+!6E(>$!)0^&=EVW(Aenhn*y;U)mz(~X7knV_ZymksZTP`&nl zuH#k%E&JkK;|i9P1AH72!UUQ9VS~s>r05KALQot4Vh1Iyu7mF77+CWr;K^vuT0QG2 ztan(pPzilRnEaT&djAZoXHCxbia+&2>$LDf6L?tP7 z)B<9j@Kph|*nZoc6W$DSnX~2<`WlCjH$u*Wx&o=tpxlVP4z1zP2mqP{LI$^g9_yu4 zH4F#nr>YOSLf?(&TL;##c3}nXQA4yM+k4V?h1SkA;YBD%e=2%_P8&sv#0YB4SF3!{ zjPSyf2%SU+mo;ZpG2mF&y$&ADwyKT|&+X#dREKFPM1P$(a0K;6WLkG-mslh0+N02b zmbt-dND&?MXN<4~d;VaLLJ8V`R-p9{jltlwp?C5-&+liL;8F}6*!+ODL?wk!Nx)%z zS@!98vtt*@vuDzWNsKd{Ga6(8%Lk?;pn6ZN+l7Fa7N?h&y~dI8;iyCBZ~WYQhe~*d zUJxHJF}Toa6O7$ZiCS3A_`E}7GO}Fp0~D7Fv&cy>&({iFf4~3{N>4$5wgGkV=#09J zn6SY=8zDn95o~nYjo}4&K0D$oD+YrzBp0)8NoUkgl|#%G0?2Zw{lPHAoF8UjZge21 z{UdI*ppBehvz=Rxf~BM{5!QHJ;2Y5nhA@WXy?u*8;#;s~Q_2;AY+%GOyQku)&G)xX zk9zoE$Z>-{LhMk0azAPy=)imn)XwMHJ)+%=EKnFv@tdOkz6IPhsvKQT3s}ozmkmV_ z7$|<1iHz1`Ed8B9>^R<`dhiZAoj3mo3AG5Wqd2v(&~2`r4Gy`3bA*>oMGzSadGjcg zKoT32yMybOaYYbX0mYZhMGzf-3q=n(#QXFnPIGMF;bb9AeLN21TjvO$ZipRXgYx3C za_h9nW6)J$N`mgfBkV~j3EAg4=rzzeoVEr{>n70SBpDm#l12a;T^#j4^pGEgR9zHQ zS)AJaiB)DWU+rLv7cF*3yE%k)YGBfd!O&z*S7X4iHwdyb51*P%gswS%QnIfY6o0ny z9eM`%u8Zce&bZRUA~Rf*forBYxa%4Nm{rZWKCkg+3?dq+v_?Eb7t<*ruO}%Tn!rt$ zHFi}vJh^a1g*#mxca!pMVesab==co5pLk4ssjH?}THy8wS&Z+6LWx$X)6m&b!~54b zCq#IXt71T!JcZZ*Q*+^e?;@webR7%oHwW2fTe($kk&xBg7MIN7NE@}}C6$l8w4^Y) z0ePFfG-DQil+yzza^T#!ce-+{3+?8_-U5<|#WdJIrleG?AfHx2rDRq~tgA-EvK0mc zEnYh>Q{k_#5&XYqP8=f-zJXye5V$af zK!3FG-%KH}9~1)rjS7MOX!*Z4CzHJsZwzQCNp_Mwc@Y2o^2?L*{Ts2T-hc&hcl;-ulZR#zOKitdB7WVWF?0 z@FFn7U;fIZ_#+FZ-=HG!m*<7SQmPO^Hb7s*FsK&*f+Ssk5~WDwfWXVIm*cjVe$exdL{^lsJ+A6N*BsLouPWS8sf&DN4XalS>86rq%im~rG zm=q6jyzCapfhXTiaF%T=5r43UNc$M%T~1|EPKh8WEU!A6E%-5z#GJwa<4}11VeYPb zac1l`wOZSMSc~uUi&QRATFXQ>kQgcjJg;sLjk$w#vYI7C36A=~AbO5tvxS2=GThi4 zXZ_w8JPWT9Ahf7)fcZDgQ)x+$L#U!k{nRl>DL^4f{70+U?-nG&WUI9zc_lMjJK`kd zvPuIc+AjS<&oCpJI8d3TjQTjHbG)D_R zW+Td47*T$VBT93${Nrt`AxOmn<^Z(wxjWe2@BJmGoYaPVLJncZ?m;3*SLMoJAqQ}3m3-BI z5kSh(oQ6bAeCc*H{I#K=4e6O|CL9_lq@^|(p>r~`1EI~el^9^5%07;s)jV8ZB)RJm4T~WISSXs?@+xYh} zDq%D@0nx*4h+mcyMI5fQ7PTH#67A)lRo2rJ>a1V z>t0HK_dV^6?7;|(d6@sKOu$NVnE4f)^~}#o@WeA!9(dk-(g56CcDy%f24>!?BAzJS zX=;X9_f8`am|3nV@i*rGmL;09cZ;Xp4)!L4`#W3@znKF+n0zx~E&vBJTsO~s`B(cR z{ky^JUn04=OhOdB&%7lQ@RxsoHIo(V$F~&=^{`~mRR|NGTK2jzPUm=Q^yy;J2Y>ts z@!69v|2p|N|2CG^Tf19VvsgY&tNxU$@z>xGd-gTl#~hq(&3IU#9@DSBc{Be2x6Zy1 zesJvZ|L0S8g5t~*;?8ewygy|)T{mO**=V^E2LG-!kdK#SFD-CW)`?DkQd5T8Qxgo_ z37}qs>G(9?Xta5sVyr*i3_f-2^vXzhV3nk@3?95C1#F%dx2-;cvGM6Ns^X0FxELl- z+`%b+fc~ujbB5<^aL!QDVFyGcCkc!eZ@sGc49Rqvhj&%~>$+ypiFJB}H{L z$wU;wb4;SPR)PyAHjm*_yUZwSO%{bPIlK8CGcx+bE8dKWdCHJcnx$oz@&f3v06JCx zgVDleRse9KVFhp*3t%u>zMNSA_Rak#|J=ByeAhZGLDJGZ_q(8vl3`gv^D_Yp zpcn<<2WzV0`VeJt4K$VLT5*r4%wVT@QHb$Wd*8+R`4Ib%@39$s1v;yL74Vn?UCxP) zwvh&2KrG@}u-IwFmLD);T~LLQ5Eco-GP0mK7yw$>2=1YOXt2MI9U-iSfYm_1L(s|D zB|u)%xdGC0gw-lY@8AvRCd#&G{ zV!^4u-(_k?i-XRV$%dl1v2q%DBf!wg~+&Oo)|8! zS#Z}XIqvYIKJd8~XMYq;{*S%)KZ+hClKBq*C`KcHkaOYxZ;CeB<+YX9@WRf=e*n_~ zJOyD>;1{FVmrQtELBcfI5Eopvv+h~-tmR^)1M3aTY63uzczka! z@-5!7;i2yUoXAAzLvaJDQ!P?)#alN)E8f~3L-Cd-Xo!Y-0&%o3E8fy%sd!6VUh&pI zcX|we0-_hdecIV9-kxA*vovnZLWO>YSyGw9cXScEqwZ+=VzN7$ zRGuZICdv~v$2JLMCcZ@LVFHt&P@!lm@p}6h`_&RwbF6ty?4MvNTp=d&VarR#Q}eIvcUn2i!j(TS~YgK9{RNmBNsUMytZzf24skt|52RP(+h&G-j@ zw8m?@5m+_6;sy#`6vr~_pJqxrfq3zfF3D zPchs;Iov@xyXD{TwFH`T^RQ(vH8i)jwSH!IMO#Wf7z2g7c_T#7AiWO3WJ4ihly2G3 z>cAtX`%nb>wxQe6MhKloQFiB1+@b(~QVWHsQFZnBw0Xtxj9ml!MKO>QZUfXMTCon+ z%>+%OKul=G7y!CQ0Hxv*B;p@MOv8YPVbm|FW5;9=oB-cmf6Mm7BuYnGfZ>HzEL;h@ z8$JSE9>xtHt%-m0i4Nd}#8*B7mO{cmgYd1kUx0}vJ0kE9$tW%wKw)u>K^<^lw-Iq%{le7Vh79L#XeZS?_|Y z?tGqcn8g48TRXn>=7aN%YNna$Tk}i~sEXIvM;ZKomIcT({n1pH#dC=%e!k*yKl4+Z zUCJgBM3+pZB&5mN@k8v{)%RteTo(dIx-Zrr*eqGgV~yS9rK4Ma^cIhfj&ns^!JLG`h{e9cQC$}R>IuMWlNZXnWD=CT483t#hyf% zly*5O?b@XDY_!nNCZ*edVN%+UlhU)%a{o4yQs^fh)7P~PQ?Ph^c<`{{f%zy>+4&U| zwOGG@@w(+6_MHu6$($`DHRJ=sLV4(`gWj&Y(QZBHz)j8M{d|9R)BLl8tDd=w;*Rg1JpJMK|3Tirf+HL`>knBwn48B}08_A!Ji*NyERB~A4)kqc zU+l2buzJ^?KeSWtVWUR%1|_7BXBMcme>$LNU|UvG#sQ6w z#8EUmx@f^7!}rr=R0;hw)ge;T*wUU&Uo9U8{4yp2)nLUyYq%qO>bKH9)fwmDXEp~v z8Z9)lIXJvo*&MtX=io=9<>n`U_Nf5Og;`g5O%JNZ={r^IC;+n@ef0$<$H}8_30f(Z z*+@3VY?P6dMsFwtA9-Y3hWdi$4&28%)tEqi1Ef4+D~%WoETS@3vq z{1~gIFJY?m`oR-=O_&%mqZ@%Re{>zpag_xq57tibpIm{<&0H{tiNxzAuD5V_y@c6B zOv>+bcNcJJ346roYs1Lr<|yIS_oKlXm!$XQf#$wZOac7Oidv9|! zSJ|!5_WKHu9lEaf83$r5jVtMp!0`~ z6-;@s!jdfzM;Y!1nH$MMjPomEJO_Jur)v>b5)%0+EsL6GyWO)7C#a|A$DmW7DqF4- zujvYp)#uS43c9827cbBO^wG0$V|5dz;#f~%EA8xTi1i_NokU>j+ki|^UV$%RakMr( zJl;UYYT0_4@mt_4f5jTF8chOZlp)1^qhIDOAl~y5e)3?_q#T*dENu^AafCIU?N-`V zlX=x7Id&v<#tyhMn0foOKv*x2$X>vS{n}UBdMx zOdOzc!5oc+RUew+m)BkTa0W1c0!e?7zL+T4lVgxij{z@9g~>4vsdKImtoQ{S7oIAK z_+7FfzVkgCe|G1Kz{w?Jm9F!)(B05W4%tf%t(R<#76w@_`7ZR5gV;;9M$3cQ>gKQ= zx(Gcz=;ki|qCGFoj&I&1)L3gj%iK;quI?6;uxc<3`?TwzNsns}^H+Vszhr^6# zlBRF3dkA7Qx-3XD`V*2LXQaGjX}i(oO*BxN1eroL%R+hMk7j)YI}lu$bSSAQ;eq2{8FFay;w9S z=#J(iBv4+Mp18#m6qD4L9+C!()>fd<0F;gDL5Jw{;1fpLOKBa6af3Rx%v6Ssjl&k4 zcj{HNz~Y?30AA4V(tigpl4XkHOEgrdOfNYo-~d=14&UKO1mYz)TEGa0fruo!05pKp zMC4F-fb&i{1*K9#5T4AR0%8c%9G*TX8x1++iGmgxg=N;%1ViL#p%2u+!qX;P=5RK1 zf!?3fP#^?&TeIEn94%sf1Q?wM;2Ov#*@QVBkEs0~fY*oXLVuKWvx&_KwOKyRSy|w? z7IhccTJViR=L%h36B`2;ExA-$G%B6qunqnrxF>~gnHJ_T#`l90NPEN+$Hi43x8jLD zjKwMJh!}Wsf?{64DciCjPY*o?^D&bBMJP#mu?Le6M$BV4)TMh`YDGcJ5Gw8cdyO;DIK@g@*XgVk7y+tEO!crW&1)^W_4>WVZ-=pKy zV`$-fS77bwzc0=nUB+ad!58gW3*J+^C-^L>ML!CcC;|XP7y00yp-!GOGy)W=(qUBq zr>f{OFjm5+Dz>{YjRLehFwd~c0T#RLfk37QWE>8QSAYKm(6x6FUeOcH)iEXPv1qpI z94@3N!2zwV2S2y?>mG+v?)6ggvB3fE%s`99GbWozq7@5_(a;R(YXPG;KNZdJz!bzk zLUv*0hOlhipt;wagC|f4;S0c?1d5p@Y?NF6N+;Y5=S2h41!gmmyWw;W=c@qU4xsiY z_-b$g^nWD0E_3||ay?K00zR6u;c(MSeY?=yzhiog8>WY50j8Q^4^CuB`-Fx>S~0A0 z5P+ti+g(OqcZ~D{%+!b5*%4=gEp#iRA3%Y zm{lVHHQt{A1}qe+Xw=KlpPT)=$^+ruAKY7OiGL!Rs))IVUt#t8QM$bwX_Rkk#sr?0 zn?0|V9Y@|s>^xzcSV>c609KwNyzIQ|!)41m%wy50`a5-RNcoiEocCOI-hFDOkf{eB zKSL?Xn`6-TbfT6JOuEHmItG-pq`5oAoq4yeLNo}Dd9gqJV!jJB#Z9UyajeLw$jK@Y z|9__WP>r$jp&F+KP_<^tp*z0^b|KPI2YMa)BV-nzkga*}7aUl=nVWyAZK8bE_xI3X z&}Kie*`J3&(=%bEG|O|SC33dUO`(TCH$7R#=A@C}yUbee&cW|@02ai)lV_88lq&iL z<{DH$4y!0(PWbZXte4NxQ!|u#(Br`(@PBs2mmEokmygWX?yY^`iqqgBAcO!x4d&;N zKyaaV0zab{pNhdo6Mc`1K(VyqwJulSd;A`0iCXTIqATnmIelEcK5EnDLt;Uy}+m zrpMlTbaJHuGjoj;ytpN|NT#(IWbUH@Bj zJILN>`REfm@EtTyOaS+=@_!l>0Vg`G%xEe}$-@U)G;{NR_s; zTMlinczA7VryhQ{w)1LxKbMiD{a4`MS&w(@)mHXvFIVb6l_J(xet(;Y+gMrK-`Sgp zezCH>zEytQ&d;^IJ+%I5PYKs1E~KPQT-x7xWrgms>ouVL!YkJ|cll!v0UErs7Xr_5 z*WTXFUY6ew^|Ds4uRIU2oAnx8FKv0~$DPe>7q@m+!b>Tl1aRBhtMCHGp|WcAEc{|K zCWgVS$zb&tjH_+e_J5xLR*9@UYOl7%s#!ycZ`VR%d7&QKf&%+1K!b#~!kAY(FUz57 z0uWVs6)LH|xf4oZXSWta)W`b9=3cy+;qBV5DY%xmIi$F@5?kY5ZFg&BErxcswpM-) z>11fPwi4s2cnSeU3_huYn!_(@qhJ*w=OG%e_q*omHkXX zYk48^#pVV-lfC`@&6n}cmpeQAFG3(Su=?)iPiRoFH0rNb@lX$-)h4N25{SqX@@iK# zf@FkLgsW&QwV$&#U;8zyq}s369!pW>###HdTGy2)Ol?#3m7ncRFMswAz=V~xH9kBA z!oyRHwaqrB?f?z-Mpm2rYe^y>E@MLYwu^lpQ029~U(h!cn>9S7 zSgW%t*0x^ZR=n+J^xb&gUcurjtbU5^9aSA(f({=BXuquNZR>xAhE+1|LkIM7a~rL+ z*jiadTJc#h1ADcf@fIXvW$guCQ*7+*ye#&2_E)x;tG(y7LOp$f?zTYIkeJ5C<`&X` zr`q7L^6J;kt<9Ca-x};gaoej+)(O8yj50P#SwGtFGJJuCS!W!^@a=uRc7MI0{?SIN zI@;{ccB8)bqPBnj3I+_@0Gt*6NH5}*y}gy+UhU!;tBAEK!Eg6!>$`h9YX$n-mGzx9 z6tEWvB0NM9MS?fH+FPqJ#6Ea)V-rP+z^givO7D1eD^b>^<%JRw$CDQ-MY{_xWr29& z_UayHrLS&o@2((|>@8N2-%Z}}%YQKXqOMsu=qOYmg;jqPAA>sBKzl^X<1mB{fic#n z#Hjt9JYpx@{~Q0-H#atTR>7^WhM%b53$z0CVTBdFj=EivB}AfryT`&+x(NDX^Tku4 z(%Juw%^t072W9WkcIKmWkq5@|jFc9b?d{glocVoOfl_+8@~fTE^!&X2UrAQ5xW2u& zvW;d4$%TJSkKq$HfBJbvLU!I`Y5nw{pMFuq)<%K$h_1WX*jjmBY;8Qk1s#$5m0uCq z-T9@q7pe{e3kvnoD-P2I1`2D7yfa8FoUPwpV&G)`GS0ufS1|v0k?TyXnxaJa?T;Wrc)gReBE#O}#KB&#DwJm>i1dxB-UETWW<@!rY8-lrvyBij; zoM7Iq>0fBm_1)SU8#zWSG~#%5v;Jad3+3}$vG)qas)|Ohf%dDf9F5jeB1@uz532pT ziH>Y#AH8Gv$^H)fMk0gADl~H-v_%o@uh`)c+Bin^ggT1U0*pkg*K-ACtC+kMI7ue;mD)(&cO=Q+$X*ofFr*fjWu z7KFPuSh3cE?fA&*Niw<|HeV)#$;BVO(EsdVyhT>f5w9SuPwJ6>WqDv5yrK&8B%@ZdsKyRD08F`d)~r2wfK5;pn}Ya}hgkF3MKm0hhlS8$ z;S&@xhb&yOt|bQdf7{K2R?;cF_F{8u9nCGpXf~(lEV912%I+}4SkiS<$f;k+XJdcW z*Z8e7-d1@~dgVr*U-F>=-W+<3(zZbi57zv%CDx?Xisqj;Bm=2ar23V(I+ z5H0~ry22ip!aZ9GpN|%X*;05bEQN=0DSSR!9^THbu77tPFkKqTxsfopt26G_pxL0= zTIrs2p=`Ka=1KyJ@2dN*4dzbfd4c)!{mBB3&rcwsG-N<+E|IW2)x;?hgD_ z@$NNPHc9!+Eq^-xrXLW{XVCk-%RACIE5^i?0eB#Ew#Nd!#fsT5=3Xa6XT10|RJBI> z?e}K!>oRZyFzC2dx*Ls>`N`tyBw95%Bp#-JJVbZo2B7~UN{!?93>@R?xUMK0b&n_r~K&Nv=fg8&@ODUhE1})YYbc}r? zrYuCD9WqFrv(Chsz+(tpD?um67z5JFqaK5%b%&!9B}Qq9f+fnhuq3I-;QELGG-#fG z(1H_#tVIYV!<|+JphbR)5Je+n@QG2PF;fO%iS&WD}!$?fLDXZ^XmFd3Tz zLjGd@t7ms!e?#NIoNDgy*;Idz};%l&k3dlZx=Rvo$2m5swSIn=-#HDMx(AmJ=ts~g0H(ac~C z9)SF5#^BC-HJcb~dVp=R-Wex!aii>Syddvz9)td7%2tidXi|6Mol>PSl#K1XO)Nge zA^{F>!X*2glk9VwWS@){TG=FfBTTYeagu#9T5jEDl1-P(VV>u9S|tO2HX{FQqGS^! zVBpR1fLmhO{=7zWr^VL^g%Hjh2{4SaE3bGW!1&1#RlD&)=H14mWLStemWKd^vVUoF>aefIH=5 zdUPO=4&LwB3|cavG&4%~R-j)3c?D;F<|hHpBDF4|XWw!)n`2{t$6k=JGSw{c!3Gcr zZYbPsIO)z*jKs7>{)Q4_=CZGUMIz4fVqq0=sHVU**WnrbleV>fv~1!l*6J}vn^h<$zN{i)EF!q( z+8XnbJxffUJi|s**~Gk^pd82C9O^eD4KzduMdE}b1c!VeJXzGR-&H=3guwxL5+t)h zkku;1Bz)i_DWOy)S-E&A^7O~hZU!I(4ctY;U_;c+AqRke0NLAkws+*x#Mxe+37&`~ zh{J-?DXEf(Dbi7-5t7tpIUJ>B%kY*P)#4mFNr`rmB&z-~c<0p`_+3C8+mTftDk&h7 zz?rJzZ->mbQB6F>uTJzH;cS)A4o_(Vjqbf?jLLdadh^n96B+|$1!vY@8#v!^izK}f zcxak4{!N=1V+yCq5HouoZ54A$_^KY7yP zh#d#qYATtbI*`c-kAjSWl_hBs;{dO=Hf*&?r>nt#3ZPo-VGhx-9n=;2Ae{LW3H+p! ze-)hV3IrQ)yt7ibi1UR#;SyQ}oOS#oz5(spTlu?xVIQ^y?s115;8{rL*|9$6G%SUj z=HnAoMyxsmnc*nkJUDaRhEq@9K814^1|BnVr$P=$YpMGL;b%gpiB~q$1A*{JXRBPe zg;5VHBlF81YvO{VVUC^h_Hd!A$w7=OrntQJd{{C8W@p*)#GMh~kjT1_O5p|Mi^0lMfP0C0L3!*gJsx!l1Z zDj44-y8{VcktQ%J;^N6%^L#kBmq>9CCIQQrZ*dSP2J<~!>Rd#ZopBIke?P#H7f&Ck zIfZv8Z;X)qAujQ?5N+Hd0Q2C^VfcP8`cXX6)P~=7lsMg?b3k9yAPMC)%OpdHkzhpU zYGFxY#2;Z)3CoZV=Dsa0L@FJ=Yv-{Jt903}sJC}!S-9vY$-X{&Rm#zOf64pwxcA;k zypNykdwhUgYFclnPbEC}e|`KiLf7ISdHmX;+Gl;>5x#ze#9~no1kt>pr8ndq!kHy^ zYLC#jYi0TorEPc-QWw^@F_H1pN-QK=^Hg+_^_4o5G&h=+B+3w9RHUUJ*vro7M6A&q z!oH209SS9qL56HWD)GXOc(Vz3o(rOUlT6zr39v%K^0AS0q=e+&f6CjUNNnfG%T~BG z(StEt@ff|`7?jnQ;0PHklg{==6QF+t4dp+|D$3UnMM)8qGkh78FLCL=JeIy-+4NEm zzk+g-N+jO4jK43-x+HKZ@to_lYgl7+gMzrLw4G*hqrajvS>49Zr;h=_{?;S4DT24{B!62-2B4B zw|{*ETkM<1%OpIQ7X1LGT{C|2q)fbAwS06kuW9b)3#ZPM+E_-R&VYFE_{m>*_yxMZ z{}q1Y2@?cvf5+1avw1z8?kF##()$$a@^mA+!DsP(S6a{Cr-1%nN=$dcUUViww&qDy zrcAHIIo0BP?l2z@hU3ff$YeD_;*vWWJ?MDpVD1gvV%f{;k<>5SyNKQ|Uw;H+<0|%S2-laG zqMRaCEQH@b24=FAKWM+ z{s=C(%+Qx?2#eKTMggaox=if#vOhoQb=GC zLHE_7{BaE^XW|lgCC)q7^nKL33<-#zk+*W5uN0lw03KGbH5htDXZ5bJFO3#j6#)dIt{PJ9~w z0x>(5my1sW@3=zEvmQW2*dIAU5*TsR`Tj`~qm<&FW}-`^KDFv%NKV^-)QbGFFH${3 zt^Eg=ZP6WMbhP=;(3b;+h3?iPLb^Or9tz3vwBX474lg==YZl?fW--R*j(bV3CXRY< ztohG8D*qvXXe53STaN2=3P27QZA5xj9KYuukcB*5;lKe6x>wXMXuOXuS@;qx$XK!3 zV<1X=_Mot5KhZo{q|Oq5{eu70e(1qx5JIvjt4bH2igVpV7A@L)GACsmM`uTHt>?7v z;&aDg@u|CNvVhqzTLAk7CWuRp(lc{~XFTxWTEE0h57Il*v%p5%ME4^_qiu`u7fAN! zi$(rep1g2+&jTDRl2)F0I?xzlp+m*WGmgld$wWVpr3^6ww+K;x6f6guW=i>)F^ zyzH#5H zT7Vrk?A+|XeEnAY) zi{o2kOnP5@8O~BND%Z+UY#bJRW=#K_hlxFAvD?O^G7It|CLEl5dJpRj*G^uD97kK^8@9j%#w>bd)jz@XB9GN{UwGI#fKe78LYn*a4{ zD5KycN#aB5hRSR3nJ~QmRPY-eiA^&NAiXSnJz<5VGv-s-#jbgK(nWfGDqXyGz7@Z2 zB5x62(KOs7u-Tbn3T%b+uA9@r3warDK+ea4X^!vSnI~F1cpfWf1q-*Cm`l*lKe*&F zj0B0Z$!zFE4#y32XApnT`$8r06k6cdKD zIs?@^e7{fAgXOQyv649!aaxL(Y+^N?-Dd{%&G~|gFWotX2`N)4OxJpp5(9twEDm~t z4nD+BGaupu`GVr=qrK306D&H8fUXUTSazj3vUqTRbk6Ob=~Roy59=>#t1wQ3s)-M- zJ~pmw4!N>9w3W@(XrY&_Y@UaeO)su&u13qf8>n+`GUO>Q+TPwD-+8NoGU;Y7aiL}3 zmnlzmb>G1bQ@LO|GZ^*nJtJ#TTICBM7=5d9c83WrXSJo(F(&Sut7C?)DLWD!v(KT1 zYxx*|;pC3Ex7Vb1z2FK4&~dRi%KfD+!?`Z0czn9oF79m<_b!Wj`^7ytbGZlnPH_)= zE5$wf&$)MuKymNS;vN-SafPSZJm>G4(QEq7p@K7MOsO%|1QyS7=BW!_j-pp1ELY$Y z7L&w`Nm2*0LJCyF1tP9~prcI`CcIbqEYLWAdBA|l8A97ACpjU6mmaE0K;J{JNH}wc z2xuUB0SXhgCicPgzA(YlL=CNg6X`VFGmbr>KX`mp_UVJYG^OC&yfzEK0s2k+0uLq# z1NDeG3BCD9yP}(w>)r@+8Wx=S0ks*6``|H;peF+{`1y~*#01SlCv2Y5%MM3qy5n(w zqCR)UV;p@vXhrJ`m>LqLejz_kg7e=8^VMB*u1TXd2%`t{xqAC=INIY#lYds3En4nc zZ>G+)+T&&nt%(Z_JnOyw487NR?7cpWme1LHS$}nZ@#N^q)49JkU(!SvwzQ9f#XxDx<_pt;pzB9< zmGnrDkEUyuUVu;nwz7Nic@@^SyK}S(2()c~{d3{lkMrYl+@p{47C$f5>Bg&V5dk#7 zz5sLlwHGDdsT0g>#+gU`>KsR=Xx`}z1|TY6I%D#zQ^IVIh|Hu^%eD7$7pK&Jq>d)H z=8mRr&8^kz`LHmfV2&O}pPJYnyf;2RA0JAXsCZ75)_(3&W!i%($>QY<0N7FDN?sWy1#l zVOKykP{@InSAgV;D@P^=>>t##hF;Z^gk*+#Nk=Yuh2)e?B#6v;)Fpu}1y7{<&Y-?v zu}x1!z(~jlJQsx6kwT~6@IbiT=|6cOMl zopVDz2W%nJ`0mi$zXWIqn0*z&A95|JQ=fP;EEkD8yJ!k!7d^ZP_}se;?@iQk`~$Yx zvO}mwDBOW@?Exm{wt$5BJIp24Fpy`lsr;%MmHfR`*jp*Rf6 zA^Ga{rce9A& z{bBzQ+D)@PrDmnse@@~*BPJ9D;8_;oCIaRqTo5L>$q-&fbaVa;hiD3MDW3%{`8Bs* zVC6(e0}oaM zgl=A+wf{OK7C=PIpz=F`m+c;5*GNsfn|w966*XDA7uB`p5x&9as8_dCpn<}`9=vG! zqEa-uB8BM=Q7|nTGSTPqnla@<+NwG-3kXa~LE~(nyra5*q%v`zNzsDD%LrpkEH4Z- zNk)7u8D8+fn}?hw&dme9{NT*Tm+3s0|Ux3oC~tFp{WXkH@wY1iDUrh?tGZ62s+ z@3<8a`<(!-S6_}fwNQEC0_egW`HnNRFCAEhhY*y$jxuaR_h?+!3V0{kh7W&X)p=fY zkE1b6O^^D2<5P`91eW_rwPW8$YA6_njFnzxiXsc}V6-8ckjO~a9DoVajmnM5RUoA{ z00!Mki9o?nkZ%9NtsDQXWc7!XN{>wuU`6K?QLOaV{P^Ejjy*7xQ&D3|dL8!xNz+Se<`$m(t4KKQ|zh@=KK^usAungD+( z;GU&x)if@uD-ZT6DLS;sN(}VxX7^T(m2F)qo)eZ(MtP*v;K}hHHSJh1+NfL^hC;hy zE>lb6j&rs1q1bXYuHmaP(5k;yLVAV!V}PQDOAYqA+rq z%fu`$tLiDSi()dF5?{^^_dLw9A&Ya`fzSrgKe#~~2g-Og81b19N6|c(a+gP1{Z^x9 z-iw<5pqE^N5ZD0&moGNQGn=&9DyYJ#8Rxdd2~$=Q#_>(dfT8Nf6gl)#^pm|h{+U- zSTcuYsXMw)>XLFqoV%0<7FuTd_6TMGUcVLyE5Iz|1)j%*GPk%mmCu8vUsWdA9b_it zm`xUTrI~Ie#02e12)lkIb#u|kS6NL{QF(naOr5*==gY%!T}_e^a*JHz5{n9`sTwMTJrdkzp?C;aJ+GaQQ)%^7dFSFAs%AtWXDk!^)VN-~*Hz|stJyF(T z22>Ks8CTp-#q?c!susw~6A)9YeiIf=S(?I`_c4$0k2!=)*!qy80dO41~ zlbq$3L#YeW_C_{RS~!f87V=TjcRd$rWO1ph>GOzckkjnLHbNZfh@74zA%oAYHRkG_~n$svB6D=^_DX2 zN@y;Xe`}!$mZM`s{C}izgJBze=B>yikD6;Bt;`- zEK27E0@#GewQ|Jjltm5nk~OD7lzEU=M-uu=3&^t1jL{m^C_ypx8OHalrOx$}z z6y0Rz5Xu%-PSz_?g^ENYbnbTogi>0me@am#P|hMM0OO&de`L9;!P{3cu_wwdmKGr1 z(T8SOG-&+R>CNdS@{jvP^CNi~+>HWFp<~i5P~3({JYo=eZc3J)}mR6H*hwY6vUn zXT}7nDUt=Bh>lCwU z*9@gtmyh8?V}36;FDLZVIeR&Wf78_nZdC~L1KVJjU?blAOU43FiibjL-Y@7Fo*4Sfc_|KcTXzJI{Xz5n71#v-kff2Gel>Dm9l zGon-8FiM_X={c@*SzV_MZ}s30pChvW%rGB_7!fI`v683tn4m`Ru7G|z6SC8z?f1`{ib zYd?bB+kCT3;YOC2FqYiOf8d|fUzTzMoyS5#mUpzc&S2*TBhqJu0d+rZqPj5 zK!T<)+&+xPabSGAh*TG#B_s{@ALW6mWoT!9+VPEdv3%my;;Vv2R|KIxD}&gftH4mX%BzpR<@Lpr4tB=UxK5W`Z zdz|c5CDgWt5~6Qewr-Y}XsY34$%xBK22p`0%9KrbKKhJLq6X-=W;FDfe$; z@2s9ltjBo?e^|%I>E`=z8AG|_o0Z(;ettqd6cTsHe(~uL-qJl@sprKX^=F>{=;!!B z3K9AEXY-!>@Y@T_+>PUMpR=n8A;sPGY9-kJ^MNt^M~@NkvEwm)o&rpkuv*dhc4c^& zJ?CW9H@$G``orz{@Hdg!tfz_H|L^|p<#^>@{r?W`e^xG%|KGpd|L-FF{|@e6T>P87 z_6Hck<3|VJ!6NGxr(()_2!A8XecC(N8I`+v6ZY|YuyYtl1!0O>rDev2pj}_zRBQRgMfey6Rss2h#j{p2N?)%!HjK>xw!s zu*UhdJR+8FPb~3=gfJ1wmW1w4h*Dowl@eS$5`$byu-!{hoLC%PNzNy+%VcFGb<7PR zzBiB2Ok&rpC%Y!aGkegxSp&c)n-nod=d(YPf7D@8(j;SgEqrF*@9=btk4JiaIK+%J zlrrtZ)T-SA|6*3b;zeD6bnO)eKAPo6&Dl#bMbB-hh7+1yPy=LHW0S>|AoQ@GwgFf4eI ze^qyabf#+|2553de)v3yyUzVw&Te8y7LVHAhsFgKjl7IROU*6nGoB!l+p}-dJAU^K zg12FL(;GU|E>SN@dM<&6X)n>dNwtXj=k|wxJbCf_zkT}l#XtL7=fmywC;B04&Q#|t z8{{k-%31F2R!$OUdFPzvBsk06-HVeie+9o|7}qMCF(chQ+zT21_WR%d{ChWGZXNaH zPmjOrO}E-Ejw#GTqyY;^0VCkVRi;pnV-k5hClYkK$*{>VitwBi|ED|&l)=GqgMWGOc>O;oXbd ze>cw~arBb|Fmr^TJA1UVjpr-<0WQqF@k6BZ9wP|j-M38Hn8Jua4T)$E5`+U+9M7kS z!=VvHEUXH^LdC=u=OMtoik+rhYxd^g!~wHO-_DJw<0vS=U-f86*;r;5J# ztZ#SUBDwf3(o=7592`8_`0LT?_M_LDZvGKRXbGnA>?8hL{`AvB;X|7MR0wtOm^yR0Y z7+Kc2&>^|dp>mzYfDk;PqM_Of3IvyfR*y*7Ac zd@e8ViexRtLvf4OtQQiVsmUL1Mf-K~rOr7_5aQMjcAn-9$KMTj8IB(Q|d!0>pB5e@HqG=tz&6WRwyr{gZg#o{Vqw&ZnbW?7Em&1K9Y*TTQ+pZtv5v zQD%7_6e3dWbC>eW5Sl=1iWXVNn1FIIyS936YA`6Gt~#iFdF6JOct>_kJ5dE4n1LBR zz1GLP)>KWe>fcteuZ!z%k0ggVkqz@vm-1wIf92&(ZfTy$&JoG&>4j!b zNBL;-3ly4~6KVd7U41beT&9g~E{ZxECgdYwsw12p+fAH(+1>z&yC0}#nU`y@9LGn@; zHrbTEQKaw+=$)E*f!;=+fk^93urs(A zz?;P0(5cm{t7&=~haZCSLwZFYRvzAw<|z=v1@od|8q&u~rKNV5b7(s0eyN?k9t=_D zPrLARf3nGNaZ2nW=Nqo-ZLkL}I-DU0z50I;(L|~5hXaJkDG#zI%9eLFEq8CS53VWd zESBL0Kr?5%qFg-{4=m&pNXbvvbGHMTS9m9UUTdPm;Ce<+_a(+I)|?QhTxCQYIkD^p zRp&T@p@9zg?&H53Vkb=_Qjzff^L}ve=?F>5e^cgi>LUrry+PqFQr=bR(p!|yokI~$ z(5n#yVBWcPUwyi-=6D1T*SF!3-)Hsp_ThB(U|W*ZVqa@@ap>_iK=0|SF`BK*rujYC z%I(m2L4ZMHN=C27+`rIF#DrijVBdRn>tGXpAM;Ca1$m^g1%nxng;zs3K)huQR59jv zf2!EMlL=h$YL?Q<_h3OI!>BFdv z$?cEp2XyYkAMf>JL|+1LwDR_@PPF4O!bI(eFM`v~7Fd*_p4j_%ToKc|AJ=y*ItHmV zWP{wAY=L{hP^F;y)*?h~U0~~T$XOvSf3ZF=7Xqg;ImC#ZF*=e1WE{It`G`mq*Vsf_ zSsUymUk?{s)_l{u<^l&|ovW1c8oSB?Gi&6zjF6h_qNu&!2(o}&JX(Ec6b7_aIAao0 z1+POGm+{Fpq7PnFx(p7xlf8TB-b=!3iRe*cdkkNt5GKQQ&3S87`K6Hh#dB1Ue~^hB z*n@#vb%y??3wzKKT36wji+tm`fF&7$=P{RD{IBxo!P%%#{mRsj|8`UVnM1_}=oz|T8J;z_8LH5c>H4-q5dx%Pe~c~+%>m3LiA=n|M)q}gt3k`9oreoiT@wWb6_8cVZ<(MMM9Mwf3TrzU?+9TLvX#bDI(Jz zYisT!3@;`E31#3lTXSpazRGQ2Z-;lRsxF7sJ|MDG4H&3#En^v?7CX27`f76oEl5+B}Q8HqIzOvy~2x*8Y@4-9<)*n^9ZmkIkr46*C z5V>nP-GJk4YahQ+v6x5FdiBQmXX}5u;LBe z3Y<8EX&LgTtZQN+f83QrByM#yVUO5CzqvY*eR*KU*qtXz01~^Yl-^24=hKt55~J`0 z4VXy86_<^4B>EmgAasrco{hC34B+(HD( z3FcG%6~NW;SQzLgRCf6@v948Tbir6ENR_Pq=PKC?5KDdOe?Ua?BEAOdOQnUp(CzxV z3)a7H*3*LRh6|yP`v{{Gm#SB0EmU8-T6@965e>=(vPPJJ!5-MUCfYa3<6Q`u9>Q$L zbW%P>WBPFao^}8#1AnID9v2{2sZx7Fo z;h_fcR2B3Z$D~~~&o)B5fp9aJonGq0iN-qO*nrrjf8tz=d+Ir%Yg~nNEg*~9ZS;`_ z$H(p>`MeqUIBc+HsToBHdZ_V6$KcDdR&sdC)mcQ{;YwMC_1a=)Ds~$63$sjO6I1?> zrL4hX^JI#>VZ#omE#le|eLwx{F_Ca|mA4RCKp|~P0x2JQ+#i&S0vyqOAXliWHwT|A zxTp~1e~JRFnyy2skPDS8BiqT@{kA$oB}6p=HDEcvF2*}zpoCnEz&K{J|B44#NdEMTC zoZ1tlvy~D>I}%uRwk@8F& zfi>!Z#9u#MtYgI{1#k}g9nP0tEf9!wH7zCuRDo;=K>nhspQ3t(B5~E3s=Z8l07gK$ zzb4ty(F@89g;5qg1g8akYKL6&P}S&jpa4r_FhH>Xb#wcw(fuLQF?L{tBv+0Al(K_{ zw2}bphJPlJh*XwkNXHT*2wP8(j%5P~JQi585h_1bg#Tz0ZRtfc{hNqcCIEuS<}#JqVZZ>VFPny|>W#p%oxkSN&p71z#k+ZLVsbU2Ap* zpWl1DORYHCr@prkwyNe$e3s{wYK~J7R#8+Z# znwr8=YH*DdyLknMx`1k{1Qfln0!a0E+Dx1c z?#&tu#%Yyt)!ESZM*K>{lbZ`wh)5B;$x=KW+#{>d^<^-5q!`n5TM*ZqU4MK9WzC_* zSb-a9sxS?zD^O#iq@c@|iFyw+LpP>Vc#Ecdy7*ThEt3_9WpXBciKv*X&W%b|EQ;8g z)(Gs^imaxjtzeZXi`0s?MXF+{_c2eIsJ)meh6CBH0$|v9ajceawou16X)08a)q;QB zd;mXa@i07S<#VZ~1{`zsrhnxv>tKgdQ-WulYzT*wIt|lY zQ>F4VH*$5KsmA;^vRfkfxmbL7QB7`?VslI+9TiD11OM^xf||}q{C_3Y;sB2AL)+{y z%)AR(X19e4a;YpWgJP%sF_~R3saero3JiG>+AU>e+l+-24=-`EZTtr1L zFQCsH5ci_x!#M(PykGLyUWh57Qt<+zU&FR6a;yq?_Mcl6zO~@`c|?ynA7T4b$9xb) zKhVKc<6huhPmotf_kXrB#y2-*ezm?*uFCoYjsL9+z16K!ekGgEg(j1esmIN*9WJWY zg02S}cAG`3z^Wb=83-R?=1c}-n{ETylCDivZYbB(U{9hLPA5b4i)Oa>De&P|&n2KW zHgj5O18ZWfg89gnu|D%LDvl#{AvHY&6UMn9-0sDJAFZ`55~TLn~yumv;~ zlw+RV474QYb=F;MxxM&5wZkZJ@GrZt?!}=MDUxYhPGy%a`p~r9m^lNR^n!1?pr`|E z8e1)AQ`=NIgVB*&2%SxBGX;gtKFZlNM2oYj@1Bs2LTRjbL3tyx{gEmVa|pLoUTM!Ghe2jDe(}H%FV<=mrgyZXwN{$C7My_%hTd@f{wjGajz?gGB zDTx7Gsw=qxgn4+eYz!L$3(T~rH&Cp63dzi=ogY$*MSs8fqif}Q1;(ei%2={WcYuLL zPRk>f^?}h1PjeL8Y9gX5-DPHmgY|EFa#M%;cy6ig*~x#PMn7`YV~UTR7)RiE1B*x- zo(aDlA;YP$LB%$4$qQLYDh)$3ndHj5&<=GEHm_7>Yf{ltwJ+nToV$YwHZ>}`20|{! zGD1OL3V#^omMli1AE|wBKnH`xTZwJ63lj=khQ8hDp04lKy^_@#cPoU(ZeV|u>-m) z9FUE3A=nkfvPg^bt@-Z6hlT)q4B%5C``0megnw3JbBAK>Gc4UHahw9a^AK;$b|{l? z+Hj?H3^#So(0z5o)}*GWAib^8N5N;zN_cg4fop0P#Bc7C35d|y#E+pK?4WC|*bXP8 z^Abz%v>*vKKQquT>@h3j9TkKjmhGTNn1c{f;>UaoMteslTMpS?lZRM-WtMf}CdJMAg#;4$ ziiVetG)_!{rORQRe?1WGs*t|zBLtq<(uxcDUZNyeS-O^qVUEE6amMLVvpcI3WqRG>+sz_>t+4^I|f3Z8n!%6X^-xa}L$f#?nFYglK=iChdby_(Xd3?fl32v(ZS zNJ(!`r}86=G953HN>?NXrq?yK2OYt%*(%;vru!v?#pK3f?hR~xW$KM7UGeZ0E2oP8gZtko^x$P_w*e7A z)e3}?pB+i=u-5{vp)v&1yP5rq6ismBwHk;r7#fixx@RHE)frI&E` zgXB8XTVs|etPmkQhA0ur;i^*5+1(zXwY($*c1yWL{nwQ75{8RB2;aT{0^QdiFz}WW z-84G01F1;f9Hd1DyL-MPL2v{StH(5m5)i6m!eM47eIVP~Nv#a2;h7qoHArc<5JIp! zX4)-5XSzORd3J*!9oC-=N`ET#m{bI(#vFa9^c97gF8PJ3!gauK+!u;Os}UE>lB9d% zs)4o^@NI51CzTp&&r*w`vq`6$A5lc=!(QE+jzVkf{ZNux6aRoHd(Hez5!<2&TH6ZV zma_CDEDKV)m${;mpvbV=iTC$*bb1uL%Soc9A5UxIGOo%3iUiZ%?SBj=XeC*h?nP6G zt?^ksl?Uw8F#+lFRzBEqmoEb_-=rZ{?@|a*T$MAK`%`7(4El}u=1cqop{&_ZNF&Ob zXXc&RG#aF=8e^C{B|9Ue#Tp4;FtOFvMp__lSojWa04iDsd7xqHgSKr(p?$>Lv=bWb z7D^1r%>$!L8qhP%<$szQGH(?Ev}j0g*%&hrqVO-=P8K-|W;WDW>jWm+M(7kXh6m5& z=B_a(C4F*NY6s($DpGrRV>h$uXXCLxrqt#k0PC~WuS%;ct&BO;TEv;%a9)P(E}UsS zKu0FI`(e=Mdx(t9l%ZM#=w#2zCz72~Wf9F}kZS5yPZj%2e1Fnck>|R-(O&nJ@YU)W zLnp1GJqpO%y>UJdNGx%bk{qf13af5XabPO5?jFZAY|+RMa{EqI))WB-?_{lA@0^s|h7sGjtL0 zNG!mrC#jaB|Ab}E2+1*ZyfV~TB->qkH(TKRfLFVa94jR_(ILy))VM* zuzM_DKz}6F44yKK7~{_3r&wN3lF9hSkT6prJy*E|iXWACv@9N!rf>t9__zY)5~onl^b%DG`68b z717}G20`FeQ{dSc;r#$5Xl@uqA}+4{F;g%t_?i}x36UftnT$rKE{SjXB3xWn7F-tPRxoC!BLz?G07PvYDXtWO{`+57IW{DoX^d z!B(R^fo;zD9t05c-yh9gW1xiU38XA87JpjuT{&4_*pt|%Tz(;4r`T&Lf=gpB*C{Ma zZ=qE;o;ZU0YV4DMKpF_x%u5h!B_#5ImsRdf6z+ACA7e$7|hrs0$8|l7${jqn&MW-MngK9b1;bEyYFtZGY7@X0JtVADR?J3w>*=WQOJuCMIr>#qPtUVNL zQ81e8;7$#vfcJRxedW9(Oj&!mwSROeAVmgzFgc3^#p?|XU9P9rklGH7=CLD+Vv?F= z$vZO^Ya*!@F(=^%Kd!q%08s7w20)_QzSdCT--fZ0peCxTy@a6G<0+G^{3 z%QfRB%b~#RVR&BlR!wQm@GDSVs$~f&G&?4P{Oi0SYoonDe$JN1bQVgtaDVbEH$q|n zkdEM}t*>0|+U6(V!1T{zo467Sz^etqI>VkO=~XOXr{dNFvvRa_S!W4+2NE)+_|Nr*sdNC>)iVLu5&i!utWbqby+% zFj)dCYSEN{D9KIW_==fK<$rw$!#tk{5s6ud^%n@qfgnY&i&(3V`J8fe*EN(p-ME(a zJ;nG*7~zjkZ1V*Lcf=c?Y+-bSa5p~LLvkS1)kV2nD$8P|!ZV=|`Q&2%FI3!JJX^|b z3Rzt)V`+iisjD8p)Kw3XvA&y>iU;mgPH1nZbal}LRZr3W)JA!ftACS=e}<602mqnF zKom3(krrNY?($+eIc`y3KVLjf_Nh|~;sL&n6|<~E5(cw2b8Ssv_q2W3KwyCLR8tH* zSReBKm#SBV19E9wpNM%u&O8Et8AMRRFQ4!iBwu=^0$MuJ<#a%|$<}*3LdYTPL%~Hu zSAGVdry!~aCM;PokAERZ#|1=1QO9!+E zo2yc(UfL)J4@1$1krkuIf)-v9KXPV*lDi$m#TAKD(P6bVlz$S6Cms|;x?yH-h3cGO z*DX-}oQdxVQQfqM^L4=bh7U2m2P=DjUW3jff@rD>uMj%;1t?=hC>bx(k}@MNryrDC zHTQ{gR8Hh!Rbm~pl&oV&#tsJwGkj-}0=^ZK-w4U1Ymqoz5q3m4f_r?BD7Gx5EYOkL z<$E#vF?nF=+<&z+@ih;oW2a!FqzXAKM*ut$`Vpnj{G>$FQ>yt{juxay*dCIs+5u#9 zc6IK1`NU%LgTHAP2ow}-NLZk6<%C5eQH}>w5tU!0pyL4oP_^6Tbgtti)34fujj8gH^7s?x)<&sO6q%mPBy6{UPqEHmVueR~|TBUOmq6o5b;o+omSU;oX zsS26yUCjUnU`aY#U{PBTZ$YKhA=e0JltMN?G&29%z6*=Wp;=5Plxvp@V|M3JmRk6$ zPK5^1161Y}Vewa7{xU+0txGD}I#1q$HfC*DWq%H6m>K~ZVe6(uMX;HKIVU!#Rf3cn zQPvgmU5HcgP1C1Pg6s9nD~LB!E?1-E%K zGUV`zPAAyrVvYAwZW~ObLvwN=EUw?}PsNmrge2PCqS`024ahevDBYR(t6WGY1M849j4){vHVd|aWtF=| z!q34s{K^Rdu@%wVWH2-^bjLFM5Jh86Dni|nZ_W5Tc+PxxvxrFgHOII{tYHmZ>VNZi z#)Lf?L@gzpE~AISg12fHgvGS)lXnCOL(gv}SfpO>Awjy7)H0eSksMa9o%|aVQ8y>U zcg*?g87U=^mB;_)#AnvuUQ7nz*x{45WV&d|BXZ<7mRyjbA{I&&t-dG}$fhEeErhQ# zZ9v#Q#~$!s!DW?af`6#rRhYd=%6}G!t~uVL=jXp>@DwvCi1I7txIw?2V!zC6e*|Oz z6)DifgbH%;jKOA0QFlA)JHg^C=@LL8-iovoI(IFYRl4z2Q^2bgzY_IrUaOh3QAOJ< zluj02EVpw{3vr{NV&oObR~eqJy?^z*ay%_m9IC?8VuuqM?JR|aiKWz;Z11DMhT=gcYX*i9F^E=!+<#Kg@aza;HT=wo zhhB!Iq%ck)V8k}o?f}vv)Ob7=N6f1vLUU^&J-w(4i_N#v+`+2|Glnbx_xIc)hp0)z zITKWY8ⅈ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¬>&ve; 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 lKbLx-7rDtDIMa8Z- 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 S0!I~ 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

        Ndm;?E{EZU{Sni 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 +} diff --git a/tools/server/webui/src/lib/utils/index.ts b/tools/server/webui/src/lib/utils/index.ts index 588167b8ca..38e809f2d3 100644 --- a/tools/server/webui/src/lib/utils/index.ts +++ b/tools/server/webui/src/lib/utils/index.ts @@ -9,6 +9,7 @@ // API utilities export { getAuthHeaders, getJsonHeaders } from './api-headers'; +export { apiFetch, apiFetchWithParams, apiPost, type ApiFetchOptions } from './api-fetch'; export { validateApiKey } from './api-key-validation'; // Attachment utilities @@ -75,8 +76,7 @@ export { maskInlineLaTeX, preprocessLaTeX } from './latex-protection'; export { isFileTypeSupportedByModel, filterFilesByModalities, - generateModalityErrorMessage, - type ModalityCapabilities + generateModalityErrorMessage } from './modality-file-validation'; // Model name utilities diff --git a/tools/server/webui/src/lib/utils/modality-file-validation.ts b/tools/server/webui/src/lib/utils/modality-file-validation.ts index 136c084146..02fb4e4a36 100644 --- a/tools/server/webui/src/lib/utils/modality-file-validation.ts +++ b/tools/server/webui/src/lib/utils/modality-file-validation.ts @@ -5,12 +5,7 @@ import { getFileTypeCategory } from '$lib/utils'; import { FileTypeCategory } from '$lib/enums'; - -/** Modality capabilities for file validation */ -export interface ModalityCapabilities { - hasVision: boolean; - hasAudio: boolean; -} +import type { ModalityCapabilities } from '$lib/types/models'; /** * Check if a file type is supported by the given modalities diff --git a/tools/server/webui/src/lib/utils/text-files.ts b/tools/server/webui/src/lib/utils/text-files.ts index e8006de64d..2f1a575d1d 100644 --- a/tools/server/webui/src/lib/utils/text-files.ts +++ b/tools/server/webui/src/lib/utils/text-files.ts @@ -3,10 +3,8 @@ * Handles text file detection, reading, and validation */ -import { - DEFAULT_BINARY_DETECTION_OPTIONS, - type BinaryDetectionOptions -} from '$lib/constants/binary-detection'; +import { DEFAULT_BINARY_DETECTION_OPTIONS } from '$lib/constants/binary-detection'; +import type { BinaryDetectionOptions } from '$lib/constants/binary-detection'; import { FileExtensionText } from '$lib/enums'; /** From f486ce9f30528dbbbf5591e0eeb0caa15d883a20 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Thu, 12 Feb 2026 12:21:00 +0100 Subject: [PATCH 198/206] (webui) REFACTOR: UI primitives and polish (#19551) * webui: UI primitives and polish (non-MCP) * chore: update webui build output --- tools/server/public/index.html.gz | Bin 1453494 -> 1454104 bytes tools/server/webui/src/app.css | 58 +- .../components/app/actions/ActionIcon.svelte | 48 + .../actions/ActionIconCopyToClipboard.svelte | 18 + .../app/actions/ActionIconRemove.svelte | 26 + .../app/actions/ActionIconsCodeBlock.svelte | 46 + .../src/lib/components/app/actions/index.ts | 19 + .../app/badges/BadgeChatStatistic.svelte | 44 + .../components/app/badges/BadgeInfo.svelte | 27 + .../app/badges/BadgeModality.svelte | 39 + .../src/lib/components/app/badges/index.ts | 16 + .../content/CollapsibleContentBlock.svelte | 97 ++ .../app/content/MarkdownContent.svelte | 1201 +++++++++++++++++ .../app/content/SyntaxHighlightedCode.svelte | 95 ++ .../src/lib/components/app/content/index.ts | 79 ++ .../app/misc/ConversationSelection.svelte | 10 +- .../app/misc/HorizontalScrollCarousel.svelte | 93 ++ .../app/misc/KeyboardShortcutInfo.svelte | 4 +- .../components/app/misc/TruncatedText.svelte | 48 + .../src/lib/components/app/misc/index.ts | 45 + .../app/navigation/DropdownMenuActions.svelte | 86 ++ .../navigation/DropdownMenuSearchable.svelte | 50 + .../lib/components/app/navigation/index.ts | 65 + .../app/server/ServerErrorSplash.svelte | 3 +- .../components/app/server/ServerStatus.svelte | 2 +- .../src/lib/components/app/server/index.ts | 80 ++ .../src/lib/components/ui/badge/badge.svelte | 2 +- .../lib/components/ui/button/button.svelte | 5 +- .../src/lib/components/ui/card/card.svelte | 4 +- .../dropdown-menu-content.svelte | 2 +- .../src/lib/components/ui/input/input.svelte | 1 + .../ui/sidebar/sidebar-trigger.svelte | 3 +- .../lib/components/ui/switch/switch.svelte | 2 +- .../ui/tooltip/tooltip-content.svelte | 26 +- tools/server/webui/src/lib/utils/api-fetch.ts | 3 +- tools/server/webui/src/lib/utils/index.ts | 3 + 36 files changed, 2324 insertions(+), 26 deletions(-) create mode 100644 tools/server/webui/src/lib/components/app/actions/ActionIcon.svelte create mode 100644 tools/server/webui/src/lib/components/app/actions/ActionIconCopyToClipboard.svelte create mode 100644 tools/server/webui/src/lib/components/app/actions/ActionIconRemove.svelte create mode 100644 tools/server/webui/src/lib/components/app/actions/ActionIconsCodeBlock.svelte create mode 100644 tools/server/webui/src/lib/components/app/actions/index.ts create mode 100644 tools/server/webui/src/lib/components/app/badges/BadgeChatStatistic.svelte create mode 100644 tools/server/webui/src/lib/components/app/badges/BadgeInfo.svelte create mode 100644 tools/server/webui/src/lib/components/app/badges/BadgeModality.svelte create mode 100644 tools/server/webui/src/lib/components/app/badges/index.ts create mode 100644 tools/server/webui/src/lib/components/app/content/CollapsibleContentBlock.svelte create mode 100644 tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte create mode 100644 tools/server/webui/src/lib/components/app/content/SyntaxHighlightedCode.svelte create mode 100644 tools/server/webui/src/lib/components/app/content/index.ts create mode 100644 tools/server/webui/src/lib/components/app/misc/HorizontalScrollCarousel.svelte create mode 100644 tools/server/webui/src/lib/components/app/misc/TruncatedText.svelte create mode 100644 tools/server/webui/src/lib/components/app/misc/index.ts create mode 100644 tools/server/webui/src/lib/components/app/navigation/DropdownMenuActions.svelte create mode 100644 tools/server/webui/src/lib/components/app/navigation/DropdownMenuSearchable.svelte create mode 100644 tools/server/webui/src/lib/components/app/navigation/index.ts create mode 100644 tools/server/webui/src/lib/components/app/server/index.ts diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index 327386f413a633359ac0fe4fd25a7a42f15fe749..64a6402fc9dc94d4792dbe950aee98cff702ef85 100644 GIT binary patch delta 1390774 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ℜmpJIStgvbWnwGcMmdg_8ZQI$u$-h-O6< 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ᔍ}mOtE@ZkS-gM|B2W;@9TF&Zaz22W@ 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%0AYb2e@wnG(Aebmr?Pjb+7kT&d$H_DPtt{ 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≫gBeqy)M_9%dX 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�*s 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

        vN=u%X87$HY$rR-QD=C4)Jbma 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%0Acu)mL9vwwlaVo;F%G8o~fMq&1h*;G4vEu5)? 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

        8bK7^=5Y9b&Bnmx#y9KiVVv%*X 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%0As? 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

        Xl*Cg)@p8^LW{Dv=h- zparMqZAzzEghwT@IW}32F@}G^RKyEr{1SiH%zz^0W@l@D$cr85#9x7FNZAqwJFTZ~zQkk3KZJQpp zOm@xY8S|bL3J(`z{cZxAN=72&m>1V@m^XY2NAlrCG5twaUS&`KeaDU^^y@Q-X-GEX z$Z{$r%HBXCNfyL5O}`ddRVhabS;3r!_Al6XF(hYpfv1iql4Zt{;V&cVJgNucBR{?? zvp$y5xim?xnH^X@f$4wDtJ)xG&JBa{a>ff)R%945`uaS)WJRHg8Ni6bYR7ufK17Yr zubl^N0C}F;8$f{Pe6Q9s2IC|%xKMCMgh2(wy<|-*Cd)BJgyN+%-|+dePDk-F|KN;5 zZ^r6n)L>^=A+m#V8Rc+Eb+bADC^l1-YxOb;1L}TFMut^#7<2In|<|ED_@pr$VjOCh2FDe7#D6TH$}TlJ@Z3^%l*ptSm>J<8tZ) zUs=g>m1_@uY1I?8dxJWXg5w@Wmr^(AHHs_VQDaMeJ?0qE!xV8g>2L~R#3yNY#U2<71J3V z=%hSL5}Mv?Q(Kvly}K&4laQ4%Q|8WXdmv=WLdJhwS-*@H86l^|t`D@Z9mz;UsERS5={H9lCac@^0bG zY&Cz%^-QO;4aah51U@m{cP2Sym9lK$lcX?)@oHn0PuilTHcloCF%`MMXZowHgJDhO0ONA{`1aP{YJWC=_rQFa@ot|B;h-U zA?xGKGZ5lB3Ro~)4T)i=6J>{?f6bt^a3$}V!5cz%C* zf5TQoxnIV9;C%X%gn-7y@@4J2i8IR0IsL4K{boK8AE@Sn zPM1@n4ra7a2PJ)&#bo}VvX!S;kTYTdKb}Zb>_ey88N%o^(Jg=ID$+J?5a%6`X!(>FDcQy%OXj#NmFEK+(&ctZ zm5_9o>ck?4fN(s51`zt!GjRo&te%JwvdkxhPWN z?n=yu{gqP8#XUQ(YN?7+XWQ6M64yQ+^)<_+KFo3yZz7(P&sq{HWhO0_GE#pwVl!%( zUD=%S^}Z)k)8^UGN)=LUrAUmrXvnA5uH>sPs?%^A-G*3-6sMU~9X z0X$P3)%Ej(>a&#tg^WeY%jL8BZnpQuap;<`-a|4T3Mm~}O3BDiO50*auBrBeyNK;! z+qo6$yPc_eCTq`GJfZW%ns1htd2}KRAYD?z@+9W!uR@B4?aETuimZRA!$D4Nd}lq3 zr;tigBj(G31w!ngn2!w?&z|yQsInFho>bZLDhZ3_1FS>|T4l-%=Wzojy_IP8EVu@aq8D9MW|nlU$4{k`5P<}0;sj8(q}69AW*8bC`uAF%D+e`PxdN= z+RJJpFp>kq#%yHTn0J3ED3_P;x_+sf}a5H0{7`Hyl_ymEY`L%9XF7 zDYdWd2YFep6hU^pkih zZUr@P%Bm}oU24}N3s%XA5m%8{ex$~f)r)~OtHjuBRjRXTpp}EIN~kx%s-d^?QmuGP z1F=T0H^a(dx%%1zU#hl5eXQ2Vm9|)1AKfHY%4xw)BPWF!I*_u1s2XMM=(C3?uaU#9 zij(orN)ty(Imdsv%8w!wDNYt_=iLOIa!p?MoZs3Ru+vMXwyabm7c8F77YK+6(`)UQ z)v1zmtu0mMvP{a9^PsGbKG^##L3|co9I%cvQkwb#P4#ABTqVe~wWP4*VG`2Hr=-=t zn;HQdr>KFLxf7cf_aWK=XZ@)o%M5>|N@N6`t|v;AXO@3M#{qfQo*!UJSjT)nb%Dd-M$I@>2FAJ`bSkodaBQWPTyW4ubfTEs-nBxdzO<%3e) zZ04|BSXjkubtUSgQlqha&UZ#go6?@EY!n&E3}k|RpAi(l0{+PLsv5msm7w;dbW}@A zLaJjNn#q5n!3O>9j1UBCj{joDaaoaK8tEp5rp%{Fw;T5duQqcYD$(`#7C^ z%Ee$MABA9*7&j8C)F2q0Sk@$wGZh2eC3F^$iGqJ-@A<5KoRBs^J$n<(5rjT7myGxr2mMM22EF1V% z_BZOmz_sEs)#RtNj{0fFth&Ms2G&#%egmUxNZAqEu* z&&q!dg04W>!neahoShRK_0i)iz(@XSo>!#Y6KzbWYdrn)&p4p+S5hw$vH%tZQ-M>jG=FZ0e-D7xeVclIRttW;uMDQJIk zz5^35AUaT|WJi8nI@)bi;d+l9l~Z>1%Q$~84_Mz1o4~`g_`x5f_2l$v&Gx(mAi*K4 zun=f>^C{pilr6b9Jm42cKXKzV&=wVEJKE;-X*BwO(tgsxiz>O1Jo@WjY5J=tU;n;U zzmRn?1?FOD$WOohCv$x;> z8~=qbqd2ZLKTVE5OaTR${Un!xS!+!$$;LX-E8xqWV2Ia`9?wdbB8y6leSh?AR3N(C zDY9Dm^3!T3HB~O2Hz-irGr6BOh^hk&k2&P+bA?(BoK*;8rhdW;b zx?yr}7W#lB+}&7c;UZ#s7`B87Ux%8|v|+E6*{4^m0@3pJ`+xmAM|{yZUIox{Tp8d0 z#x-*_8u2o!5O}vGr)Q3He<&e^bc;X%ss&TIRu^VO0S+plv=L1SRH9#h_Zxp)egC4d zURJOSN*mbyU-Io=f;r7TmQWh$*x!Ej=>0z)V8#EDi2E#Ik$PTsjOvk}kuNzmI|w?< zoSI9$=n*7f+Bgz&AETtdu`4@sRI+5nd2EGDWjy~g z%CW1*|L~80^{H3rLqQLiO1y*s7Af zpa12z&;Hyr4$mfl=%#nmd4BTb#@+O;I!{hBH@%n9P46_h>0NccKmC6Nprr5Ktvxol z{+HkUIt#;Mm(qn_1>Dki?}!k}l*+Gxl{WFxd`H9$VWc@6nc~X4!^L00V4BU- z0w9#)5;wBVqEl=Yy<*tnzQ+Z!)9*2u(^bB>*;u>%*Vq3puBVqFqDM7+?t{T2DsWgC ztXuQASa0De_%;50&-{PakiyFwW<_5&{GV_GzqK1a7q4|g^fmO`Qm%IMNwHzN(c`1X zj~b8pDHS+PMzak4;+G)YUFO&vfWfZ7<^W72wO#lohmTk+wXqk2zVfg1l+c2 z6N2cT&{Gs`ro;>bFic1wKc}Wf;EyTyF9>79r&h$&dGz+T{~&*?M*fOCSVhyeY8&|n zN|Xs7ZSJln*s>DyaIVHC1kUp31c;b*nByZhzx&R9iB_Tq6U>MTP~!WA!T}(%tdLaH z@FZeNxbzAW+ZuAIXsdz$tR|p$m<}0UrnowwW7Db;mE}Th8>J6+H+g7)VUGO1z}0=Y z(^+rtZOiS(Uf_SPql2RKxssFcl}n%V&XbEw`usCWpNk}Y&O6^<{IU?lU(#1J^xvM} z-Ym>j^gTi#ixNfbDU^$+NU!$>!=^p~f+}Z}ug3PAK;WzGh*#Nz2$!ouG^gQaD4<`V z31qale<$`aF!iF#MeQLZ#Fh0M|Bme#D`n;li{wSzR^orN7&w*1^wlEQLG2&>Qr>*k zw>}OCoHYOlW}*#S#V^lKUuR=0LA88E1NC2aJB_a_D(#Tp?as*mj@P?;?ZKOn8MF^c z;o+>S`YA74&aV$ULj{(#)PN|nK$CNftdpKHC7fQ1wikaFc8!f9zex$*qcbFs)nfwq zUQi1T1vxex6ONv10C5dF(=jya07*Roxoo<)05En!v~MuVfNj3LQ8XECP~@n$4p(eA z&1{xj{>g!47ncmk4krPAmo&%@EF$$i1v=y1cDyFU-YbB21>~lm27zD<#dvlW!sXBq zilH;5mx9O+C;?!XtH=&0U@+(jVp!pR3})C}eFgmMEw0{#C)lh9gj^7-)MtX544+rC z6HtfE!w>$qv9Oqj*1g{v^f7yIU28V=wfa`QQua~?m~18q7eEYycW%!q{vjCXW*|qD zc|jqY3m6FNHN;=kal7< zo!M^&JwNQeZj3s6jjjG*cdOIcZ0w;jH-794`i;FlDfHis4p$EbjjeWX*lB2MXRom_ z=xsIjyX1Cv+YJz$`dbnq4dTrA05~uDK9Qs?-)#gNOFA3K57Rx z4H@^c(T$Wb_-}s`8NgH@8%i|~f0|LR5Nw;&aMY$P)JmW_5J6l*-m`~;F3RG{{APEs zblILh*liDA=C?aR_h;A3$1R`7004miwpHVo>LrS?s4VR~wFwUiy2g?pWe-|Hy#;==u!{KDEopXi%(*LjZ z=Nn7?-eQAkq7=*W_mb6Z$LuCxbor9%*S;C`G%wZp1ebJXkds}7Y6uY){09MgwD2gp zq~=JJaF;f<+78!|r)eSq$%|4+jArrX>B0k|HoC+9XtsOA%z=arjcKw6lP&!}M=V`V zkLfxKf7PlG*_NMQs^L<0&_kdGNZLREQ2KUfG}_-Wqzzt}sDquHHox4(d3-9LTfLGJ zDn{|DOWD^#R9740q12b;uD|wZ72cvA?cn?y{h?npw+Sd%AO~bVS=5Y^(TpZ=IQ)%^ zJEA;TQc-l30#?F{fF@yJ`KN!_oSqB7-?k~yf6xUH!QaJ#5!JraysdLEb*q%ScqKj* z=J1qQOOd3@8!1+(1K zi`WAJK=;T1o2b>3xk+IzI4AZA4j#kHeC#6};?4EE-C!(}-%%l~GiN4Z$+nj5F50(9 z6Xutk!jXsa#NYfZj$}HFrDOQFf8&u^J#R(H34|smwo9OH2!(^O0|{71dFndC{`T*K-z;NhCr!!Odq3g zu~wPbarQ2Sym7Mc#Knx(RkOQA^<@M6yRxqh_BX~}Lj?iQG+ELke0}_=e`uzNWO-O? z2L-1}*`2Udj8zOYipFH*q#*s%JIldTyFbb28ogG5NRHAiC#SZL6fHxm6zo`Mh@vWW zxjBp&;ssTxJ{8Bhg&8a)W81-=Q)#@LBa_lUPH#5ZSAlhHbsb0@TP&v)w-Yr0+k|go z+(I(dT99OEx|K!~w;;l{e}wM?1%&{+uCIdzw79_K(pTb17t``Y=E-;(ZJCDbRPgT= zhpaa93p8ZlMQ}Ai(T3PEaIWyZgQy*9$s;c;Q-ZbA5tc4WhJ}mmIK<5d-9@Y-ZBvAj z-_ClbDBjKvzzpHn5So~zY_X}$jd&x`pHA4jnubr13SZ!ang`KYf5R22(td>$vgr1X z&7?avfjo*-+?sVU;oFxqu~r+Z(kJ35ZOYlB@o6&oaC&s__hlvdytuq=-=MG#Wne~o zucjr9M%Q|?qtn{$RZ_YeGueijDTR$f74DMI(zttI^2ukiteJ*-GJacRLp_jEL~c5))@%tB*_-LC=5 z1${BDgIF#d-01##K6~1{qTAsM^UEO_78o0BYuYsHH$n9Yf3?hSU@q3?=IbHWf4NZV3NL}%c#OsbJBfPHyJc5>Q@c@{NsF_pTU z;45sx#;#{*X{&i6B|_3L?V<8o+cb?gGRbIA2VFjkOBR~UTpaDmk1RRD3}!io-wu|OgeoQ$rB2#_2OmU(uz-u(k_jOvFy6g06J}bfg-7VY0vy3u;``6)$ zy#2(kEA>DwtWdTzz4?wnnz>Cah;3Kb54bl>Z{g0Ze{wF2S!a*xtKxf>F4VtFF>A^O zlqF>YT5XaSWqFd<07^4A6D`HpyelowHanK6k@cKm&7TuVxlGx4^(??nx~OdcP6@-WHlvh&Qx9y896jk)Ix{6 z%ORm}D+W1rOE!g6Pym9(^vo?MercfVa3KZ<$-g({>~jgSc$MA4cqUPTiBgtf0O?IN9`OGd-)*Pq5;E0#pMaXm*{)M z)-twzc5~%$m{7qo2>9PEcr+88bI=?OE5HA$07Cz5@%QHi=<8Usj?I|PK=um?yJJ48*$zi3_tznQ!TWPgTh zf1WLNx38zO&E?iUrt>aC8g@7a9kErAL^(>#A%kO3R$XC*Wv_4@ z&t3Lq1~0r8zttQ@qQTzj*)>RhZ919vLgJpu<)(1k$^@nVe=f zfBnZSQ@&MqmzR_)uX!2EPmJiNjuQ2Z=`NOcU_C{=9u@OdUn_aCC+@MTn&E6I#WO)wLf@2Hs_#Eo2&N!SLx0yVz zju{08jQq$JnhF8PdM&28*`mD1{6JnEDH9LsBEbU(#+-HxV)|gv^`xUNGn3hy`H}&U z-b(j&k2YIzWfv`9UJm+jVr2t4fATx0Y*53LhOmKzRJ);qFNBC~*aMbvPSc^->4ZY% z=>*JexJl&=DP6e%hgIlJ5mEoCMtw(G=#H_sOC;ixx|lG{E(ZxoXRESg}!{ z+?%)XwZu+z&R0boy4=cdLg>As>pz zNWbhS8wP>l+UDP|IFO&5)q=>lRgwJl$c0M@w!3o^T`t!JGig1BV zs@p1kHCC*>H5pVULQ%i&@Kc@x8U8gMt z;(DrVMryslIBxtqMSg1%cNeS5)26O4eTS=W$MR+PT}9of1&=j*f5&I_fDbiW@GuoD zDL2o4``h1!wz5>IZP5_XZe!dTZnXCm<{~{6pZUd4JbLsfJY%UZJtgzT{K@#-|L7?N z9CQ|Vw>93nfAKE7Oc6{DiC|JbBOi~8GWU-Z7F&rg21H{l^aA+WcaQ#gL{tqA z$4mg{tI`y89P~PDVpoJf%ngJew8>xTCr}QfNe~FM51Mm=V=XQE~iL`T# z@7qc~$}7~ef9FDB*%))^?OF|i{XTDj(v8hw#4V{2|c{nb-~@4Wl; z)lZ(z}n_Kb36P~C> zd415iaBa_jTKuDJpQ&~k~XJ0o{ZhuON@$7WYY1PpO`(rr)@VmwC zDHcz*_*Tl-DrU^bhzgqljSK9gIbLSx|CS}1f6S8YV`F<|{IFSZ9-WT;3`!QJ0lN?j zDJ-|OG_V{wOL1jlpq*SptF@AheJMZvBiEXxDe28rKW{gB>fwRbH_83B$@0 z4AW&nG5M^m#Od|1P9x1I^BfCH?3>)GHAHI)CskMsgA$7=CWn=rFu7%Q||QT$OZOCFWE$k+h zP5)@bbF*7fPn!w*H4?Y6U^rkIcX!RBa=i}1`g-P_K;R!htHDskNR`Df2Z^?me{^cb z$Vv#=fOqMn5Ss|S%QN)ir=xqefGh*%t-whdiv@ei3!3}C>|3Xxp~5yZ7@AevfArP> zdokQ2UQWZ-UuN}<;l=eVX0Krj-E7C2eEjIAd#&^Ig-|9{U@^Y^q&8j<)Z&&8TbGI% z65+~?LsQ;Ig9_&n!5Vj;%pNDakOG-$5l}jq7&KIV-p*KCob#XC78o^Z?A?(U-`7VAe_?6gK{ux5TXO<)BTA z>pO;%pRpR>C?b}IhFM#>2_(lR7`)PuG>nkU6vamN&Jy-IR$5H{YkZ<}Lj($YfnN1H zz2Hu7plm`;qt2gCF0gp!1p7>XP^=qg`op1Q<4k`DZihXA{+#I#jKXNuf1fi;U2qZ$ zGBbl%f86r_GykV2SJXj&i1$y`BxTGT;3skBLVwO~oN{)f9M;;iGg!xexHh|++RtLD zM&PL8mY|Tg^IJP($B}?N1kAsqXtA8T0dvAVMv$pnIhK!p7X;VAhJlLPFt}rAV1I4h zPu`B9xfhTWNnn7l%nFjjNmQXC&lu$Td!#xe!*wje*$JJ9v<$v9Djn4@?~CAFBkv`` zY=zw7g55eMVmnUJgTc%)JmiKB{)nfYE9O_98nmMI(wSSf&vBP++zuKS=Id|%byAJ!2rE{jk{up)GtE9tz?0kRqkPbVq>R%7Vt$m>E)%_bzFK(~V{0Wy&!K;dI zR5h3N((H6((5b7y$zOT3|KfhP!2M**&wh8j{$@<3*z9bNM}2(XHVghMe+i`+{%tV& zCU`jKZ+N{w?hFPv?l(KH_d9IM?rn62axfR9242;PIBq85@L;%)Z%t>jRdn}WwR_#o z{OMx9Js@oQ2oIB1@v_5CRDU$aQ)h3p*lput(;dAT1I2=W4X=_j4}V7Err*I!cDtid zXR|r(wf8nrnYqgC>E$|de`=S{vNkyE^hfOF zZ59W6FZcR~dtUcep?&pndtbHU8A>@EH}`km47(e{f=77y`0eXAKfW*acR*$7?-oM} zx88qUxRdAhpuOH4_t$>_1EKYzprtx08SX@_aeFlGY;JdojW!O6f5V;jX8&+l^k32z zJvldZHpkXp!(#MipH0T@kVe|rDc02-LoZ+6K*NK5VZ(Ua)5d%4UbyLS2Zx#-{ygKY zHvTu*wedt*n#c~}fL2Hkz$UF`O` zuZI_AF{C$i8|~xue=FLD?Kj0?yZ2J$F3r{*sO-vZ4EhHfJ4&q|4Br&(9=8t1gM+=I zeK6|pcYFO&VE{ouzP}}GQs<3Mk2X8pqdYHYt!?^?=;1GDsNK$>%`IKE1APY&4jsSV z;l-PK_;QY$_!9RzMX$ZhKIK+_<6u~DHrZ8=x2Ue%vW7eT-e#fBp?@~Ikr&&YV?4r! z9clrR!mAE#wAbAo!zomDpHj##3J%tJ=6;`g40rqe(N5q2+NaHT+r8d+*xl?5smtEW zadW^eg}svtO>XBM1~*$Ag}JD;ii79sR!2R~J zad)#wGR7T~5q~{6$?Z}(+6n*VB&9YxBZjoA)9i{QW*cs~FOS!+&x66?Kwa*1MTaa0&D_YN|se zD(M$sPIk5!_tqwokZ}LO9?qcK#fUN4YmJ>hXfM^sXycNloEmOv?sj(7?`k|on8{n% zVbp<(k%s*?cbX}KW-Y2GJR2YR>c%kBA#oTv2iwK|!8*N6N6`y=onELU?f85!O6bvTut*>vTAP7fc~?donm#LVB9 zXd5?&gN-zb84vA&Fcqv#)z)qFqK?fT%zu+i1H+fhN(0InzsJ~=0)p6OHl~db6nj=w zX8(aEdAh{3!8kfmN4xYC%A;fft*D~Y2<;6dP7=PM92$czS;BW{AW33$!5#++{?(?Y zBmSBzxAs?Qb*i+}-B5`JcyS|IX!R{=q+!IH$~n|r%j`juFziub_Tfo5OG01Lu7Bw* zpsyVCXbGlY4*U&#N#etsA09$+#+eyWVKUMm;=n`nplG=GZwC3_!5@7?nyibV*e?hD zHz+x8R(y7|vn6CLo55E<>|f)?jrJSn{_KjzPnRS*sAk_Uy##m`>2sCKyWQ9ME#gSE z9UfMg%jH*Y_IbqCE zhX+(9CT>>;sU9}nt*3w_6n|=PQtxh?36)xj^H>>CfNd0kVR6{+Bi(^G*(u<^A)QqW4%S%->it86 zCQ6a9D>XG8<6sw2y1gTg(OhrW)?IdQN;$F@t}6wV^JUFHsKCra{XJ%5hT}*=&`W}9 z%^j>=B!*eYtV{LNOpAQh5P$SL4>mUXtU6qmIqYyVqN4MfrA1kJ4IYV$sI;OUqvfcN zy}3~BZ0J?m)JI%ubr&$sWV>Bk(P$oL2B5=T!%-VbE09#<(raHmiW{sSP2!sPV$yDn zk!$K{CTUmf)X=ZHFb8@N(h>bs&1OoIt4gIp6&4d({GiIHElBnQ8WVhi+$&{^JqCcj;G6gx9j?b`BnPg+q_{G~!43=m@yB`7XqEaPoC z#RRG~3(crzmOT2g-`}MPyAr;xg4!&=$S<0Q-A!iJFxJ>Gc-`U6X~~ELwU5$(S~4)X zr6)r%G@l|wnFkmtp?_pzX=ZZi;0W`sFE;{LX6hi)?2YN*nmC#if6M^grZnY>wQ0?3 zvjnntRaqt2#Ueos$zLx$K_5Vsdd=fr2n62V5b=*#+3apf+25CFLLMMDtTN0wQVG@g z1{Wfggn>bewh=_$uGYe_v(@mXc-y)f#%k-oXF}Br}k51OfNGet=`v+*8VR`SR3_V9%g%u+l!d46NSe-=sO4F`%gDren z$!KoSUJC;Y<$ujqE)=j_g;Y3$$`vexh8j zULlmwTwUM}CE5>mgPyV7VW6mDV|xrvkS2;g$TZAamtvUMk{YPB%{cF#(CS+-9b$}~ z3*X@>yCv@YgiR&Wuqd#toP(T_TBnE9)8VbABk-26UVmKC@JyFDGKnKcI|%Vz7|r;} z7DH->FlfN4+1r34P_x+1KwL3_wtd=aZ|}C*OkjH|g_o<1O-9z9m?0FJz)pBQ={rQ<7mb;-~L0D_tCwO)9q^O$W|>VxnKY@wCD z#6`JTsU-_dw#C$R7}xgb*uKvaM{?YD2z_GX1b;oSy{XMk2{0Srd)#3+RIX^eNgraa z3EHZ0T6c8dyCO{W+I`)H`MdkQE===s%XR}y{1qF!TB6&0lH{QDGKLJSe<(TcQ%>3* ziyLNY;B0o3?Cn{a>Zvg(DLlgtgp1vhZ&(V~_d(%rYqtERv~g=2Ibjo|Y2|JDqEWI` zg@68m`Bu#^WW;gR_B6PpB}ZC+jF1F}UF{<2n_7E>vDFt}hf2^NCg~{Lc=)o*-Z0#z zWdz;-s^8tzrle_{QHOlnUf~2A?6B&`xzE^j2Ya5 z5{qKMF@AAyBgldl1Vh&-z&a>j)Z8?r!bM?D69G#IDPYH&?rpPJzi-mc{ZIISaGr(j zK=T{9I~Q-ahwmr1{!;rZKYtAPV|ra|%ofGy=(=bNEv*=WLs0C`J{9fbMX?12Td^fH zp#p!2*}T}8OfL(=BPd=?PMW(%=fxf{M#U!Ipd_=~=KACoSN-ean`Q?~ig~g1>9pt( zl8UM!=K`_)d9rAI!|lZ(hAz~PT`L-Kb{$IoVt9043U%kWFBPrn?{SC(Jtn4#Z)%cfgUAfRXur^KO*y-_Ubxq@Un~qmLATr6k1ks;x>o>E zEhe=7ZIi~eumq>OGhL?C2AEb8`zD7M&D%xs91L?bvrFQdzQ zGI&$hIg_m4Z(&=)rw|cM2IA*pcY58jOW}e!I135y1YFZp$+0&Y^nfOY)U2=%kHb*`do2<$9Ky|WMDp*0OF%ftTwHiw)WWy zn_&;e;F6RMWe`A56JE7QOC@&{0!Y&HOy^e0@Z#3i<&4N$4a$>p>|G#O9gam+wAZUW+T447nnE)l~TGV>>DHVMa$4Un5 zvA29z?vpkmzG-d@Ur|Ftfi~SxN*&W;U_cGia)$Jgr%OQEXurl8m-iYghO6`(VGvIc zRSG(UA26_!8jmopc)P&&RxM#*7Jqb;hGpmU9H1;P(l1YowuL*i_IhRET1_Xf2 zj5oU|eex0pHECeX6BG#-`n;uoZS2p-j0v z0-Lq)s=B7?Y|@v5ZQvDG0}PMK2vP!?LjCXwz2(=%o`9KxkjNm!IzaeN?e;UFc`%kk|txE8lM~lXm z++{}4U&RwJ6Uw8vXG`7Btj*N6espb&=Y6^%zwwq&pFy*c;=*gJ{Ce8p=GZkr%4y<` z3ks7L&4X90iBQH&vt?J9q3CR+jrHd4<{xB8^mVa$cXeY!E(-T3Wg3RS8_khrs<4&C z=6zGS&|VY?EHINmfyH)1m$>o{9e*|idxRVgU;q=Ff-M&3WX=b0FxgbB#<`~cYa~-g z*bo!fI?MH{PgTOqHRSn1=u9cMam9fAh{A^yaX?3A`;XIeK{w9mO-(bVc%sY!IfYK| zi`(*bhjh|pE_@rB(O20u2cKcDq4tnJj1LC+(8OsTZ{ma+f)8A2nmex;B7e)h#=P@O z+u1CzMhvQv2iqte8F6E*IawXmf>Q{+o1Vb{k^p{L##lh3R_3JbT& z9+mk<7YuAW&6M#v8()gAX){Ir24VTlL3PnmxoBR`xL4sdkmPC=t(zg@L3Vpup zm@I4YoTt~;@YnXZLd(oebeYG1P|!Z5#edG@pa8Yr*M{L8fI_94@Xh5N=nt8va2alN z@{~hG_F6Y&Z_ODSTYsv9P8rT2bHyXjR`T2P$dQJhV^D;;u0KSdkOQBhoSfqnqi7WP zx46rj#bp)vn+4jJI)l-Fwww)6Zib1Y`+*f%%C^#hK;DoLb1C zBfB5bc#OA-$2%F1g%v*@N@nDq`R0UDRW^$sq7#(ia+Kp8I3A*zi)#)y>y zl5q}^@6E)}*J4GuAGb!rwUlp%H zyt3;+Zod!|?qLtB<(aKACH*1CEx6Z|d+$^3u=8Y`O}WekKIM+nlsoKvKmOl{5%-nF zR$Mu~3FM*Hd0zmKdH2=Zzy8OcU%dPKyT|W-=N@8T@;zJaH@EzSC$~$kW@Uxar{6U} zWFSD>yTvNVlYfA^N`C|$*Sp}^~OON;gV0jjTg-Gwu z>QqNg*kwyl_0QG1D}fhY8H6E!g=j{-RmF#&0CWv6FGot~ldkmj%J zcI=8vm2-G$Liu}_)c6h=e-%53OqO*RMf-heuKt2Gv#j879dggILmgzGqMeS|2X~_3q;cx% zf7^3m9(rQ`(jeK$uybTkb}`9mhNDJ1%-=FK2LX&%Jz$5O0%zn+fBd{1XfaZRIxA+& zNPU*zv_(d-CBF9HGunt9vkxdv`F+|+uV%x?*mJlspv)1T>>%YEswGsN&2Wn%AvxjB z_Ll4=WYF#eWfzm%U>;bO?It!(^qD!(0_Ulg;Q|MklT&@Ie!;f`;~8cB>OLks8O~oK z3zmQl9X1h9?er+Sf2M=T5VEKGF5A-FL87g^Fr1xnE|tGd3ENdqxn0opDj7Da>iMjv z6w@#^T!7>A1R$6!;?F_=rw7Oh#?vnfk~n3k|LHXGSB+GA(9rcQcYngsDQECE7k^X! z^t6AyGr7Fc$)xA)+{=?A;SAdEklnJA3){|il6JxTu79HGe{-H}ugnSBg3I%qwiDs1 zr07`VVuNWTyyi}uS0TAzO>wOqzt<{9#A8rD(ugwze zis~ZM-1TG!uYL=#mMFEHHiwKPTzX?}qx&{q7!`^vs^4?)rd9Y;&d6Y2>%ol9w|htT ze(Q98GAANwe=N&%F40=%B1@MPV@pnl;H$(Z)49%vw6$2d^}an#32kgzZ7laAz$GEG z9`9MN+_RqUxjdg7&yN_ZzDr|F5@`t^wno{UTyyfkuCT#b)-GynFH`qtm-l+e1xNK7 zjqF_!$pd7ywP=M9YaWS}J2*bR^|Av8;#-hqdiQ7!muUMAAb%-G19u8M5O%e7bXvcf zE|l>J$~!jchdPaOb++9YHU{rn(sjz8ZnLS+4kjX{YZ&YSt2j`!j85ZBB%d6+5wj@q zm9BAcxZv34h$8@RAZP<$$1Q)&w}pFLzSMC@S>B;J^up7e#8 zQlaQXD-yyRlXehEA16EaH^Nk180>0B583H0YLKJs zi$Hh~7@#LJnUFnK0L*-9kF+T9FxI(utY?y-jaam(G8ZRR&;4J*zHBk7BiZ(sZg<}w zFi1kQ0b?ZFxBaG}K-CD9t_CCd>(3e@A|v-MaUP%|R)22oF^9+)DPH{RVDKkjx2QoE zvvojVW4*q)KsB4qrKe*7x=E_?VNyIeyW@eUP}d5@`2DvDm@8TAF9xW13^Ei0NH*vH zq~n&r*(zy{zC>@%pe_+h+i{~V>#L+y`85`ssLQj0Y3swg&R(Bw<>)Yjvb3ZWlklg0 zdGh;D`G3jUtp&6^8Tne@68s%&p=Lz^@fJ+R;xxFnGzEC*6g7sh^UB*5nU9!^?L8Aj z&%_C+d9aX@VqBJWPzMD=WhQC|2@Ca9DF^4Z8x+qrA-#_yL)7y(NJ^qLZ&0V@m-?`U zx`Yl($}K+eUi38)1FljCOMW_xSMqh9Yht*0hJWolyU}ybB`nsNzbDYC-oX;KQOn1- z{pO*!!u$)lb7K1EDX?BKkn8KCe+21aCgSzg=0ckWaka9Gv%mz$y(ZPsjW2)UX4-BF zC6ZFsBI7^4yMRk*5gL=E^qe9Ry4PD2k zi+cypQAA^wBRRS(Gu_2{c*3eu<9^Vr!0pwMsF$NghHct1TFKNIfKI)18ja_ll>I=n`Fd>e1O03b;T$DuR zhTUy@sCU>1r(%-)zCW=hFf^J3JP7CKpqF8L(Xk$ztQ(dSSI!;=;0#v`lUGhJl#a%O z_Oed8UXQEM4X)%3vtwO1k9$0yxN&i~M&i)iz6jx52RDt@of9gRQ-4i`ZpGwN419S9 zjk!>hz~JibN?iuXg^mnydMhEdkQ2Efv-ZoSXZ%h;~~J8c@?S;ZPm*K-VZp>#(BOC{DZrJ2tyGSD_mA9h*ASl-lrZ4Wur z@SL`#2h81K%qq!HV}FPapMUrkiJrF?@V2#d288DJ+-ieWJ>;PIeYJ!pt?hIw_j$1E zS;m{G5>9Ng-pmpZwH^V}ah1;Z=a@J14v2lkYK!T)L7GWWA`jcGcK^RV;*ZN^Fi}Vd zv=vyS6EAbT8Mu<1c)A+5!5D?kv3PefeqqURsc9R7g!&uAK7SBf%X~3Yfhj7cCR z$_{4rSB52qz<<-1UxzP+E%(rdvx|$SK^ywDtVae224tUFT>}2X=58);p+v78839&R zYyhGNp@I168vXu30`y|niX+%_{m3S@IRnGmQK_p6mUH`;8;>3yDHV=UG3KDb6mHDcqn?{6AB{sy)lujZh>!d-o-w0H$S zdHv7}L4QPi3I2Lj;cV`kCN}2wR}f$|GV%K#|N4t;;J=3Q;L8g^xwu_}Us+8Y<9rKq z#KVite{6uFwCu9|4pKebjeQ%zymZjs-k*&_6+#Fz&-R90!2leA-D^8<5*FXEc0sf_ZH6f(5ty)6qk#{5*iCaYgrw-=fGa3kr9*h z*&VZ8BJa*5bapFbwf#AxH+l(4LemA&-z6#rHZ~y!N`+!pb0o!Ivy73SnAi;(pcQsL z{eK^-Wh+iwPd)4w0X+9fqBa2Q_o80!S#B-!lQ(ktl>?T^u66H(CxkQG>hCdIU+umy zrkYapO`pCXF*Mg}j$5$!)|En#u9+y;KU4Jab|Mu?Y{Os}DytoB;az z`sOimBx&&%D+ZiE?zV8c%=I?l50B7eTwky74&20fZocL^OqyX?z4s8C_z)hbwtvW9 z$Pe2axKq&XABu#5bN!wHQmexhRSF3`RZOF0b!dEw;$dMLVnv~-u0HXnEL*TTmpWFN zGxp*?`kNDIWnOHPjGwL4RdKME1Bp-t>RQ{)34d<%Hd>^^B9l{)@BY8~_W$80@{ns* z=TidA*ZZh`ho7j8`wA~Ghwtuc>VGSCsCosLqWDQA9O=@v6;sk0ftY1LYNTQh2VqP5 zI2H081%1&0VB5tgL@eH_+AkV0Z}?0Bgm2gC&^3}yJ;6eJqk_C{p@g$`Ge8!{#NCs0 zl-%IkQI6GXz^VOblg&c!K7w|^$!!AA<{CCB?9`XD(hfyV)B!{spHZVb7Jo|aTf7z` z7=ra|nl^sj*dD-5VHfJ`-eU~GJkS+_Os_M+VLK-h-vZ3shw6F7V3x3Gn5UwY!n241=Gow zbdmytWq~rFl>O0f@1T>R=a>Sj$D{?jnoopZyrlbQ=%sQdAci@_CvOr5aEMv2v6OwW zUg4D`j1sxcmO$Cqk|>v0lN4Li`rv(s_7QC)w*4z$arut6vp$|<1b^0-8k~35;+2qM zaCpc5%Zsni2;IM~83pd{m<+$&!p&8`rJrB}zI%QKEUKG_^f`IO%II1uWnX=TwR&^+ z`MR7B4Zt^=onaDZ(BRh~B0806KX=moX$gfnBN)4bjn=wLGNC-QSYqVq7RyggWP)mV znQI?NKpSf2w{Xu)nSVzJ6?zjx?Op-!7eplYU~`-ejxMTPTVm}(Y)<@CA@!ukc3?*I z>Jyq6IErS$cw)8KftD+Wn_lyuY(*)uh-(wCc%+=bsKNWz^Sq{o5cB3(&k~7mkZdTY z!NTz_jw4l0f5GRgAzP||*Jn3SDBWpO8j}kkgvJ+9Jqhe3mVYBi&R=sx0Als9v+Csq zU>I;?2{~pDTHDRuP_uu5;SFB=A7^*8uE^h%+G@E8Ecjq%zAK2wWJ9I zC4WUwe!~B;R)E?G!5#M87)QU~B#D{L=mC ze(J1@(1>5AJyTvL^H&J>qm&17$1Ri=9tQvGheaL@h$`P%@Y4CmDj^g8EU~bKHrYm| zTJH53BGk2UpN=P3>$2I!_Sj$vrmxS?`D@yIeV})DaDN1UnCl(q0MN|pGmK6E#x|LW z=;G}F!4SYsTB#C@Xt3Z%wgn7UMQ{ezG?rpVmZn6!@{ehlpuJ0Jy((nP#Kk`O-l$Hy z`EstAt8t!L6LTR;%+K6;#UlbggzNu7R!K}O{KVGx8ZFK0BNS_zY*u2tCQzdsMKYTt={Ghs_6hw#xqq@cH+QOG6^x^pU4nk&^E4nhpEMkf zOytsT?m$~r)9~62tA9Y$JHna9=AQuG!w)Z>wDDmUowt&&H>v_kjo!?STOjl}_*`PH zU=*j;8cD;(T&Z#2<^sE5gkmJQJLo6w$~YV-dnf!m25^kG#av#ggbLUxE|+{=y&>%e z5`X&ROlpciM?W!-Xbxrv>Tkylu)}PyigcxKIhRONkR0q~Qt8#Te}@{k>2}LD+v!ra z7Sg;+R@i-*qpLyAZ}XkChRK#+O(~ib-@G^qOxLr?pe)g;8>$4v#F{hA0$SW$HoXAX zRmO~Gjun`TlWDIS$IWccpJD3$>mT!WqJQvzzJPa`E3wng{ANa)K>cR;q8U$pBGX|u zfpafEL3$@s+}zf8GXUi-*yQIx>Mfh)c*Km;kkn!~s5vqNy1zf)L8hA?dTFi#f}I=0 zT4cMS^4O5QwpWMl;Ot{T+qX`>TtUEMS@{Z+2Aw|I!eZX?jm2TVR_dG|9)_>?$_pQbZX;|_1A9nhSAy;b+ck4975+7rV><9prS zQnacW3Oqd5>?}N(-dyu;7#{SS8Wl0$5gQb#_`+e3R zg#yyDv% z*R}*RQrDb1E_mBjMA~4M9CG_XkW6Kkpw>l;TlV>V4eN7o)h!)O!|OK9BHdl;L==jM z>eX8-0L<23m;YBqzX={64}UaP$HAnT##}n2iTmvaaSh{8h6`KH$5crfr4LUb_)hmQ zCD3+1Mb|~M6df&mW5BCe zZWdhZ9m!|+NxHvcVG8;xt}W%{mq#a0BYuqb4iAq%!668elxs(EcJ56sa&`7QrFPN8 zBbLf`p5cCLwq7(C`>yi0JkbI#&+Xu;EuOhp@F$>m5#rZ~+NwXh{}Ahmnj(l?%qco6 z43W7nX5P_we;_LIIDbwHX!y|$YO%As?>HvY#kQapI&?D~_%{ zgOi@DxRZ(dW8&!c6FqSe{~qYvci<6R-}f8xA09YA<7|a;lWi?Ump6=&+;WJaAd-Lh z2>N+xWUB^ATPYSMICch!L^{v$*U;ma{6g+wi)A~5%x%Z8hksh@D+M|;ZDDyznm!uI zIca`ZE8|FFV@ZM#j488Lj%eR=n$jSehmq>~nhDw(gnaZ{D57((zeX#N?8P>PXzgho zi(a(N@2MPG2D7I($=|!g<<93vAkZb4fPO|#$km|y#P2y>55>Q5k9|=+yf2^-k!CPE zENPp229MPn_J47UMMf5Dn?c>kbka5FEsOc6?=T%>NBcnM@5m%)1&B2e!Ffwx&P8ieYDWVEm(BO?`o#vG zy^&Ctjo}+t&JZ?2kohAH~&dhsNI$Iy=T8CH&1 zSkNV8s2SHzq~!EMx}$>7FG#l|1!?GPDws2;9d1%`xdY61H|$t5k_P8}aGxBe*1dnS{sXejlNeZK zmnmBBwtu=ez&0vtyI`u#!Ep(rntFcFdP-Ijv8#j1KT-Rhp`OSDKoYwivT?HV-#BuoNuA5kj6v3_54xBFdk-Ch|3%VzV6W zxc|t&9{@`lG_n-Iogb@}!F1P8o*I|sF~fr> zi24K^-^q7`rt0iUg%;|BnNRSt$|Ibs&qslyXZ z_s8||ZRr(1;(gPGwlHiNwGbVy3yGxwUdFb?dLgdv>gnMWvEP-(j2P5rZB&wNEzEi| z)PIUg%p$2kM7$1le?c_x@BZqGK(<7hw+5gysH;bB2{`s=qeIO2VmhWQ&~{DYyAQ)! zp<<*-o90WbpT&#fV(k~-4#Zx(eMkb|Pz@l`$R$(~ELAkvkwaLnd5AOTm z;P4+*B`!<8VZDSs3e^0{HytqaE~ zD*N#ErQOE-|KkN3Lz4b23UAf=k#Jiq0~*V60GTf#5a{MEh8*NtFr{=ESZZtbPpFuE zSr8>U0)4_4+m6J>o>+>3Q)UNA zuIo*~bKXv}zsTEXSg(`Xm9kpM-GAo8_8Pghw0tecFAIOQEj-x|bZmp!%Ma3XX*O=s zMD5G0+0c?oe8%Xy_sCn==3sgdPA4VMnYp@tj^9(TgW%SJM(AUl0M-NmB<%J{>9ZZZVi$MfA*Grx$K zs*-Lqm2wCB8G_vJI^-O~jAF3^5?&xg|CEQ_GqA?nH}&yO-x@#92RoRwHcD2IP-B?P z2&uoyIN}Is)-W7gZGSJ#W=~$gkdhEWx&X_C8Lavmf0Y8x8lcR{hH7u$$NEQy{b5%{ zL00`>xRiR6jC%R(o+V z&cPWxR2H)`O2x)P01BV_k?Jm(1Q~za7GE^dJmTD);=@Oq`G2tWZbo8k&6}_c5A{qU zlZiLM%43z7rre+qaW|OCUlBatN|0sY4E{HmniT}A3UEV_7|7}+ARalCdaekk2+sU_ zr!x#H(x}m0fZsV#mAr+=iZw1LR6E*$>IH-|#9p)^hs7V#L-i7eQYhYg$<3M%!*VDf>T2I%%a zd2GMv{gRxWa!9t1fPO(4c|1?XtB97)Bbkh3Aae?b4W^hLuO-JlX;)G6ZD69rdIybJ z*?JF9m~9y>6!k0H%c=0st10oIbp%Fkjk8l~U1U z(Tb*@>Gx?50^Ot0k&_|kpQKkiMt~MzgMQW~H>ePS4mOt??CviQJux9egzU9U=9Wh1 zFh>sRpMMA3u?_xT3%+MPOMy9?TE>}xx}#%4BN#4`j4%m4ofnE-=@Oy^q92ks?zxk4 zJ>T0_s*^y5ttO4L%tM1vx8>7F6M4)E1PdH@ICFT#@a=uDq`5NrHmp0HcTD4N(Xh&j z7`QWD?>oIxqU~##oWcX+R%Zcy;7ZOc4CR)e4S$>OdtNQjk$rpFHiYFs#*&vv!Oy-E6My;j?fVEE4aiEhKx=YrY+OD@E0gIn7dmop z$7lke?_*15Y1iE1cd@q#nb#Ea*4L?eW-&;^@0%epIjb4kmq5iW?_jY-VjwGZ3ypPr z)qi-ng<|eL17Xan#*H6cx6~7^V^Q}1NT*O4W|czF>o(VqP}o$kgNZDmPy^dnP?K^v z=SU;sXz9u3%oA#HWK^1aO` zxV)CUf{k1<95a>KHyVi< zjAoe1*}h89F#~ak)mA1dbz-vi0)I4@o)PByLg}(g8}nL+`-;w}=^y7RZN?N7rqX`s1 ztmTFPvK&D1+Y36XEN>zc*(5(XXe0;?m29EQe&p6kKnZMi=vbic82i4@9)FL$`GNN2 z1ro&adRBOYWgX3!*Y2B_890x%`>)o{2GzEK0NR>`>I)lXRyGG0WGVKOj4NQ9&3S2` zO>IRJO&nh<_Zy$+8U>LaD+DZgsll@#%FC?9ie`4WDL~35YWH%t3cM1Nm)@ zN_#xtiJ<fDzy|F_sUCYc5O!U2LIS_shf|9jnNY4#MylcE*lYRj|3b#NI>v zeUXEx-sfNbU+y5Wiv0z@(IULj66w8z$SgVIvUvGULE8==B!AZRZyqvcy?(zxNtyKh z$@s7u-lck)7@aW;l09Ml3Y&d(e$<>}d3i{`RF@e8LZVeHku4{|0cMwrvr4_Aw^s8A*#t0KDt`X%|T*Ifeu@1c0S;@ z+x3I+U31^kUc+;UOg@qFc+GzobpA=O{c7Lg9Uf0p70?pJ9j>q!fN_O?nE(zip9E^wq8e0nNmJbh;fdA zXhK1&E`L23OnY*$Estp+xOdE1OMbeKf>w9q7MGP@qNBeU&CS8!AX<23F*Mm!4TU56 z095mFLjJ%bLo8VV(-RDAJOYzD9b$pKvLisu{6a8UeodRrA-pZ1(^Yi;q}@G4vBdb9 zG(rU0z#y9$W=L0c#&Bf+6+=&fl8A^5Q@Xg+D4PkN5;E;(Q;kZR#b8>K-q<)@ zIW-rPCIJCn2uY6O1?2K>%L}%D7viy6lU8Q2MSH&pOp@?V%GqFnuLhTRf#j zrGNLD{z9W9Ev5xzVnYI!Ehc8VDikG_vq(lJz7fAcFtY+J;N~fD2z8E2Kr3sHU*}|R zn9U95w2aLCbKp9xY<+XemEh=Dn3MS-!(K1h1N?{DHey!+2GYX3}^a$EWY9uShm(19#-tcXJ$LZ|KGqBDHbGM+mYD9dQCmNLG}fB zGj=abW1ehcI*VLc`W+vo-3D+<@EwWaG=JN{<&0+pWw1Od#r8Q&Kx#J4H6KL-)45>w z{T%h15@@#d2^u$;zR0YDrJ1QUWKZQR0X!3xc5%yU{F?8P4a+tvbGbxNni#SO($%aT2Mi)JLmIi-v z*fQE`a1TcttU{MtS)f9_vq7qqR-dQP(^XZQ-KU{ z%)wDt=EZ2MG}pL$Zz^Iri#0VHJ5U9$Ep6EcKK za%K8dDCMdygHQ|Ax;$B$#NJ~4D#`yz8|l2OrwbUXOHn8xpZWt@mwst2 zN7ytfUbbO-y~i>U+qgX1k$2D+F zj|q$gJCGBD<;E=bJhFk>kM8W^;eZoEkkbePWE~ipTFj zb>%=qhj?`OgI)CzbPaTJ`TlSftNqdT9Nrxl7hFU|SJ$TJ^$;=pt4^QnPS@QKcn?`t zVz0QElw(`XA5K^?TZ(OU9LSGIDsr))le8S8z9()h6XeVIHJEARI^aCRkPgksJC@{Z zm}|mKlIeC$|)vAOQgu#mZ|YGgxN2u0@{LNYHuvPp|$Rz9w_ zkoGc?k@$c9#a9igE@~MuP9p|HHpcO4U-h3l?ro|D_H zT-npaWejzIrITyi=(7PZWOg7at%`+9Cu2#R>sCm4nKq7gvVM|4$91+glP4RgwwQLm z1zWPIecX>IES6Vg48mh=o`uLHy%?cgzqT6T%)bIX#wolu5_#dsjMJVwH+Gy5Ym%{B zFv))u`W7QGRTx;K@Kyy;wLLdQ#)jq zp8fY!+VTNSD~Hj8*Q`o1n6lFisLUz}o%BCBS+y_uc^NY{6{nu>XnEf!EO39k=MjPL zIdsnn_d;822kVcYj^n4|K{Dqcb|O*g^F3k%dg|G6gp?4)Wn|R{q2N-7VEcK<|`ZJN!-ypkB5-g|{7mI>l$zTZ9;hepGhjESu(?uaLu~C_Oip?HD z*%MRET3nXP31&t3Q>;-dtRR0rZfN6yLwyyK1E`Mjd_ubow+FM~7VY<-XpRk%o(n-T zJ6DiQV15J@qcrevZ9L!Hz>r!VScRm2B7ko{okK+f@9zlBB-BbQ$pj~Co$cT7I;AD? zRG0)=x_$wSfXWlV#X6{RHX!rwN6IDbEbpX==#TOZi<_#KWX`#OKb?PJ*;94q1h6k= zT|#WV{4#gnPMBuGWrCJ}j_8Z0@h&_R`AfHrJ=OHGZBewY;EJ?NWK6{YWMKCmsJ}Kf zD0C^8yTDYoe95n`tHmX2xD@C`ED>&VYXMK-4Ho+q*w*cYPGCc$)U-M_8=5(6w7CE; zv#O)d#l|WdB}98~f^C0a{4m`_kW>6Sfn16}HV0I)O_}E4qi(h50c~#S=^x3QY&j@Z z#G@~(LH>lv?%7uSQ7wX>IJ7o_jgO8O@orMvdqCT!?rR=Bs9H1I>kJ}QWqi-T z=8XG=DhCnIP#T78$#{?i%6gl?TPZT;*CIE++hMs*yoBE1-*0~~G`+L$C{)GNN@Q0I z*bZ+UU?r`_r<-Hd@d(3Bu`Zjxe8ddNF8=YZKM|6WQ#pbEpQoH?Z_beXu_O+0B|L~5 z;mLF^8Osv6k8po$E7cp+MtREQgJ7V;dJefiy+-y~u7%aEMl0u=v)hlTxq7WP_vWWh zuaCzv&L~+-LRNovlvNBUX3ZiLccc1B9II>VXf@?(X@HC9O9yM|_3YMw{^#W?A#Rvn z#kM0QoV0gtAe2b)2ZGv{Fz~;WAj`x4m(pQ**pEtwRdjmp=xlj@!y0|(XOCEZ#ZhI* z$uB5=K5L^|s>e_)D!$WuVdNBuon5w70IME9z)PmmA0dA`Gu%{?)eu(siPw9d&YIy! zsGAe}v}~GE9u&BavaY6)=dsQ{iQ0vRYYN^q45|xsrAt@{|Ir28U$=!~8l$mKFemc>fUk}BQZ?BUX)*K(4cEm)n8jlLvnjkrmt!i}`Ajtlqq#+^i?aJZTSYmyspL9BlSy@5e{$p{Ng7UQIJM5x=IlH^5W zI)HVy=2v4)mlsH`tDPNr_ygsXIC@?p^NS%`YJTzd90oaMiJSPjbM@RWV8at88Z#J) zc9&XFK#zgAYbpC?>kK%US(QOVa>jV6I4Sma3OnlWx+?OQ;l}k#>U0KQ+Je^s%jF~S zNOONb@nh*rbdkcm@DoH8#j6OwPG61ZbW;JP!}?^M>e?E$y2RX)6;XcFJf!g#j{4y# zmM2KPEy&?`0p=H|Mqs0xhg(<(NL9jFF}<@Vcldz?ZX59b{_|%5cRR_3^%upDOSR#$ z9x9$N7lWA_Lnj0@udI%apCpH{jQr>>lCXam1XJ}S@%pqAqoFaaVLNF_a|Y|f(saFq zsSs1~^-6wsAa-9HCTJeNBiSUFKX=psIA6{id_OGC!*5~+>{n~|GWT z3UHj{&hdu6w%ua6t-RTupD#1VytzJ;MM3259O{Ht#jz{%+^U#{N_%50JnGC#2!wyO z9R`3%3S%y_OT58akBQ^&_wc$v9r5Lau-jc+4Wk0sODH~mhC9PoD(qr+utswrV=JW} zM1`sXW}XK{kK!kvW|TpSNu~gqNu1#=!8XeJAK=1w>AMkZO)+Luv5|hC`js=3C`_W< zV^sj5LDr8CJ6$arGK-gJk=2YUB+P$#@nTepwscV}@+wi<9DH9cBdMO!Utl5gm&i^O*4_)`KEfV=`~`4uXob(aQ$94|;rOq88(b7R1%VMw07QOu6mq3Jw(&ytFt z#=8{c0J8Yp0$JW>hxc7at$Y9Eg+HiFcM0{+4VLo8f}Kx4^`+#Ow>`l1J*aIKWUj3}YTMS0AQ^j;%%%l%lFh=u!?Xl?a}L{!ksO{c5^^X5=k1~HtP_%5nT zQBb0YHh@?ok{+ElJy6Y5rH^D4-nE?fGCW2^1rM1+@=(+Z2?dcM`wobnp2XQdM1})^ z=r*Y19N4hMQlxbHzFkon&eea}cd=G9=oAiE1EP*`@rSDu&nJ5$qk|v#C-_p@9_L>c;n_T4851qVX_mQt2?nPt%;)WQwy+5i8Y@rR5UqAY+^d9L2?KX?jy*bF9jX0=!HBLwP$ zafZ_!3ecvzNX~-|{{VkchcWBD^*fwsro4G?pgV%}2Tvf6s7D2am*_$h)G}h{`0T7{ zaWf}ct@Mn-4)Z2ShbFF0fk4236j1!Cfg&C?M7!H%$~^7rTwCvfkb$QhsS@t>k}M*2=vaO+U71V z5RbbMv;p^uZk??UlVI5h!Nt+R<4&$-0hpkh`GCgvA%aR|Kp9?L8hqu8OPULWNo3 z%*5zc&A9;^s-A!GP)+*S@N_sh?5XX0Q#%v=c`u=_kHm(BC`&Q)1$7lldB4@HkO zu*WRKdxKtxDmKe=NaZi;@rIGs`c1DkGSvF(w}X_A^xJvbk+iSf4hYSJ;w*86tF`YFBP7;nTU^o}Ns(PmceKDR!CY{dmXxH_p6XcJ5 z--2r4XG9ikI)sXj8$NE;1 zscR%43*dynlMtSYO<+P3tMlbwvPetL9GET~%He+)w$;mfUi$MeBTD4eq76y;44NUy zb|rgA77HIAKmXwJv(9FyV^5-w=+#r86c8nb<8QFJ3pjqf`@Vhn``rf7ip~iT$e%I6 z(o+^GqgQHVHC&*aON~eZn-_zV)r_%S@rSby?*BQG+_1!E+w_>m{&pm$v z>_>lpvhOjf@#B%E?Irf3^HJw11l>lzbG1>T=71Pi1q~R=P(w4gjyp|PuE9X~(mpS!G z#;}Cx#Jw`}sj(@d#dmp1K(oJ^kMOSQAlQ7~PM@&Ukml$WqkT}Y*lZ6j_ETbp3MW}x zUmG_XH)s3^({~KH)3j9~b=SXq{%lucaj@4lGB%XKj<7ld65^&e0!VWLCa!<|@3cuS z=I;<B2`kV^0UK~nc@%%pob5cpsa9}+ z%Q*jlONq*?S?%!SXVxjg(F1}#IU>Lsh=`lBImSO4BA-%lQ^uvhK4}?5x~|A49B}%r z!o9zOo)%3}3?)#j=IHGnhgNMtN-s_=J+vBC&Bg@Ih{|s?7Btnon-Ip@;sHibB3-)U zvn~UI^8y*YIOm&E2OWQ{QNweA)H*#kRbX*mf~BD|r{~1?08NQ+DY&;mFr+$C>wK(& zC&ms5Z*Q>S%N;tHyUY{jyCC1g3V_Ucz9ztT;_q|xm~vhKp=jh+i9SrSRc2t>? z30Wq_O2>)sLoR>HLnhtKH{$8QQ*Js&hW1zd-1-rVRh_u)$y-^*#Q9e2aFV z4>D%lpx4RyrHO44OL33^IsDRJ`F{xewzW8tB#K=iB$>s_ojEpCH_hw7@p zwY)xtQ33k|kt@6-4Sd*J2Fs*}&(?if=A=92>~i-lx=nL_Y4y8=_sfGy*2F{W}6S7G2IFhz5Zjcd`>(;j1_^w_x8(mU&b z=;a%<7GKqyR^ML4`n>YH(c{3;rHMTo%4Y4*tO*eM`{mW{%hsZbMudj<5uwd&K;F_0 zIU-PtU%g%Y>SXb&lf~Ij7QZ@Q{OWx1tMhjD*FS*|X2w}*7*p6d2&?#lUHNUs&$#% zvReh0-{JIzL3fg~geppBZt8gljDe(axP!F8EJO`Mhf#2JgF?)##!AtnWHBA!VepLs z;AnRXh0hLJ=kp)i2bZ`z4I}bE}-w^K zuf5@d3E`6e5V_&>V%zXCBU7cB4i*Sq-H33qvTgezl&^W>yQ{xzrNg04;|pQ zy^PU8zQKTvo}pV3R7W(n*&hR{8N=nt#d#J|rXbDoN#`3+WRZX%TdE%UG0c>@1#GpC zbv9JU50N5B7M5&(7*+0Cf@_=EB$}Wa7237NNXGbF+T984` zR<<)crBq_+O5a3n$)pufne0%&lc?9E%t*+lZ(ly*&>x0UVd_Jr6j4c~SQ;Pij3Dc~RSpCR)*5#z^HHWJD7ikNha~ zG7I)2EEnFc$U*v}E~_Lt3H$Y$kA~#30QH2eug(FVL{eHOdz(bM;$Y>r<5Ba8tbU+g#F;-ZAIC_dL?@{BU zmO(qr;2kQU=NX!iJd;0UBw>#{T4G+cQm}b8-4Xjw{aSmhuz4w{5bI+^+X)z|jSfKL zPLa{nN2Xw6Txk3d-8QuJp2d_oJ|kuJoFMZW<;XE25Chuo>P!&b>6^XwZmnVMRaisi zAt@Y5ZQ2QB>}t?j#rHvj^e=LNNFwtuQErf4UPZ*_5ZY`njRah%-|f&P(d(}1t!Q@ z&Qe~h%-jjS`A@Kw^-5QML>TGyey9>Q5p#VH35SDH7Y*k@$_A)cj@<^U-8Wn9Bj{rp zK8?oJu*6)%!S|9UKmSh($1j)ndnmh8 zntwspFjLzxC)y7fmnk)HMsV6)s)9=wQU|)P4b z{<~b0gT0GKNt#hgp4Z!^IPHT7T1mdlv=w1jqz5Nm0^v^i0rha;2JAY8+Rb0gdZXS7 z7C5(GAc0So#-X7F7Y+Er3^}xx0cn7JKm_&;uLb#keO>kjaD#=xP`w)1_C5mQlCho% z4ysy<0%J^aEqK`gt=iKaEKeFgfjnWC%jORVNTaMwQ24KCV-g;_LQ=b;&~Er$_o|L) zpwG4~OrQzGgM%5GuFdJ%C}+2?8^-hVVw-;C@-1pOW6dk z-Wp(_M%e6Wg$i;gsZRUTY6Hzss|`cXRC`!|sGL`Bod2RT#E4MP8W5{xG$M487!mqO zI6|9Pko}||j(tuS;|0}hW|R6&lbniWi>@D#>7yqB$%vv?r6o1x_+X4DzgUM>n{xC8bPQ`+q%WUSPG0pvSM-xBhTHeF!OQGYR45=xjZUIN#|<3Wk| zF-W>u1sui;EZ`s~MyBUhs1D>aUf=S6_{=zkEc0Zppsr#X59R#Baz z$g(+JkN1PgM3+Hgyf7l|0IctM+d}z?SaP}#8OEg1Uoa5I<%32^0uZ&D66 z1hVX=^C2gKbhRMK474Ca+Y{Z5qAwD1ZwJy|8UfWKOjB>$3h=g$3~2PA0D|N_l#?+M z_i14b*K_k*eMFW~WG&$Qu7z-aLLr0!z>zn#xW;Qg&;@rdqt_Nh=6WTA^WP!h2xh{`GEFt@oc12e#3YQ#z~Pr5!yA_&5d zh8RQ4KcaKAp_Hr+De4eenSX9IehJ}q)oU&+myLp~i;K+2rR2Szi=F)RI(q(crz9|j zV;x6b4+4)L-Wh=9Q_S{Z(K0agHpXT3i~yK9P7gbn7L#kBN8_%4dsm__=)by(3{}=a zpohRb$05V(87iAM+Ni%NszPKOsP!uOY|z_5{!OHR{a}-h*ST$E;bSULQ{xa1fOonzduZDX$f=8>L(3ka*)U{J~Rw+8dEHAMvb9Pw&4$aMbu$`1-gIS9NfX1HU~XJ2H9&w z6rXP3;rapN}391x=;fs7n6?$#{i6_#zFT%;6BV)t3#a41Gf_r5B-Lri$Z ztzG=8eWE9S)&052{u`(dr=D)+9R9s|b*daR7=eVhs=@}C!!=Cn|1RxW-_e8S|IHrr z%AIi`CzszZzd>C(H@RLYv_ZC|Fd%bQXX`#rWM(=!ctHQK-AI|-a)KypKnCG@12C15(E_ZJC21XZ_Nw&F^X+}I&WUdb`ftwAM8|&a#btDsn#JJ z>2kJ1v4G?vZHD~gcld%qODCHzRblr80se3=LrJjx9m-zg_DTiEHl601b)iOL^jhnT z(d^dOmdPVpTHJI%w=b&K;AO0P)9c+n_OM7SC`bFR;2kpX^bcC*7Kukh3t>Ktg6hfn z`%oHx=P6gZ;O1y4KozA!;v&`$=Q9gQ50)VrPN7NXZciLJ)onq0@|+-Ju@C-mtL%^N zd!|$|YKoNAAZZ8EP+*KF)FiDi5>W40>^gR-Bor=65kqbo2A1byMwq8E0#oJ1$w1{l zUe2!vClip5XY%?spyj17-m@Jfjb$23r}1%r=y^YRkQXS-0^_MtgFnGzUM?cOrU1!z zGVabwcUeedYLauRQ>};zkq65WBjyY_7fsqS+O&TISAQE1&-KJ>G^CbtH}S zd=7o*&v?Y<3xRGeXn*;?m3iZgOjm3^+~0yH8N7t8sn*FPqtT(uB^aEB#m>(Md=f&WriAK zCp~Y(NmKHY&Ij4nx}+1waEZ$c-$Q2@yXVUZGV5R(MsP@s>R}?fWiEhuq|L_HmnKUO zAOSj;M@tVt0=R{jiAxV1Chzv}BecjpWu1FN^g#oaf&K8=}RQM1BC zdC+f{%u5e}0d$v6Ob=au*W~VK84pNDqm34_jcZ2_Xg+J;?aZF*Y3Lf}D>gp50m^4L zpzS;wFU|GN5808G9U)mRb`{ol?#Ejk2@YYgkSlIwhxwTV-k!;HJv5<;g-A`(l-Nv_`Fv>L5`7-0KXTu<(`l)2epa?R7jOm z?SV}QmqvP{E}w9dIu=zIOG3)Tq)U@1$j$v^DqPfmas<(n-YvOR?wgbgHYAz6iMEB| zpcGYh^xAYj

        QcilU`1G>oBvuyjf$qgxo?{>LwH*NZ1Co_mCc#y4c!X$9jB>2_Hp{qZ_!hT~vjIb%Flz&erB ze#y-ku^ml){rnLzYfs27^7#e^xi3iBQObaiml{tGApz%?JWmfj0^VwudruEE0-y1h zu}=>)2D;;w_;+`g>rW3d2l?({ZKu!omn2XRA%E=X#c4w?5Kj#P$`%erdcDenFYz87 zINa#NSXQ(o@(aYRs`gh%aAP&VLW*k_u!zbf2u-Z%7)VF84$u^Vq8n@>-754I2(40t zHmLM!nI&{|0=;C1kYx>d;TP@;FYeFe@HUL;(xel z9(R^4oNhTe*o{|eb<={x%z;v0_@=aMtmCq!v;FrrfI=R&U_>8+BSSfJ4i%@N3>n?) z{ln7<3yh70uaRZWg;bOR_#11BSU4ht2?Fop0YJe=W%DD|j05mlpD^aq*ivZyw8t3+ zuT*RDeDz)@z?~P=V(vf2`Jnf76Mwegq;+etv~a3Yq&Q%znYiv*sCOji4W!CU`I%ff zX@N8G)wb7e5InU^)~A?k(|Hxl-7fM3f_Z>nOB%@HJPud?7#rrtjR%W4YBR?w!C8w2 zwCMB@jd2O7_8EA4Q~)TIvBr&Dp}V)2%0jVaiC$aQhP3WJ-tXRQ0N2d)F}(k>e>f3CVFt z>~M^=BaBgL4$kHehv5UJ>XHTZ%-ih%eXmpn7t=4Ym&_md@lpjZuU2@BeFd!Cfm#qp z;h*^}G>tZBWFXd5jePa~9BwJNB9{+U$rH{JOI>TCJ`Jzjf!IRP2wG z+@+0i0oXzo=YP*1SV>CcqJN0YH^ZbpF-MY7i4?4E+Y|x#v758wt#Ef`w19@Cha9?x zh%YCTi9TJ9C$rbds>{jjZ_+d5Bps_a=%O|i!0172MR7p@t!V+fp4%p|Nmn26|LTWT>6&fmO$?(}Ea1EAZ@0X+J(KYE3pAcw1FVpaBs1z1rJi>6;-X*%7W&B$G|qE z{9CDcO<)#g3yrszvsVv11=s$R?h%*tR}UzE?A?{+^l`Jl-c_jd>Ep{4ivIf48A*Hm zSMb{2Uiqg$`Vo;1mZ$7=fBSfu+Hg)=`s#WL`pgP02VwkAXPv4)=aj#ZWa>S9ikLOh z@)2|<78ReyIL6ao*xNpF9YsG!J+e>3dKX-+Nj{y;Vl=|muj#0Bh0B8ulyuSW81Tz z8oe}%y!GbBl|tMgX(#bRS*^~V%_gwk9!b;;+SnKt`5m&1dc)Goy)<8Pq|W#h6x!y*H8Pc*&1y74zWOgq6OumW^E~By031?6|l@3KjM)$UMLHecB?*7 zI^Ei*Q%rq2#CB<_X`K9aI*`XGU^q@3VGP`X;Sx5ke_h_G23Kd9x2f|M2sUAVil;sw z(#N&czY;NoND6v$vs0FEXI*{_j-|D959D1q6r) zUXO8J3b_GM^H}^?Skf_9u{CZkSr$#9IVnDM4i33+D~=1iWRO=>L$R~aat};&KJu=R zc1D4&V(d$APw0=!+x7)H2Gxa_cr-G});P0+yCKzUMlTWbx(uw!OSxYwH-|5fRN`8|do>M_CYO-x zQU>{Sw2m%^4f3=(b%@A3L{D9s9?z#W;#mNkOiP{>iV1G%&@Ix&2>I84mBXE3bP7hY z)X9qPCKQ?CWc64dO}RP^xwYa_eerK~E!>)r zU}mvk^qs1m)AAJpLlQ|S$zDW}!nS3Pg zv)J$%#M5wSJ#)VlWnufGG)4iYkOHwcTSzgwT^t1VHT48rHeaiIkjpEf2Qi$5knY{@ zkr`BC;Ai6@Ggc^PJ(dbJ$LH2}n z+H{atOOG3vnwsK6z>v-%QKSiNmtnC0?FN~JqwBhaxX~FZ3j@r{wUaMb>w;agg#)3JxMLAUrn&FI7E$yAtNm188 zs+T_#*diSQSoR2%t-o)V`nbLJ`!Y(-#F`Y^PVTAe6r*jBJbwhq{V*K*O<9S$gDbo9 zhScpCJ4{-F+7KY1g)$VBU$lTMOprhhZHwczA4L&QJ!zJUm4xxxym?MciN`7>jURfejXg<@`Av zOrtKYZ^9?mN`FE?^V(kxai%|SyN0IIsfx98;1KJBhyXih&)t+;=^~mu0CX3wJA7Ft zuqIw(J#@5j7T@OlXGZ*w$M7OvR1*zAiA29<$>+1}6<5&Vi4J!5d_UX554%h3+)6dlDb}|gQl1f@DEzU&LB1E`*k;)q4-KMu76ibz87sVRMFF^QxSxZeT-0! zrn!1harjmxci`LM#~sFI$c`^ZNkJt6 zhn`v{Z68r-5cL3lS_f5bkXUe_&6awmC>>gMUyvbvHTL0bN56s#l<$DVLbv;&y2BYF z70pHQpMOwV@OfBAZD1|?V7<9hw6#4inLxQ2qo|0)preDqHoCiF65aeosbBg2=lfB$?W2SjE0ADm0*8~d(+k+4=%y=P@af>&D z@kqY~Yt^cu?h#;}cK2-AXv5YIzT~<9{ED6x2!G~i_;G=RPAy}^z_v&BoGuTbJsQb= zlw->f+HwXl6M5_}?;(bZ#hcs8@%zlQz)GacO?Of!kE}W@z~Ed=K$V@Akhj#C&+ao#?Ulj4*UcT&ffRpHsDA0yp3q* zI0zI3u(?X00l$6x8VkV4+dHD6%GND-ixL8Z-9ISzuBY?i#+6Pa8BdbglL!nZY64@8 zKOozuzrQ2>JNia`HRqSlPYfyKOib40M}OPeBOnpZyLK3BnX}Crn*NP4sHYpPv8IyF z14u#b3vSOh(ABvP)nzWFSwK41*f$5>YQySrc6hY7zt$A*u{WpaIH0=X8Bug^g#BQpLJ zJXC(y)bX%0$Ur0G|7%UUS+tpL5`ROX*>&uNz^ar+JsDt=h|$8B!SP8DO7wWJS@10$ zP*7xS>^a1et{T7z`C4S)wNhDY@qBPO5cD<$C@z~;5B3%&i*FF9lsP-$rgK_g>jy$Q z>|yWGtxYghm$tyoXZe){7CT*+P4Np34v|Z41X`zc*dogib6H)FE*alY$bb8iLA3q~ zhk2tplrH-19qfHu-5|)U%h4kLf=tP$W6V+8Gag0*D@N+v&d2QLJTux(Y)rTbX|QqD zHKxJ(7e1f%7-qs5W772*8wM7K(kpaA24~P{E8S5c%hUJ*bB4LJ)rnZlG>Nf9l2gYfl^o*yn$>pg4G6{(zsQ@{bnqcPLR1Kx8{v%Kq zcJnKZSkUqe>Qf?J7zEGIAt#YNa*zC5rGz4e5horMQ!cygYDE@@9jDohIX5ge*e{Np z(qfGgBNArR)RRnVE?9qY2+AbTyeExKJu0|=JAk8gWi0g+#Y10ntbaKX5mR~V-h&YW zNX=6uVNGDTDQO=>XhrL^Em)Ese-nexQz(Ed01(uz5@~=!^@6+7)%c?1kL_)g?zJ27 zExrEzTL-5EQs+0Alm~gvfkB|V;R+!Z+~8pN;4s&I1bGEv6Bq^YF8-dUaJGhKun%yo zn;To|5kf~{KwQ7bsDJ7kJe7U@l@ac`76S$yjjHtGbMad9D^Ps&gg@W6AI8QCS*Mva z5V&(-D!oC5r4DkQ(Tm%e9uVa*qE|Z->+j$(MdlBf$<<_l19Z9o(aqpw8n2K*O?A#f zdP^3?dv>Vu%hUSZJ}VU&UcH^*J%+5gA$Ns;BtA3x%k`*uwn$|DmISgoO?O6P%OISP z=cDzY`hb*4Y;hLNz)Ki~dsuNVpDy-dY9bq)68HmpNV9-5rIx-k+NR)85d-F+`g3mo zJ&Ujcd4QKAWDiUP23zDcmvdwfDJzFHNETrSJ8*yfo*~X1-Ep)2ZP`?J*gHsx|(?QfdqI1GERw+Fw0Rk-}pm<`o51EMWh#374l$ zsDN#IaQm!69mX|zc*xD`Rvm9K4kngIi11}1H9z0}?y?fGC+dY@>>2{}~tjw6idM`U~p{t%y5 zW8K0)mTLJ6+~oHdPJywIuB)=hm0}AVBR57-0ARW_iKk)HJvSR?@9-Y;loc++e`Kt0 zJ)eX%WJVcy5T>}IHV+H(3u(x>JXOLmsU^F*}DnUZ}`Z7X-+ z^&3OSBv8tyR*&8Boaly{3E2pJ#BgU2^kU20#a^qAJjdxS>;zLr$aw#HwLJoS~FN2wlwGan}u6d6dpnrDgH+qua{>B>YGsc?h4SPVD z#qHJb;}SIjsr6qVwk!+)zNPpyvRK#vGp7j62o}0Dw4AaqPG?hfp4g{xf0s`yyC^th z#opkjBs2Qi9n!E!ixDE%ped1@+?0r6TQ;sfXfL z^TPe^JM99Ybi8MHtW1^X|Et*q8}BHhS~m&9@V}{PqNb?CDQVYI)5Lmc~G8v8sSKnG(#zWuhppqsD(PWhv?J^DuhNu zJ$bxy+QlpJxT7=j{_bXr&{VMuQ?N9FVmYr|A3XiosYFr?bl%WI!4_CLu0%^r+0Odt zRh;!hXM5Ii!@kU(u8eN>jaQ4W-8-4fOgcxcxLz6_F2b&r4A`8qvo^j#9~r-TNQHCN z=gBt{F4=_%k>LJ5B_^_eY`zSanP?ACe}@fXLs`e`>EWd%4m*dM_V(#to5u(g1pwDE zrojx!?`ivBuJ<<324h3&)9!w?x9lwAlk#LlFN0ZT@um@9a@jMM8iGSXD~Q#K%PU7}Frnj2Xcbe3qP+gD>-t|wNJA+8_pjWvt9?l@-hg(}&Ae`-o= zzqlOF=#7XPz#KEfDYbn-mO!40x#AGclqMi4)IwYm*J?Tk()TVm2C*u%CLYOYxpMb-Ib{go<&2LFDdKXpyzG$;n{I9-BY+W>Sa`XTqmu6}YHzHrI z;Yeh$^`N1@&lCe-El0P=NSz1L6Y7D&XD`R-mDE(Pm%nNcdjxJSZZwxZYY!TK9WvnP z7nlfiL_DCkmvk%%uKFezhzY5HC7-=@eE5qe|Jq}(#ml^GA)l|@0%p01?|E;=u%V)S zU@o1B3!ipp^U{s$3PGsxkalOG#df%hGY+NX+IhuBp6{XLzGF18YpC~s@4wHv3k8~a z5F~+T&ajz#^8A^8&m_{cVuaU!a|DB7uvw_P&Tcg%G0{kLoPgW$gKaC-)x2kkrU!Tf zC4eVWbH)Uv$*pksvND>AYU%E`RXfl#?mz4@2?8Z1XUXVXSyY=vwD?z#+q`>`z-R{1 zB%*eD!T3(3}){s1$U!58gLv)LuK4i3tM*3ecr4Gm30 zv-7pq3~(Mm^^o>lg@52oIbo4{y<=4oW$l#V;btCJ$$ndPVYQ(eh^mY9q9~oStt;`>{AwHlPO%dM3TjR@f*H|}yRVS@ky|dkyvg1RP zaBrv@Lmhq3o7XqJfPGca@#_9So1qO{UGi|jD?fBU77=a}6f^7veP(8w1S`it5oNC= zpV#^AvkO(eC~V6?l9jTxai+93UdvmOEt6|!b5|5Y^)udDiEBhy>Azk+>yT0RX+nV5 z9(N!lC26q{C}R6cN@O|dj^go zdiD#(0DJZh(c9WtWUq{wKiJ3yVdGlQaG7*-ue`t*3qO5k4(J+F1q_3)pv?PJEFS(tprr5DrQ7$IJ`bPL9Z z;?)@`m6G@26|{A(Oq@fc_G3=}%yr(DZ;Q6lMYAbNGsA%q`H3MdJN;vKt&05dSPioT zq`zM7)uHKj5nFeEzW{9~#l~}Ff<(e_eL*(}WSw>B1n&`sYm2lCduj-mvNT#EG|uD3ZWQ#7FL#QV0R8YNMFF$%r^w*E30cYnp3gks=mLI| z0oxssv9(cfy@p7n{kLttTqscDLA(BAs2#p296nSHr+?IcSj%KUtlKdO>~MSZRd&TW z8TX|iNfUDnMU3#wVI&zF8^K9C7mq*+LfdMp29*I4#T%}>n7O16$jV7GvAsblc_dSw;Kbml zA3qPLHqw88z|%hbNN8A$MC`4tndyoC357u;$FmU0TGN?ilc>g#ayZAQZB?5P^6gOdQX!b&X*5<=fNBoJOA<+FN|nL7&wRBGS%e8j=5Ey z{>~r)v<*_sjzJ-=Cb~e(J#-Gbf^RbPi}(eq;^Jz52M?tPMl(?|ZBpAYiOh87=#EgE z4!xaD7&)|}2uA4aE_TPXS8|p!?g!qcdd9Amg*Se8xV1-*Dhn`{78O?*Ous_IV!`Tc zjxi_&RQA>jiRHU{6c+9l-wPz_gs?T1&A@IHSz8VFi=8J)RWtG`+OY1AHJ1&$2h*0? zHq8HjF!zMt&wQ4e2w|8~FTgfq?TyO`fQ+(eb{7YOqv+1X4yxlmS(9g9L#=a2;eYN- zi``IH1Xx61ND#ZvG$`d8+oRsOe0DGFd|r^sw&AuYCdXQGTo-yJEaP*nYK*C*g2PbQ z_cZ4k<;pZZ{QHbi&3KV{E=8r*FTz}7jK@@eo0i`qH{rF4incL&Tad@K=G6pR`eBtuDBKgGp$W3%UEqtXtboWgjk1}4 zD-E@XnHtiEZEnZ`cEVYP$ZvDNhrwZLV=0sRO{hP^9eG5@2ffm;{7DV?0WX~AT1$?c z1vM$Nz;r(}%(~Vf85LT2gA05I1B0X?hme#3u6yVwIlg5>nhS;|*Niqn{DCl7yRF_>qQ!=Nk7DteaR#=cz%4mQ_rQr<=$yHO(&75aDt&G<4CiDJRjw!#8h+ z){hcOz7ct4-<6Y1HGr*Y5Je0~r3W|<&=%?4Xw!PB(BhbNRJ@zXI~{ zE6_jl@z%_=f%m7$7osc^A8B~XadqKbEHX&8N!lHDxE-xqhJ|C_tIF2;^DzzAJMM{t;LNh+c^m4o!nUXa}wmcGP z*(T^VfNlUyG%i9n0Fom2+4uW@|A@R)H|W_t2dIpQtgcH|W@KdCvSc*wXx+@vQPasZ zP-(0-cvV)gD^vvjL5bO8F0ZG;$mh+!xgm8h&C^sZs41gBEENZgPKtPxY#d`2l*%Aw z6B|i#T(u+`d`1G_ETZY@Y0^|}yg|}Op-RtaUa}VbS4liA+uhpl@(eV82lUr)C+@3@ z#{c@jPeJh?v$sS^I@ToR-3?;LHC5Nn+Neqo>$QuGsr^r8MJJ#z&hPfm4yNmYi>_&_ zx@(2Sm!`Z<)7>+skH+~43zkcnvb@GSYK#8f$o%Z~;-|0@3qi}}&Ok}f8-1zHL{NIQ zE~wmm68zrMAV5Y*xTidS7Yo#9eU7uonR!McRb@~&mx&tZn(zY%&IOXeqlgzbtmdod zAowU46$BaSsOogH~G_Q?NKF1m*8fSVjy7EQJ!oBM# z8tqiTB;?Jx#(Hi{37WRodQ4L9itEX$(U?jajxC!fSA%l#ad)|Y9t>t;daD4VoUcIV zm@B)7wu!AC5F(UDpGR6d^Il;iCAtW~X9YPoT#RC&T`aIs+=L5Qv>!q`{wuU*?rTVq zS)8M8{r+}$4BKk?@}}w3N_d^3#`E)qCUX3OL*{sXPJog2Nh|8D=jWJnbMv3)=cuSY zn6er(S0*wOL{8s-aTf`dip$9UV2lk}qP(M5xp8WmfP`|?1=1%qsQE|(_+98}+rH9w zkvr#)dPbL@GzhU9z>mn8?W8V6lWF4z8K>Q>3uQNrkUo)u38O>`rnKoYd()U$*8q3Y z<3?3g_Z&giZLhK!DV;~Ml%JU!Os>$&`v^7G1fQmS_VoNZAr1Dsb4hc?E zEQmZEV>Pb|G<(IJC=W_cgW!WK4 zIOAcwIq{!=cf;p~?;*|RQ@+y`QD)OLRwTJO13)0oYP4&8BSk;(rwwjaz{cVuZ$Qsd zOi5Wek_7a-F7}VAO7*?kcLGSR^Jkt~))J1j`}X6#6UGXtfy7Yst`osVYt0=&qNUE! z6l)X2sBX>HQtG-}I4W}O(xw$XLGa-ccAZ#pa7Yw?Gxs4IYjcT8TMvr3gW3#HQ8^BZ zNLm-X{ZA_#91&IDEZ#83=BEgX^MGmCj__hk$*CsWs3PO)7M{^kD2$Nq32JyopzbN* z{*pr_uy#g?(r8%UFj~)a=jP(&&*o{JHCW`pL<`)AWo1|&)Q zoWz!YF(n~MR7lajN!`e37UVmU*~MG9GV?JviXL>l^I_)MmL8{Ws2XGvkAFFh4k-Am zeYwKeSdawm!l&)!>Ta7!SO06*=wtf}B^<@lJFODS!nzQOW}z%c*XcbCdrhcxMwuu| zEv$tmy`v%)+y&#aMK=8tZ_C6!kOOj$897yC%Y3HL}*nI4sIDT$w)*iey zaoy)&#KWSdchiyWJd>QU81K8h1#^c_gXJSjLlqd;uD-t$0!~O&U>eg3@ z)sExcH^SmHZm<$;mHTtpNH^ZAqr>WdgZWV*g&-NE^(c-)Jtw_j`)*Bl>`Z@2i|GW< z!8+{&SIwA^Cf9(JjrS^CHi_(lh@vjP3t+$ds|a;w1g`7AKw4j(6SJ$_7#O0<{2rOb z8k9amf7S+veY_Ne8OsAvBJBOUcD6+2lC!I2!7;Rd8K2sv z#SvH*fIs2CxDi3k=6{HOYS>`fP`$Db#>JVQZ}P1V1Ge* z90#PNd{}Gt$3YHMLT?(ZB$fVUutT< zToXH5UXq_?i^G$uAODGe2+_!B6bSj5bCjVz2wFIFQ$}A^>10N2?P^+?X^b#$1yid? zzhkzjD<>N2k)MoU>ef6lPF496tV;ej=|~c2cYh^dywVykAmwB}be_8Pemg&v5~4&6 z7PJi-2x#|fUbl*OXDm*aeo_O4Bh#GK1Y3V=N7}MjNVIK<7oPxs=h-3)R9dG44#L+c zuhN?#2@}tCL~PT;qHl7nV`i@(h;kJdV|T;ZyKFQl5F|5onOJEUwoM#jT++Z%A?W|{C)2Pt&K z&?|KWsfkN}4(GhWboxC`C0!oyZA5E~9z1SXA@o*3EB2VoMcz9P#R=gqXZ7zk>LgYV zT^|yqQ!s&U$nD#fwL-=2ZWe@4v3CRqkVcqMBSt2mj;eh)MlU8p*jdIe?0q*&P-u#wx9Nrb2~F1$34iXVfTjUsN3306o12iwHt>ESu}VyUb$Fh2HlE$ljwVy zPmmg3Y#}{vgI2F4q>8@ll>7=oQm*IK^2-~1@pICMicxq>lB%oA=sq#-^c>Zfy|2KC zk>Mgim63AXCg!5{bsSw+T{QY}MV~+K2yFwv5nh#zK~0|g^qeWO>>1dda)Ewcn-rPX z2))dIJ&_|Ktr7JJ`keTXGhbPpk>%4I!eN|Ee=ov zVtf(ZZ!Pc7c5X4UJ}lR(`oY=Nea*Y~XtPm&6_OT9PGPk6%dWAL!jvynTXdzK7N>Sp z?b&f)%T%HKakjc;mg*Cqm#Xra3QE{<%_mTZ{|`I-j!)fqq&tJ>U2j{9M@)h}ORY1B z6X~i~#bbs2c|4e(9y+7vw(W_Uk-7);ufovih}_t=BB&OL{5*j(D(o-4-7Y`kLTluI zIzM+6YfU5PC8i4Zsklc@G~c>4kv-_`e>Y7aR zd`+X|7IomdTVYXs$189*6jIO0x{OK9ovJkIH&Uglf$9T7Sv#SiUxi>XB8is=KkTTz zq}0>f+c+~efs4iXy8V09RwMTM`)A01Np9ELS%3fR8Ink4Dni@dCEMQ~BQedMe*d)* zsVJg}#EyzYA9U|QTZ9*rMgw$2@SP&VQ}=zpl{1umvgYW!s~`>Cc{4^YvXM(;jnen~ zI)~TouFE{RvAc7gZ|kXLEg|yl8FAJTZTwWpDb~7jm$|m~2-G{_LiQcgfKu`=%2>VM^c8#Hif)(DS%OdGM^rYX;KiW+*g`^q3P1;rbxW?xXX{ zKq*tECXyI$g27&ojf^M#^vgpIm6Q>`N!stQBidjvCiJH~y*$7xIPm@Vx;8XcxpX$4fCW@9Mk1U|ceO8z;bt*xgv>1AP6 zYjW9iH?^I8$1d(`)Y5Y{mVN6fVj;-2cx^=%#4>4TtAA))Fb914&C9-ScdTxEkv1i} zcpL3LHX5Acoy6h?qm9IZB;{2nocDMyp^vtB*#7ay-;W>P#7zFz>pey}0xOL+x_X29 z!J=)?fiyVv`Rj&%^U8P=KWa*r@p2$Ch1tn3x>DnPxfr=iGx5Q7N+#TjCXKvOtaS35 zN1mZfG@ob}B%KtiDXT==r;72L6y;v&S~Ua7sDD+e*pMwJkd`A^u+QwUt;d+czzZyA z=K`0wh zlw)x6neOHrdYyE1X+x&@x)eh7O)#3A?d}H}F~gn*zWmKmj__f2fA!!O2XhQpPgbAd zxjuWnv;X8S;r$o8pZ@ygyBCi>-F>+?efQ#vmoGm5^xs}S*!%n5-yiPGIbrYi`07SNE?z)?Zchxc8|r*;e(y&lZSgB@BQ6B(M^AnsC}z3T_j$Z^o{f*69f253`j0=~ zIZ!_S$Mp#>cCJ3Vu-3k4+yuc)xS@{ynFZUXIK;AU(Pmt|H1qBJN;G5)i&Sk?ETC4I|t)t;5hvhHF2@* z#F-C&_xAQ)yx5MHdRYM8?&T+YFCV_&`Ehg+?SUC0-R3 z`x5W|9*`p_3`;Ok0rVn=feusB-()Y(NR-b); z_5C0I@br(*?myhSzegX@fMvLgFXbs)Y%6oL_456Lou@lr?L6C=>>TW@KKrld-#>dg z`SIBg-~REN$sfM|-P4_;oga6;eEI%;G}!R;>66*c)2Huw)ZzB&&dv9Y@tt4J_&W2W z`#0Y|$g^*s{^sWUCy%;w?#~KyTs_%;y8qF;y}i#qdhiL~?8z_vXKT;-OMJl<18n1? zA z+fbbhEVgtNRs%zQh2zD=!Tw_4Y^;A;*bVH4HM`O(eP98mbG^l!?dk(d{@fOScgQwb zUY<>drL*e}DEfxm@U|%5m+v{}Bn;y^oD4W~o%=BLkvF(l>VK*O)k1Zk+5~*d^gq>s zYN0w%&2iVqlYz})^v^BWG>Pki>Y!VQaJW3wKet$_TBr`Xg$RciEB)&UR(^t&4}Jm& zCvVv0W|+Oc)c@I|0o}0vA6@!?__>a|!{x>8E-kXZ0C1_ZR4&;CXYhe!wO6bahI527 zpT2**pCnH-kGl(&zh?Yz^a+==K(A)|8c){;yDItL z1s)ETuNl=mkRMkqh}C33u@S&hxukRn`4t(VUtZ5M`c6hNDM z4e*HrE_CBk8udf?jh=&dlx2NbWoD)UE{b$J+~Th!_nC9fem&@ExVbZ94?vReE4GEK{WZ5@(ae=Vxi`ZKFx!F=cZJ= z_t{JmqIlyWnTYTw807k?KC!D`4a{Z4m64Tf@%W?r4eTj&B}a_A~}n#Wt)Tipd_pFRKM@1Fkf<5%DR@O1L*+h^ZBjk#|uK_Tn2 zLg?hpn3=Zr_U`9J_x2v}=#Bn=qS9Y(F@GTBvzKzO_+kCXO_0jv6-F0|>r4)I#{!Taf z_}<>$FDm)amGC|Y5BihuX(_k$ph-BlPoJFc+=hhn?CH*%PQqbt^^kDhR0-$V)8D+= zlyKGr6=kLF1(oe8D8At9@eL>Uv>5z#MLw=)Ki)#nka}n&r%1?PcD!bW2>F4jkM%2q zlhAI48tiB~a1Q&_ZS6#VrW#~V^)F@yUFZ7z^qdG;^CegT%!nUoTD&(K?#+jLu&sNz z4h;7^JN42DvoJ!!WlY8gFfu0p16%)Q6EVFB(QmURmUQw#CrJpj0}^LW+2CoRVj^GU z3h?vklxYY5s(@iWu2cj(Q-1-oI-O%D{)K8^;hUNTw?7*8kC~BwG|lTU*`G&wkma-x zrlKs4mv6Y};&@`N=oJCSg~Sm7cmPUlrx65NUYs9-q1_?~KSalSmbuQ)uh9=pj&3S= zDR8CfQAajN7`_B(J0%R-Fh@Uiainhxh&bZoqbQJtR2&FJz*Jjb9qTY(O-4^4$_a8R zbA>_NtpGG7`rb=NZexIqg#9#7-&|$RxvN+%R+{TedibPF-hm zoD`8}Li>yfKZ`)yWidg_vmJkOfCtrtzV9o(VNOJ9ZIWz}Vd*@CW1Vr?)derL^7fPi zp;L#1I+Sj3eXMoBY&uyeV=S&e`{$Do+lPHV1RaQl)MRRZ>)D`e>56$0bj8|%gD1EG za9(7+P|Io*{OVt`phgNMVW`%~#7Cbb4wQ!SQGw{g!Qt+3FumEA%(y__JHR+_#P?#5 za0}kt2ZS?8o>#1pX7lq2&5w6UM?i*D$7+Q9fke|RCPh@86j^p6q1AvIOqn1GE+C~@ zMt6wS49Ycse8LwK3y~Y{MjZ;SOc$WKw-{jtb{Z;!<=_ZWl;cDa*u?U@5O@wRe(+|& zy^l`b`WX<>`OZ;XQc589@pFneWzIYh7DIkrLOdXcA0|NLZvkMsjvc=c6!F%JWAqBH z&9|ByGoJ*+7=|Stz@gN20BG=w*YWA29DjMQDG#oHk9l=jfB>-#(K>-w}BMli!k1`>Y_Jvtvt*ohw}}j&b9cW8V}9&hi}f zpYPhP7;wFbDq~qa8WE>XF8@*YDuLU2n^tuUPqEKi) z96eh`1?gE7&#^q!W!T+mb-_!O@NdQlabz7HQYi~8wFs*$7zr(Dw?#BHxS(4UP@@um z$&!>SIWHv~vH%^&y=pOI*RYexF;jZu^$IsGoDcp5Hm>N=*O#D=4;2GnT`QNkj}JvRe=yN}4Xj6` zq|b1?)FS*6c`X_ls5INhxWG>{K0 z2}9DUl?z`VT=17^kPk%xU6-$r4;y6_SMKp7iUD0dk;2u*-UKy|fWDc9$PFx%C1U_dej z9XhC*<0#L3V37Nih(zM;SQevcSLOVSQMka3-LNxpG-z_I3{atMw^AhH8zw!7?!Cg- z4Ms0tz|-y&^c^w)s-IgKoh@ycM?6PIAqB5=nB_FVT7ojp<@my2mzt6f7C2Ri_W-(_ zj%Q0=Pyj!sPeR3jz;{62jL(c|io3w<_`o;mecd2>((Fe2x-dRxv4LGN$w;b<;+B`_ zk`Ig)OMt6$7ShyVc{qXz@lOg88s-RF#0i&*lMgZ#Q-(PwrWzj+DtT%f+LV|SZiuzx z3YXE74_8eSi(-QC&Yv7si0iYYnQW*b5e*Jcij025y3li)y1tMzRt8zp!T_@5`N0y_ zR>MZ;fqNC4IU8 z(WOt&fuDcO_HQpP$^&RyF`1;LJn&&+9DB8u0+0Aj@#}-ZB9dz zW=!+w0Apdq_$afP0ZGMSeBpS;0pT6W>}TvYnAd;iWw_2g6R6}rm=*mf^l`ZiA83EO zpl~OSmgkE;+H#I0mIBZyOn=s1HkyZ(HDfTjlqic4fs&N+=#g`~ei`h-P9!s5f*O4q z`4IRb(nHtPt2D9`TS|OUEs!gMA{94^w*j{5)Pl37BQKH*5os?rA_;(@?ML zw-$fVQwYNSgfZjX~~CM(rroD zt;dqDR=8ZDPo#p3cHMI@%lYAQN@|ZGCw>`C((HNf)$r=`;nkxdSEo_Hg4&mFU%Y+k z_J!M*ZC|u~$@T@?mrLlf0DQXk$=av-&##A9TvS?ySD`R?b&W+hj!4|A0&&8<)8T(q zJ8=7mV&@d`+Xw40U$2H!tbM1@#j5fYKosd3R5<{vQlaV;P7zRHbX+!p&fe3JbhU~V z<4C30EYh$|!%wZ-u>RBs%)WDD=8~Oo@PdtD^jK0an)i!3enBSC54UGxX=}0SF-SQ z-$jVTrB$M|nL8$E6cDRnad3otz~XTC6d{XTU{cjBFvZ)45a4oCauaT;uTm&Ng>px603h>Y>2E7hLR4OPQG#62eWB7q`hI85p|F}HPiOhduB9?Av zH4qgw<;r?WFV(Z~6e8cnT);C@ENvvpvLo}6n35c(uC2A^iZ!qxdVWm-tS5-|m}{cR z5I8CHBBGrmD-kQDE)$fCBh8=*GG_(I>&mmvK7Tg%>tMwlhG)8oj*Nuv4%{;wW2?ym zI0w>#X_9Y>Hs*Zw78?0r!B~G$%afT~d4g_B#04@MVgltHWyU#AfTJSak?|Vo%JniE zq;xJYa#uBKBRy29IAbkP5&jXHWX`;cs=G0}FWR@hMwn%TRh%vt*Sv!WxhlDLhIbR9{}$%JVTwFgVNKDQ490(el;Uk&8sOiF|p@TwDM6Cm~x zMcg)Y|JjAT5>he+ zYuL!Vd<^mio5$Jo-_*anhS8y$4HJds1XQ@aF|+r8HfKN6r|_&$76iIJ5t^z=(11b! zD6$(G{J_MQm1QyuG$uU5Ym=R6g{22lCb@#;^kZ~$atrd>#I}D& z9{G2fR>tUro+#~)J@%r;78Qf#`!|>ukvl`2cyV>WENj?$8a;4U$uc8Isxy`LFFkuh z%HRbae#v096Fvv{U1}H!IVc~BekIL2F$k%7sok=0$hLprR16>gMJfiweyO6|XLf5< zYc{khss&c@AV>hRGoi^~<~uvnY%RDfoB8UBG`J8Wq{GJ)()Ijw!hsUqP+tp#2d*n! z&@i(ZR73+wXIep5lrf;}1xT1m>)1;@6flo>Tq z0XQAR2?31MyrB}BXqNZZ3?jUd;I9}VVHYcu|Be@m0uKij_;Fm;3HkEk@C3CstPD^l zI~7Z>5e0aT5unwoN{vgEmlzQZc=2h#oI_ApRt+(4C;|?a=VNp{L9%_bt}rY%_L_fQ zEFM6hK>!EzY=(dw-PiC5Ef5<_M~!?j&Ls!v`gKMRPA8-76O>Epxd+Gufb&=~H1 z?S&X!-ZrwNc(GLAxbQ?4wX$9bLKqT8NPN;Usl;RTv@nS0gZW{Q%sZ`aM;ExXOz_WZ z9`#js|6t=}DJTr2fY*K@;VWuFnu&kUB}bE8#G!&Pbn_izJW6=VD+WPx$`}p5Bh$vu z?+AtPV2WD$lJ|r06q~f=?0PEwd;3_iIG2T``x+*;xBu`>q(~}nk`xlbSYIG)brDg6 zalT%4xsudF2yS>rDAHD+*sTRbprC|{gcYEyq$nzGQmFEgD@CL!1-TP1bH;y6|4tG0 zQ;v*E7gBW?DlA2COpb;KQxSN99}^5WHJx2_v_NZ9PV`K>zJY9K%309Sx{g)S?!EYR&?g^nt8 zQK2}G*i`vx^A*6fUoGYR7lTX}jS$ zcUMB4vn%C}tCrbX(_5TVrfWRJbe>jGKVM%k3K&z2j{TF#O_qel?@xc_f=!|2V<@1q z=z35k(0>YCTBYJ+$M7U)mnxWAtH7JxDQk)}S<$t=m2~y21dj?3y{aG|=u@@2^pryA z?`q^x#iFYvw${;-TDn<5ODAi1c7P;ocCcFEq=Xe+>usCl)+=gVf1~VY1?yzCLduSp zXzg|d53ieX`)u4(KJtH(=iSMIqE&msrI!Y8wBVV!1soGa8D7Z(B#OCoq>4tq&I2syZ9MGXZ5Tz!Z`0Lu!K!##-?Xis$d1kh)Bf6kBLO z(rcVV^cTJZ-F2*aa8tLoh{uX~D6JlMuYyc`^MJ(}5`q3+S z1Ujw>uShMCD8)O}y#fp3_=2n?ich=sIY#{005wt$#9qvq z--$=#ZW?Tqdi&@q^VgTGqYsD!zdpd1H>3|f0XCO*qz@(mBbS||55xiPmtv(4HW=#z zWf_P<*WjhDwIm4X4p^=$8eZlc*O!;Dr4KKE%(BWH%9FN_+Eg5Db+{-|M=W#m$q}RE zS>@6qT>a*z}y1@bkWYq(hZ2wP@$P@98a0<}Bc3pS~R&zFCcq0(fN|o!?|w6+gj$ zRru?zWEeiYc3gxdU=^221;Zt_3&grH zcR?u^!qdpd?AwM@n&rktOe^_UYP5KRVrAE&=A{gAw4H#|*$WN_HUSuBlxQ$k>0`~b zICCmN1iJgEELWKyM^9o+a~Q{XmH=pf!8R8+;vExmtK1BQXm$2QSgV`d?z4Fzo9e)U zc{uLJfpt!va9x6XuQTKhNuJ$l>tw7bva1D2qVQ0RA4F(r1i^5WcbCNeQ6RAhmp%pz zB(V-7S>W(*;oCJb!Ofg*3rfg)-SRC(lM%z=hJFb76mndOYd94K&Y z4iu@(friT*m`KiA!ZznXQ`hFeHCmg-qM}|c=Rkuw2MVrpppfy8%N&^BHHv0~$_}A1 zfGBgIWvSC)R9CBvU9Wf-y`HpxbTTSfZlYfB*`Z%5Jb7BE!T3k=-smWv9t&VaokOa6 zidT^LZin01n+1vX*f%-5|E;$p&U`kv-hp`X#j67SszSdOgwF+Xg64JS(=1v^Z9^Os zDtrS@5An;o_h$GTtSQaW@=kKRxgkY4smyWEz)N6%uKw0ZAl~ve z93xr5TQZHo$RpDy2MH;{TOMSXavl8PU2*at9RqKN++K zb0+jw0zc&w(6TAhFK|hJMvH55KQ)2Us5!A8Y(kfmlVQ}+nX7n`8S<3#PCOuU*f|wn z1)19kf(blxHYlMTVvm#7IUS9@3A^>oWa7jKgC$8o)F}d zft`mX=KL@Mv&-qIlTD(zW00&1Fa|h%< z6x1*wZyJ?3d6aYo9%1n%9JQu1a?#n56M2DFb#9E*#%*2&S3PI72^VX;J2S(~{sCWv zL@t?oO2iuX9y0l|#7ALb3*BJ{2VkwR`Q9 zy{XVz$~ORwqcZYQytYe=fLilfCIz`8U~E~XZ{zf0d03Z+st=?DH*t%bmoKXiL;;bP zbgK^_3a`=8Q*GiHQLeR@o~sWj0v;%r$*T`40n3;4s}DgMAKYEzCUzd(5yc_FHCmtQ^pUnDbWg|qtBx?!xK4?^O|6B7`cli0Kg3M19m+Gt!BnnK=!coEMEJXHk zml&-NGCD@~tStG;iWx6H7|ApzV!bhqIwg3<@2{>hfH@u1xz)W>GBTVJ3Ok#@E|lPh zbmaQCfJ?sTV)#8JmxQekD<4|DVwZrjk$~b%d7yQ{hF{Vx7W|#i(J_Lv*jIq)S(nbO z4>}cRArQ+*>IJ76j#2>gr-$W4_i5Bg2jOVPL!A8t`8ysxR(X5 z4=MqNmoTpn9|0AYP_GXZ1`9ZXSoejOYOfDB7BmY{eL$4AhfbvJW4{GYiHfS=toe3P9Lw*wf9IU4UPcJpxt|l%RXsgDJw3ft*UC1gON=0)s)b#O zD2o^uwSZ8#EB^(QUZ*VjJqPP3nB9*gyhZ2r!33rNnU-o$eZnh_aq_}`{fz{`Hh=6S z?u~L_j#No(OWX2zhd9%`UH=hoI^OY-8* zR=G7Hh$Z=T2{ZHyYJkrc2p=)zjDP0H^iB8UUeVat2)9S?pwoe-c_@V2_cQ=dK(D{; zWeO*0+_&DVxPJYe4NmnNu6H)j-Wgtf`OcQ)#r>V%+dEs5U)MY9*P3dezjKaE-*i9j z6}_`}e(&%6{?^rI{?cXr`a2q|cQVl4NzNhkdt$!~=0s5|!>B>R$``gIwD&K6+rNKE zb3h78@=?B)O{*r)!Q9}&n<5Awm5z=|-ymefh7%H&IP=QSg6y4JCsEQM0h~? zJPkpsV$fp`V$2Af!4L$#D<~ajSie@Q48KkxmAI}7se6C0jcwyq8{{f3t-pUqn<)ox zwYJ+g4TK`-G(n62-PzGE7K~m6qa7zaM36&KQZR>XprhRP)vMBV&Lz#aIfK^!s2w!&M}wvHfgbn_Q@&k5#rXd!Rks&cWWB zv8oo=?T*7aP;o-G5*1oGS>99dX7O!Z)k4?}|naHg=suFy8Z(LbkPyTQJ^GU5kj6S-11 zdLWkvFBzdxSy0}DPbCE60$a#(Wbz#fRI#$v#YeF>zLOOSZonB*tAG@rv<>Sdvby?s z&%zVzYjX^}W#Gg(tFV8GaD)fErXY*~i;WTX3p_uf^)RQwL@~;P$d1&*PB4NhknIW3 z=V~B)FqaHw?2r~Z?!Dp(pMkECwX5SYqZD4W8_*#!e~1caD8eTIRcLIGJFrW20jhs^ zph231>34?&FyyUU@*#n+4QK<1CJrzJ-NRjoddLLr!M2$|pHF`&L+gd%&6~cyE&~p= z*1@P~a?3rzeB4BLaIm;)iBw9~5s6Eq5%B-Q&P?E#inKOp6p3%G-$(er!G-!%IiVLl z2g){Ru#zoI?CVlx?Io5}oW(a33@ShvOct>#WNaz=LPVQ7ZTjV8n&EnHl zrq`(N5>&Smgykb4^)U`=SK*r^MK4gyF&NzGh1FyL2e#mK+i+}ryfis3W5Dq%F{B&& z&LX>E!e9?&7&j>8S^ziut+4L^vRm*IS`k5fMjrW^SO$OjZF!-AJHY?8y8;qk!|rW@ zf?6ZH)kD15U=SGAi&KnUb;@OnpANT^V*#vz^G2_y30}R0Pbe>xW$!BVqi199V`Mn8 z7qHpz6WFSVudr!R!>B}TvC5)?QhBr^tq39Eoe9@0NL~cf5~Dmr*ECY6G987WeG`HT zzKX53ReXPs0K>zobe#zAP#IhPLrzDpu(38w;Xaxh#8#0NgTvI-S&ck!#kspgSGDPS z59`_+K2u6l)XlSyY(in-g545KJgR0%r&IIVVP7Ky8VCwU|HpgBR6+aLE3h`2(hl{6 zBJ?Iij5E#)N``gLNnCy;Cw8~wTaVh7uGkeS4efv6`EUbFzy%e%dB-e&HfJj zLOU+XfwokRHy|EvHKjd9w5fH{7gf*OqoW7fiW+4=XaigZb@26jQa?<&aK3e}sKU!# z+ouNL^W?e$R{uG+T7qe00ggnHkasHA>~GQC;_3B9f1pTw*Du>_Em~yX;@TEoq$Vvv zGp>Jk!M|w5x-mC2(ytrzRmwyo!=OS{hD3nNHlHZU;`Dm&nnnd`)!rM%!sBunRx$Q= z$O5ld6J1ysghEuT-NJ{kRoPZl=xMQ)n3kRs2-1Km)}KIIr}C#2*G%yl^o#DWz^kL% zG87sGaP7qsrjnyuwv0X=31iteyDwMYQ~Q6@x|PG(B^wg9F!8qxDmmQxu3dQ(!Rk%| zZA}cQW~7|%3*CZRT~@driC>`&s7Qd8($$eh995nxVmxQ+g=ahDvd99&&l4K%T+39J z8-ZU)6pu&B<96MEoQxGI;|<&fLQw2f9`eBA(?zJSz&Hphu!WF#8c7B^3G))ltk-|T z@>L7IG_fafe+k$9%wgzWEdX$H*lw*2;P^+{jW8*oS7}z8NJ)b;QqnR)chPC-X&8Hk z*gR=r4aAz!0=JiQ1)O&B)mmp}umHu#w+z;9PKeOM>}x|LD6s0cUV+Iy|YdqkTH`dv;gnE zTr1q%xCA%iTt>+uhYaw9hf)SYh5gRz4%ZB`qYn3Ea9=hA#+YBBx;?`Ce^-KIh3V%O2dE60rF82 z&{+BVEB^)neBS_A^?-+hf-iDlfgl2?gHU)GqLiUv^6_1Ps_Wlh?Y4VWJ32=!+`-Lp zla};Q64eOVB(n%=nLzVZG(2-U-zjwEXUkx@MeQ0X?Mz+CE6TF-dZgvbq)FRHDQ0Q} zGM}6*{&4TWSpuKS*8npJ_7Q&*&&z~{Z>cTAxJfc+0H=|yieM9+ZISd8CePGPxwL@R zSKvAzqIKjxfN}3mM{oNBQvXyfxH{v))xIU!2Zn>@VqDJ}mBXfc0}kOspm3or(N zEFfup>SvAKG1>#CrI?d})#x#fn3g93QYDct=*ZdwnBT&ZJPTu1%CJHjFzo5}Yi5?s zC~)OoFK#jxWsI4DFJfpsk`m#GszySR2!=3?(n!`+oZM!%5|}?@8sJma(FfhpnuofD znm?%`alWd5T57v{0!e@B3NxB~4QB~MMF{8c(;P`;bC&6-hpl5YIuJjc4gdrTbKtwXm&8|51$lE%8f2^g;=sxE3VKM*{P9e6c39zLv)CCp-*s$P8 zFub2?^2lk|R7&kR>mdNXAQ}g=0nrT3%M47*1l9!j8THrDb)sRQV{u~J7&TqV@(YXh z6uxa72Wj?4hJt@EXK?w(p)8&8y?|`gqWY|VQrh1jlpKF;5gD$%7yIv32P7V!B=%Ob zUv4l!^Li@uFdL(aO9 zSbP$@QNRvXRE#?>%$!~MGl=)`JfwW<3FLEbwDJrq$o7BiVVwEffQtZ45*>1Fv0(<} zZ3(asYU6@B#KXPoz*}_`XBTP1gVICjG5qNG8l#j^C=N!q!8~+9^|(Lca*l*5tCkpn zdp<-cdr+KbC#Cao%THB+e94GVxN@`G#!93$j~|1$24VoT7faLmrNvGo=r2Q%tBC0F@C)6fX3Y?Wb9&4_NNLdkB6}kPs{Ud<{|S}8ooX(Pw>x_(Xi+&29bNz0Gu3DjzqP#?M}LmX9$IHupQHyeUp7f=`` z$_alASj?&>*L~`MhrK@lkqs9z>~KBB#w%V#FQo(1)TOW-7qe^m7%5)jA$aBmy~yk< z>dSjB&CZXzK*+WOkrdp+cEMn|>@H8Sy<+5hZM|a%0-+nOL<_oaZPKyzML;mfC$1#} z@#{Q?(;ZqyA&a|?B~E}q@MS0V1cmAYZfk#)P<*coDY)m9o@>kFXmV;iCaSqp352S2 z9PT*kbD|05cq32|%iEOPeHz3-OYyXg4a9;VGdHm72xnwPnR<>>dDba+vMqyTXW1li z*4W{Qj2|OLh~*N=5Z_7UDX1&M@Tm=mtCXR87;79Kn9xKc5kf6}kwtKbyQywwu>Wr%ZRua&x7fqUjE8-HM z{`l!|@QV`L#k3R9zyj2Z2Vmwj zq5V_0m`Jb%q9s80nsY9U`j}xSR1SZ3Wtl*YCImosB{D7CVp&r+Y0egkDJL&A@Tf+z zSwIHp7shX*V23|g;GHfb=AVwB4k-a>_U+>lCv(+P9n4)_OvHzWr;)N2sBFMIjoLOw zwW{9KI;XtwP{KCtF5zB+76R{Tj3e_7YbF!rv}>=;FBQ4|)mzQS;F1Zp5Te2pR+ z*L)%_+a{<%ctyYcRQG2GO5LBXCb9!da>af%9-Isztb<$#6%(m|DZclHU&K(_NDE@0 z?!7S>QcxN%5cFNqV8s+L*cpFi84N%9;PTRN!Saj~T*T7#tPK?C#ZU0Y*d6_oKU|s% zhzACZ% z52g@geVIB(An=hlSfj8v7))p<10NzBiwQD(3D;~&lFnkd0A__vLk3tGdokd_g+9^1 z<#WwZOR|@dsvze`0Q^G+6qJS&k|D>)Db18T{t9*mGSz9sW!s}=bE01xyN7OUJU)jQ z0;n}Cir1Z6y8A*5ImLhBczfJK*bEPxq{!f0P(8#(157Z}$g{rmFdMNd;tKo-^;EGz z1!x~3&^2M2fnh(|gL87T_sF{@p5CT2jgu|VVq8(SW_aC|ZyX6@QYcR4!IYwh6^&D; zP&1Tc%(gm#PzAwg$0$r$wiH?hbsz?PPNxtvp-eUKGe~_b084+$$!=Sd)Lak;q45X| zb)5sluoBfRfW#VxG)Xj^YKV$Kv;||PVAEoUOoOo1DO?F)NTN?58MYUK>}%LwOExDw z)g8l%Bh~5|dgqYS$3)2+r7Rrf6M{2*_HL#E6YrbBF2tQ_ZglV;2BvXHl&f@<%#%nBw2O%WxJ2l9fXAT;!u`TFpl1Pn{fiLn)G_* z)CacUc?A-(1pz#zxW>KHHLxKy*^m~6nv1e6&R2VHvgOi9GEf$&nvj!*TcqO*0Vmrao#?zG=mwehKJOu;?F7+;LC{-TQTg~L zFCV{S@FPJq$v~L_dLaSg84i5HDvbdxCJyZSa9SW!DZo(qgAoDIKgh==^~iQuulZJK zNMNZr>UxBtYhsS+kC|l-pr7?=4G3aOJuQ$m4qKOK#t-WqJ$jN&MQzj?tTU+_ZxY9P zNzL4>9hi;OHVYLt&zEq=4`P3Q3tyIyGv>*r)(@vR+X&_lqeHtni4w6ygNG1xE`{FO zK473hAp-4z`!|?fNkI^JfW}wiSU8ISC?r_c4>me!(F##8$tkkSgeE<9qSjx8(j7Id zr&t=u8nq0qpagQxSHKN2J`5rDY#a-j#jNC$Ajq*rn45g#5hX9l&NF`s+o^CK%>uxF zR6qwGK7#jZ(CQ3&HORVzIjB5qTWLa8T+_rd{s%Tc2I;dK2%RLgRIsy^40GOI5feuM zIYGD7VgE3QDA7|~20Dl07H#T-!#0?a;7U>omAc4C3QNKSaLhEy98+K9EboZq4EvZb zEjI(jK?q=%#`~crdkuf*ld?BLdu$tXPB8LBny}Md674Bf?&I?4c{Fm6w`oJSu~3uu znHNi+8M*0vi7PJ5&eh129jr}EYQY@WJarX)d+)$52b3h=MEa-nuuc)U`v?*onbBF3 zW8V^z{NBL$-~j6kioh1v?WR_Zw-!EwbH%$}!)w;-2Nw5+43>W-T=xha1u^@KwToHB zJ&8F+XAs1ky~H8Ie2N(kO};3SwHyl&!g<=nlmLxii<&^de&rHtOFuB$i|bS5qrpFp zD=~l_uO72p@feC(Fbrbst#GOhx#}eLU%G%v=i8UyFq>RwFhj$nBNgn7b=tMd&PhPG z1$MbWy^6IaY%_macAGK~Rc1EWG^l+L;gXYq9$Cb!;zKYHFxY1@am@%HKWk80W;l?f zMMD_pBe9c)qSkGXG1w`|SdTI#ycu2{Uq2o7;fWrA)&Zn8$^bNBI1a;Z>6a2m!)bI6 z*#m!2ETk%+&<654s^36|h2cbYa$vqiv-@)qb@1}zETn%31%9W6gCH%J>;IX(eh9)q zwr+g4L0ak{S-PNHP5~64l^q=G(-(_$%iy{eVghgxK=v|3i*W}mH&&Qq(qE9@{Zm@& zC(|yHU~nSB;wjJd%!_&O!xf|$GDp_qXxSWnIeUD*tM!$ z;%3>{pYng`0|E6-2C%&}w8Lq=M_mw!pp8{YM+U7a4ji*8WZyTP*E20+hV#~Alq76{uCQy!e^Jw$`sGD=t< zTe{`HA`U{P2{`JXDGq^>GA-2&w1>Qbz~1d06^uba3LLPP1N)uME|?9aM@3nPV~AjO zCMUWMzQQ#fL;!wuJPiCcqQPz?yq;Jta2XtE%eWXz8v`4FRFL(G)=@?{z}tXW;3pjGe2ag> zCLLj@J?|hgy+G0kdog&}T^7=~R260vF7FoDKA&Q3vnfH$Nj-sJSlhTIMk8pZuP_uL z$|tx9ZGy7p+I(>7BfabcB8Ti9G>_nML*`y;@H1NuC$zi zcE-CoKOWVP*m$u-#|rw?&`+2+B=vtxJPp0qD+ECdX)Hi>Sh0L=PoQagb;h}&0e;Jm zF&EAD=l)gjdC*?29BuDytyOo;%|Uy)yi;!!JRf|{8-lIj(ZRy+?p*!Og+R^G;B%E>$z{1YnDsm-@{Q zg#js-fX)w70Wp`<&JQkse5((Knb6RZZ$9Oj5pl%r^Qte8lHJDE}*cU!j$ekmMI{7l|ruV z?Fc*6VNc>cGaOaGX;PjO-t<~Benm7z|CcPESfVeY)mzFTa%LO$VjPvJVuJiOB1B9t~zp4F$4g|}^7!fkK?|=U?kSdC@bnp201GkW5aJ`S!|4+R z$5+_laK3>Q;DAMclM&fTI4mBMfjxX$ld++BMmK0=Sr}r)6NVZveDG1Mn8CVE0G?z9 zt5}U~6<(P8W^QS2er|E;cy*Td9N#Y$HXBCV03ysoQB(~`Q|MrhhI#+{#(Yr&mj`(ffIA$RK8@S&2 zy7XWfR}LTSLy&X(>-ZD|UG?nc^V4{kyd6{*ji? zWrnxR`??+a^+ZC~cu0-T0e~~)GLO2JMz)SEKzbg&DFAaYv4Sy^R|4|zLvvl#e1jq7>YYBrp%7jbv9Xz;$26oUu z{h@&!G_ZpPcF@2M8rVStJAC5~U%A6~?(n5MeCrNhyTkYH@WnfP^A2CV!*}oS35~gO+8>;{*u>!dGC6)QGQcJWgx7o7}?cIrGyj~t+?1cKHKb< zsEmRH2-->n$y;uS$W#iPR$*+LQZ)WvM{_=tvpwWwfib#Xj9*O9eccxm;Jrm8?LT|? zJ!}6ZT=3{GCcU;LqjUvQu@{rm-hThD!wJ}Ks0-aa!NVtiSZ#kC_XhOrc78&CB!LL= zg`ac&^d?{mOnNu_y}{v&$t4*3_&^vQl_bjW_drG?>(&SZQw8NX=%Ioa=z z4|^j^+7q%CP(Si}`|Z&oa3=I#r}`G?L1-fTR#i-|ZSy576NHgCmF5nf|*`fdbV zP3aA9kSV-Jyp`~4HhbuZUZI7GGW>eKHxBrXT_5T@T1AJGUhDP+9@iUx-}3iH2tQD0 z%q1Ix&$8dS8vR8le|8(cQ7ke#*Ii?89p1Zr7Qs-NA$}VXHI09Ij|oj%t^sx~N0Y$| z3Kv4bp*1nPb*R=3t+n!}H<8z;N$Ukpg7_S*_F;F@K0jgeAESZzk@D|^{^oBna$4s% z_y(=(v+DusKRLOc3=xul8^7-nhzp78=bW^lt#Uih3m;+a%)Z?Um^d&JPL_4y@#gwn>>$i{gL2X;NKz8 zBBhkwDYjR(NK9gD0YxUw!2t-Rd+P`k^j%8oaiCHU9~Rv@K9YlfNKj?>*J=#&S+(M= zh7b1P3-U;ABj*nZ<2eC+_$+&v6(&Vo$hMsQlg{CEBQlqg2P?^^@C|x3qDEk~c$t08kmsz1^TAZ*&l)uSnTo z!rV#1Rq(^z0zjTRCE#b<892y-Pa~3sk>To5=@v<#tFM7F3X-D(vV3+$kA|mxvZAu! z*>Dp$1Skkg58NqOC{@V9GR&RJv|FmuV)%yIJu0GZLWCDZa+Q58dB3FURWK+evfLDR zH7q{Qp4p0jlg=Nz9N@b)z_+VQm280b!T_(t0lr;*Ub&ww*#?yj&)YbD@6Ta3#iNc9 z2=*E$+Bx~!XL<$NWDZ2m)l;N&O=t-}3L&Ty@;gcq+XGAw?Xp4Do~{dh!}~qb#fVhZUjiJQ$ps5TM)Tz1iJd|^JlD9 zwXqQ~!D+{mZiner3ks<80!$Ebkr^LUylA?rG zG6ty3EnCt#y&AC)41aoTG?|81Y$+&^Q}!_Cru}-G0eLnIW*i{@5g=3%_#h;+uf7Xe^j z1b})8+#tRao*!m1z%(a;#Hj|@Cl{fAG`WPui9^gM4mHc-6d)1@J-pF&EDh~C5A8a? z^lk%B!gOm{he{TIdx(F>6gApy0%*D@L^F_1i%xYrjTn@MLBR6_6aTP2u*IZT zI&SI3#+;F+6++-Wmp}Eeod*o^aSA9j{5@E1_9dj-VL*5nM$-4hJ`$o}*)Q*Z^$DkF z6--sY<>mm#oW$ceiN}{lcsDdO|gB9{NOR%9Z^%uR>tiq`pzwZGbg6+Pt-vXU>ivTN#gEct( z@ObIT(~m3Qt0!*b%KpL4^5MgOl|UCi8!U5KTbL`&Eq(+~{eC9-{`}84JbsAhmya23 z-Tg@Zy7OHh{dDkQMWt2_K7t?HTm1lse%GjwgdxOkWVPVh@ZmEY9U$smV6w3M;Kjk> z;tSkx8gB?eIA)wuRu1M5T8Y~`A}1Z6alysQFTR>v%w^0A&z@1J{2&*9F)Q!E;)BJN zr8(TN?+)-63I9C*&EX=uq$ss!wJxn*g}8ctb!F;olZe3{nAqc)l923Oye}TVz*(Co zCjJ~9K0G+#n}v=#dG})B@nru=y#8RpilZc0Klz2lsXOV|{~x^g4_utSmWwzNIHTYR zu0COrCw_72SlL>gA@K))TmJNL>3ns6<*St?9`*1u;m-^Fe2c$1{C&N0xYSu)I9fVc zYOG>VJ(*iv{mIGP>S|+k)iPf+(g$uVoh%0FO3aJ^J|rmbqop}~JXE>@l(7_aQeQb- ze1L~nXXZARj`6iGy)9_Pe^fVXSvp(YKLtzS75idZbHUFCE5EIO9^BylSK)SVW$8n3 z0cc9hkQ`88HIoAo$5(5{!TrzuKW}cqY~zvq;9wz6Rd7Gj_xd3n(u?KyWBGzC>)!H( zrQi$77g!&kE&nesT@XX%Wx-$@J_J#rQb=c(3Y;3GU#6Y%?cBGz18J(|@9VhuDpOn? zVtwS!;4hnSeSA&rK#lga&}QW^QZR-!e($?~jxnq8df#=7QH{^V!jkp0 z$O*f*?JEnHlRpQG_zGCPW_`&^tqCghVlFIlD=VorD8Q?qe0SXPWY#S!2MerjarU)+ zUOSw94cjlbUcB_QST?W|d{>7Wd>9tv6OZNUV;zG}iwL)6?#uhnKVVsq6H(Zqq6Ea7 z*_0~`m1eDfxmmR_!d8LHrWa6W@71mMYSpFNtoO#D_ikhF)vC{LKcO!8x1&bwi@Q#` zOAK>=NiZ_)1}Z|Vez-$0?yoF_225<$f`%nU4Z3@IZ+jiPM5T@`Bd8QGkdu+rAD(2Q z%kNx1u^g9$j~}VMGwXSJGe{y`H<5BlQZ19Hqd5HkYl1BSAA{md9En#bI$OCS=~9HV z45kc&PV!`ho$Z|+>O2@S_k)Z98F_a+6^TuMLUsfg$Kr+Jot?R;^RV$vz-X1jPciqP z>zH!@*goS~((=w8WsD%__n2Zu#ve4sfVfR$pnqXuctES<(F%QIb!p?A*6gBqeBzxZ!>q=mM z195}_OXiLgMv`Jolq+HsF=2KYUe!Di3VSV2$fi~r@|B9YZNC-BbD1!VN}j5IuO8M- z_=Uq?wZU4qbxfv?|LW=XyQBARoDue4<$Kc_#>B7&dUF~uKINS?{Jbh}ZU|_;ts^~L zqC3_B#9I4gDX?p$O~;P_|MQG9m&v_<5Q=WL+~8}-dvMFw{MHgzh6|uzxkOHBwGE&S zl`lHsz`P8FcddqDMaD61f${Dj&Bbi+W8yulH)ipJuk8fSN8X)h7`CQpXk(S~F8h^C zii=2GH*i+QtFG|)ayr6O<0A0XpUJ{g)PQ!tu*4Th?rdR6d;dKl{6=YwuW^lkuh|-Z zQC-^2*7#Of<9Fj4e^GtD`z0#jLFbZUFAp~t!_RqDc`r?cqH`T+%HeRY@s_AuO%Wj# zu6==}0F7=9r3P!0ls?#{s7qlTT)OjI7zUrlo~wOcalRzgs-u^sqc`ZiT78>xGOURT z(1Qi+?09fO)7F+OG2P8P7=|5x_eaeS<%;X%0h$L#{ir+vx9oB)V=g=LbOu=&S$W~0 zaeO05A_4gbIEHaVRMk#a-1cCk>A^71(S8cRA0^FRW5AVe?I{oy!o?pr9(1{_32weddqE1BnRex}qLyfg85+b`Q~fnW=i~kwgQZsLO-bG#x`Hy!3rg z(C9^OQJwd`EutIh&i9H(k6f$e6DK^Ux91)X*zaIC7}oc*mUY#=T`;usTVR16EG#`+ zJ=BUmn@jMihJ4{8@xZ@*WW**FJ8u6OScdxthllwPpWb17ZPo36MaJ7_DjK3~{3{Up zk~jIFd^iUdp&EsB>Lm@mbEL&#WHIhk7u=~XY^U0)E^TK!)p^*dw&PB9br$`6fA`35kcWxFu0~_)5UYqm&={1Sp~$*duw|S;LDf8ygMYw?fY4wuPXxA_ zn`s{s7C~X_ot5W**;LBtcN6FeGI<>{1So*b?0EToiu>4OE?2dff{qT* zC^W&oxg0Qmn0?gcTO|>HCg?{()pdfj$;pKNZHfHwLF|{#Xe8`cLlx6nf_+(Tm@wa* zqzFQ<>GJ_ncrSXumb@Rch$#jUA0HhQ>o}+9+IcjpR+v*=0`i4Rz(o7r%|Wtng&EY5 zsSQU=RSkjY&Q90f>4)x9c>J@n;Y<#4 z&*b+#b_k^Q@CaCx*hl$10qZCFic)vV>k(7TXG?nY{VF;As5`{Dn!P0*GO8D3!g=h? zlE`y#S^v;2i6q&2u4pnBP;=s(sv;-5l9btx=^8Au$_6jMIt)b_WNS*8O!r$#t&l02 z2?)b~XpCWLl4gucrCKZn_&{~>F)$_8q+kmj1j-@h7fTZ6F1vvi%()O53UfJ20b8FZ z8uzq2cB%5`&a)h#un@mGoBUAZ3ut*hLe#OaR3BM%=!hC6lcU;(vJ7xGB9<*>mH|T) zd%mGj)5cKvK~J#W$zTiQsSn{9VR9gnq0WDaC{4vPJm{7f?%EQL zjHR0Qj(rne(^_n8wd;_>&}!5c6*jElhEe}?zmmrF?JQ`~H8XSN}P}NCSV@_58jDgNn31wwPxb#dFQC3!e zMAK@jjOBSD_mNF=P|JyBfigGZ222+uK9+$}GxW0IO;X{LNG8Cuuj1yd8)Tvlpz#_}h9 zA~Dunt;jfP_H=!|xOt`bbX>b$Ld8o+sP^;e%((Iu3Qgx?d}h^Z(mN98x#Q!j8^kx# z7DV}AzEF9NZ}g63ON{5FwIREgTHz4?6_fMumnhWP>#S==2)LIPec0x5xoBy51L%{PKKZ>t87RRaajSWRHi2#nPP zZVlO=vyX}Qm{xp&!2aG!G8z8gs>BT<{44~nFl{M^#FOYG3>rXGuNyduESk4 z1X0wzwLZX431{V%{nFusXO`l3`N7|L#?lY*Tbd+lijDl!C+jWL^nG3vG~i~)w7k+s z#Y*oouOBgY`eCpj5#66Zr^xf!#ug643VIjLnLgO`b2YJ?$u&d8!dWkW-rZlLx2NQq z;DU7_1Q;z1(l}b@I9j)H1a4j}8%J0ZY#i0%INGT`uYHNB!7Mq$eTsPxb35$$pbaxq zTkmJ|{7i`23tf*IHuXOm~=@L}?RuH)OUeH=*zWq?r4$CV*U;eXMEJeIZhuo@t?)A z3tCJ35>QM;*<_eEgV9#h@JKDfIG(AU^S9f~2Ok{#mRbRwsSlHX=YcKfiU6_Q|95ae zRhQwzFTDZfX@1MsJvexTH_mPF)C^A>MF3=gObB{A7y9vDR2Rb zhlGCkNRIajpZmFrAMRhgzT7%{33scloA=bQo7Rp&$4@O_xLuL`VRBtq!I;nNsfFym z!2GLu||OgLk6(*=(vO+X91pWJY~UE-mWbYeFd#RE%;A z4rooq4Pb{Gz>aMIo7JU@Yy-Fq8^A@}05+@7FFwabCPg`alVNKnM9!bJLk3C1U~uNf zPsz-zz+T07F;-(xmnbk#>HN}|RnV)j6rte}Q)Y_8*`*PP_?(D3BF%{cTNBfv$klX3 z2PtvTb4TD)CjO+Xh;Vuk+X`}Y@Xn&PMpTrz!-#a%n7~T}VJ$wLHX!hHBd1XAG76SG z-CI>=7IzYV+XfyVwi|6*iNzNgdOEw1(Z)mv0C*{Ks}{3_adsMg2dVwJK8KiHycNtX zx%`XjFYtA2#|WeQ6Vr*eO1<#=<;BU*z0>z0(LOOp`_#L!7J3B`bT^w}Uji zy+#p4fkEU}Q~^dm!I!mI4{h2!8D|fi6MNn`0N#>Qa4a35?@t2uzNgLx(4FC?@P?8KWYqi1l%B%DKvnPj&?6pIi$sF|oQQ+kbM{w$_uD}zFMGB^-*=7x?=ydO~ zuBcCc^5I}P$WWJyTG3CYtJ6!nZLtrtmEQG&18UI(@8}3F$4on!-mq&n8oA9Y<&3x;-w9QM>rkMm?gqB-YYj zUHj~0n?QfL45MJ-cJ-&E+xS;1K(+me_t{CE8T@>voL;H;@|)pmt^1I_rLxN=XIFr`diRcz|Lx6 zZ*$(kDa}2T>Jnp&S^h%&a zAEAG;pXe#uiL?FtAB!i7(`|QvcHs?;Xpj+F56*UcY*fvD27A^|-JBX)ynV_{xI+{1 z>_rxS1KVfvd{JC>dr-0c7=;?;9EVa~#Pe6J@1_*%W-24jusXlLehM@Ah~lSNeo8|2 zGJa&9u9l%^g@`-JkR3j;@CnX7S?JquRp@^x&6k2YF?r;(^oa)_mrg!YFSxI;o&IzK z=>~0naTz76sR8%t70-Peg>VHa+!;)tVH!QtRyHekiDD>(VwL!;pnW_0Be36}S^sMd zD6j6f?z5ks?Y%9URa0#iY+1bSip-H7&?NIi(WVb!^Ud2u(UjsChT+h6U8*c~md<}+ zO!)jL=_Hq3C%L&AM->ma%NC6?cJy!9h97a?`-yKugQ%&4Zg%gTNe!`F@M7yM^vS^s z%-Z-Jz1{y_|s9QMvm2N@;&Gzf#D#V*~id@jEDZN^Kg8(cQ!IZ|rEu?k4lu zA_!sGGXKjiaX5w^SYr>YSr6=0mv*uqI0-$l6MJB<`h4fh{BV`mw`$wXdVRA&i=~|% znm*DnX?<;Pcl)TkTNSpo&VUAlFl6i78@0`9L!7D%7r!dQh1Flz1i{bg>t=s_hfuw; z$5GGR>aW%H+O7e-$Do~Z^A*jZ%5UnswWe<0sM`&%YK>-n_uquxZm;j4dD~4Owe3dJ zD#E)|ceks}qe{8*iuG-lw_om+Uka>O%A4sGxAq#f3R0AQRj;oDs_%I%JGDx4Z&y#= z+1z`H>OCK9mQZ+Sx9&{_^m2cC)$4Wk(5u(ge;-vKS8Jf_cI$QarRDAIa)4mj z#fW@4ox9hlT3yIn|M#|Rs{^hNaI}RnWG|u2o$BreUw6AwEfi)&8l0~;+5A_pcdS)x zVr{*=R^QbaU9a#?_Empvz4j6v$BJv~+x(uj_4;ciyVa&%w6^|leW$IpBUPaMco%Zl zs~hN@W_|m~6wU#d224Gnl-l#V5%<9YCI;2UKh1$334KIJs4(2lrL&vDk;?PTD zEgM{oSC!_kN~@cj90AShudL2S*(41rNTukG5Z<&*CSv}VfL|*dkfY-3&}>YiB4^Q^ znxvf$|4hZ*3$)>GuprMd@s7*flU8~NqGJ4k7F-g?BP4Kml1;d)M4Cq@s8UiEQ$XC= zlleQJlJKy(QF?!qrzUE;#NiqS7CJpcHThhkF$-WC^sEg_%3Mji7-ATI>*Q~WL07VO z!&~@a)T0fd&xS$*ySumRcWF0o*)&u7U+r@Z0jUulRpV?(ju_N=2Kl{GI5^2Pd=p z-F2t#fODe!&Mtccr?K4rC?~07<8X4=N4y9+fnv*Wwwd<&o2=^NT{jQqh6?3zr1%mW zznSi6l8)Rg7c~V3yH~leXmj`|f?2gOU*Jl8jhdTif&v&@R>Q^|Li+V@ zcH!j{Y#4t<+7OSCiRW?HkhAu315Xz4k{Y6>{1P5yT2Vk1dlBIk zb+ux(GvTw=H@PZR;48)EE(5zG6dsMPEzlog7l=c~xQhdElg$>~!VD>}yW@(d81d`( zq1~0;imD$jBhA2QEqA<$p-7SA{45)3_8j>L-R2)e|ao&L%M2?Ds ztqgLjg1Nk5Lkmdf?M0Ik^hV-60^pl=SR-8SW8TDmw{XJ#G)Ka-s<+}ER?U$q69q2J z;kV|Jj(7yG@y)<}O{_d;r!iR@cYLG}(-3f2-@_YDyl$TS2<{pKHh>KBnxT8mjVC{f zAPj#wZ_OHo=v(@~E0%y&KEGeQn!{Pu!edPkF2uHy!ELrngttSJuUfHF5od3Bj!y~@ ztU82z%)+^8v;(iC01;8~HG1i??iuJ~_ z=~Y)%LyOwN3=WMy>}ykD;&`5dRO+dQ7j6I&XA83s)e#!-LvZ_#HPo{Y9YFO=d;ouQ z5F;?=K;57s#}ok+^-6d{`UH%D5w54J@mk$4?TiMon898Wh?N0j*gKv*7undG&`$)R zvW8gEcYt&s z0bU6sEOww6yS`H^gNWfRA!`$=35xSRl@HH<9X?l@(x}ZYHRxO%Izla-z&t`X!oSML z$MCc;7&wUKGjm(Ekl@pMlNrp!6K*^-D&vRWsbVgK5aGhtF_b_H!0Zc4Z?F@?Sw>=y zLdgc0d+&!fQ+D*Y9rK0z%UDY)*ECyD9f`XI5sb(G$J@EKwQ*$o{`EPZqC-485Q9B` zlRdL%KXw>f2my)#5s8Zlb~N0rgqr~eJJb2@=l5T$s=B%*uxFq1oW!WBs;lc>t5&V+ z;!dw`cUF(aciJ)*IQ65kA64i2m{4Fm1hp}M08|N3gjUH!Z0Kn}N(A-Sd=CtgbA5~0 zS`ZWoYrjf~3%#Bi0DqMbhB_p4&69VWM1&BFH%;1Yk844+3QM#GSS@~9RoMWmAu$3~kefSyJ1o4V zA!W<1A@#Jh#r@j~G4%KrbDvUzG2wx9ST&VaMucu2FyafLD?wobu=W)Aa8TiXv?3@t zd3&0$KBd+^@uYAtrFgSoPpuUcfWp>A+G~z@ZFhkR0UY_EvE9{NRj2!Qmm>t#){Kqm zqZL|VXh_=c7Nd>@lT3-Rxcy^)+)=Rl7i)5SSx;Jb;q@5JUZzeONP4|7xcvk~cnd#5 zH};??>EahI=XQXfZ-2O|&jH*>Qx?<4Fc>Uh3B#&QGQtrc7d-PXT*%!K=_I8PRKeeY zHrV47KM=0pD6K%hb|1Skl;3?FOP3TqI{a{cH%;-J$7D}$=ERT~thZP`Ve=277|DhtP5;sMu(yD^98c76XCYj-%S-G?zP438Fno=Q@~_;S;6FqdKl?3P%z*~xvnyxLo6t&*V9pGI5DW{vvW z$|_W&ig?3E$tKYU#?)*EUBJhe8HhVgB3;8=aPfb{YnnnaV1h-i4m`4^*n1pp^PATB zScIc3K9|jpcFcsDL3}}wEB^WHkzd;}4SUiw4;Z-`TjFYLIagzUxih<(aW#I6T#ePl z)mZL4U;Q#GhGTYrWOuf;UA9|gd#P+Mm+fxZUM<^eWqZABZPm0R6%=T-T-jhUW1=}BB;tlR}MUz&R%0&c+?jh*>_O|WAoA-s34(JO;kEa#;A zbDfNt?PSLkK}d4t8j%bTOTjopoSeEFN4i8t1PKv8o#W3 zWxPznWiOd)E!&qh=S9O{$om5XUGEqQj= z*8#K}J>!M?tL}Q>kPvQ^gd0jYkgC?>@D9brBGlW^a0$sJGT7-Z!82>N1Ew3?T-bo? z>s# z>{@)gwYt^u(Fh4Wvnq3nA^=PJzT*6<)L`7gze8k+FqY88__ zdw&rtc97*n<{NlfBd6_|CX>MPSGU+nG9@ zF@&~%dcKddJiQO@lOr>+rZy9~L-eJgPVyNK=i|e6kL}1%!}l0-M}W{hRCHNzzThx@$^?<5s3+LHJ~<^$xRTVNLR}t2e53j&NdRRVHa^ zv$>XZ8xji0POa8qT#7txg@1h&13bAw8Oxc4tcIQK|NhCmPjdAy&Th{5_k|jV7$_#8Y1sgDDOv2t34u9loQdjM->{rHb1EwcOl?A{!dVX{VmzRayIhwUs zroE0rCryuxL_Ru-K@mFZj4b1MX^@o5P?t$z>@XQVF5zZG^a z&}sYo&+qj6Uw>r>a}`p@hqvSbKL%>bzXo2t-GVG9fxZ}05_V?J3eevaHq3W|MP4>p zZs7B2`44vEWU0CEb$0FAgX1hYW@&uGb%v2%_v>QdB3(}Hy#$>3wT!ym)yk-;P^#HO8uh# z8Q2;pN{DA;q{j8@g9=|V8w9+gK z1fNbXu=?70yEpgv?Th5~iT@{$8}7Fx?-)Vd?*etdJE(i#nSWi#K;0mMx`hPl-glla zd>LI}-2M5Z>65+v8=8Jw{&ux@eJkJE>`d5+7c+L@e`tBz_K<__<8q^mzi(aCP3P>h zW({1s;D{laK6bCiO?%3SCH;GIT^Ffwd|?tw5CEu5^dYA0tqO^yT-sMIjG6*AcNT-Bs%tPA_o{IC{6&PpJd53El9rai#=OSCkRvQ=qDKgMzKi}z)q7JjF zR!CW~IKyl3bXA>(^N#`g{xS30v>8D#84 z$hegt<4WiG)&r2SvP1Od$qPw%WvE?n8&V(%Y1aN788Lrs?~p%;9M;3*^Mf-bbCnIq zpF0dN3YlDSi*#5agqmBgUIe$?dwJzzAXsn?#748>eCi3*94%-N_|4Hu!zcsotB|eW zfLnY9qw}NUD?OSmZE> z9c{h5=0bmkS9Eze$naPB%qrZK3f{^@HAk=0@Y&jJxr$~!%Z2gEl65!N7K@_=5i0|a;Oq8@Vr;1Uq-2-dS3y#6~?Uv~zYoLw4>R$k~jV`fW=eYs<0T9H(i zD}F=-WYL%Y+#b1?2^r>Q)O9Qb-~RHfPebgr=E?nIj1I5_!l+ZRoO|n95KaNniLFHG zc>84BaQYMt%5)e)bLubBc_Feny-oB}p;dpm_ET{D*5pa;XPGA43~EYBn3J0*n);A^ z#!PWc)Ru-9*?IxfUmK1l9#C`{TOlTu-?9vx0j*-NTGKUOb$idAg9%kW4ks0(+i6vj zVyUp|;%fHkC)?)B9Z&={t|kMteoJ^5$D8O!Vr0Gr@af~2UR0jT%^C(xGtB4bQ`~>R z$3A|NTK#93qLs6WZ=lbBzwa&2{d5W`j4-sQZ_DqWmh=B8=l(I1Yxl|F(B!k1#@CsX zVp>+m?TU`u6+dpbJG0B#aeEh!+vRlJZg-w9KcsdwVaZRp-`0l(({m69(Bc^PXm_8_ z%d}~J{yMnY$gBPtXgF!h{Ut91FGPR!by4?|_Y&s#LTk_|QO$sn3a!5k+=3Z+%lF&K z3ASFN&lTN}gSELmg@1mo82g*sJGSB)Y21}wJbUsjHPj28AcOzrUoRxYKlcQ?p>O^$ zJ23a(0vVE&xsh}1^7ixBnZ+CTdsm|!S1V^*D`(qR&TeP+_iW{C#+CDXS~-8ao#(%Q z*%fv|Z`Jyvui;4RY0T)lg}jHq|32!S+I5O+cys;9??i#Lkj{&7vwBx262g#Cz5DE2 z>hk~nKbU1yMbk~k@k6J?$#TCtXQIh4Gay%i$iNl3ygU(<)9D-dXW2E@&MoyR zM5P#_=Lp>B@ce4d&UJ$Ww?~rEnFxKDtitx#)l0{K`cHA*4B> zD>ru2Vj%23Hb(;)DwqD8lbw-()6Cg89etpC@(0EcSU@ADfZwr-1B$vE9f5~LG(BG6 z-kSpn$Nwn{e2p4HeqCSiTX7n|LTGUY3}CwaP9)` zJNMoYvkI!H9JACSbKusDO~lepB-zgu|N6rLty0Ew_7HP0hu(jf+H_<)$7g&_JikPO z5VnW4B4zS@V5shg>#LKw6J#Y>gEFR$*UZ0xv$@ZQ&r2PBj(t`$^t&t2xa**Cr!)IL z1C8wn8s8_-xYK$5{!0$k%CVH(qq%SnrbI#jAoR$+qZ!dJy@!lBA*)={zmb2Y`Kj+Q z*^zmo`iI=M&QE`tQfARwg~ML7)?2H)KXp*ihWTBfIJ#P(d)$6y9C*z_d$l*{@VkZT zVZR9NwP#n4joqS+=Hg}t3&?zo>Zt`eR{MIcb`q2X|icT;;9upsUI6cJCFD-s-COmc^j8-LcLV16qX6_AY_d zPFr#QR(d;y=_MC%*4M3fTgW4*Nvdm03fY}vyVc&>T2q3t?*~O|c^REhy=qgDDWnow z5554EQA&Tf!a^9NrPkK!CSB=nqddIK*NeS1jR{L|d6_{+`Llz_9YsjflwKA)eN@3a zeU(EgtDPdshcJS@t&JiojuYtf+gtcS9YQe{T~t@jF1EX!ouWq}EtJxkU&gOkYOQrw z8Pwitx6NZ~fv2_IhP6jM{Vje5tdO-9P+yM|R2 zuC?k79c;Atz;&9ps9NtAQCR1RK5M~TQdkj{y^GD=4aQqZYjl_m87F+PXthx*A7H;7 zo%Tf*?tm3NV8~kQ1L**JsO5vw+d*if*zB>S_(9X!2D7!rr~U3v-U?qUXr{M2$ZB*b zOsjv-^06mun=n~OYVfyPwEF!Pzk@b^yKD)js;xmCK_W@mkXMN6g8D#jX=LF3yc;F3TCtIv)5hIJhMfS zabfKY2uid?F9%e`dMyUMHP%!d)v#__tO(Y_3Xnhp#$9Ncji~A2mvzW0QPOsc1$+=p%lZR2d9lL+^B#bPNz8f4)GGFC2AJ3zyrfqAHugTbg0)QB5Vuy zSwmDM@YB~sbDirKNS(i;9g-bVgKc3_(>n8$1;ZfN#;_k#|4zG}4HxzzS=chfZHo@r z;9d+XwY6v<&^y&yWF53_7wI!OEhUe+)&tzq^5mnX;R5!3<(0V_Lpk`Bmgdzup#D-{%?dp;Y}Mv1v&>^WbZ;+DB;1vgjaO*JN#7&;AgR`t+3kJ?w6nr5MF<-7IlABtG^1% z&fFA>3m6hmLmgGZ&LVQ>Se%X`U!?-2SV1>4BZe=uy7YCK(}8is_(#ADHbJ_4b!hWz z)35e~6Rr*bxd5Y0K(&Aac$$u>Vn9Q63@&VOBJ}_#nD{X4kJO!(pB#Qx3!7P|;fM26 z3tgHl5U}~*1!3PPVZVPUWm5;mZa6R$l`vt4Y0;CP*Nh5Vy4uJVQf7O$k;vqyuSI0w za2{eLY6N{wa|A} zunPUv5KPW4?XFJolNP!{n?KnLLQJPlq!1{_9xLvS_++ZN{lr0v(3kzRDxd4M#myi$;KOgu+9;&8io|v`I>8WCB z#;jY$d+GEriq{pxm|!|@`|*hsNJZM56Ws8HfNWVava5r~wLlqWt(MeIhEsNDw$)>T2xESS~`U-mZ{WA0-T|C1`M|Bmd3qAI|mHjQRD!&FN;(>gAo=e zwVvv<01zoB_GtXv)YC9r_U(F_bPR?|9Jjg~uJ?Mj z^yY(Nvl&qSYJ~H|#UAPs`pVGt{LK;*rhhh3L3_1pThDNJtWY72tx4}f@zUGsR-vh~ zJ3H+YWq_`wtk%BXQsay4Hm&}#4lNiVAdqdd$LbtzcO%*wh!+$cKCAi_hSB;1wj*MX zA?AkLGxSwees{Hx?7oHCMO94vAif!Fa2hT}v?ji_nFl7<;%s@r+dQ8@O{0hmZ-2?E z4H(QYf9u2u62s-g`n=tVnjS_Gur;*e`Y7q6n|xa{M^bnSJo!K)+LK3$9;QGo|UlUAI`VY+o9zT z=h^8lQrf~6lbC^vn6>JEsE;pG^|20*;@mVj2u|j`*7dr$l_kwze76)*Ses(A}ePnhIWnU)H^_&TJoe} zjktEmq>WA0jwr^d8-`n?7P<|ac5p{GQajyJaM$={k`vb!fPSO@OS$0 z$ZH2KMPWx|sG?fH;icUHRDYP=4<^7*o#L7b(Z|L6MvX^;`y6!dDUW|+bgyFEwe_s8x9;uD}durNu_4VY91znlB2#<4n-Yq4EH?QNVNmZ*j)zl#%pSP z&?xS{kAxvj?8|*0s5e8=lE*q9kXC@CZ<`96TI;^n{MXTmduyg6hBP^1U4O%2E$CL8 zkZ{ouaB{MuPg(<^6MrgQp*+?=b^w54!Xl_K9_~R~5~0z_m#U+}UBwg-PSER11EVVq zRYMD_yw35dzn!$)A~XqDAwb^9RXMU2HIDhC74ycuY|@HvJsDD^$G130Abh10)Oje{eNigSkpxL_eq`r zgX86?x-i^xW`#8-xR+zxI&S()6H@K=$&}ywRb+ooYE*hRd5wl^y-!8@D7#zMZVi#) zTF37n1k;JYUBBt1$*As>=_UdfdeNlOxystj1|l>I;kBQiL;eL&Cr)NwRhCNxeW=RZ zK5N?!w0&Ju(SPoBpg}vyyE>$uwN%9`oXhC#*|25DN=mcg(ht`*j`E(Z@FtGSq<0ByPk1*zQj>CpjXdFv zBX|>Dgr$_d(S4YMPzaLq>uSegw#$;GcyVrC(R?wN9p7H-tYJ1E_I(ed=IaJ30$Bo1 zTP{h^L|wpxnfYR+r*tPqYsuvJB z5fff1lo2j7GKk(pqFLk0I$W3Z7ZApOet*lbNt@6tK83k(Tv~_(h%8yr+FlmhQnw#_ zQh->M9#=r5LE|WhZMtjhMElVAiYXK!boC}nSZlp5BoU%ZU?fl|9hSPdbPB3{{J;lg z8NjBokcc_PodTLIOWe*w60ac?`5Xjo1Wb0xqW$muIameuh2ZP({or-@e6WjuJl^Kw zVrM%%tl|)~noZ(TY7-Du-bnAL$TVW_nND7gKK13&nByj9vFi|T-KZ-_#V6Q7;q1FN?*Mj5_ItZBP$JinCw_^w3 zw!|VuxDjL(>6^(x$PJ}iBXH7xT8PgaQRZ`ki*ZXpT5^GdAETfmCvQdORQHf6lyuVo zxC(ipMEUXUW?}R)jxlf&qX(@UR zO)M@(ko|*UuGMWqC)$$TO~{B$=8{B$yoIotidCy&ZSij|k?8Q**mKTeNkS_wENrjE z@A4>geF@T437T~QnZTZ9asd;<%=3uJ=2%p)Nn(;A3MrJ)1wJ{;x|te9gN&3~ed^K^ zMq4cU>Jxrg=#zgYaW!p!amG9hH?RwCfJT?VitwR8%mXvYXA5}_G2{G+jD*&dCD>C5 zg0bS_^E4(e&#=kV*u>(Ma164=pbaT4a__x)7V@>+9T-B{DSkjWiHkc0b2o_*7%rTz zF_y$C)>^OZ>d^5}On1o&5{&PhLa71u6c=a^CY520d3GZUEzzET+P$`xMFIw#^MDEu z3Q~B;DarCv1rV@9m3{3Oh!w7g%p71!^4FXX1Cwr9x6>DKI~U6a+>t17u!WSFcDxI( z2rdj23PLJLt|Ur|xQs|^VS$ALSrOT4V{)uW5>7uH)d*Vi!?eRp_c%`zSJYI;cg9+l zfQwTZg9Nc9Ksu*?cTsvp{LsH^q4=SuwGd=OY%L{80^PKPT?$;TYm=IMxMeqFxY$?$ z>qSg6CG2z-Twu=&^+fvxe%J!t@xc^SL0F~AlsCeT$7X_j`BW*iEl9Kz3gT*nB+h07 zEPk)fi|`z_0gz$=yZB$Ibm;9*k}=iBPAM)_9*H*hrNyT z453=_mZDpK=+NZD!gHb8K9(#LCWdVVFKl(WPxylJ72He-34y?o=gE@luk#mPe>e>S zcG*lCnp~g1OhF5|C`$FFinCsTprE3*ghGyHQbboFodNN41U97z1%%0ID85N-MRrAM^>}t0Wuuso3 zAtikuG;hLKm<3W3!P2p+(@Reru-TKZ^l0}$LI>hxQzDX_ptADTXOh-Z&G4HHNSv@s ziwI142*&Fg_^5@mAP^SCi+pW`h~bbPPDo=t8jBF6tE#cjjT9bPj5wy0_EW$)J?`jc zCZ`d9FGLAiZ*fBuQ)M7_z^)^?7IJ_{^0 z7J($$(ba+$w&V9nWU=dS9D%e%`rJrH1e!@ksu`{nTTDbC-C@NdmGlQ=x(J#m8l@wD z767Awajf?2;$--IOEFWK=ppK04C zHTC~QF14Zbjdm_dpb%|ps@|SzjsipQy(~tWX>(L_dneeS-IGIcAs^^ zr1wAWlK0JlP7%s-G#In0m1#N*2L6L8N=CzZ` z^6Dm4>KJNfF|0}XPMiJ? z-3S7648e0b_+VEP} z`p#nGUEKJ*7agkEXO}c8g?d2HxBdXc;Z>IFJ$+(f8xBX?)!VVj5WA@iGMLJ{LOUCI z^wvsomAJ*yM9-Dk*i<~7Jl$MduHU0CH#w`lQ78aGWofp;k44L=i36X1FNH~!yR9|q zX$)A$GEN66ld3T@FYNqlWbfJzfbwlQ0?&J_NI#`D53L1uadWFm%n%N<^#u#zbj5pP zM@+MUakwnU%nP9*W2-g575bu@l0F*JX8lCkrEHpZO+#Q3KFK;#d?8(ga2tjcF(L0NGyK(3Kqh6UQ(qhw{;a=4IOT zQ*<1cGDy(;z*diFNIWDDIkuBbnB7ZjZc~Yms0vrX5$G7}DA!A_UZsTn+tkg5PYoPf z$#mVIg;tXUy=?b}1=c9m^#uiCeX|hq{p!?-K|b$PZd&hyGOFHxvGd`8upBEja)NfO zl$=ImLu5;!l3y;PzCdXrIHUtW;;E&u2yUf~yA@U0vJOj_En7PEstkI#G@j$TzVKWn z(qClOuR?m|99C1Ix@4Z_=G*C@4O}L*$ueMn<=&huHawomo$1q{XehvRjm_b+uA^n8 zL$ARMEGkWnINU50-Kbv_J6`H^(ZR}+=8KJ8jc$LFmpmd6E(eI2#ur-gLzi(P5FuY* z=7?ZQWYsOHgK}eo_Aec1DS$8bb_+zCpiGE(EaIwCdF+Bg!32{sJ{M@I4YMM+eXe(5 zf+@&-FQ%_c%M+bEE~YVX4H@e zjGxzQ|G%@f_>iT=XeyKV}{*3BMCKP{3_?9pW870Wdow1sG|1*VEw>OaM~a zeqL5?Q;+-Ysoh?uxXs$*6UG(g0qFKnQMpe!`yj`3zu==t@88K|9u}B?%yASJwB(EB z@EsOh37CPtsb6m71V#1Y_VyN+r81tyeq{_WuQ%o_eY~6BOyNSE0ULKwGSOu4?F5^B zW0&2jKTU&;%)AhxXv|n&Wf)xsFSB*_GZrxMO=S~;1-|Aa*39sa>ZMkepLS&VX~!); zJ?hM^WR{;=(el$uvi$UasPlZ~Aff+>~y#*Za&sQD-qjje@ zAOC(b_vYitN$$X{N|ftyDIZzj86Ky$I~z7@5wYX^RK_mVrr3M zZ}RroXO@gb(O@*QGS24~Gc^y7rylR;hBfb*)u-RTdBKXj4+G$TZH`M2&2v8aO9o-z(nS;<@0(vuS!UQ%>0f0Easp>q2<1RGkd}W^M8z_slAr zdN#c?yF4@hkAE$HKRLoM`jeq0uW5$oclQ4Bwk&t{zGJZTg*?GMkpHWB`{F_u&?UxH`bwV?&&3CbUy#jz2blU@3;R%d@8MgG51DCxOIFtdqS&+ zDOa?XISz3+G@}0qZIx$33(RoDHIB06cp_#~XktEjt^h=TMN^!XJBv5JF@vJ+dV!o~ z%$H7crYb#81mj>=FGT+gyf8NwkLTV-Hx0Ejhb?x1H`?e*EO>=8k793U2fP_dwGUFU zd!1YC_Cv@dJwveWnNH%gyzGM^RQiGb%Iw#A(5-fbNFwxyxNZ~v&C$sGN@7;iTs4}T z#^}x|h1~OhSms04Eo4`rn8A#|>lv)WD`>6@%_*R4QkrkW;9g9R<9(f=(XFIRO-Dy~ z?ou*(I*i`L4)J1U>A~A&<~~vetlh_Y<%iN-S|*QY!HK0F=J3*Nz?+ZDqv~TK?m5!~ zvKa3X|AeDDx~?Rg9CHRQnfT}l-Z9B1_iQo(AD`xbr!hKg^E#>uWP?5)P1Io%nU8VnL<{@o7f0P--(CsVryn$QZQ1d(e3l5d#X&hbtWsFHwaX6-hAZ$U@vJ^Rjb)-q&a`Txe<|LyU4_QhCB zmszh_w2S#)OxPdSlGqfZqc{(F6){(q8z1SXx9{>yt1ORe=%&gf;oHP7S7dX~v7amT?QE3$u#H}M;P zm|e}4mR^jnkL=Yw3nk^4v@Fug`#*aqZPGjZuOEM$^kVb+xL#NzpPU(-*9K&8eEh4{ zbe3yyb+#y2{b?0fGsj1(4xvcZT4ZSnAck1lnidCe*|2(i<#^v+^PjElf6OAIiz?#Z z52)8Y+gcKv+<_jk4NNctB|iNqE6kpMlm!R3%ti=)$eOarky2~kCb#6cCbr}irn!u^ zE^u;VfOK2_-RiIKymo}eT|?q(kg9cfhzVYUHuAa9@#Cj`b}3gTwoeVynp(zUe%grH zo(#d(DNI^9PqFy`E5mh3fHSz+XEBDzra*NJ&LBd6e9gu? zEl&5hyRtFt;#^pV8h&)z;beEq(SC0p%FOi;bIsA|uK9aTeyj0W;a|O-ZOtbF#vs`+ zp56gD_Iu#+{NCHZyDoN~aNKs-Wz+8sdA`C%^7Q+e+4oOwFIO+|&)){;n4X!RpMU=% zzU9>xM@o1#^DIlxKGEG_`Hz`@>4TYyU)}j*c5|MF>=?IwdHx^EiKy}vmv={xxe7s5 znVJ1K|E~-qj;`i8g);~C=d)ALR;oDo>Q_^i@TCuY#>ZyHOInB>MO8(Nbk8pkTKWGZWkq?2~@juwKtd^-~&mfQ8U(0=U z)JmJ!)rT6Db)DH-OP4A6r;cQRYzFi8O+B+EQ*ZFIXKL#ovs?4IJC#JCO~n74THVSB zPir{9Sh$bAbUHhn{YW!^f2kK9r&-tJ+7dpw(7KKE8(YIH>Opf+Tk3sFU45>0$+zQO zo@X^bt!9V8t-CmZqVU`0uXXRWTX=)ps&4JJ=YN@b?l9$tc}C$gV=%iNNeR^|{rb(G zk!>NZ+&(!513kW;#=i*b({c`S`i)J(TbqnpdPTR5!0sUP!0f1hyWhe@q8azbyBFq{ zqW_0Q1!(-_$&(*Q*CV-(86!RU#E;SjxM2-fe)h)2fc`Rh&22N*ldQ@o)9z1k@7!=? zG9_;>?hlBUnIDzd*rUrsd@3YL+RH#8l-CZUz6PH(!{NJq0J@GV&h=|pJ2SYcsrV_4 z_gH_w#d8&d8mi%ch0xx}p)q+J^II<35Nw*PVWCD5*urA17Q;sW{U?lT=RQc%*OM375zqG1r z4w93{=DkOM!mA5TkD3d&D$(6i-s8eCQFG?8!e1Y>)b5889TF_8ED#ibn|?I)HW5;*Z0Ry?FSN#A0zz<X6(4bgs&@XDxFW#Wno!OnNLF=(WJE=jh zJI{9>a2{3p^fYgDIP{bfdlwux2KVhaly#q-(MzYDbVHXPE)W-go#LvFg7M4gJ~)jK zi!06pd6khXPAfCIc$Wvv6KJ{aJu>rsk1dptEwyo}4e5*TpgKibjIe;f$xLn@jWFZcdsg^x*Pi(^Wdh zaPSstg#V_?tvZK)8>_%`Yc$ijSX2SQR}}@FzFv2Y~wby&+C0rq1T5 z`$ud_2Mhy`6ejVQ%k$_l5%kDJ)j*3LtMdDO0d8DgKuehDZSY2(265YW`H-Ww>A4pO zmqa#Ea&T@8+l&(>f91{-a^}yA;FcTb$R^%|ikHL}BD+WK!6JRyX!R@&Oe-86m2DV2*Zf}M2fd9)-?F29Ty|hIl}iw4 z%OzZh?%$Sw%g49n3T|M_AGqR`tM~>h*VwS-`te;UN8J3FS1%l?UtX0PT*u1(@zEte z^4!Wp>w*Wo1N|!Fz}rkyo;E$5Vf~Xa#>#D%C5PcF1ygsjP!O~8nL@vJH9?WW&rdtq-gqUu2j`Cc~UJ0P~ge|Ud3o} zaI;!&UBL@JF5!P%Yebx5Q7%A@Vip3eO^rJlU7weW#}}XYxjMV#;Rg*fV~?(o{j)Qk zx)f7?rF()UfIm7=BDH}Fj-Ehy#!wOHsEp)?12ul|0q4*36v|*IY75t{p_CnfEEVJK zjZW^1SXpkc&M56_f22xoF3)KFrfP!FcxX+&&;-&<`8iXt&&8e}Jcer+RM(E2-IfbB zd&@XAW5}F6MK%2+o@musKcE9EjkYT-ou< z$-*yOrnv)ve>tbiYr44-jSz_7@q2!lKz{fJhwb_q(Fz_)aF*NL;e}EtH~W-W$Vn*X zt6m2JA|X@MDd$wx@kb8sa_)qGoKNMPYF5Rg>cf%par){B|o7m_8xzK zO06|Zv5>oJ7Bt<^n31yF*Z|>_(b^?SO*yA({5w?=zEkm*w^oJxM)O6gsH#VUZIV2C zgc|X+tRLQl`tDffhxpbm=j>$Wc&mI&>m+9dIp2qLm0ACwFkcADFNaD*!w3liqQF zfTXzda-k+*3Ri^$FQQj*yHXnd;&_sOF*eek%?yZsbJRfLZXf&dVz@UGe;IjWg)quISwX-Na#~{QUES%VK?ZOsd3x1{*8A>hR__e)Z~FzTA&*75vE0$zgHw?jybk3mjmd+!bKp#VMbk9`f&izY%}u{NXk8 z=(>Pw%@6H8C7oe9{e?VyL5}mw;*{^M$awWzaItwx4g4uU((UiX>4)N!(B1i{(C`UV zGTc-!l7Do{9gT{Snmn>5kFF?xb)Sahh9T<@mq08i!SkCdU=I+a(qZ~a1pq} z{djTBNL(M%$LmA#$|E^tK&~jRN5!?0@x*zqVZWx(YYM-nuh;xjZuR?r`h#-)#y=+O zT5Z4CC*_9b-0V}?%|5-np%$8R!+0mpa|u-xzgSoZT z)IUKAZ{EBaK=-L(PKdOBP4r7UQO<1Pb3S~H7?#VTxm(=e6!#f|eL<)#DSs~N9 zB$mSBOGD^gXX3*|YKp&MePZIKfWo?VDv(30S~%>tW;hj5R`~6U_`f{YDybVrV|`2fy8$J{CCG^S1eGL zpJ9Mms@&V30s=~T_rE<>(lx>*qC?Rp9S!?uN|Xfqn*m~q^i?u)6(J##l8rE+AE?6P z{r)w2FvwPK-A7+mp z1XI&iR2iHaf6~_A1Uf3s^=GR&0DQeNCl7ginlLb zq*)pt+Iv=i&izB2jl$?jcn34z#U0R+uXyw~Pfx{qgwyC_Rp%%)Z}}D2$m!E{CWI){ zt@*w7>IB=jB^0~;Vg8O&9t%-zwS-7U+-Z~Odg51iQVdKidH4@I`#Or((ebJ zK<$|XmFoNEKGmK*@M}BU>yteb2{%Q%;-&(H-;GXxZl^bar;(n6D8&G1%-YNB3EY{^ z#Fa^h-24Tq!h?nbMpd_4vDae89?TAAH<5rcp=KRRjUr_SuFjI`2?q?K2RwDMEu z`KvF{G1x)5@O$oz6_I^zx7_`V2Sl=f@@>7$bd`=Xnb&J?55t^=@=%V!4{Z z#p`|Xd;R6$-M*$4($M}<3~$5$R27qidO@NZo{n+jGqa z()tW(;TA9KF&aDQP1uHfa{Mutmtt(j>N7Ft!$;~i&~|i~a*7J%pZHLPnlCN~=a-i@ zAsVBQ3Z=-?K-QpFv`uWv!=i|#$WEM8TOw_wZjt_qQReXUw2F#=mLk`I(f4XC}3_)D36o)_{_I20pHLBelq1Q z6{L3_(n}BNE$oVsuh8Rj#Ib>1wk8pmjq4OKzz+zaEANr@**0VM+$9u!$ugqX>d#>e zXhFvC$@PbuTa(4(DrXY?GQ1+`La)tcDdn~pbTV;Eyl;}_bg}ddj$B-}V{*`c4?wy` z%ku&WI16yQ9o&AhO|A=W3^RBRRBCenLEzsh(19KuW#Zr2e(@E>44O1}`uGC}tX}KL zigN4m+4A|9kl@9Mz|+NvweZBp6}%=sH(3@JN|jL@jkL*&M_RT>)UH&(;b9#X(boDR znMa>7#@3dL?#rQAlXsLFl!>l?!vV5%CnknK1-pD!bsI`CQ8W!U3gRv>Hfo{5vT6|} zTVp)QmKu0Ayd`GejI#ZNQA*ZApnEP{$=PBl+L=_ z71|78I`4v!U;|L}j}(ZXAWeI5>seHP?4rVX7h^niQ3-VMcwciBBB8&3iiI9ovr~Im zjtIy{HkUJI?4*qa-CSL!FjQQF6!r`- zQY#@skc-RBN`D6mdrXIaKxt<+w_=wb4xvy)i0yze7$EiiBD$f&V4rqw;Gw#Wh@=EX z4r5HDMEgE#90#Z`J|P%{Y+6zxXSN4?ku7mlgzrKy^2~W;DJ{m)G;;~BvbUW3rC8Rd zf#X98MkLL?y*YF+t;iyT43DAGq-GrZ9v1!w!&r5I=LJyVkjx-|r4A8msOn{y?N=%1 z`&w@BUtU7q72OH4Q!FI&?bV(B5=y@)vo zg|z&vshu;GI*C;kKJ-ZVHlCUG?AxBz@e{QR;!W0>IM&?kCJWGcJHh6{9$RFurY&h~ z+nPpXT@7-Q+GA99e~jvlu8uK5_0YyVY7{#5Qqv|3lXn5GYxtte07Gy3)n_Ny{+p-= zI7ufkQw~h3fJu+znt?V{EolWpLq3Fmb^&l!F-b{KPsiH;asiQcjlrND_}e9?uPX?; zqTt)Nl?cuTM)o)UbFn~W78hO^`R_)9GKy`swhHWSD=0Fre@W@Mzzzcc+9aZF-NJKn zgf}_BIMWdfU8U(rZ(l(l9+zT`=^THoKLn{mdC-2{6@MjPY!1AfqUog=|4k3JU=6o zSLb&&iup5k8Qy$TJ`q2x&ZHd62sf2XNAr8PCJGmO|7?y_)J^V(F_Qqw*zy%u@^B2& zL@Muof1>ivAI*;PNOe9MQk=%(DB^b+BN0~G+lpX&e8=iNzO&VPdpG-Iwt5%i>isdT z-rKw9KitA@TkTI&Bwwu z*+Raiu1g%evpVmg_RVAF%}fr(74v^s`x=HOuCCj^GS&JB3ews>z0Z}Zih$j zbU6R?BbUq}f`Vc&p|ltZifPg4Sy7Vgf37^zM8!I?GlD=lpQq_8I?u48n8UW>0C^m9 z?l`6yG*nvL7)R$7SAA0rg|Nga+B!~5htIoMGGw+0K#NQ!#k@9kT6}Kvrhc5i0UJ-? zH1euRS-~D{dcRdB!@BWQ3mxX{-N}4Yz2CzG)^Hb}mM8Yo^XUifb6gp1W9QRXT6)FMq2&-O!FZY{wmI$Nka5uSq-J3hnsU*pB<7@_p zUbAB;D*((NcEAxqkQ7mEN0?zjHJ5#BEe)h`ar&)F&+0<}VF9Eg-Y&x^fG!X4vJRBU zC?b74fEXPTIRcXd!s)vsSg#`if?gTwi^_H&t}uPWL=NWhuqY754(nxt^JpIc&Kg(+ zbOv}uy;%bc@FXKA2{J`!EI`JDe_5$UvOacQ0EX(0Y67{j)z!ez)_9MX*4z*R7_lgl z)Pyf5dXD?@xb32i#R{hm88}`LEdW(fa_wwU$4@nZgkYd`YK~z-#$dC*3M`t(#M`j z4{hoEBn>OKfcO$(*luR+e|k-|Z@3A-_jF@sd?u)=!FkO)B2=%v>!?{n%kI3dUBHrZ zfR7_Wm>{!1tPvTB6rBQ22#Nzh?4YF8bf+HEb!#zUgCA-kLo^YrwOh4e2Rxr`@s(wR!6}l9S+}H9>Zgh! z<_ZC1xqscdG7K^2hY6S)9SCZ_!L1gwkz;JObIXz4OY$Yc8m|j{Big|b#&Ep1Z!t)G z6SizhxgwAaj5ucZlr>s>fAgf#!v{l-8}t!khXR!QVND0-TcCD6*Y4rF)im^VU_8Zd zvet(taM!4EbU966EswCmh_bfA)x9bq?IuR)Xn(oKt~MW2U8?2cPl?EAJ;u`C9>k90 zJ*o%qu+v%n?~qW7;5v#^8w=g!+UeksJ2(xbTxs@j+WmVJ^6XN05`suUIR-Wo{Zd>I z&+3g(0=ZbD+#Ouj*ch52T^^U#YcXp2jf};xfMlU}oB9Lx1-h0rA$;EGfHB`tzXFk1 zA%7TD!UhBL417{N*BF5>1%g2f+3(tbS_mPi{1&| zjZxf4w-LHYhvirCX;(9)Ye3QxbF+9$`<)lYfwWo`YTuox@3UP`7RZJx(rT!(7q`K%-8h zf7L^N6jF6jP-Ssy_YteiV7}VM7B5=tkalwj>r}&}6N912oUX=zVQ&y*XC6K^n+RQU zq-0+)$Ue649eM`%u1@_(XI$xFkr}SZz%|hv+;)ut%&O*GpI3W31`!QZS|gsJi+^bs zkk^xx4t3zBiyFH!9G+abqQaf7j=N6zwlH{mLv(zC;LmwXe5tFZS6JZo2w9Bpg+hr| zsngKeQN#OboDw2DPE|1=O`bw*fT_9gcahU!x{d|)n}TeUt=uxVNXTkxi%aHkq>Wng zg38BUT2L5WgS<^%nlKALOzDAha)02|xOcj8tPAbt#NGmuiN!S7Kc=KqtRP=jLFLIT zlUSFHh-E7b23ov!UZ%p|T_X5@&73$!9()hOV#Y&(P5WUJX(>ED_^$R=Z0totYVPPx zSLFAp5a^pipgvkS+RPXG8$ls(v>6lv_0jUt=4^$)Y&-I~{{f9{Zc85dS%0K(oT1qF zLb)BQ0^c^cj=lvSZuvXuAHmJu=33!XK_TGKPSruTgyP6nu*}w;ZMHJVR%KvEIz$ApYeFxA4Ol^{{s z{lRFuu0z#6!AuFawiW)8_sJ{Sch{)mlF{P7A^oo=5R&_kgd1R@Mp^2>Wd)8 zLh>-Ik1+^gp|7IwA~3^W{>r5IBMaugK}Fy%%?pEtR3U(RP$A%Xb%SWk9i)@hEFns8)DH&H zGaTzp9K?~~#^yNd_kYgdnR%4}p+$`Y%)e=#N=teiLKT(jr;0gB1`0{yKbqNoHzN@y zTdftzOPSf)5ho#+RT?nScIgiq*Zv`+T-EgJw9H@cl=q**!~fK6eY-`@K(c%1Ld=XATS& z4qfDD(zFdVKLi#grwfl*m^v{bJdcbhx{Qqp)Zhh7jE*AXJ~iTQ2gitCbqXw|%)ecR z$%sUo7#Y#dB!2+p4m7mXI|5IjP|lTY$pTDJZ;tR6L#+fdYii08HfwAk=9cS$k`Cni z;~G6X)oQuhrIuF|*DzdSk z2>Zp7HkFOaTSJ~p(281-+gu8;NCBF#^wRMHizCM-v42}uRRps1BUWw%k|qS{C}OLb zk5K0eObYF}Ki?{f$%I1A=2SS@`D>1-A zm3f9$m1FRE>w#|RZ zwX2ZRd{uT^=!(Rr34TzRz!xp1Z?XWLw)~ts7`}WvCKu88pucC52{3dom$%7FX^DzHanShn#F!3um>zQAb;E89dJn+2vTmx`@ z*?;lgTr)89UKQ~~=}uEK%({0Pfxygi%@coZ{%=^KdG>Dbw41@+WN?3r>*2R^;0Kd$ zCd>ukV211FxoE^ko696b(fiChG68@4sh(T0etuW7P!CJ?RE03{sU@!) z<8+3%MxQPgeen0M5T8E&_S5m_`FF9j-hbKMx|+oDXDG*g z1?n;V>if6z_i^j&8{r4X9{+#7bSEgzJR$D<=Gy!74CmL)*nKuyu7JV6Ee+(OCD}_0 z+>~^plhl;q_PhxO?gUV;!E}6@Z#3GxPchb?ZU&!s?DWb=cwm{NvIri$Aq8xj7k{^{ zZot_1WExd*LVBDHb5PvD34Vb7vVf^AXhk@P9$#_V(ROchfYf(D?9?<*45bvsA!_dD zH%sF;&@ep)%V(ZWCh!Kl!PpBvZ6$6Mb8RCh#YKDY_?vEjDo5%G%&(`BH%I8vn?p?2 zgE2#Y78!Bbh$G2VmA%&#yNWk9tAC4+<{21OYX%{V3QsL7%D zN)FzfXK(NQ;!O`<+wFN0W#l=l!EhafA^Bph&Ba>V7HfmiLMK_Qy$p-BPF$=FM$4Va z#hUBl(nf|i78KRxBok2x&oMc*wGx~$v1tsK+C@fLYqBVW$=S_cn32&ZUVrv>Ow3b) zjM6MExs(>bfCVtH0_ctw`bhyi3kA@R1<)NW_h%M>eRIF3pBvYd@0*7ONLs!an|t?k zK1CxJxx^xAm;+o$dI}uS;T3jRh;7MieHjr^-yLS(LyeH{|8|a!#a=1{1V>N-rP1bo z7xYmwEX!zqCSU;+qX7J1O@EbL9-=HRfu<5&EAA1M8SE61f9kWe_nn=c4Y3dT0h_TG zptJgS29G(=d z!fFUu4fHz%ot&NnV!^4u-(_k?i-XRV$%dl1v2q% zDBepQg~+&Mo*2$9S#XysIqvYIKJd9_r+;U4{*S%)zq1}BlKBq*&PF4UbK(E*vliOr zrIpvPW9Os4f$0FAg0Ly@i&5-LCOj@9VVZ1+Gp^cM_pEx>a(_0`f%S%EH31+1err6MyAdj?_eXqUP8pfy~60Xgy3|5)`@_Z6!VreUQJ3CQ%0KbmnGJ3g)(6 zMq+F{g#{?6_>W0f>>P!WzK~T(=4R{GNV+VImDrx~Nr=@HmCi;i^#S(}2>GPy4oXIH zD+gs-&Wjw)tgP1)rW7iIX0~15hWcEt#4rWQJ4rRZ_J07(v3Ldq-lt|M!#@+Dc1IF8 zMS=_cT;c|eNXCfW^NUeRE~4ku{<#Zg7?=fTZ`rE1N!t&qAU!5Y*^hd$ka_ zAemCl`;s){S7?owb|rd>%8(!vwhbNtBlQz*AxW{$?%!0azAL7z|L`yg{Pd#*kf!f{ ziek70;(vckdWlal+(0?pK{>hQKk&752D%U5gyYfB+}hT9#qNr>lzcD-3U~8Hh@e4w z9fHY*Lc}QDvZ2+1M^5*l2=r}3x1)^^I*p?2&ZD?R0i+fRQKRbW(MkP+;~BdK_KRX5 zC)@_8OSEDgteXj%MuC{niZK9m8vv!^5+vduMSo1gfQVt#FR5e4WDuMHKVJUG_QWJg zN1B1*g;gwE3A-CU0$m=)4IizEfAfhB;Dy9jJ_MFR!Vf|CQQI%T#F8Bmc!=C6E*d~# zaf_W|ahP7SWq_4h&>w0);tMt=x8@#=ACH&E3*)7wF)95qwF;Z$zNt{Qh???7PCM$S zH-CE{_D04xcxMr;5uv{6TiZ=;>cblF3-7F_&;H)*tsOif2m>E+qwSfARG4S*@QiCL z?uv^eXe3K6fMnhcLcFjzHr3$`2+h6-jwz#2ekU_VKDGToW9)1F?ewo%0OV^H+AZ9@ z^_EcIIkVmcSKZk><1mT;|F?F0=gkM_Yk$>DGu5}|nH*3Rud&ZE`2Q*kkZJm(sV za;EtClE?kTPjPZ7nMe>_GL@2$CTB+vuxD4@mwj?o2ps9YSbt!%WG#<1c9WNmZvD|) zBo-%b0~H7NvbpM4SRLgA&7TVg<&%R)N!nQEK{N^pJUkcW4Wq%~)jMD!3Mt?Ro zCD%dMd91nq`v@Cp-=d#I4;uq8C@pRW7o7urjb7-V6*2V-x#iu#_)fkO=2k9S!W7ID zT_(^9Gx;s{B*LWhl#|j^o0K+23+-f5`XNk8+i_Cb7%jJNGAV_A;t_pa+b{)-#|H-w zY95%6B9)!@ps26VXfs1D3I1I{Ji-1+@<-@kP5_?w@fJbL?h3|EZf@xT5B7~-R+QjRkQ�(ZGB3zB*D_DkSD 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

        y3|55+FRnZhQk5lf=_%D1*5vF2F?yn@b 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%0D$FIY11P)9lITSZkq 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�Ft&n`7_e&|8#N*({l*Ps)IU94ABeqk|Wj6 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�p&k*#N@5QDb7hZ;BiMlI95S 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 delta 1390121 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

        1chmbu0af0pDR5RG1 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�L3;sOA|r!4x50yyaoA2^h>Di`>fdSZW2GP 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

        7B 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

        3rLzeB!@P8xM@Wi4m3uYg) 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ⅅ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%0APo}zZUS&ulASMnB)Vvf1X7nC|AauIs0QJT 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

        X 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

        qQ0+UnHN6(Ix~Gq+yET zFQ?0gbi_;X9PkpF%pF~SY72+=z}D3-?22l0BFevwfFqMdlK2Uq7d@n$WORN6H})>B zwPQ|TFk9@T?KVr&SSfUyQEhSU25Pn3dN?@cEu67lIAgtV)EA6}#x5@$jcg7wj4fqp zLdufn*y6Cp1r6@}Tr#{z2Sv%;i4#zo1HyVcl(nOLJe<(feH=P}$+|yoq8eH|jSEB# zURhAT-Ev0ke{zb!ae?ifsWZ;J7kFinqBxr3z^H|0x?aYej19%t`OmedarR30v0wyr{>87i z_U!H}FzrD-&PEx3p?jxumPoUl_cEccBo#OVfFm+qk4E6g_ORLONbRs>wxxqnHk!q` zaKdFHKkH0~=3Tk)E(eA~NS5T%$*}#oVDJ?Oq2N*27QK?-JtU*Wd~LynEG$?s)xXLL zHfqfUuVgoWvP3S;e)}SU=V>`~GOTeR2q`Ew<)Q_es<8Ec4w!(JuHpHvF&LPlCIm8) zp3o%!gh&Esm>Og}9xWVe;N~-aK}$)7hzSGwC{qU^97DK(YAOMIPB;U~TPO-Ek<0>> zL**eJ)8mp4umdBhhs_Kn$~?Pljoku;e4+uCDRkDesRjYzAyu9uAGDy=mR>=;m-&d~ zQt44Ab9tSA=5s)I`4lBkeTq4#`aJGHwJ?IoQ?qG6W%8!OG%nm5Dn+*zPoD&vE0%kg z0jq=kPO9J~adNJ)v~mLf0|PlLUr%m&`QUMWJE{}r>dBM1*GY)@b}E4PK=9V^Kf%M7 z^#IR0Cy6Qz~8Y9d16QO2)^b3C$pwOv-3Y%ITYHNW^tyIX=^fK}< zyla<{{t6cXlb5Of3L#I;=xmS3^_*I$2C#s|t047bXQlo*Ax3Z%w<0i+<#WfXR<^Fm z{aFXUlLKIfqsBezD2*OmMzJ2rdMArvb=kgiV{Ss|>uBXhFxbAdh7Py>z5>(#TCO4xW*y*ew2HkWG;PvLvISW0h!`bQnR+{;_0&=ys;HFqU$id zh?T7G-ICCh&`Yrz&^1>EEIbalPvEG*AxnQLX%jL~RN_)(&eK}eWL4ErvZDq@!-O8# z1ARuqLrE3eJq+s_NV!AK{RdW$OotG%RqP@9UI-O)+drnr)K>*&lcl-7A~r5%;4*)X z0y1zZ_Z7EL&Zdx?z;D{nP2i4pi{`4!eadKHrF6adpk<=ylqY343tqctX$;1tW|AzA zg(fzuN#p~v+5;=y$1V*kr;DBY$1KHb6AFbsR^(`Gqky8!*eQ;UTx4Z4r@8Ioa0MG| z&`AI@<~zFX8aqcz3$=OPa+h?YP92&!UtV!p781=?Q#P5X;maaJpc z?UYnc+tF$1o^q&u?5|KbH`NOLuYaI+S%ZVgJ5^Vb$@uykFbA4$P1cI zW!V0ZyiufxKScATPs=s&IoL7f`cZLd2VH^75xs|t+~)o%2Hqn$cdHfA7F?wX0fV+# z?JcNn4jc5NE(iVs@-VEv;tDOnn|-{KKu7jq_~pagt|SiY9PaNs+zHOTtj+Q8BG{WS z!JK<}vWOX1SK#Hoy;ILH>4ATp;nozY0Sks*rxj={OA>Tjm~Iz1wN83ndV272G)Nfy zX|1~X)wvD|SkuiYVyeEYzbW={h<;)xm$NX&UvHg2ncp76v)_VOfU>?CbevL`p3mm* z$vH~ga+7MWp?jOfkrH#71n2qbm;w;hH#*PZTpc5jmxSXv@g2K%quhU3wG}=`>6Y$4 zE;xef?)0&y)x{-vLh%!$205I*76ASUKw_W6na}CsmoeJIZ`$@wq84Y~U&W<4tbGk@ z5`G0Cc&Rk=8?V>VZ|0r!8*wo?gGs>C4Z7iO(Fm<-T3>>27fOGr&-(p%lUmG|H0%^z zpL)ZQGUN3OE>b0N(sEQm68^Yl zzfP*Cj+2YWZWJL)s%{ff8#ok)*K{gw!n*qp!aSEYK`cfH2}(JgU;eq5UtUHmAnc6A z!iAvYDsFgEA2)qyw^6=S+zjf`qV|>Q)Mr44L7^>HdvS?NJiPa6}~*s z1H~h4>#v+ueh{^SR*#=n9Hg9;ldb&vcTtF>_$7U!*85VytX!*0f2U5UT;47nSe0>j zc~c1|VblujwB!QK4pbBrD8!WQ6y(Ynp@AR_&axf3T05KWUtU^yzfb8kGvnE>?ZZqX?&|3K|vc|=uV8N ze#es&(D7jLZSE$xO{k1gWoL#`xzKW>aH;R|WJ?^0u7&1z0gaad2MZ;CwG~*T*Va!S z$9;jN<7>E7&|Qd*M;tJ1eRYk2$5#jl4iASkw*c@WECPa*Au3S3hW}#^+JTv3<5Bfy zjcp2ib`p80X7gtU!59#?0l>BOGx7S$O1us!1Z`x%9s!ota8q?%{yT{~t7{CRR`<|m zF8Cz!t*)%EqY#ur&9};bMR{wdPoix6Tb0bJT$Dx-E*VhtR~0RNj!*%cUiS69R-81v zW$v{i44b;w8m+FZ-~syLVk@o_cz0MczQ5WI-(BrzINdqb()~Sn6#8|oz02KEj-G&U z5-{VzI>Ui{>NsOB74AuZFcoW!!%{%@hgB=yz8qhS&+jz0;v0>B^UJtBi|`AV6*0$G z;|oMJlfw3Ut+BPezO!)^MjV{YOcp_=BxhV`Y+ozlrxN~Jjd7aYJ!S}te6}67GLs-D z;yG&}V%Xw>F|AW^>s%b~%(^J~(E`_H_9#CqOHJDq75G=wzH~9ma}4|(n?tVln)}I+ zuEx$G!YAH1Lm~oygd&z_C&`gHn^W;t|JPjLe_vXdU{Z}C-Fn901vq?OI6K*RL3?^$ z(FAmP`vq7cKW}L0m4b$juaF1HBBC1=M07q#L>Evpz|3pt4)jf9|Irk56&N6i&ue#+ zOuS8VHw)srs2g%)x^c5~02fW$6`S2n6L`jIn))%a;E4Ty)P3u6T-TM}tAH2{jRqQ5l7ie|s|}KnL|L>n21r?kU{s^K0kqhS zhWbJQCXt#+QYlZI@=X5ZPm)UIR&i=Bo_QrbNxpBbwQuL_ZUCh1aa1Lu&p!L?`(AtP zb@^7QQ9!+a>WZeoy>g|gTQ^j9S5?Hpoeo|L%IC_1cwLNz0jSsHSgjr-(B~V0Q+>mj zn5$4Xj9{h%qD<{dLDm+o<708nf}@#;6IqA{#sSVIi=z#7gx=Z{l~Ih{C2#8RX$zaY zg-yP-`iuRei-Q)W_r3RgdnkyOiQx)6yj*yFv5wV$gGea)=VHSVt4sfj%^ke#EUTFl zvaPJ$e;-Tn3PZN~i;Ko>s?ZYCTJUN{6($z94bhrPQsKo1Blgmw#`r==4vb%0Ar3aK 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

        Sr^Vit%?ewH1@DGBOgqFoR}@lOf$9 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%0AdP5~Xsm#SH#NYK6qh>s>agW?Vo^7uG>jJlxN# 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�D6bHXcLbsJ)nKTeUS|J=BppTBIq07F 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�Et0gb9>_Pi@zK|EA#Z~A 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

        dz+8JM8oVn1$yThZIHo7Q2QljnzEJ0>%!Lezd8_ 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�#nA*FLN@N1Xyk;~Nk^nh4#>qikoZEF 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%0Dl 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

        u8PRkc@C_2H^oG)9@K)@zL7 zJRhK{{m_AtD~J0QOw1#Ni2e`KKjq4s!%TT|_(9l*m~160SYMCl!AoF*j_`ZNU4R0W zQ+9vK=&;$F8+i>u!PqUZYVz7~Kwh4;n~XR7Ps}H%#{lP+_6R8zBjy&-RaTQTl^|8To5e5-x@ zYp#O`NHtGSM!SaWW@y<}se6;`>hpg;8b*H~URGlEisuqB!;}k4fq9Sp3+Ao}ldvz6 zWyc>l-#>WdsK!{cu5M|(jqk^}NDOiiD_VUJB#kj8*q{okd92>wkM9l|E*uQAWd2!q z2XY`R!6tk6BS{nkj?j!ze7;$0G;58`TC-WZ_OVmz*Bb3wvwqD}yVgKI*sV2N*FS%D zYYo7iom#VT?IVZFr6^yPUN7k0YwI44^8H2V`Fgik?`?Mbt!{0-)$4b(;xC zdZ*XugC?!F+nr{o)e>asX1Cqw_4?9f9K!bM?Ixc!+MBIrtI=v>mF(8}u zdaKi>6YGtBr`K+@+YHiryIJqHBnf}-v31@ubQIIAx4J!itG4Tu(x{6Sf2U3r&1Rpz zHCx?ItJ7*qYr37yez!x9X;`=4sW-ZHcTtWWXvZo6Ki`X=EYH>HA3k4`jMd+Yq$X*T+s z{n}=?-t0Ge3>Udu-FCaD1K)q>H99?dPF0(2^3uhApNZ`;p3>}Iw^e5#=xwvx>o?l0 zDS9hi$JH;-bf6`JMsMr&HXYlP&wBkfU$S7NiJeA=B};etq)8iD@C+hrqt&4`w7x;B zX?CO2m4RknY7IKx=rp=*nca4W@9Uc~_^hyIgVCisl+oL4Y6-M}iaUS0)bal7oqz2P zC%b18aUc4if9S$+K$l85ys%Y+V7=rKMz{Hr!{R{y3~1b|!HY~Er7-EkRT z9_^kvsaar(3Cg(%%--7CWOesBKFEb#TjOr`e8QhWqv^{$8%)=GWF>4VABlp#X$OXA(b^=+`Ze=rzTI0u0FPS8%qSZXbq_Mu&G>0Qg6PlUsk&i+`QmI^$*M_TgIN zR-+T;Y4@~%pU-}luUlm3_za|<{k$R{b7~AWZy(AFZ|QKtQW&m{*7oVy+8#{#g%}YW z@N4^IaJJ1f5lD5qhOqqZ@x_>-Z8g_%OJConW0y1R4~IOD2jjIVfARCRcE;cNV7_*8 zQTNxL{1}lNKR17yd-r-WOY+d@`X@vO`Y3tEH7c|`Jh(j4hA7W*?bzqx!R6s8&NHvg zeI6cM9-dqtSoE-YETl_tLG$i(b{X*O31Vf~` zrPiy1v$SVVi2YG+zB2i~N^=cueGon~?fJ?(@rQQGh!d$xLKP$aG^d1*upaa?Q51Fu z&%S5ULDzrJ*wvF++2pORs$pAZ{p=AmW69xO|(^^=+F#TlE^!Pljlp*G@XdIE3aP) zUAsq4zH}i8c_KK0r2B+7mg8wicxpM`KDFW`Rs+(&Vzp(zy7g9DmBX^$20ZjiX>fMmwtJmEtUh& zFOS*X@%BuX$9vY{Rug5<3Z0Yh@#S!DPaTj&0uZAJen`D8YCM;lB>0ut@V+=MBT#-Q zBn->_BBGP8_jMe^OEP%hXny^LZw7UvR^bzWU)Bv5Da>edXh*U29{CtzQlgLWQqh0x zVvRhCz72Qiq&=77P+D|c#r}49T3yKFJ@xAxTJ5`5*tABJ=b4=#-waQ3(vjJ_dAgia z4-K{%_EK)7>CdN(;&~&?09}9KE$V2{>Z$99?nv=QPLw!CmmlV$o;)gcLG><$^Q2&U zKQHd>$Q1JgfJzoqaJMLKSJlmmx|n|u!QSbc6fH8+ znYdo4m|9Y^d}=@sxyqMJm5HHrhd6)|fcI3&i9d)ILY2j4^r;SsW%bM8N2LDUcFJZ5 zu`+-7$N&fR3n$f?OyBV1^m2&LUB5ad$1NzG{0+Gzfj^gTqtiz+{G4Z$1j&D>p;(@n z!H4lU_XfhehiXF+FrTCKRuf)1YGCBqIArEQ@){|XY}}8U>#isISyCoU_oWI&N1+)m zM39ipR`V7Kj`UJ8*Mac0tGsyUve~;^gO=O7+A^(5u4-vh}*Q}KF!F7^}fEk25W!fpPiRS7g5prZ8^e^?bCbhCU^1fX0zXsEk}GYx1ZeP z$HRUxdHkfDp#%>b&!bc*p7kbyw^p@#2i=LZeBc9u+_)h#H zD!m)07lm&|h3gO!o#CK}6t2C?R;pX5?)rD+M1WVw$es&Pvdy*9P}zS^vt94iTHQLb zm`wy^Koz1Ky?(#lMy!D-u8!oUfv6(M(5kol2*}!qOOPfZjcK>~{WM1(Q3sMB#79k$ zN+1*BZX4%73f1pz(v%u4L28DmshPH-Q%CNF45?K^xYX*k5Y45{Xtq0uvk>C+YR!I& zjx-RZr8#<=brCipRBV5By9nhF2iDVucAJRF8c6H#>Etc)cE@fiSGsq`zrT z7$R~YPpkF&NS}~9Wf{5+T2D_9up;)UBcs|(`_XLo5UX|QDKmf9-(=Xj>6B1s2T`7M z6@g#3ivToR8EvF~&1Rc#YqCOEO08_b5jwURb7lm&XS3TxYM2dHyT<@E$xtU7YowKC zK+4K?P=RZ^-$AI_uQ$@MYPJ!t)f-3%8$G1EEu^XGx2ba=*yDeUD6@)uy3In$HUUyvk?6DfAqY^H4wNn1tZY5V2pRyo(xutxCbDTq{@+ER zK|6WiHO-V_S&FRDtg|$pwzO-#4%DyDB1lW1 zpR&c<^pqwvSzzgKc2H?RXV96j%tbhj<|JKP5X65jBKWQ>PDmeHKOHM5GTX1WNk36N z)KQ{jbBZd4#UrA7NM27h0qIz>`I!>V01iCSGq8H<+0sJefNDncI8db)8x1u=nqw0s z3+op-JLAgyqEAToG99BALLOP-EUbPV5|s|7tO?c*S_pIjbhO!TrjyFY3?}=h$zjBB z*BO7`jHW>NdmP@)cCAf6(TilW&MQu1R!+OdNOqy4c?JR=GGS;S7*Iy6L924A#1YU! z2iE6Ug>0Y#$=5FjI+NM#>xj}3)Mokmg+_PT(yR=6$$n-$@&(MY-=v>tt2htpP_T@J zfTE(vx>3bBhyAeD;SI}3xfqjo<_F7i7Tm^m|CZ|2{YTvh%2)R4dQ@d zqxZU-3|1#2-*t9BY>Etam-fp}%R1SVXqIxY!vypwtD9|f6gI*Ta4<8J^**BjUCMu% zE&gAQs2Ur--62yqD+4yCLHk&}%C~KzGt9U~2AfHcz0OG_=Sjb@iexO-YK0501OVm^ zYP_yG?3at2g7%6;bm(&XkThPZF95m40Wk|D9u0qe&myy;ino??QAK1qve2@~e$r~< zs~S5R{{_WcL=e$i7O*Rt%C5-PFS37SE%=@=GZqW^%4RgEXmR-s8hL|ew7G7Tn*m%G zG%3KIn+yjfEG~a>E21m-<~41&>3}e#i(Ar-db+qNV9?4<35wdMfBvG=X!^y7l*}&e z&Z!8|R?)83&K!ux@UfoKL8DL+v%8@okjhP1y{0%WOtzn}5wOPfnkusE@MM3uJ&d!+ zMFyJ8QC5><4vjfS6neje=)#|Ih5*=rKZ0T7NJnX#R0JJFCoZ~j$Px??`grmfqAi?4 zeQ7d#9nCpS5q75o@F=MY?h2Lwpaondq6zCFPLi>R^=%FLrM$aVX=?KBL zac`n$dRy$n@CzrBju6d;!pnc52ylhl7(6M5csfMTQn}##KlaXrDXt^Q_g@9!F-s2( z7D(0u)Fy0M+SOgZt|X5q0!wm3H_$8SX1g0n3~)dD{rxlRbsmkRnb{k$H+EtyPS>eZ zkF2b$tb9W7nH&cWJSkje6-LI-*d2v~9KJ$V4F+BX5^ZxZY+_CV$I5?+`t>IFhZ>N? zl)=z)RKt70K5^-&!AN{N>?0NooIqT0A97UGLBvYj<%9){@NmFj>-NKF&^3@I-ox%5 z3`ZxcNJzNzeMMnRo>J&*ap@E~9(B)5ka&dl`p8uLWUJmIC3H~n^ITQ&pY{gWs8IJ5 z5zJBV6pu^fFeIw>iiLlkK9>Ylel7^g{#@YJ0P%OS7O)=oZRkE~c)en{5BLXz^L>rC zfKm3Fz!c!(x_5dIa-Y=dkO!q+@}g1lwo&r9QSz=)^0ZO%vVDYP8mZU(u~G7UqvUy` zwUBe9fX*NoJe=|C%ncsSI+y!!crGOU{?#H2%K(SmWfaj}tCOMen*#E5-hB0a)U*KonY9{gH$!)D}PU zy>hFNnwy_Lrn!^7_a&*BpZ4DEyz4#I#CSo1lE=NbJ8ye0c3$*8?0o3G7m$36ymNs4 z*x7kcfKqrHe!Q2%jvhWJbEF<#$Y53vZ)GN{2W7{xhj)K6Ce_1J*@^1mr6rN$0DDrW zFNpVGpMnVXi7=GRZ}AuJBD4unRJ2qFHfdSu%9 zCrzE_p9pB8Ma+{xhxb2009#013-M}2keVc>Su|S6Kucj~Db-Bk%PglX1d>_uScn)4 zSz;kIEaiWLSrAxA{IYB>3-JnRT_Kjs^0!jZmL+P1=&TTumC~>*_A2CCg&-?Qtg>vX z5JDBwrYu$}#X zk$Jv}_r3h#%KY{J8Lsqi_$J-xDj)I9>-mk}g$r8xDhzt7^Ex~sFprO0TWuVCrKNDM zs5f^nH@BIa`}(HlDi@}Dd-rpD4?3>}*E{WZ3tFn%fhL}KgkCQ(zhhFRCN5WIpoyKG z^a_8zmC)sxK|SeZR`j@+dCp|!dGBtO&wPlVKav!;$1G^FqL;~Gv3q34=OM@Ep>dgq zSX~|_E|cdfmx+}khNOp&&R{YRdzd&L%IGsxD|pOY5_rs95O~a7;5=shUF9)P8xFLZ z4(#Lpb#LFTNPX<*fvIv9%b2R8&gH2%P)&cx_#<@@_$fU)Kcy%5Ddut4_@g87M@Mci zdepH7R&C`kdi)Sa1n=&+aKWzbyuM)8o2W$fmf#sTqLu2vEqP^_BQ(;b>FPPAt7n+5 zzVFT8fhTai2k^NkaJFvm>yryZ!_f3`v$tYTeCRY^v(d$|yzQ)sIoB`<@!eanNBe&* z4QSW*yXRe&zQ)n4p$>tIBQ_dsVYrea~N6ynf*CLGNJg zg&@*9S$oUhh`B@`ic!}s8X?O%~iPirz#b* z)?5YIK&n!)YRy#;9;7Nfg(^JdDoB49QWc&;6`pbx#1E+oPoWA=xeD@$R3+)f^^~g| z%Usg!LWc*_i?g}=5hZh1cX;-~x)p~gm)pA{SMfX-^PD$YK1iN%I23sMEVr9g%4YHS ze9Y}k)`nI#8WW7b@}~_HtAIWSc$puF3p3r(5L~dx&kVsIX}`g)x687M#4b(E2jd1PiLBd_Xc(NS0BGA2WSrn|-`C+?#&c ze`WMsrMwzJZ!C1Z10PeSYZ8$PXpR%ngeF8}lr^ahKPL;Y&*(djH{`o6Cd5564s*s3 zXP6nTttn=H51W$Wa2XN4A5Zu`YcVQ{ClvQz?dTo$_lZgX{^@X#QR}FuqbQLK=#3?r# zT7jE4BNJ*!Vt1df;H7_2MewE6KC%)}i?Szx*~K^NE(Q{O2$v6^4u_0r6^0N#oeLRP z3|)`9x|wkK(ftJmUtBh?bsfX!4faSba*S724ET#7j^z4A-xP5R;0eJf?7m)Uf{1Jx zB|=xOKKT5g@1gEPM6i6##HoTilm^LVLCS6M0FoKQ+}E9>e;bid2JPQF+S04+ZfV*XIWl*3a0N^8mGR<|JL zrdujwkjj*|c6sBCV53!_hOTzHTX0w5OZwF?C==-AOvlAW183?2K0rWiB*hS`#&>vX zaS0Lz$UBQxGIKLP@Vvg=Wvx-g(X9p`ERhJB+Pdq~jb_WL zZ0h31BB0If%Du}p+-mJkSBnH(xH5NjDb+GD6nW^`)fM1s7#b>LWOb;cFDQ^}7yWE$ zaiskREOa4+0~g`A`A-Od^PX@{v&WSZ^AXu)$W0O?2Md376@S1t>Qu1dGiE0FF86O) zN67P%tEq0Ly1(mQl=t=;lrv;Qp3?u00@VGh8N!rjtr6w%jPeb*&G(N`GjY z59ydeY{~Tf&1n3tWvjCEf{=`3_|mqFHi`BXjSFW?HX%3*!-N*vlma2(1lK?%?N<$3 z`%Ft9H$8t%2JqY$wg^@1)@t(sF0^Wsp*zh-eW5(&hOg-$X%Gw<75xhxwHDm@Swt<7 zO&@RzB6bfCoAH5dAJzl3F(hD>w95o3Ij%~WqR%B0Ff7m>*YXB}!lLP3%^!VFQ$WV{ zio`h7V0oo=1-{y~T32lu!%LyG)>^wkgvCJO2rqvEBhp5vS~`=+X#7r;KsQQ+RZb>A zR&9Ug2{`nL-~|-50@~UdT0lacv@Hz}p$%Fftvm1rR9aC!)%Ma`LIXu(9G07WHo^r8YM+Woi&P4TteYs3_KVI07iWoj2uxZ=k$aI)?LFC8h}?>52$lwH zEtcS@)_}Y)Yg5!+yAUAA7uwvR1s>5EQ8<5@NjMR(oe$M~s0}XKE8;B|lsBg%S6`Hu zRw4$_5ds}`g=`L)(jCTv1hz{?f+cNr!ObIxOS^;y^f53lF zR+;ixX4Np!aCcc&1^A;}#70KujtC&Ira`DD@g{;lKqea-G!-r)*nEgyQmBL7#yv!qlp@W9v>*xO@iybWkET&D!dn`f2aY(1 z6J@x8)A46i0)OgMPxD9{yaD0CNkU;_f z%Bb0*h@mMoMgap3c_(W}Z-F{UZ-xDcgs{HS24IYQXuK67CZNP-1!qu5Bht3B1(`Hk zTzmt6p}ry(4b=JxoCu@ z04Q*+2ET-@420zX2{5~IOB{b`i7`s1l%dO8n>~0(!cTBcn53694PgRpAE1L4*_BQl zXL?PD(+le*yycCCA(dstMOd-mL0WESgAgBaut*Y!Z{loGQr0P1P*#zvJ2f_@*jQSjGN5=S&4F}0)7b5~k*8nY*(G)vXXCx?s zskzueIq~y99V=KSVPb!!69c}14?%Ysb2CtIlu04-mihx?h2<3#hOSt3W`&)D){IeL z&LoRcpaOO<5ztuOf_ge+K{U_|yCrae^%NZwgAFc=YC?gq-GYKXxX-!48iG(jUS}Xu zd8noM2LK4Dj7fkd2#JlKgm@B0z*b$G49>;O2Ok1eA_ znoX=21lT=8on(L~xbcaoA&|eXtz)+ttsf8)!!5EY@vpcT2s5e;1`33vgc9Ed)?<1H zxe(WGbO20{IRbx!qCpq{K|sF01a>zYLd!_N0on&Ow4FH22t*-HRfh_cL1#Lfh7EUD z=cFP*fGFZ} zDT9}VCLO~Hm>I7uUSx)XHb*KOAj}xe>J+j90&tKc{$}W+Gcv<}f%a&JK@f3CK#DWR%%j;&kUryO=?McEyN|NTAr>O93=9PtGI(uF>FpqA931Qj z_&FK=fSsJSARGXNIKmdgc40}U%d!B3Qc9{W*Ra8VK*8B~vJQbrvb&*h790dsj@Udl z8Z%{}po~;!>{0N4jdKcZAcluJbb-n}*{8FsSxyj*!yKe#b!9^h3D(Aiw%R>LktU={ z;0OZlCQ4?wBU$6&iz)7XBDje@pOzJ#CX9X_Gs8u>a@vsaX3=lPeR;W=$ z;Xr`}=c*7b!e&@#)`l%9-if`>qQM{nai$A7<$z(&8_Q0ATda(36WmeQ%;1etX+GgV zH|AVG5x_wh0LX!57Zyw-X+n%O%2Uo%yAD$T+JGM{2b_j%s&pLKnaE`VN~$9WCLCln z6%1Pt)hdKq2#!uqw-8`}4pW>vYa=C}_(`EYXso*vrx187mKyLf0dPb21JI0(sza4$ zly`uTjSdrkW$GQ!0{B9t#jjHWn8bjveOP)OwL*9~5{OxmYmKm0i_6k;!U_>s3>t)} zgK=6h_Axw}0=y6`1zwwDolVCAGA$?<8``*U^`>nnW`%k<0qER@_CX49)c^!~&1#4x zm-#-3BDyYvYLHP^JvJM#d>HvzV%W6_4c)ChgaV#_KVmEG;*GYst$$u)XdDEfK_nR@ zk}k=tHz&n^@%op^3{mc6jF;Y<;fFJfJ^y`pA!*k681eDJvD_pHF=-K}qgs&QJ>@_+vM3y`dvKu(=ZIW}-e(_AiZY$t%OOLp+_4$Lp99bk)m&WWH zn!<38(8{WBjeFnLy2|-LWk^1&;$WYwO*Bk@%tRA=D#(-eB$k`^{yZdsrG3%|K2tvH z8+;HDH<~3-z}@VT=xu|0-m>CbmnG=&Ud0Thsceg~5MC^m5i(l7m9G`-m z+E%Z>r$5Z5HxtnH4^O~O|M0}(=pVfWZ1yktbX6OukNCqn=vft59sSlL3uXn>wO>*V zP)-y2hP9ZgmUT#jJX(*eh1F*aBmHH61k;c001Y2%!yj-ET-O8IXZ0qeqoeuj{_D|e zH7wXoUnk6mUhnZzJ?rDfJ3jMwTg`Vg=Pt;FWkv2fZ?TeO&?ptOBQ zoGyl`JQ6YIVTw>%Z8=!eVjgqv&nZ2k2cSt2BR2Z;)pf;fHMo$7h!s{9A~F*6E8{Lw zC?W6qe5d~n!&_hPD+G3 zJ5YJz!wFg4#BnB-O)QIyf9fWkfBGhkOhBc;Ru!L^MsDKy$#JzSxk zEL>`8?kQtxsLxE_gKEZqREcsNG?kgu4%}=dGcyxhQvvBhM-jI&={wQ;NK5V_bknt% z4o>DKn%|bM=_y$kIk|ht&nt!m+AU zH{Sml^8XC^|C=ErUuccA7&90(*?x>>!@IzYK_7~eND>Q~K}~{xP`zNz5^pC85kg&; zbP^BUkQKXfb72}IyPi-%G~6W$V=RXVG^AUo9^lqxOEiRKz>HT9@Tanm5{Jzn$p3^t z69_tg4tVz(#u(PT%Gk-=(-=GWW@=c2O3k&lhH(;QvzD?+OW8rCjL1d7z`3BKNOf+c zqo2K4cWaAN|EHc{ZP-LqAux*l{%w+CG-?7=Se3me>-zQ(LqkKn@BpP1-c>dQBTC`cNd0JH4j{CF}z=%%WFm;`P(Py)!~;lW!Xy~82V;(OfSnt{`5D;Qa>H3W(w z6ATGo;^Vv<-^UU%m&Gq)D96MSjAqv66D2EhlhQbs5p!V>KEPjzLRuYP=A{>n4(Fmk z1~fQ-EC=_0(GifVjWlg|Bx77^5Hb}1e*v6imstl$$*z~1ALqO(!%WiH&3brxwvEk2 zz)Vy5$Kjab`Zr*=aI~Y^X#0ysoAG?}ej;$KSRe0RHNTEIra%do=3B%Df z%JY#7mFektt+@MG@iY|2CPOhPl&Yy}D~^7D4zU@t;6xV~92OurUE;#cJD$V##L_;w z|8T**uYwQd#k$jpMzE{r-Qt}wI8nWTd$qZ|%+61LA&lf`MsA~!kjC5i^3IO#ErZ?W z5{#68SSl{T_GYL>fJHJrG5iBEqXjtD!v}b%0CFjJwmB7g188`)c~z=3k3IpaD`y7# zHllN7%FHUFl|$qu8C_;Tv|*(m?%y6P*y|E2IM#^f`flOhd_BMRyfHadOuhqaQEvLU z+=mtK0>k#z>=adS1IayR8s^ zBvt$k>kvE6hfo9l?fc*eN2 z#4E3JM{|ZU>+BAMSMj8uGdQSa?0sb=d|2iC=1gV`nfGrK$1}GXo^(7p&KEy6W*+By z(7Ss(9b?H?rg@$bB*4xye9{J-HV&@y3@AAN3@1BF2RI9^tqnRSdjol-3|?J->o5$j zbguG3u88fJCn;kSh4zl+E*XzVVt5SJa-8eXp1GREAJGA=_#JeNxge?`<2mikrgK`7 z*l&7w38Dok=j;J}B6s#-R2?0^`e1oyF&X zF2y|9-xv}H`y!cVm^YJhO>}n8!ruEn?Y)Kf4~w{9f{o}sHmmHc%(n-BE_DW2lD2>= zuj^|P6RX|D%g^3j6Wd+1g^y^tred&&Bofoaq2xDQMy2Dptga`H%acy++XKGMDfj{n zNnb-k=9M_)1yqPd;*EnE6QbttOxD*ke)y&R#4ha?-S~iiUQa?qq3UvT8lLx#tIK^J z@uTenR782lkvY8iIm}ak$`JR(cWH?&&Q)CHbUSFe&fzg0&UTJw*IStLTO?q^_yZUC zXaf;{CnJeeTZ%LLK@4lJ?NLcWDfUXS!oBo_s4_l2xEtqES-CMQN9K_N5(y_qYci$P znfkmqSv>rFl_^t-4#J|RWGhMo*q?`#E6+$&cQP7~T@ko0L0O4^KEI?qaimli2do0N_I=fldG%cpGcFd1R)cz7p4`N<;<;UDA~jBTHi1KW$RPF ztRl;JLkQq!E6d;U*5F1zqrviaR%wr$Pj2tdXS7#d+^>slHG=m9rMq^AdW0UT25AvY+A!KP9a^>ptjDX=Blv8KA13N4i*WNr+XRZZCy6Y4*Hs`QTW*NgcnzZ(}D zW!qd?>6fYE6)b;k{@e|4k{#DqVjhK&Gi|>ppl$%?9i@L->i5p)has<4dFS#JOO{+~ zx&46NUix(`Vek^WG9-;(QjRWRCD+x#(pfmTm7EIhvN9-oU>J_*XCcW5HvpoL#QP3+ z0C>F$LKZ-l%_~9HxKrjbu4;-{KdnMuMWeDPd^#@6!l%az*8hnXd9VNh>}4J3aixdT zQ%p`fM8bdYIdZ={w>kQGbYgd%V;J>A1IR5xmU&v9jJ%QmdGg_4XxoPzr;`NSrK8ci z;g}rlNhT1?OvTixBLJDZHxLgiAP(K$*xxf&bgING=_MK9CAT|tyj@v|jC8gK$+U^f z-a>PZN-bkH&f<-=*@z+Vh>K1s?@Tmmr-dMK7`JbdpV0fkVf5Ia%})=jB<|`er&oVA zAoJE}u9WpLGDJ~(`jOhh!&LdnQ>&Z0M6_Yjx7rR%`JM#bDm8Z!Q7tR&FX}D%y2Ap6 z3A<&8CIB9grn>>fSRHf`B9kuQV)K zrrt%2YU?@XMr$2a35q~}0XVR0fl}JOL=#zsPgMUTDIoQnoklwp#$L|ab6wR3UxQ0n z%QlF$k30pSX&ZBFtrfyyb?dhN&7PAXb4w3y$-Jc-$wN`CG3QIfx5!|L8Z2fe9uAQAC-f$Lp$^Skd zo|EJdD|XB6NczPX>e)_V%X}XaiE`8ph98t-Q?4WkMVBU)_?<&MCT$w2hNpu^wj9N) z_DTVbYzR~iK|TKpSuoIqIiNKsHK~yigX1G5(M(5k zIJSp7o&{BXd+N-8rF9atIiH)_UScRia!?)&EivlQ5~J$)udwYpIJ1;F4DZ?ZaH(9Z zVyL6tAv(!zQek3n(aPSJq~A72I}d4B$Qp%Z0?uP#5UMP&aSYEVlm8m{Si=i}Gi?Az zqtc7O;xT5hqX9uj2%1i*2|0fL>0|fa7Y?4JrEwV#SCcQzB7{jT&-KJUoDaEV*(SfbaI~Y0bC z9G)XY>-hWta9W$;pKPHm`dVfEN*jW_7SSxOXoB>-6YQHp1(uH>`&uB1@}ha!R$1n0 z5#6C;2crdp#IohkeG-sDh|`Bdrrhx4@#K6w_d=_G?@Jv-JO=i1h0RPKnpA00&Qf;L zdt=3?rW272v{FAw^~$dnOK{o*5udY`@23+^oB74ra0X5+aV1r9ONn%jErT;FnIo-* zA!(G;M;O_QT`1N89AjnTbmQFfnlN{*Q(3m0(WEolqnj)8$UMoE1HU^9Rca4$kdSSH=dvjRy1M+4i*CdNg4bSvgvN z((o%3w&)_|nm2-<=xm;L<#tqlNN!(S`%GA!Z8kwWs*{a8TI5%9qaeg^KNeXA2QkmWX%Jum#m+!^^HBiIVWo3E{d30=(iU zY@)oVOTYh%4uaqRMam_D;VLTe{92TzZN1aJ0JMoP1^JVGw_HoPcvb0HY?Q|)BUvF*u zkDzrXNA#!SpO#E$CxmlS5lQK6ZQLOJD(hi0THqc4ZQvf7*Rx=`C`-WVrSme!d55^X zoV*>9eKrL%=q)ent|k{fBMO_h5wmktZQk*}_rmX6tE{2&&PUBRyhOX@8CG82V73&` zIj-K0&VEJSc~aNHCDn2c(3&iN2y9%!qL6VZ7L6V;E=3%N+JW@4nD0ctIGi&BgGWGe zv!F~q>G8Ju)$hOWuOeCF___N1_rcolzt8y3|Ef$fx~sr0QugOZk2-wu)e$~t_Nhq> ztWwL@p=!VP)$3Ii^Lw_IpQxbwnmr>>Zm!=|h(N5J8-1p8nqP zzw)=}9d<4;zfoJ}8!1+Q=FWXDA582OCCA_NP6C>EtJm+3S#I)3f%J!A6CB!fy_IPF zly}lZhRqt5=^KuG3bWskw687;IhK`qU6T2uBsc_nW?yXpjrr;k+2F|{e~H0#-WoJ1 zyUKHS!*p}%>RUA6(Y@qMZ2pJg!Rk?DgG6+%&hU(v88r{M6HN(!i5~lRyG~S!imtztIexmlouwKT zk%qVUE=;wyhTjj~;iGb>D*yT~RtTwt>vYaz0PQay87ym59_5~JJ zMnx!BQM^sit^$dj(YkdUZ6P-UR7SlM1{m`s6nf3$?lB&JY2Ez-*-qV1irMTx;=*#e zx35f5rucCjgT3Lio0qS}SD zfOKrk70w82C&c5E_f8aM?5l2=^2Lwv3%<_^$y}?jrWuH$B1vcwN+bUaUhMr1oN5ZG zIcUZNnRyL#dm9@YhuvjJ!BYmj-#;L+lZu=uR?5wPB+_oAXOYb??9V)DtQyQ${P=K| z7}$!E=HLN^#M%XZ&FRzuAdab&DEoI!@pJtzV@GtFY!2JBZ>rVa~V**L{1 zT>mG@(WOsvT{8(DBt}oW)>Tq1f`Q=ZD&?><%`Jo=kV>dT!oidtqpXN%$99&@0hM7; zdBs7XSI{wWCL)%lJ0!6M081mXGxld_#Z>!$!sX7g>}eg4Wngul(g99_R?ZI5DyKL2 zB$kY!^URCr&in?t1Dy#eTYVQK^5K+c+zlL?4s_Qu)fE@8WhIIxjfMZjJPD(;k#8`U z;>f~|4qC*%QIeKVOaU5ka8RCB4pQ)SAyJR-uu<6EB|%2Wui9?)_DR=lN2V-NHrmpE z6viYFGM6A~FKD+|6Oob<)}`Vr@1)Nelt$B7o4{^HKrCJyJ7pI2_EcvL>KmQN{aUBj zX<6|VeAh-c$DQ39R%ja+-#m5R5+-M1?Ts8SOFwVpCN|*=Ju{zW%oaxAKEZBcZ`x-;>^=|DpxwEKxOg6)yn@7)ot?35c zJTw1Nf1=5GynSN;l1?KRsaQV=tlmYiml;JoFv&{8A}O5@%{SBGDQuo7x%1G^j>g!a zfshBIsm$`Hr7Bt%IPt)tvx~l?YNf%mbBottI(0T=d0i`3=+~myT-I5y{PuDEUDL=a z4?OI`sG(mlJ6~ngCG~aK9ksxJe!Ehw!cdHiow#YeMviy2DJr&CW(i#3ISvk-hDo+^ zDs+U2N=pQkdUPupoFXIh8Wmc;Du3j4Z}PX=Rg^xWRa<0;aJkQ$qm7Ihpf^U$fn|^_cRto+yq$i3oD@GypD7FF ztE&S6Sz76nx_+}pH*3@U<2#O>)r$79kQ|4#u#W6-r5Cc=N>NIQJymYicK(W!G46|F zD%L?q=~#8AgXpiOfBC8Zlk_PG+x`gyzLq&dVc`RD>hC7Nm2WoM?OWw#+(FxWGZzsI zWvk|3w!f1RLv#PvH%>%bgZ!_c3<{SG?ldvNRTVjx{p!i`f$3Zj93PS~u+q%tMg*33T-%$3UWL{n^F%U@7ym-|BZYo%3RDHdltF zEm|rXF%e1qNcV6X&KJ~D#3E$4LjpTwR}Ac`aW1vmDGMF8u~WQ$%IuB<9!nAM8|!s8&)CS?E#vj}Jve?sxl`{fr;T1@;e z^XRsR0rjvfJmNe>9E`?5&*Jp32hqz>_vmD@-#>Xah<;Dw?jiVP*2mkk?*2K>fX~K{ zK@u+_OhWK5d`dMz%gYZ!LxfMBOkbS!4~AZT5<57hV=p@H&Msi!PSt>y;Hxtke}|xF zAOY(PanSal`{A%31jlrE9hYGA6-$5jfy2*+lTxAAi^5D3z_?&3d~^HRY>_IoVgvoQ?p$Rwh_OeZ)Z%r91h zby~Tnx_Fhc6ntO@Go)pPnB}))6b;fZZIksl5k9K{|KUeC@loXS8LcL8rbS#^zkKSS zjnm;2Vp_)ojm7)yqdnEfJV<|Tqr;GMrba{KfOV|;0MH*;MWx8lcN|oBUm=j=%c^G~ z5L$j7-)1AfN_d_0^>VjzR@pR$+txLXB=ZX({vU?)@kYuf6{=K3RiSKSe}D2J>8eg9 zlegz*KZ#*Ec@AF|eBEsQ&~vQ1p4X(sl&7rNF{z@L~`tp@4kNawTgh!HSZ@9hb z{k~_r+vXX z3ct0EeXV1^vW}JUYf#GyG3TldTid0t0^sbn^i^C6mOJzYC2-};qV`}=Y==x_wHcF_ zmz%?0XkFmNzkG;H4>g zI(_lRC{)mkwUMz69FHc`p>grEnjeW6E8plL6a4y;)s_$sLBe{MTK5$z3L&nNZ*mAZ z1N|G9kM|WDfA>;!C(zndYPL`!>OfB0wtDDxu7hCP!1l$jAqGj7O9U&Za6yzherT~6 zHb%0O4}AVLUh?EDM4tq=T!gL`e$Z z4T+_!?WNy;|D*C5za?Kuf^K3JCZlkJwC@P`1uRB}_-mh_Z4CQp)_*s|$uc*F#Jv)v zriN`zf4#$BpMJZ&6vn64>|MrySv^3_hBKEza_SDpfh8(kkc(X`tnFJQwj}YXGCL>1 z5xwZtL!%hvo7xk(O9b5l*Z$)`F)|F|&T0Y9H~}Yb8#eJFcU;;&F2~Smc6)0Q`dwK$ zNp>^QDDfaJKK6OK<}X{nFfQUA4DI68sC%hMe;eE9@NhL#npwwd4nq~=4a&7{2G}as z1ZSfR_BXCvFJ{l0Rmg>PIqpb%qNy0XBp9_0Hv9^o!fz(u);|nO3UXhN3k`Z{aBjtr ze2-y-71X>xds`d=$phb}mvtB=ip#CVrhPK$4-%WGQP>;vSVe+avyB*m<80NoH?q`KhGh_fC1>;snX`>*0) zRr}lS++UzOH%pBAx);5DU#r^5YVzy%y@+#y)d~1-$8DF4+rc0GqR#i$@$CD_!Rm4b z#J}2gQs`hdT@}-mXnx~lXMZ#&-{G?XkoHG-TX5#0b884Ees$$WLPOZUX|#Lse-B5* z#6O%NJQ$84-0%9c7crF6_Q<*8rr^Rnja`kNCj^N!=YWC^?Xml1M0L;!wl%IaI)vnL zZ?a)V^QHLv*}$y3qEX$v*QCTjJ2TCwz8M`E19tqKES)FQkZvOu^#O zbJ6|aceq#aIOp{%&gS86v&SgT{;g&22tnuqS__qk*NpUTC2#0#R5c= z`0_}EoQzFw-4%ZO$ywQk__NE#c!t18!C_d4=R7JL>JjWaqE~ca5O~+R0m*Gs(w!YLfB_WeBy_HQ-vnDKQ)wbM(EL63>^7@h<)z zuCI6T!J4nHBdgQQ=#|r!e|d_{l}6xkGIXA<5GnNS#^H%}SB@^tUD4ds-Xi)#yzODm zqA>eu?-mxHE0D35{&e2y{_Ia^w14y`RBhk;6CM}OTNs1Koz8K@fz5Y*;NSjrMux6Jgr06cVf)(0KcsE906qM~ zM+~i;8!!1APT=y;e>XUxRU03ioDa}hO}P<c504#%n_TzzqtW)#Ve^L1@JHPP*OWR?1>=uW@rauhZTW zr@i!2Q6D*jp+Q!F6X@PagiWS<=YJoZB>pj3mO9msuBL*%f2IP!l0^er=$&428+n<_5aU$O%zX05E`8MrlbD zAUC||K5<$6uyb+>-$j3w&$^JX3 z`SEW;%6;{g+0^VTi^WZcGvz1 z|G_8SMCEJ1EeZWRxBUtCOp)v0D6=8Al9T>LZ8j?_f5{s}XK!>W$V{@^&C9kU>`PeT zIAiCu|88o^A<;@Ebn=K!*qO9|RM@+cTA;0o+^u*{%V4E3p%D}in#2)zr)0||nPwsR zXw}pNX-2zPx%haw+Yq@9x5>6+oisPYqO=N)ib0&Zi0qUjsBqy-;u{IVwBwSGa`HdP zcb>NMf8+Bmd)h)O{a1tY)gj3;YN1bviKsd1HnVx|^Pc0gOvi3CgH3DA8zvlJD z70Owf2~QP-2z6~ONESk7iNY=3j?IO*Nsd#`EZm*cxymM#F)Ea~QbpQ^D}RL!?5+~> znpQhe>b6~V5|y~OtWCtIO6`!iRPpU5D=Xm_e@5hpBxmJs44{%XxVDXO_CIFd8cY_U zYI?uiJ(!TT3?WRYpO>L3@BF|xBCr0wk>GcajE4`fM0wD?PdM4HVP8Hp>wJ=T_luVA z%wwF2$;G|3{v!-gVg{{HHuWC*Yg6xmM0*{AB8975Zog=~ zpA+73FGz{I*zD)05ckV3{xe5&{NmphAjJqZUGP5~A!VFhvlUdU%~m3Yp+Su=47!pWV{?6>0)3C3j3BQay# zl;onU)V@|28D5YI%LW^0K+2KjH0?u7)De6kl;BVHUgLrHc1r}o!XJ&-d;N9t)0>u^ zpd*sX$@!32NWCzF4+ods0Tv?$799Gc-q)7~0v0YeRsh3$7SbE%y*yw{Y)PE}koVQ( zC^}){WEom9iOx4R^GFz({(^uqT-F}^TbJ4b79b+Q>z~Ib7x937!IiKt|7ZA7JOW3j=ckI7aBj=HG=R_@%ar`ik5oj5LtgncQ*3OAZ8H0^oEzm0~Q}Ut9#2I24~y+ zhp`(bqv!=>aJ4L%3M7TiCG(|2z+ew!Hxy&>`E7T!p+C>&7bL$v9@>wuVw11%f;cmm zAp{mT6bb>kI3o@HcT=C+LrK2Yw|4WKwwG)K7CQl6m#7359e;)aDXFUedhRFsC2@|x za;Y(kIXWOQpVRTxWYsLjr8 zYVe|rIH*lv8C6NZ`i%LOa*ZVX4bzG-$HS>#zhA*a>QeF7LkNBK=p7CRs1K#YrI+wh z3Y=$f;X-`-#D6U@%i?bXWilhrifQwr)ej@&7&mK2rW(gAQAk>%(d-w_PkK#Puv^}H zZX%4bU`0kV^1zO`L0J>W^V1W?R<@BWt#4pvA}3?;b^Dq>eYRqQCfzQ8^@@&GMK>U1 zv^Iz~JpWp=;rXO);=vG3rf5)}C3e<`ZA-TrT>hS1On(c{)$sKqqaPBJFY8{sjAvW6 z{i#Lhu?lVOrj;%t=?t66^9ZcAY^|o;vSvKey~KX|MRI^JO=zck+3@R_6+R#f-IuDz zYjF4cyWCUOHybV~HQ_{MJT1dr&d8oh3K z2g4R3lYfDS-C!bE?v?9nk4UdUV8qQ;a)bo`gsrbB!wl$!5F@1q!Ul>Mex?FAhV2^I zCsBkePTa3QLMV2oFWEw&ZB2C)gD7#2tpwC^towe5+0lpudMWtJO#!K5u<`Wy)Bfq` zL_y^hABiN?GMV@m5%5=gORp>jW{1d_%YWKTCV!_Rmp=J-=uh?Ix8dmM7#(YF)=R{S zgHxk}Z^uVOlU@%Mp5-zGI6Fq~rEh=n!r-c)RzU@nR)Ixu{YtCiB<;sw$X2B}25lvL z6?9@)E5fjrru2&Z6*Wy<8qf1%%!Au77IWeGQHLpoB{kOi4=w8Y^Wl+VX8Zxab`~wg zaDO#L8o07@w4YzzzZ=Np-F3UlcbcKJg0<~4|%ik(MSC}lRc8Pw& zvNIybq#u=DVYl-yaapYxRL7kDnF5Fe`97NrGbqlURm8)BdRa9Y;V*iqKR6_2hU<(?EUH0qlby+Zlc+jL4UVk|S z0ZrlL?PBOv7<{cE(VdtD{~MA`E)4y03l{*t!=w`(rT?Y{SFr%~M^8`sN4l6x1rzun zi8kO5t?vj&i`A?g8x;@|7VIBMCsT235LEeIe_WGYXyQM%3WgS_2~4#vTyL-x`|sE)ns0$br8E0e_$C%l$|92UO#|03x=G)vW*W;IF!~Wv4}vVug>0cTUhRTr;`GCmC3gl!TZyQ22qh*3261 zjhU@@`DKhD?`nhqg**alIDd?6n-r#PV=42ZxZ|bIZhtZ%U^l5!AbFuuidf&2p{-J@ z8nOagCno?3NFlC$*tHlj2UvVgPAw^}?|syhW3Jh3T8pD1{xiqV+<0u&u_tP~@yFL5 zrz3sU+V4#rw$h$D;`y-z)P_?ti7JIb%fJ7Ads+M{gR`8YNm(AbNq_kU2Q6j;RR|WY zJh@Rs28C9DmLO;j0gz0xRo%ISNp<~^XO^pr=2lj6-#D=%mdzLt685TiN6yJ|leG*j z#V5$kEKX_t8_J`}R5iPO89Xa!YCIf=j0v{xb_kwfe_MqTC15cKoKOC3_(86@VzH*X z`RCO63Ro4tvHv9-?|-Fp0DrNP_+o5nhru))2BQ?v6`L=^Dv!`(@skMCR2=tF&@e5X z{yZ3DQ~n&R2TW?tQn#jC0<=W`_u2bA>U~=+$6jmv!Km-8*R48r>ePAcqpDK~TCJC~1B}J# zJbL}NswFS9O7J)bKOVnj4x1*#4^N5AN}V1L!|7;_R2;b2OhEv|(LB(dBls#wNuC}7 zImY~tFx^?htbZbc#R0;g=5zeYZnYv7v5ZLYrtw!l&jJw=9vXI=*5LjSzn_!aK|yY_ z6fecXZ8RYT5ngx8aH7`{qQLa^{TYH#F(4sGQI6|ygx2+1n~WcgPD0oUT#p%1q8bxM zfF&R_rH?_OK#6J-RiOwp4PBYBb1G<>>y#<#qtSuxfq$@|)u26?sA_dw4@}HzpdMau z38DvjF5o;WSRBL+6p!+Cr`aWtk>(eT0EZKE6c$6etg}*J00ae2D${mG{i73UimhF; zp&Ad$ZE+Za*LtlL{__W%a-S8SeMMXH7<1^4^5vO#Ein8R$MUJ2!fa zDB2CjN`H#m!8bC|Si_E%zR7)1;>)0%4Hj#2sVt+NP5ol#&l}jxqoKTs@dhJn2O|`Y zhQx{#mJP<0<|(O0%K~i{50QZ>(*tKDFr)rZi2$;1xxjqeUSb|D%gKdj%ko5?%5yV1 zp!c;|NxqgDL4tzO2;dj|M#@+-5$co!N*)l`tAC41{N%)$nJD5@T(Ioq{5hj-5gum8 z(xj$0iPubg#@ht8jE=N4qRaBZ+b4+!rR+cxIXtd%rHaZ&X;BLuZSiFjPp;v_T_9oC zabi_Nb>S?n46^j=AuO!`uXH^##&%r7j7^bUvtuO3stE)cu^5c)JWus|sufMFL&@=< ztbe7+m?h#y&ES#)5`Hg)uAn||G^Ffj86vihyjPsUmB}Sgv9o5|=E{^CiniRdC=}o5 zOJXMVQJ3*B*|ZAR{}s>#fOb6T&HdAbUZ)Xer%>|K-Q@G1yH+x>EG?!a>KY!gl5tXjcfneZ5UX(-}C*CX`4ot|V`0Qd} zePgbBW(Bx)txIALz=Mk#c}pNcQ|IDA$VLm{KU@*OuLPzB(shM1>0UcwA}#A|d*W27 z(lEAYt>FE$+6SiA$|WD@X8#32mTUt3lNbvtHyN3%WQBU`>b%b)ipz}{1YYK2Fn_!5 zPx$BKsY>A2#4}83;ZmCnq8^d7lKO#&&7xQgqJ~vH0*w7jLK?m_1zS>KX;1^F-oD;k zpfU@q4Na6S$(Rk_lBSl31MLVx$l^9e>_%TW=YpH7y+utr}&fiYLhx_T_9MhoO)Sjsuxh zFjmh(*Rpy}Hl|97DKm#vMW^Zn1Jzh0aK|zkfSut&W82bun^ps91Z6hLQ*x8opquw&yzi4!8@AEnmNy zoj`DwfD&9sgR>O`wNi$HQ0;CbV@TTbIn4p|>9CXyvB907&=ryg5!wsChQ}jSKSX?> z5H&JAxj46Sxe{sXJ%lJvZeiD_11nE+ihoIMA(LY#M3Zok$oODUI)B)a`W4JGtRU3( z`3y}0>2=}4eD&4N6O0=hY#+|@OA1OWBCLOlOl+W!?k1Y0I*@d2monK3{f0NTr811$ z;CUhsSV6w}^V#T~8b6B{sSi%^DrB8U3}3S93pDmgx=PFA40t*i#H&m3ZtwK+`03sr zS7^BRGJok-$|P*bqBOiU!ileajmi@K+}m&xs~fU6i^vjFgda5f&(ac`%rk^)N6&^i0smWxUH9NXysFi2L8rF(~CTR%$M- zm$XX6Ae_nX2oOL1;O-jNG})+>GG{hKR%$Kptd1arD!FCWb*eO{m{tjM&uEEF}GZ(fhh3sZtTA z()WP;TGSMB?J#w=$2Qsl6YYYtU7&iMot;2ZKqaUaYN{%{eZ1Rcl#{WN#y8{(<@5f0 zbdGgA{`oVX7zaJfRN^1sUl34KM_@0)lJu@l=kNaHex2s-IO`d5jf+hVkpM&g^a*do zcvC*=0SpV;C3Z$38YS|72Y|&{arLXuFb8r$s%fuwG$-D8#r1{?tz+#hyevt=EY<&J zR5P>82$ZIa%m~?_>B-+gY>g?X%C1O%%~qfgmUR(ra0jny)SgZdZ8h>TR|7V|AcmZt z8x;=@A(x09P#5X(VCP=%c(8N7x5vLe@UJI>oo{+i2Rpy(?GJW;9`s%ec7ES`HrV<1 z-nWCDKSX0cq*;2o#hmpY;nabkin%HmN^{L)_8b-uDN)mxjri`OgtObO_Yj`W@I_G_ zUc7%bIi5^EPDHOANhkncWM!q$=g-UxMgN%;o7*o;0FX(z`kUXzZ||>t_vsAP036I5 zpm+it7Q~;!gJA7{HX>!`{1)z+Ke0(il^dNeXiy;<@(Tkj_s4Dwf~ zX4YS@eb#JDXjZ)yP+zuDO?lQr^)}Y;(P?Yw%~UIsHB-IKnqjc|1pr95EIG6_*<8%5 z*=C8X>EY-c{w0uMZ&WL}PugMeOy3#jzWVad3UnarLnnoQ8MSNX3>mQwgjLG+6y`6A zaEqNmR4oHs`NZxyNN|H2gC`oHlt6(G_aNj)j$6F^{Ss>5aMj2>iIPHbgiDHgk9!Aa z2Z!Sm;M&1ava__R5^O%2#UyX-cOP)h@a{rT%iDnSmuYk${=cW7mbsO#~s z^+Cz<&(g1pUNXLCBaR8^%x*hA2QkA#13cY-2?bN&X++}~4Yx8Gn&DO22Fp(NgCV6O z>x`H$`xO8J1uK7nL3O?uWS@|XopMkdd*U`2My^vSV~4nd3{AOMFD!t1be38p z!YvFkIN02!(L~^=jkx)T$HjDks9DU{nBinMouIvJf@)rh&D5A1*?G!I6A{51asgq* zv&lA_@34-86x;1;G{M#Jf*fpuD;xZO6x`DbGayq1ZkyX=ZI32Pt@D^XxI+XVWagDL zPQ^Q7ahbFVnKCfE%jIh+M}bX2RxQlm$_JpW($i#>&U=38r2+025$IW%fu!K+N%Ed_ zE_Ce46OzbHJAaaP4r(w-4gNDx+J~d$=`5adff6$ZZ)9%|v5~{QIEN|8i!mQQg;cAV(7%=$g z7TM7Cqw0!mQgJVgvvAtaiem8`GUb+H57r`*N)CDe>pv} z9-pK=%6alL`%49ptam%4%rjF`A7?RXYx~(p%Mo$i5c1EHlc!Dkot=KjcUP3Qvi+4k zUb4eFyV>*oX3tD8X|+<3xgI1+=)VZ>{_v}jdfsw3sW%va%qk&x%M(6T3Ke{~h*eyo z+;QR&)sFema-HPXU->STX`FJ5pD7;xPN&TBQ6KF58cu>i^s*@*!9FZs`4rC17 zN=FjLq_|y;twI&l`1!N^^~Z~&BbSjG786EJaMjl_W3^lJrU6x^ez9r~A7)4xim*qU zAA*M=?1h3qN$%G9;NWZo3xcBBZ7kNP+ld2%Q;=|4^ZuPFBp#g5wXa8yI+yAh7A$|B zienuvSLVf=uf$}-7HwQ&u4y|HhL+-Hxen+7Osq6&u`TWixpV))@4>$^I5RN`Tkd*E z87AMoj?F9>d6+MJH>ZSJ6ps3@oE~71y1`QgV#IyOykUm3bW4JJpB409b`F6Jm7yE~ zx!PS3;{+a7G=!pY5f=tNyr`U`I>H{V=!uaH~*MsZQ zDB#cw_5yz>vbf^O zAT)0cMizi$OV%UV3MHyl_Lwn!GJ)QpXIw#_b!asQi47_s9-v5$Rs~uMx zY#46N6%*ERhjyyicd7&gwyu9%W8$Iu*pMPvKPf>U-1;iKSVRBs0*a!44!1x>^ncBhY^G$Ca*9*mDeoRQMpgG)}#ctG#3_vIVcT@Nw zD4G-WNYJY&x#(tsL|7ixuR$_4u>jYOzPd7Qw8sYEk4>}{6>w6sj`)I&fxVzTuC6~~cyW5h!@-jxZT$nF0f^(+SU|W)!Cxg$m+xvZ3E3Q* z`yZbB?&N_&@kw6E4kz-lJQAG9BVnkDz|cc>_ruW;j!ifh)hH~vdo3d`BEKU^V*nD# zsd;Hz9{ZA8SdxFb!E2u^Sdc)tH1{_)^^bc%E`RMF_;>ET-P{RBi_{=$L%<*nUGuC3 z^*;U95r7aa1|cBiCS|^qQs6rd5dy(I9<%`(ooIg_a|CGu#GBU2aiGW$K%od% zx!{E>47bqKGI=C{LE{bHwNuUpNXjsixh#?aoy>t`;?o43qf7;eKm-z?vH-or=Mqvd z0U4@m8nQjjgqRObUJ28?eTD2*aLhY6akdAtFeIyz;c5O{13Z(&1O<=O#Clf3Ur6Y5 zAIO5pV*r1g*~b7ILRvwbT!=1$Sx*C2SljaRhL9}aZ}PWuWT0L0C-6T1hSBK$=_BD7 z06$H(F1}T{df>epJWBhmW3pwvANYsSNxvTdxcb)WYvy6XkXiKV7QEKR2uA(if;PR5~!kk6wS~xO2Qf!8_i4tRFr6i3a#%IrylH_Y?NyE1D=SfME zhSS1^NyqZ>Z9E1SqVYf?SHiXS-Z|`W<4S?-7+e=iE`TW8FyC3kqfgspAz<1-tsD^! zpV8_zOo$vV(cf~B8duvy`ZZM)Lsc!vSB@hoTeM|f5|`sY-N z;SfOEmV%dSbBEV^`HSqC;p>Cu3lpPgJX5$41* zW8bEK4+8j`9+1d%!R*eeh}Ti!0$?XJ{GdhqH0k~R!GmueP*pCYeSME3AQl)hWZ491 z?0Q*o^Ilo?E|?gqE~c@6oG0+KaSDg@vrgPpmxBm%!o^51jmen`abbp3Ec=1iFI@l>uim_rrAF8PBR| z&q3cq6&v)5HQ*UP?4fq@7>71+(yGS?czjn(YSLXrao&lyA5-*YYv$y*oD{_+QDxZ4Yv`DN zymhD-_?y}V{EL(f3)LJWW7>UsmPSgA71Hm-VLK>b5HbhBPiI z#{IYp_>a6O(>+>`2Tgq@FOKl%Un~Gc@>irUCCn##I|pxN^x+e!W*Mx^#Hj8ib&G)F z%SSC}5}^TVHxc`R7zTtim}@8UwU0t>z1A2tx+rbbMpMo}9;H(^#gCE58>?S`DL2Y) z^0JovGwrW)>O2u{%n73gE`;n@LAmC33>4-jDV=Ff6yu`1N0p|bpEG%?3;7kD3$8D466oJ$3}I zA{k#9?VP?-9EP-ovUJ|O<}j(hqO8>_W0mudsw?L2?Viu|3+U9U@*^O@1YXRGEc3T6 zv{;d7G_t05t&U>pYDK6Z``#2lyQp`!7x%Cod}r8#TC>+~n8*q8U6Xi!pr<>>qHW5Z zllhBZN9eK3b>s(OEFz``<-~z7qkf63bn3r;DKQWKzb9X3ejn++n=Fd@u@LX%A&Uu{ zf&JqeA5#Y?9wR4MMX9lR@HN$cd`V9uiRs!;}z%OWM)gaF}*9Mjn2DD~R~$8{qbb(>d1g zd!!c>qO6c9nU(SO5IDuuToM3ZD~Jn@_JDngsAoHfwHI}b6mJm^h_(fhZv`LE(($&+ z=zK`FXy||w&Y@UN#Cn?Z&QW{gMZ1gVK zV!IHLpbH=4&his0s z^$~!9ua^NP79>L6>x&+T)mRg?$O-mp%UdaHHzN7w5WpF7e8d8~3Q)b!{v}1I1rIst z`fl0JT8!^unO8Tvl*eA23E&RYgE8*^rI%+W7Apj)D%xk4mL?V~0o#|uCKfjoE(4Ei zNR5Wy?u!}gj>x((7}>NgO%$tDAc=_Tlz>H^?02S9iQ9r}y(`6ly9BG=E)Pg&{BpDXVrt>I!m&ZMrS#=6sTDP21NNH*w9>|sunf1QzMs*%-!0b_V<5S)Ax)g zACB1yGc5@+0Ae5kU5&FjA%8cW?V8fE$y=BRZioeko6ybB<-u0By^w%-iTu--2xpnX zNc9hUkb!|o5ez|xy@F~0cu6bY*>2Y=_fLcU?8t8BO0{8G1k%l2O%=CiS<#!&2F%B} zPYvzro+~vMzKfAA(eBS1ge5MvlqFxMuoxbVB8N}kyqxPCZd_{H2YtvPFDEp(9# zn{yqvEA{`*9#XW((_6isD;_(M~r&2O3J659}9dv8}SK1GDx&ZR?|Cmt-iHXt0 zQoeatI8)d>_`XgX>3=Aj88d)ppX&me=OM}hF2dXu(6~00)*iw{^1hIG6^?{*NyL_H zuSU@#!%RYz&em3J48zMRAxvgGEXK(3e}8ZYNo>VNNiCk#ggMKtXQk#yJ9)jlT_BoH6cKsF2BBK;3V(S^aAyTJ7v;ZI$99m^ zD5zsPNWi04YAgYEuBN})7VZuq3kFWynxiBvF5T=&N5yV@adFOME~{=1la{?!xh|5B z3h6E6bi+T;$*sIZt-8gukkLyF%*tCOsgbw!46t4l#@h{bU%0abc#YILfa}zDnK(A< z@L+bVo=q!_{D0Jo7ev-MY&!2MA{2O7|J}JNlRqFC4fT;`o|5=;4zB&lKEDTYA391}>}b((IO! z8$~--I)9Rj?WL&sH?BOs=9H4U`cGpvZMa2hC5$;4(jPA+IUu}dVFS5@i(g+`iq+XE zo0WX8)+`atrDa2~rg!UMmgj7FHz{2IXs3q0huBB;{z!1hfmR;e-Z5oZm_j451e=}l zks$%=u%OBos^YSEQ~ZDSt=f{#d&`8jdlPjlj@mEru37L=ZiJ zYB^nip)pwtFr+r9kp~4_E?4Zqn^5?Oy2t9LElI*r#(I{E+gjQ7`l;XYI{-d)t-HH8 z&*j>*(ZBratD6k%($t@;jb>TTg3su=NpikWq;!X9jvJ4~+RL7wTxlcPE;i@T~{+}G>_Cy5* za{)ZM&3!`{0;K=SOITkocaY@(dYC*qkk}=@Wz(D@g&RG*>yCFCmER}P0|~d=(?E+4 zv>;cJJI9DTPu33m{@A_pbQyQ<(@#5w9e?1%j%gga+T*|Qz}!Z|cNeyy_Q0q1z=D;B z?;{y0&a&Ahqo`bSe(aj5S0F9pH*1Whpw*L}ZXC*!Cb%gE61aPAaAE?V^PKg2N^+Zt zG8?w!w2C~9w|9xUt0GGgqM>=-2#QxGxk5sb?I%09?u&yyHg$BU@7D*BJKo!v$bam$ zU~9S{LW(bcqn-4_q!>P*N$WLMD6gRTovmy*+WTj_Y#81Vi4*w`)A{c1Q7Ux=n8Rzr zjEuNru+fvqR-E@)?8vQK$7O)WUNfBJLlr&pGK)q55|f9igpiT`ry`zcJQr73%*gbN ze}!O-ghvP)6_sXV6-og&%?y%>ihqgX7aGuT6@X%`Ivi`UUn2<%u|Mr<`7sGUUzZN& zk9Ho9c4O>Z|E`W8ZH!T=ZiygL3ZzfE&%mH*w-&~c@DH3<5YGTmA$X|zXG2g0t1O@O zPNz^Xk4Hn&BS48K-IO5$F zSzojoLsHZT@|+o7amZ>0=n3O{mr+pA0aoW{F)$;b^-Wyg8t14(1~teBK|-G-twz#X zN^R`C=>n+ z&2^!1(ja4RF4HFOxYSOcXgVz^=pdzzP~tFou9fyO`92?nXM7X8hV7-Y3o zC9`%zOGPkmrD>#N{FB;M6lA1MF}gk8-MV3ag{_dutsT9=-5%+}mVfvx`a#$f#uMsA z;EzKtZNsBU?Ll!u)p0t9s!kk1kQ~!ZNY>wbcZX}Z3nu#ihU?V2Ial?d78{H2f`K@S zUm@a1IK^tu5d<4c28Sf}GQ0bh#pEAzoyMK3mJ{V-8-8gROUKLKE_yF7PY + import { Button } from '$lib/components/ui/button'; + import * as Tooltip from '$lib/components/ui/tooltip'; + import type { Component } from 'svelte'; + + interface Props { + icon: Component; + tooltip: string; + variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link'; + size?: 'default' | 'sm' | 'lg' | 'icon'; + class?: string; + disabled?: boolean; + onclick: () => void; + 'aria-label'?: string; + } + + let { + icon, + tooltip, + variant = 'ghost', + size = 'sm', + class: className = '', + disabled = false, + onclick, + 'aria-label': ariaLabel + }: Props = $props(); + + + + + + + + +

        {tooltip}

        + + diff --git a/tools/server/webui/src/lib/components/app/actions/ActionIconCopyToClipboard.svelte b/tools/server/webui/src/lib/components/app/actions/ActionIconCopyToClipboard.svelte new file mode 100644 index 0000000000..bf6cd4fb28 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/actions/ActionIconCopyToClipboard.svelte @@ -0,0 +1,18 @@ + + + canCopy && copyToClipboard(text)} +/> diff --git a/tools/server/webui/src/lib/components/app/actions/ActionIconRemove.svelte b/tools/server/webui/src/lib/components/app/actions/ActionIconRemove.svelte new file mode 100644 index 0000000000..1ae3d21774 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/actions/ActionIconRemove.svelte @@ -0,0 +1,26 @@ + + + diff --git a/tools/server/webui/src/lib/components/app/actions/ActionIconsCodeBlock.svelte b/tools/server/webui/src/lib/components/app/actions/ActionIconsCodeBlock.svelte new file mode 100644 index 0000000000..54ff0af1a0 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/actions/ActionIconsCodeBlock.svelte @@ -0,0 +1,46 @@ + + +
        +
        + +
        + + {#if showPreview} + + {/if} +
        diff --git a/tools/server/webui/src/lib/components/app/actions/index.ts b/tools/server/webui/src/lib/components/app/actions/index.ts new file mode 100644 index 0000000000..43485c7b7e --- /dev/null +++ b/tools/server/webui/src/lib/components/app/actions/index.ts @@ -0,0 +1,19 @@ +/** + * + * ACTIONS + * + * Small interactive components for user actions. + * + */ + +/** Styled icon button for action triggers with tooltip. */ +export { default as ActionIcon } from './ActionIcon.svelte'; + +/** Code block actions component (copy, preview). */ +export { default as ActionIconsCodeBlock } from './ActionIconsCodeBlock.svelte'; + +/** Copy-to-clipboard icon button with click handler. */ +export { default as ActionIconCopyToClipboard } from './ActionIconCopyToClipboard.svelte'; + +/** Remove/delete icon button with X icon. */ +export { default as ActionIconRemove } from './ActionIconRemove.svelte'; diff --git a/tools/server/webui/src/lib/components/app/badges/BadgeChatStatistic.svelte b/tools/server/webui/src/lib/components/app/badges/BadgeChatStatistic.svelte new file mode 100644 index 0000000000..a2b28d2057 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/badges/BadgeChatStatistic.svelte @@ -0,0 +1,44 @@ + + +{#if tooltipLabel} + + + + {#snippet icon()} + + {/snippet} + + {value} + + + +

        {tooltipLabel}

        +
        +
        +{:else} + + {#snippet icon()} + + {/snippet} + + {value} + +{/if} diff --git a/tools/server/webui/src/lib/components/app/badges/BadgeInfo.svelte b/tools/server/webui/src/lib/components/app/badges/BadgeInfo.svelte new file mode 100644 index 0000000000..c70af6f423 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/badges/BadgeInfo.svelte @@ -0,0 +1,27 @@ + + + diff --git a/tools/server/webui/src/lib/components/app/badges/BadgeModality.svelte b/tools/server/webui/src/lib/components/app/badges/BadgeModality.svelte new file mode 100644 index 0000000000..a0d5e863c2 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/badges/BadgeModality.svelte @@ -0,0 +1,39 @@ + + +{#each displayableModalities as modality, index (index)} + {@const IconComponent = MODALITY_ICONS[modality]} + {@const label = MODALITY_LABELS[modality]} + + + {#if IconComponent} + + {/if} + + {label} + +{/each} diff --git a/tools/server/webui/src/lib/components/app/badges/index.ts b/tools/server/webui/src/lib/components/app/badges/index.ts new file mode 100644 index 0000000000..860afe3084 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/badges/index.ts @@ -0,0 +1,16 @@ +/** + * + * BADGES & INDICATORS + * + * Small visual indicators for status and metadata. + * + */ + +/** Badge displaying chat statistics (tokens, timing). */ +export { default as BadgeChatStatistic } from './BadgeChatStatistic.svelte'; + +/** Generic info badge with optional tooltip and click handler. */ +export { default as BadgeInfo } from './BadgeInfo.svelte'; + +/** Badge indicating model modality (vision, audio, tools). */ +export { default as BadgeModality } from './BadgeModality.svelte'; diff --git a/tools/server/webui/src/lib/components/app/content/CollapsibleContentBlock.svelte b/tools/server/webui/src/lib/components/app/content/CollapsibleContentBlock.svelte new file mode 100644 index 0000000000..082738da57 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/content/CollapsibleContentBlock.svelte @@ -0,0 +1,97 @@ + + + { + open = value; + onToggle?.(); + }} + class={className} +> + + +
        + {#if Icon} + + {/if} + + {title} + + {#if subtitle} + {subtitle} + {/if} +
        + +
        + + + Toggle content +
        +
        + + +
        + {@render children()} +
        +
        +
        +
        diff --git a/tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte b/tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte new file mode 100644 index 0000000000..ef6c7e064f --- /dev/null +++ b/tools/server/webui/src/lib/components/app/content/MarkdownContent.svelte @@ -0,0 +1,1201 @@ + + +
        + {#each renderedBlocks as block (block.id)} +
        + + {@html block.html} +
        + {/each} + + {#if unstableBlockHtml} +
        + + {@html unstableBlockHtml} +
        + {/if} + + {#if incompleteCodeBlock} +
        +
        + {incompleteCodeBlock.language || 'text'} + { + previewCode = code; + previewLanguage = lang; + previewDialogOpen = true; + }} + /> +
        +
        streamingAutoScroll.handleScroll()} + > +
        {@html highlightCode(
        +							incompleteCodeBlock.code,
        +							incompleteCodeBlock.language || 'text'
        +						)}
        +
        +
        + {/if} +
        + + + + diff --git a/tools/server/webui/src/lib/components/app/content/SyntaxHighlightedCode.svelte b/tools/server/webui/src/lib/components/app/content/SyntaxHighlightedCode.svelte new file mode 100644 index 0000000000..625fdc7b1b --- /dev/null +++ b/tools/server/webui/src/lib/components/app/content/SyntaxHighlightedCode.svelte @@ -0,0 +1,95 @@ + + +
        + +
        {@html highlightedHtml}
        +
        + + diff --git a/tools/server/webui/src/lib/components/app/content/index.ts b/tools/server/webui/src/lib/components/app/content/index.ts new file mode 100644 index 0000000000..bca1c9f4c2 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/content/index.ts @@ -0,0 +1,79 @@ +/** + * + * CONTENT RENDERING + * + * Components for rendering rich content: markdown, code, and previews. + * + */ + +/** + * **MarkdownContent** - Rich markdown renderer + * + * Renders markdown content with syntax highlighting, LaTeX math, + * tables, links, and code blocks. Optimized for streaming with + * incremental block-based rendering. + * + * **Features:** + * - GFM (GitHub Flavored Markdown): tables, task lists, strikethrough + * - LaTeX math via KaTeX (`$inline$` and `$$block$$`) + * - Syntax highlighting (highlight.js) with language detection + * - Code copy buttons with click feedback + * - External links open in new tab with security attrs + * - Image attachment resolution from message extras + * - Dark/light theme support (auto-switching) + * - Streaming-optimized incremental rendering + * - Code preview dialog for large blocks + * + * @example + * ```svelte + * + * ``` + */ +export { default as MarkdownContent } from './MarkdownContent.svelte'; + +/** + * **SyntaxHighlightedCode** - Code syntax highlighting + * + * Renders code with syntax highlighting using highlight.js. + * Supports theme switching and scrollable containers. + * + * **Features:** + * - Auto language detection with fallback + * - Dark/light theme auto-switching + * - Scrollable container with configurable max dimensions + * - Monospace font styling + * - Preserves whitespace and formatting + * + * @example + * ```svelte + * + * ``` + */ +export { default as SyntaxHighlightedCode } from './SyntaxHighlightedCode.svelte'; + +/** + * **CollapsibleContentBlock** - Expandable content card + * + * Reusable collapsible card with header, icon, and auto-scroll. + * Used for tool calls and reasoning blocks in chat messages. + * + * **Features:** + * - Collapsible content with smooth animation + * - Custom icon and title display + * - Optional subtitle/status text + * - Auto-scroll during streaming (pauses on user scroll) + * - Configurable max height with overflow scroll + * + * @example + * ```svelte + * + * {reasoningContent} + * + * ``` + */ +export { default as CollapsibleContentBlock } from './CollapsibleContentBlock.svelte'; diff --git a/tools/server/webui/src/lib/components/app/misc/ConversationSelection.svelte b/tools/server/webui/src/lib/components/app/misc/ConversationSelection.svelte index e2095e0876..21412f47e5 100644 --- a/tools/server/webui/src/lib/components/app/misc/ConversationSelection.svelte +++ b/tools/server/webui/src/lib/components/app/misc/ConversationSelection.svelte @@ -17,9 +17,13 @@ let { conversations, messageCountMap = new Map(), mode, onCancel, onConfirm }: Props = $props(); let searchQuery = $state(''); - let selectedIds = $state.raw>(new SvelteSet(conversations.map((c) => c.id))); + let selectedIds = $state.raw>(getInitialSelectedIds()); let lastClickedId = $state(null); + function getInitialSelectedIds(): SvelteSet { + return new SvelteSet(conversations.map((c) => c.id)); + } + let filteredConversations = $derived( conversations.filter((conv) => { const name = conv.name || 'Untitled conversation'; @@ -92,7 +96,7 @@ } function handleCancel() { - selectedIds = new SvelteSet(conversations.map((c) => c.id)); + selectedIds = getInitialSelectedIds(); searchQuery = ''; lastClickedId = null; @@ -100,7 +104,7 @@ } export function reset() { - selectedIds = new SvelteSet(conversations.map((c) => c.id)); + selectedIds = getInitialSelectedIds(); searchQuery = ''; lastClickedId = null; } diff --git a/tools/server/webui/src/lib/components/app/misc/HorizontalScrollCarousel.svelte b/tools/server/webui/src/lib/components/app/misc/HorizontalScrollCarousel.svelte new file mode 100644 index 0000000000..e302f83e11 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/misc/HorizontalScrollCarousel.svelte @@ -0,0 +1,93 @@ + + +
        + + +
        + {@render children?.()} +
        + + +
        diff --git a/tools/server/webui/src/lib/components/app/misc/KeyboardShortcutInfo.svelte b/tools/server/webui/src/lib/components/app/misc/KeyboardShortcutInfo.svelte index 5b7522fe1b..da55abda02 100644 --- a/tools/server/webui/src/lib/components/app/misc/KeyboardShortcutInfo.svelte +++ b/tools/server/webui/src/lib/components/app/misc/KeyboardShortcutInfo.svelte @@ -11,7 +11,9 @@ let baseClasses = 'px-1 pointer-events-none inline-flex select-none items-center gap-0.5 font-sans text-md font-medium opacity-0 transition-opacity -my-1'; - let variantClasses = variant === 'destructive' ? 'text-destructive' : 'text-muted-foreground'; + let variantClasses = $derived( + variant === 'destructive' ? 'text-destructive' : 'text-muted-foreground' + ); diff --git a/tools/server/webui/src/lib/components/app/misc/TruncatedText.svelte b/tools/server/webui/src/lib/components/app/misc/TruncatedText.svelte new file mode 100644 index 0000000000..9a8731fc78 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/misc/TruncatedText.svelte @@ -0,0 +1,48 @@ + + +{#if isTruncated} + + + + {text} + + + + +

        {text}

        +
        +
        +{:else} + + {text} + +{/if} diff --git a/tools/server/webui/src/lib/components/app/misc/index.ts b/tools/server/webui/src/lib/components/app/misc/index.ts new file mode 100644 index 0000000000..02bd70b24f --- /dev/null +++ b/tools/server/webui/src/lib/components/app/misc/index.ts @@ -0,0 +1,45 @@ +/** + * + * MISC + * + * Miscellaneous utility components. + * + */ + +/** + * **ConversationSelection** - Multi-select conversation picker + * + * List of conversations with checkboxes for multi-selection. + * Used in import/export dialogs for selecting conversations. + * + * **Features:** + * - Search/filter conversations by name + * - Select all / deselect all controls + * - Shift-click for range selection + * - Message count display per conversation + * - Mode-specific UI (export vs import) + */ +export { default as ConversationSelection } from './ConversationSelection.svelte'; + +/** + * Horizontal scrollable carousel with navigation arrows. + * Used for displaying items in a horizontally scrollable container + * with left/right navigation buttons that appear on hover. + */ +export { default as HorizontalScrollCarousel } from './HorizontalScrollCarousel.svelte'; + +/** + * **TruncatedText** - Text with ellipsis and tooltip + * + * Displays text with automatic truncation and full content in tooltip. + * Useful for long names or paths in constrained spaces. + */ +export { default as TruncatedText } from './TruncatedText.svelte'; + +/** + * **KeyboardShortcutInfo** - Keyboard shortcut hint display + * + * Displays keyboard shortcut hints (e.g., "⌘ + Enter"). + * Supports special keys like shift, cmd, and custom text. + */ +export { default as KeyboardShortcutInfo } from './KeyboardShortcutInfo.svelte'; diff --git a/tools/server/webui/src/lib/components/app/navigation/DropdownMenuActions.svelte b/tools/server/webui/src/lib/components/app/navigation/DropdownMenuActions.svelte new file mode 100644 index 0000000000..83d856d10e --- /dev/null +++ b/tools/server/webui/src/lib/components/app/navigation/DropdownMenuActions.svelte @@ -0,0 +1,86 @@ + + + + e.stopPropagation()} + > + {#if triggerTooltip} + + + {@render iconComponent(triggerIcon, 'h-3 w-3')} + {triggerTooltip} + + +

        {triggerTooltip}

        +
        +
        + {:else} + {@render iconComponent(triggerIcon, 'h-3 w-3')} + {/if} +
        + + + {#each actions as action, index (action.label)} + {#if action.separator && index > 0} + + {/if} + + +
        + {@render iconComponent( + action.icon, + `h-4 w-4 ${action.variant === 'destructive' ? 'text-destructive' : ''}` + )} + {action.label} +
        + + {#if action.shortcut} + + {/if} +
        + {/each} +
        +
        + +{#snippet iconComponent(IconComponent: Component, className: string)} + +{/snippet} diff --git a/tools/server/webui/src/lib/components/app/navigation/DropdownMenuSearchable.svelte b/tools/server/webui/src/lib/components/app/navigation/DropdownMenuSearchable.svelte new file mode 100644 index 0000000000..3bd68d3bd6 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/navigation/DropdownMenuSearchable.svelte @@ -0,0 +1,50 @@ + + +
        + +
        + +
        + {@render children()} + + {#if isEmpty} +
        {emptyMessage}
        + {/if} +
        + +{#if footer} + + + {@render footer()} +{/if} diff --git a/tools/server/webui/src/lib/components/app/navigation/index.ts b/tools/server/webui/src/lib/components/app/navigation/index.ts new file mode 100644 index 0000000000..051491b866 --- /dev/null +++ b/tools/server/webui/src/lib/components/app/navigation/index.ts @@ -0,0 +1,65 @@ +/** + * + * NAVIGATION & MENUS + * + * Components for dropdown menus and action selection. + * + */ + +/** + * **DropdownMenuSearchable** - Searchable content for dropdown menus + * + * Renders a search input with filtered content area, empty state, and optional footer. + * Designed to be injected into any dropdown container (DropdownMenu.Content, + * DropdownMenu.SubContent, etc.) without providing its own Root. + * + * **Features:** + * - Search/filter input + * - Keyboard navigation support + * - Custom content and footer via snippets + * - Empty state message + * + * @example + * ```svelte + * + * ... + * + * + * {#each items as item}{/each} + * + * + * + * ``` + */ +export { default as DropdownMenuSearchable } from './DropdownMenuSearchable.svelte'; + +/** + * **DropdownMenuActions** - Multi-action dropdown menu + * + * Dropdown menu for multiple action options with icons and shortcuts. + * Supports destructive variants and keyboard shortcut hints. + * + * **Features:** + * - Configurable trigger icon with tooltip + * - Action items with icons and labels + * - Destructive variant styling + * - Keyboard shortcut display + * - Separator support between groups + * + * @example + * ```svelte + * + * ``` + */ +export { default as DropdownMenuActions } from './DropdownMenuActions.svelte'; diff --git a/tools/server/webui/src/lib/components/app/server/ServerErrorSplash.svelte b/tools/server/webui/src/lib/components/app/server/ServerErrorSplash.svelte index fa4c2842cc..520e5bf56f 100644 --- a/tools/server/webui/src/lib/components/app/server/ServerErrorSplash.svelte +++ b/tools/server/webui/src/lib/components/app/server/ServerErrorSplash.svelte @@ -8,6 +8,7 @@ import { serverStore, serverLoading } from '$lib/stores/server.svelte'; import { config, settingsStore } from '$lib/stores/settings.svelte'; import { fade, fly, scale } from 'svelte/transition'; + import { KeyboardKey } from '$lib/enums/keyboard'; interface Props { class?: string; @@ -117,7 +118,7 @@ } function handleApiKeyKeydown(event: KeyboardEvent) { - if (event.key === 'Enter') { + if (event.key === KeyboardKey.ENTER) { handleSaveApiKey(); } } diff --git a/tools/server/webui/src/lib/components/app/server/ServerStatus.svelte b/tools/server/webui/src/lib/components/app/server/ServerStatus.svelte index d9f6d4a32a..86a962de12 100644 --- a/tools/server/webui/src/lib/components/app/server/ServerStatus.svelte +++ b/tools/server/webui/src/lib/components/app/server/ServerStatus.svelte @@ -48,7 +48,7 @@ {model || 'Unknown Model'} - {#if serverData.default_generation_settings.n_ctx} + {#if serverData?.default_generation_settings?.n_ctx} ctx: {serverData.default_generation_settings.n_ctx.toLocaleString()} diff --git a/tools/server/webui/src/lib/components/app/server/index.ts b/tools/server/webui/src/lib/components/app/server/index.ts new file mode 100644 index 0000000000..39ac5b482d --- /dev/null +++ b/tools/server/webui/src/lib/components/app/server/index.ts @@ -0,0 +1,80 @@ +/** + * + * SERVER + * + * Components for displaying server connection state and handling + * connection errors. Integrates with serverStore for state management. + * + */ + +/** + * **ServerStatus** - Server connection status indicator + * + * Compact status display showing connection state, model name, + * and context size. Used in headers and loading screens. + * + * **Architecture:** + * - Reads state from serverStore (props, loading, error) + * - Displays model name from modelsStore + * + * **Features:** + * - Status dot: green (connected), yellow (connecting), red (error), gray (unknown) + * - Status text label + * - Model name badge with icon + * - Context size badge + * - Optional error action button + * + * @example + * ```svelte + * + * ``` + */ +export { default as ServerStatus } from './ServerStatus.svelte'; + +/** + * **ServerErrorSplash** - Full-screen connection error display + * + * Blocking error screen shown when server connection fails. + * Provides retry options and API key input for authentication errors. + * + * **Architecture:** + * - Detects access denied errors for API key flow + * - Validates API key against server before saving + * - Integrates with settingsStore for API key persistence + * + * **Features:** + * - Error message display with icon + * - Retry connection button with loading state + * - API key input for authentication errors + * - API key validation with success/error feedback + * - Troubleshooting section with server start commands + * - Animated transitions for UI elements + * + * @example + * ```svelte + * + * ``` + */ +export { default as ServerErrorSplash } from './ServerErrorSplash.svelte'; + +/** + * **ServerLoadingSplash** - Full-screen loading display + * + * Shown during initial server connection. Displays loading animation + * with ServerStatus component for real-time connection state. + * + * **Features:** + * - Animated server icon + * - Customizable loading message + * - Embedded ServerStatus for live updates + * + * @example + * ```svelte + * + * ``` + */ +export { default as ServerLoadingSplash } from './ServerLoadingSplash.svelte'; diff --git a/tools/server/webui/src/lib/components/ui/badge/badge.svelte b/tools/server/webui/src/lib/components/ui/badge/badge.svelte index 4d15145493..c3e6ac0720 100644 --- a/tools/server/webui/src/lib/components/ui/badge/badge.svelte +++ b/tools/server/webui/src/lib/components/ui/badge/badge.svelte @@ -42,7 +42,7 @@ bind:this={ref} data-slot="badge" {href} - class={cn(badgeVariants({ variant }), className)} + class={cn(badgeVariants({ variant }), className, 'backdrop-blur-sm')} {...restProps} > {@render children?.()} diff --git a/tools/server/webui/src/lib/components/ui/button/button.svelte b/tools/server/webui/src/lib/components/ui/button/button.svelte index d12c8de147..d29358c8e0 100644 --- a/tools/server/webui/src/lib/components/ui/button/button.svelte +++ b/tools/server/webui/src/lib/components/ui/button/button.svelte @@ -12,8 +12,9 @@ 'bg-destructive shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60 text-white', outline: 'bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 border', - secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80', - ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50', + secondary: + 'dark:bg-secondary dark:text-secondary-foreground bg-background shadow-sm text-foreground hover:bg-muted-foreground/20', + ghost: 'hover:text-accent-foreground hover:bg-muted-foreground/10', link: 'text-primary underline-offset-4 hover:underline' }, size: { diff --git a/tools/server/webui/src/lib/components/ui/card/card.svelte b/tools/server/webui/src/lib/components/ui/card/card.svelte index c40d14309f..b9dcd2de6f 100644 --- a/tools/server/webui/src/lib/components/ui/card/card.svelte +++ b/tools/server/webui/src/lib/components/ui/card/card.svelte @@ -1,6 +1,7 @@ - +{#snippet tooltipContent()} {@render children?.()} @@ -44,4 +50,12 @@ {/snippet} - +{/snippet} + +{#if noPortal} + {@render tooltipContent()} +{:else} + + {@render tooltipContent()} + +{/if} diff --git a/tools/server/webui/src/lib/utils/api-fetch.ts b/tools/server/webui/src/lib/utils/api-fetch.ts index 8081ef2ec2..28757a966f 100644 --- a/tools/server/webui/src/lib/utils/api-fetch.ts +++ b/tools/server/webui/src/lib/utils/api-fetch.ts @@ -48,8 +48,7 @@ export async function apiFetch(path: string, options: ApiFetchOptions = {}): const baseHeaders = authOnly ? getAuthHeaders() : getJsonHeaders(); const headers = { ...baseHeaders, ...customHeaders }; - const url = - path.startsWith('http://') || path.startsWith('https://') ? path : `${base}${path}`; + const url = path.startsWith('http://') || path.startsWith('https://') ? path : `${base}${path}`; const response = await fetch(url, { ...fetchOptions, diff --git a/tools/server/webui/src/lib/utils/index.ts b/tools/server/webui/src/lib/utils/index.ts index 38e809f2d3..5eb2bbaea1 100644 --- a/tools/server/webui/src/lib/utils/index.ts +++ b/tools/server/webui/src/lib/utils/index.ts @@ -93,3 +93,6 @@ export { getLanguageFromFilename } from './syntax-highlight-language'; // Text file utilities export { isTextFileByName, readFileAsText, isLikelyTextFile } from './text-files'; + +// Image error fallback utilities +export { getImageErrorFallbackHtml } from './image-error-fallback'; From ff599039a9f54fc75c0d4202941079058a26de2c Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 12 Feb 2026 13:14:28 +0100 Subject: [PATCH 199/206] scripts : add support for forks in pr2wt.sh (#19540) This commit adds support for using the pr2wt.sh (pull request to workspace) script with forks of upstream llama.cpp. --- scripts/pr2wt.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/pr2wt.sh b/scripts/pr2wt.sh index bd635f3b9d..067f5d466b 100755 --- a/scripts/pr2wt.sh +++ b/scripts/pr2wt.sh @@ -30,12 +30,18 @@ fi PR=$1 [[ "$PR" =~ ^[0-9]+$ ]] || { echo "error: PR number must be numeric"; exit 1; } +url_origin=$(git config --get remote.upstream.url 2>/dev/null) || \ url_origin=$(git config --get remote.origin.url) || { - echo "error: no remote named 'origin' in this repository" + echo "error: no remote named 'upstream' or 'origin' in this repository" exit 1 } -org_repo=$(echo $url_origin | cut -d/ -f4-) +# Extract org/repo from either https or ssh format. +if [[ $url_origin =~ ^git@ ]]; then + org_repo=$(echo $url_origin | cut -d: -f2) +else + org_repo=$(echo $url_origin | cut -d/ -f4-) +fi org_repo=${org_repo%.git} echo "org/repo: $org_repo" From 4d688f9ebba03a597dbaf9df1d0a4375d4947780 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Thu, 12 Feb 2026 13:56:08 +0100 Subject: [PATCH 200/206] (webui) FEATURE: Enable adding or injecting System Message into chat (#19556) * feat: Enable adding System Prompt per-chat * fix: Save draft message in Chat Form when adding System Prompt from new chat view * fix: Proper system message deletion logic * chore: Formatting * chore: update webui build output --- tools/server/public/index.html.gz | Bin 1454104 -> 1455432 bytes .../app/chat/ChatForm/ChatForm.svelte | 20 +- .../ChatFormActionFileAttachments.svelte | 22 +- .../ChatFormActions/ChatFormActions.svelte | 5 +- .../app/chat/ChatMessages/ChatMessage.svelte | 76 +++++- .../ChatMessages/ChatMessageSystem.svelte | 2 +- .../app/chat/ChatScreen/ChatScreen.svelte | 20 ++ .../webui/src/lib/stores/chat.svelte.ts | 216 ++++++++++++++++++ 8 files changed, 351 insertions(+), 10 deletions(-) diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index 64a6402fc9dc94d4792dbe950aee98cff702ef85..ae2c8f77a7c83a47f1a1183ece27be472e03e84f 100644 GIT binary patch delta 1173697 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
        L6+eHOBx~03 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ǣbyuLmG%1=JI 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%0Dbaw4Z4NV+@Q@Hl=}ye!uIW7SlcfEVda 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%0Airg9@tv$`O7n^1Qj5# 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∋onjYhx^;3?vf zBOp;AkT8O40)ze#99C3-I&StvbA|&tM}J0u!x+I;4F^HR1ND5Sb$Lp{8@_URinYsd zfTOE*h3aG|^X^fS0Qwd)g*?4^MdsjxZFV8gItSjK@@?!jxBT_C ze{_uaCy#F|^n6!|1-M6bJ7@(8$%`^}%ox&4o-8BBh~KG=BxIxS@qetE$f(V3e2kp-WWH zU}d&J1O%q(5(+|5eS~w}!R$;l0e{#DCb>)7?0~tD@AWE^37AK5O7*Oh&Vqy}3r-Zw zUl&6g*GVo+)hd-3s)W={O5{ZGi6NOvcHm4(!Y>)b!aI_zMTC5-s}#z&VP~w);NxD zN9|-BWz)!aR3I>mxVp6tC2*s)RRd~D%}jvEJhgU^HnDb)5-ktJX3u>5;O07@Xf^{W zIUAZVe8y;%o5V+{f<@2sJvcPQcS%od^y_p(@1RgFEEV9ma;B>&XljrqAp4$aYTz=+Tkr!wCBA5t@cjTPniKQ48Uf zquT>w77O*$<>@Kj=kpLRFvRhP)0TfHdcaFb_ZSZ&$i{dh?heAWAb(X3k)sS{I6D`0 zaa>%8+6O3I|Bzh09Ho;;^MULk|5|#qpsOOlLT+FkHX9WfosgIg0ufqUyhI=3mXTa8 zrcykTKK+A3)KfnY$Dd4?Swe*AhjhDKq@zQ z7(HN?c3IEx4t69W1b_Mt5I1*0Ty{oUXk9q~NYW9m>iCsU zWW}xe6P}Q;(~JO#6#acP>hlevDSV6ug_t3x2_y(O`7u<~Ie*o_smY(yvoaw!69H|I zV-bLg!8ig+x&#@lT`K{H4z3P#Y+Iy3m+A@VliwT+O6(!TO2dNc)jlW_UqZOUEf*oN zF(0nuV&T3lBn=Xu0XAxZj~SsrF=}f>U#b)7Lb!Xby(2*Rv$p>va;u7Osg@OhA94Y- z4|{3_04Q$ZjepMQhz}XNJ#kqa{L8UKc$BlM9y~*Q=no z9FSv%BgCC&>6d+KQ~*v<21XSALA5a0YSb9G4BE_&d#5B~wQaHhs5D$)>6M0$y9BWH zNb@?!c_x69>I6zBP+B1K47GLvCin?2;C!G^3z$dYwSNOnedrT>&X6_98!}tMc?Q}N z_y`_HdLn`QqpE_oVQJ_NPtpt(&S7Q3hdB?BwQm5V=+D|%c6b6?H;zBVtvb)z37p>3 zk<3(q8er#AJp^E1A&B;|F(dT%IYRz^ z1&RQk!+&ce3^j}vplL&(33y_2g6Q)pE}V!c0JV~TD4%r8Ob;D~zh``$;c;HXK?oYA z0bLJVg`_K`9Ru_s=#LJ#@{j@b)(NhCg09*vsuUOq0;dC%#2+t*dd2^UP$}&mNTO|B zP;r5?1DBVsYp|9xJ=FIM7vMu&i9L`r=+r0qz<;IV4&6JGAVKde*(iHw=l&G|{1t$U zBZl3|h`5e6Nl;6u*XK0X6La2$>5+DF2`(U2_n2g0GU)LnNy!3?0JaXb^b-FFpn4}o z)29UdiSCC!fhmW*fq*LDXi9kB$X5VFv7+gczU^EfN>Wx`ENN!A;rd{Br3Y3Gn1Li6 zb$_}E^nC(8^I-Tn`ISH7ltvMty@To{wX8#YlOdT7AP3?{R7v0Dtkops16w=;AgHI< zMnU(p0B!1DVUyzy9w5+-u5svw_*+C0YB(XP6XDsxC=yWTfb0NC99~KIc!noPK}NbT z5ggq2@Q0DpGd*rdg5ZUoISZH%bVW+=NPmn+AH%tGLaI81M8U8FMVN|^Kpu&;6BHW{ zlT~(NGMG+|ibe>_3js-E2ojPPB7x)u*ps{ndLox*Cmx=v1TfH%0DI~Xg;&_;e4zFu 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

        =3Auu2ccx~AEYI%L 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

        s)4V0hlP2?BY@9IW$Anj5q2-f6!O) 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 z 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

        6@_~`#_E4^(6efC`fkx|8 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

      1. y|^DU>Uqsr^|E5O3yABS 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

        8x)rS8{j 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 z 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%0DXt_>u>u>lj!M_Yqr9-5KiToOII$8jysI%Mj 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 T@C7}59)9+JHugI>^jSdw4$ix$ delta 1172692 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%0Dk= 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%0Ar3aKIf99N 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

        gZh(~s%s^l@!hHV6MWHNbvlHLA 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

        xW$!BV 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%0Ayal(_l9C<6i{M#8d@NHngEw@ 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

        O$3rJnf%V&N({Hx* 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�e~K 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 z z=Kyr&c25KF8aS&dArL+w9o$;X_luN=iH;Bs^l^Mwju1&{j(M0E)VN5bQKYhr!T6ZA zm;h56EdiaOID2yP$vC=FGaGUpNSmvCAP;mPE7za{FtrB?u?yLMx{l%q?{pML457dQ z+c@wAcaV$|8?{IprIT^Hgz`h196~y4(?Z)+m=EBst(sWyU$$!0XeF$gaxD;{c{D1P z!_}vFR=T7{pndTGSM|yw1hT!28!bXr-?$Mu&4t)?MwCU~d~3-bh*#AfQN{7JmQd_r zSRJP00ss>%?lP!vFQKl+iPEA>)L*9}HQWgx>4Mi|I z1LK~Li!5y!o{N5s@wPf=7Wz+6BkKFtLL|2*W5K-KE<6i}v)V-CGZY;Ip5jOVbSRB* zKolmU<3jBd>K$o%B;SD@?)T%#B%aS<(C1;$fmrTH?pQ~EEkRGh{1;{D;42%Q&E$`0 zHNtmKPlHMlb+|f502dfmNUiaE9^astAeci{yw)U+n25c_Zw-;fj38VoVTls7z69=Sy9YiyiOo>E|joUgkw;r_y%tu_fxP=ELZZ>}4 zvJ`Z+N=ImaDVL@FlRG%6X?QoFR*2!eoZ*Gt9qc=a`XfuIV%sU_I}d$XI+H84^h)Qp zH&Pcp09nPxyKYD)mky~4K6>qmO8=_{pdT>4?{f%xJ2cLL7@4MrL0y0Y_I6a)TgY85 zTR?hPjFQ8mmmU_o>E1{Dh0+;#qT-z$_oGPnL@y(MW)hp(e@B(vm=`P7AOxslj$Pan zYSiz+sKXh32*M_#-zk2|G4BLp)*^X1RfLmBd)~gASP5dq-5+504-_s{&SW6JAWJ}p z&5qnn#8nxu#gLs!+Jj{8N;rRG+tH32zaT?Y*75$PcvTU@!iCH zy+VM0m$=UQ6KoysWm#}sZ{3xxVriP%zW_#T5^ywB%c)*DTwpYTs8t#=n0O`^9(M@fZ$=OOp;D-91yvHzqvPnc?Y8*(D2^p8ZJKS(zAbYa|d^n7$ zh?K4Y)Tz0exR3*1M)`;OWxe_POirz2?$TTS*t-g}xx0wvKYfcD@n77n*zy|8%RyXn zD&vtB3*2MSZS0R*UkIEyghFtLqRTJpxs9L>M6Q3mAi`y{e#TOQUf~P}1qcZ=P;>ZoP5LNBA~qY4Ta66KIzXJ314`=Z zg{~o0$plA#&k*mM>J7$R61|YatS*1j!3f6s~*CCgG{#Km4SQN{u6oV_Cx$we$Y$A(=`S>qpEFUNzMyts7nd)MPIBBf+@H-FQdceX11z zDh5x|8l*6wkHE_ou>YO6aQ-cP1tqkRmNOiTNWdA+xZ=UKJF4;AsIgjy#7Pr>))|D+ z-k#tr(vSApo>T~y2fKt3ordGyXaOE*vP`WdxZi;i?Q^EPzXmdF*k0XQ-7qA$w1BTC zuO?#N6@3enuTQ(6?FXjaW>T6km>?_qNjHeB0&-)j;9}rLY�p&k*#N@5QDb7hZ;B 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

        (S-I1tKI|)-o%tKI`3KtP< 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 diff --git a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte index 27ab975cbd..95645295fb 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatForm.svelte @@ -27,11 +27,13 @@ interface Props { class?: string; disabled?: boolean; + initialMessage?: string; isLoading?: boolean; onFileRemove?: (fileId: string) => void; onFileUpload?: (files: File[]) => void; onSend?: (message: string, files?: ChatUploadedFile[]) => Promise; onStop?: () => void; + onSystemPromptAdd?: (draft: { message: string; files: ChatUploadedFile[] }) => void; showHelperText?: boolean; uploadedFiles?: ChatUploadedFile[]; } @@ -39,11 +41,13 @@ let { class: className, disabled = false, + initialMessage = '', isLoading = false, onFileRemove, onFileUpload, onSend, onStop, + onSystemPromptAdd, showHelperText = true, uploadedFiles = $bindable([]) }: Props = $props(); @@ -53,15 +57,28 @@ let currentConfig = $derived(config()); let fileInputRef: ChatFormFileInputInvisible | undefined = $state(undefined); let isRecording = $state(false); - let message = $state(''); + let message = $state(initialMessage); let pasteLongTextToFileLength = $derived.by(() => { const n = Number(currentConfig.pasteLongTextToFileLen); return Number.isNaN(n) ? Number(SETTING_CONFIG_DEFAULT.pasteLongTextToFileLen) : n; }); let previousIsLoading = $state(isLoading); + let previousInitialMessage = $state(initialMessage); let recordingSupported = $state(false); let textareaRef: ChatFormTextarea | undefined = $state(undefined); + // Sync message when initialMessage prop changes (e.g., after draft restoration) + $effect(() => { + if (initialMessage !== previousInitialMessage) { + message = initialMessage; + previousInitialMessage = initialMessage; + } + }); + + function handleSystemPromptClick() { + onSystemPromptAdd?.({ message, files: uploadedFiles }); + } + // Check if model is selected (in ROUTER mode) let conversationModel = $derived( chatStore.getConversationModel(activeMessages() as DatabaseMessage[]) @@ -308,6 +325,7 @@ onFileUpload={handleFileUpload} onMicClick={handleMicClick} onStop={handleStop} + onSystemPromptClick={handleSystemPromptClick} /> diff --git a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionFileAttachments.svelte b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionFileAttachments.svelte index dd37268096..3545b4aebf 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionFileAttachments.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActionFileAttachments.svelte @@ -1,5 +1,6 @@ -

        +
        @@ -81,6 +88,16 @@
        + + {#if showRawOutputSwitch} +
        + Show raw output + onRawOutputToggle?.(checked)} + /> +
        + {/if}
        { @@ -238,7 +241,7 @@ {:else if message.role === 'assistant'} - {#if config().disableReasoningFormat} + {#if showRawOutput}
        {messageContent || ''}
        {:else} @@ -352,6 +355,9 @@ {onConfirmDelete} {onNavigateToSibling} {onShowDeleteDialogChange} + showRawOutputSwitch={currentConfig.showRawOutputSwitch} + rawOutputEnabled={showRawOutput} + onRawOutputToggle={(enabled) => (showRawOutput = enabled)} /> {/if} diff --git a/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte b/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte index 6e26d510cd..a5450e6af8 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte @@ -21,6 +21,7 @@ chatStore, errorDialog, isLoading, + isChatStreaming, isEditing, getAddFilesHandler } from '$lib/stores/chat.svelte'; @@ -81,7 +82,7 @@ let isServerLoading = $derived(serverLoading()); let hasPropsError = $derived(!!serverError()); - let isCurrentConversationLoading = $derived(isLoading()); + let isCurrentConversationLoading = $derived(isLoading() || isChatStreaming()); let isRouter = $derived(isRouterMode()); diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte index 5a668aa300..967f19bbce 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte @@ -254,8 +254,13 @@ type: 'checkbox' }, { - key: 'disableReasoningFormat', - label: 'Show raw LLM output', + key: 'disableReasoningParsing', + label: 'Disable reasoning content parsing', + type: 'checkbox' + }, + { + key: 'showRawOutputSwitch', + label: 'Enable raw output toggle', type: 'checkbox' }, { diff --git a/tools/server/webui/src/lib/constants/settings-config.ts b/tools/server/webui/src/lib/constants/settings-config.ts index cac48a557c..1b959f3b69 100644 --- a/tools/server/webui/src/lib/constants/settings-config.ts +++ b/tools/server/webui/src/lib/constants/settings-config.ts @@ -7,7 +7,8 @@ export const SETTING_CONFIG_DEFAULT: Record = theme: 'system', showThoughtInProgress: false, showToolCalls: false, - disableReasoningFormat: false, + disableReasoningParsing: false, + showRawOutputSwitch: false, keepStatsVisible: false, showMessageStats: true, askForTitleConfirmation: false, @@ -92,8 +93,10 @@ export const SETTING_CONFIG_INFO: Record = { showThoughtInProgress: 'Expand thought process by default when generating messages.', showToolCalls: 'Display tool call labels and payloads from Harmony-compatible delta.tool_calls data below assistant messages.', - disableReasoningFormat: - 'Show raw LLM output without backend parsing and frontend Markdown rendering to inspect streaming across different models.', + disableReasoningParsing: + 'Send reasoning_format=none to prevent server-side extraction of reasoning tokens into separate field', + showRawOutputSwitch: + 'Show toggle button to display messages as plain text instead of Markdown-formatted content', keepStatsVisible: 'Keep processing statistics visible after generation finishes.', showMessageStats: 'Display generation statistics (tokens/second, token count, duration) below each assistant message.', diff --git a/tools/server/webui/src/lib/services/chat.ts b/tools/server/webui/src/lib/services/chat.ts index 02fc6381c0..55af0ce816 100644 --- a/tools/server/webui/src/lib/services/chat.ts +++ b/tools/server/webui/src/lib/services/chat.ts @@ -90,7 +90,7 @@ export class ChatService { custom, timings_per_token, // Config options - disableReasoningFormat + disableReasoningParsing } = options; const normalizedMessages: ApiChatMessageData[] = messages @@ -127,7 +127,7 @@ export class ChatService { requestBody.model = options.model; } - requestBody.reasoning_format = disableReasoningFormat ? 'none' : 'auto'; + requestBody.reasoning_format = disableReasoningParsing ? 'none' : 'auto'; if (temperature !== undefined) requestBody.temperature = temperature; if (max_tokens !== undefined) { diff --git a/tools/server/webui/src/lib/services/parameter-sync.ts b/tools/server/webui/src/lib/services/parameter-sync.ts index d124cf5c8d..333260701f 100644 --- a/tools/server/webui/src/lib/services/parameter-sync.ts +++ b/tools/server/webui/src/lib/services/parameter-sync.ts @@ -70,12 +70,6 @@ export const SYNCABLE_PARAMETERS: SyncableParameter[] = [ canSync: true }, { key: 'showToolCalls', serverKey: 'showToolCalls', type: 'boolean', canSync: true }, - { - key: 'disableReasoningFormat', - serverKey: 'disableReasoningFormat', - type: 'boolean', - canSync: true - }, { key: 'keepStatsVisible', serverKey: 'keepStatsVisible', type: 'boolean', canSync: true }, { key: 'showMessageStats', serverKey: 'showMessageStats', type: 'boolean', canSync: true }, { diff --git a/tools/server/webui/src/lib/stores/chat.svelte.ts b/tools/server/webui/src/lib/stores/chat.svelte.ts index 89de4f080c..f00f418b4c 100644 --- a/tools/server/webui/src/lib/stores/chat.svelte.ts +++ b/tools/server/webui/src/lib/stores/chat.svelte.ts @@ -118,6 +118,16 @@ class ChatStore { this.isLoading = this.isChatLoading(convId); const streamingState = this.getChatStreaming(convId); this.currentResponse = streamingState?.response || ''; + this.isStreamingActive = streamingState !== undefined; + this.setActiveProcessingConversation(convId); + + // Sync streaming content to activeMessages so UI displays current content + if (streamingState?.response && streamingState?.messageId) { + const idx = conversationsStore.findMessageIndex(streamingState.messageId); + if (idx !== -1) { + conversationsStore.updateMessageAtIndex(idx, { content: streamingState.response }); + } + } } /** @@ -1639,7 +1649,7 @@ class ChatStore { // Config options needed by ChatService if (currentConfig.systemMessage) apiOptions.systemMessage = currentConfig.systemMessage; - if (currentConfig.disableReasoningFormat) apiOptions.disableReasoningFormat = true; + if (currentConfig.disableReasoningParsing) apiOptions.disableReasoningParsing = true; if (hasValue(currentConfig.temperature)) apiOptions.temperature = Number(currentConfig.temperature); diff --git a/tools/server/webui/src/lib/types/settings.d.ts b/tools/server/webui/src/lib/types/settings.d.ts index 38b3047dd0..d894245ec3 100644 --- a/tools/server/webui/src/lib/types/settings.d.ts +++ b/tools/server/webui/src/lib/types/settings.d.ts @@ -18,8 +18,8 @@ export interface SettingsChatServiceOptions { model?: string; // System message to inject systemMessage?: string; - // Disable reasoning format (use 'none' instead of 'auto') - disableReasoningFormat?: boolean; + // Disable reasoning parsing (use 'none' instead of 'auto') + disableReasoningParsing?: boolean; // Generation parameters temperature?: number; max_tokens?: number; diff --git a/tools/server/webui/tests/stories/ChatMessage.stories.svelte b/tools/server/webui/tests/stories/ChatMessage.stories.svelte index 5f4de7d476..a3579cf04e 100644 --- a/tools/server/webui/tests/stories/ChatMessage.stories.svelte +++ b/tools/server/webui/tests/stories/ChatMessage.stories.svelte @@ -93,7 +93,7 @@ }} play={async () => { const { settingsStore } = await import('$lib/stores/settings.svelte'); - settingsStore.updateConfig('disableReasoningFormat', false); + settingsStore.updateConfig('showRawOutputSwitch', false); }} /> @@ -105,7 +105,7 @@ }} play={async () => { const { settingsStore } = await import('$lib/stores/settings.svelte'); - settingsStore.updateConfig('disableReasoningFormat', false); + settingsStore.updateConfig('showRawOutputSwitch', false); }} /> @@ -117,7 +117,7 @@ }} play={async () => { const { settingsStore } = await import('$lib/stores/settings.svelte'); - settingsStore.updateConfig('disableReasoningFormat', false); + settingsStore.updateConfig('showRawOutputSwitch', false); }} /> @@ -129,7 +129,7 @@ }} play={async () => { const { settingsStore } = await import('$lib/stores/settings.svelte'); - settingsStore.updateConfig('disableReasoningFormat', true); + settingsStore.updateConfig('showRawOutputSwitch', true); }} /> @@ -141,7 +141,7 @@ asChild play={async () => { const { settingsStore } = await import('$lib/stores/settings.svelte'); - settingsStore.updateConfig('disableReasoningFormat', false); + settingsStore.updateConfig('showRawOutputSwitch', false); // Phase 1: Stream reasoning content in chunks let reasoningText = 'I need to think about this carefully. Let me break down the problem:\n\n1. The user is asking for help with something complex\n2. I should provide a thorough and helpful response\n3. I need to consider multiple approaches\n4. The best solution would be to explain step by step\n\nThis approach will ensure clarity and understanding.'; @@ -193,7 +193,7 @@ }} play={async () => { const { settingsStore } = await import('$lib/stores/settings.svelte'); - settingsStore.updateConfig('disableReasoningFormat', false); + settingsStore.updateConfig('showRawOutputSwitch', false); // Import the chat store to simulate loading state const { chatStore } = await import('$lib/stores/chat.svelte'); From 338085c69e486b7155e5b03d7b5087e02c0e2528 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Thu, 12 Feb 2026 21:52:41 +0200 Subject: [PATCH 204/206] args : add -kvu to llama-parallel (#19577) --- common/arg.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/arg.cpp b/common/arg.cpp index 9c85696ebd..18f953a38e 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1301,7 +1301,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params, bool value) { params.kv_unified = value; } - ).set_env("LLAMA_ARG_KV_UNIFIED").set_examples({LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_PERPLEXITY, LLAMA_EXAMPLE_BATCHED, LLAMA_EXAMPLE_BENCH})); + ).set_env("LLAMA_ARG_KV_UNIFIED").set_examples({LLAMA_EXAMPLE_SERVER, LLAMA_EXAMPLE_PERPLEXITY, LLAMA_EXAMPLE_BATCHED, LLAMA_EXAMPLE_BENCH, LLAMA_EXAMPLE_PARALLEL})); add_opt(common_arg( {"--context-shift"}, {"--no-context-shift"}, From 79cc0f2dafbc7cbbfc37a8d99b399b816e141b90 Mon Sep 17 00:00:00 2001 From: lhez Date: Thu, 12 Feb 2026 14:52:37 -0800 Subject: [PATCH 205/206] opencl: add basic support for q4_1 (#19534) * opencl: add q4_1 mv * opencl: clean up * opencl: add flattened q4_1 mv * opencl: clean up * opencl: add basic q4_1 mm * opencl: fix whitespace * opencl: add general q4_0 mm --- ggml/src/ggml-opencl/CMakeLists.txt | 4 + ggml/src/ggml-opencl/ggml-opencl.cpp | 404 +++++++++++++++++- ggml/src/ggml-opencl/kernels/cvt.cl | 51 +++ .../kernels/mul_mm_q4_0_f32_l4_lm.cl | 163 +++++++ .../kernels/mul_mm_q4_1_f32_l4_lm.cl | 165 +++++++ .../ggml-opencl/kernels/mul_mv_q4_1_f32.cl | 219 ++++++++++ .../kernels/mul_mv_q4_1_f32_flat.cl | 229 ++++++++++ 7 files changed, 1231 insertions(+), 4 deletions(-) create mode 100644 ggml/src/ggml-opencl/kernels/mul_mm_q4_0_f32_l4_lm.cl create mode 100644 ggml/src/ggml-opencl/kernels/mul_mm_q4_1_f32_l4_lm.cl create mode 100644 ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32.cl create mode 100644 ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32_flat.cl diff --git a/ggml/src/ggml-opencl/CMakeLists.txt b/ggml/src/ggml-opencl/CMakeLists.txt index b6094fb68b..f389193691 100644 --- a/ggml/src/ggml-opencl/CMakeLists.txt +++ b/ggml/src/ggml-opencl/CMakeLists.txt @@ -85,6 +85,8 @@ set(GGML_OPENCL_KERNELS mul_mv_q4_0_f32_8x_flat mul_mv_q4_0_f32_1d_8x_flat mul_mv_q4_0_f32_1d_16x_flat + mul_mv_q4_1_f32 + mul_mv_q4_1_f32_flat mul_mv_q4_k_f32 mul_mv_q6_k_f32 mul_mv_q6_k_f32_flat @@ -101,6 +103,8 @@ set(GGML_OPENCL_KERNELS gemv_moe_mxfp4_f32 mul_mm_f32_f32_l4_lm mul_mm_f16_f32_l4_lm + mul_mm_q4_0_f32_l4_lm + mul_mm_q4_1_f32_l4_lm mul_mm_q8_0_f32_l4_lm mul_mm_q6_k_f32_l4_lm mul_mm_q8_0_f32_8x4 diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 40474c193b..ae3f79fd0d 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -525,6 +525,7 @@ struct ggml_backend_opencl_context { cl_kernel kernel_mul_mm_f16_f32_kq; cl_kernel kernel_mul_mat_q4_0_f32, kernel_mul_mat_q4_0_f32_v; cl_kernel kernel_convert_block_q4_0, kernel_restore_block_q4_0; + cl_kernel kernel_convert_block_q4_1, kernel_restore_block_q4_1; cl_kernel kernel_convert_block_mxfp4, kernel_convert_block_mxfp4_trans, kernel_restore_block_mxfp4, kernel_restore_block_mxfp4_trans; cl_kernel kernel_convert_block_q8_0, kernel_restore_block_q8_0, kernel_restore_block_q8_0_trans; cl_kernel kernel_mul_mat_q4_0_f32_8x_flat; @@ -532,6 +533,8 @@ struct ggml_backend_opencl_context { cl_kernel kernel_restore_block_q4_0_noshuffle; cl_kernel kernel_convert_block_q6_K, kernel_restore_block_q6_K; cl_kernel kernel_mul_mat_q4_0_f32_1d_8x_flat, kernel_mul_mat_q4_0_f32_1d_16x_flat; + cl_kernel kernel_mul_mv_q4_1_f32; + cl_kernel kernel_mul_mv_q4_1_f32_flat; cl_kernel kernel_mul_mv_q4_K_f32; cl_kernel kernel_mul_mv_q6_K_f32; cl_kernel kernel_mul_mv_q6_K_f32_flat; @@ -564,6 +567,8 @@ struct ggml_backend_opencl_context { cl_kernel kernel_mul_mv_id_mxfp4_f32_flat; cl_kernel kernel_mul_mm_f32_f32_l4_lm; cl_kernel kernel_mul_mm_f16_f32_l4_lm; + cl_kernel kernel_mul_mm_q4_0_f32_l4_lm; + cl_kernel kernel_mul_mm_q4_1_f32_l4_lm; cl_kernel kernel_mul_mm_q8_0_f32_l4_lm; cl_kernel kernel_mul_mm_q6_k_f32_l4_lm; @@ -888,6 +893,8 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve CL_CHECK((backend_ctx->kernel_restore_block_q4_0_noshuffle = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_q4_0_noshuffle", &err), err)); CL_CHECK((backend_ctx->kernel_convert_block_q4_0 = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_q4_0", &err), err)); CL_CHECK((backend_ctx->kernel_restore_block_q4_0 = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_q4_0", &err), err)); + CL_CHECK((backend_ctx->kernel_convert_block_q4_1 = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_q4_1", &err), err)); + CL_CHECK((backend_ctx->kernel_restore_block_q4_1 = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_q4_1", &err), err)); CL_CHECK((backend_ctx->kernel_convert_block_mxfp4 = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_mxfp4", &err), err)); CL_CHECK((backend_ctx->kernel_convert_block_mxfp4_trans = clCreateKernel(backend_ctx->program_cvt, "kernel_convert_block_mxfp4_trans", &err), err)); CL_CHECK((backend_ctx->kernel_restore_block_mxfp4_trans = clCreateKernel(backend_ctx->program_cvt, "kernel_restore_block_mxfp4_trans", &err), err)); @@ -1119,6 +1126,40 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } + // mul_mv_q4_1_f32 + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "mul_mv_q4_1_f32.cl.h" + }; +#else + const std::string kernel_src = read_file("mul_mv_q4_1_f32.cl"); +#endif + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_mul_mv_q4_1_f32 = clCreateKernel(prog, "kernel_mul_mv_q4_1_f32", &err), err)); + CL_CHECK(clReleaseProgram(prog)); + GGML_LOG_CONT("."); + } + + // mul_mv_q4_1_f32_flat + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "mul_mv_q4_1_f32_flat.cl.h" + }; +#else + const std::string kernel_src = read_file("mul_mv_q4_1_f32_flat.cl"); +#endif + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_mul_mv_q4_1_f32_flat = clCreateKernel(prog, "kernel_mul_mv_q4_1_f32_flat", &err), err)); + CL_CHECK(clReleaseProgram(prog)); + GGML_LOG_CONT("."); + } + // mul_mv_q4_k_f32 { #ifdef GGML_OPENCL_EMBED_KERNELS @@ -1361,6 +1402,38 @@ static void load_cl_kernels(ggml_backend_opencl_context *backend_ctx, ggml_cl_ve GGML_LOG_CONT("."); } + // mul_mm_q4_0_f32_l4_lm + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "mul_mm_q4_0_f32_l4_lm.cl.h" + }; +#else + const std::string kernel_src = read_file("mul_mm_q4_0_f32_l4_lm.cl"); +#endif + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_mul_mm_q4_0_f32_l4_lm = clCreateKernel(prog, "kernel_mul_mm_q4_0_f32_l4_lm", &err), err)); + GGML_LOG_CONT("."); + } + + // mul_mm_q4_1_f32_l4_lm + { +#ifdef GGML_OPENCL_EMBED_KERNELS + const std::string kernel_src { + #include "mul_mm_q4_1_f32_l4_lm.cl.h" + }; +#else + const std::string kernel_src = read_file("mul_mm_q4_1_f32_l4_lm.cl"); +#endif + cl_program prog = + build_program_from_source(backend_ctx->context, backend_ctx->device, kernel_src.c_str(), compile_opts); + + CL_CHECK((backend_ctx->kernel_mul_mm_q4_1_f32_l4_lm = clCreateKernel(prog, "kernel_mul_mm_q4_1_f32_l4_lm", &err), err)); + GGML_LOG_CONT("."); + } + // mul_mm_q8_0_f32_l4_lm { #ifdef GGML_OPENCL_EMBED_KERNELS @@ -2923,6 +2996,59 @@ struct ggml_tensor_extra_cl_q4_0 { } }; +struct ggml_tensor_extra_cl_q4_1 { + // Quantized values. + cl_mem q = nullptr; + // Quantized values in image1d_buffer_t. + cl_mem q_img = nullptr; + // Scales. + cl_mem d = nullptr; + // Scales in image1d_buffer_t. + cl_mem d_img = nullptr; + // Min + cl_mem m = nullptr; + // Min in image1d_buffer_t. + cl_mem m_img = nullptr; + // Size of quantized values. + size_t size_q = 0; + // Size of scales. + size_t size_d = 0; + // Size of min values. + size_t size_m = 0; + + ~ggml_tensor_extra_cl_q4_1() { + reset(); + } + + void reset() { + // q and d are subbuffers into the bigger buffer allocated in ggml_backend_buffer. + // They must be properly released so that the original buffer can be + // properly released to avoid memory leak. + if (q != nullptr) { + CL_CHECK(clReleaseMemObject(q)); + q = nullptr; + } + if (d != nullptr) { + CL_CHECK(clReleaseMemObject(d)); + d = nullptr; + } + if (m != nullptr) { + CL_CHECK(clReleaseMemObject(m)); + m = nullptr; + } + // Currently, q_img and d_img are only initialized when SMALL_ALLOC is + // enabled. They point to the images in ggml_backend_opencl_buffer_context. + // So, there is no need to release them here. + // TODO: initialize them for non SMALL_PATH path, or remove them. + q_img = nullptr; + d_img = nullptr; + m_img = nullptr; + size_q = 0; + size_d = 0; + size_m = 0; + } +}; + struct ggml_tensor_extra_cl_mxfp4 { // Quantized values. cl_mem q = nullptr; @@ -3399,8 +3525,9 @@ static bool ggml_opencl_supports_op(ggml_backend_dev_t dev, const struct ggml_te return true; } else if (op->src[0]->type == GGML_TYPE_F32) { return op->src[1]->type == GGML_TYPE_F32; - } else if (op->src[0]->type == GGML_TYPE_Q4_0 || op->src[0]->type == GGML_TYPE_MXFP4 || - op->src[0]->type == GGML_TYPE_Q4_K || + } else if (op->src[0]->type == GGML_TYPE_Q4_0 || op->src[0]->type == GGML_TYPE_Q4_1 || + op->src[0]->type == GGML_TYPE_MXFP4 || + op->src[0]->type == GGML_TYPE_Q4_K || op->src[0]->type == GGML_TYPE_Q6_K) { return op->src[1]->type == GGML_TYPE_F32 && ggml_is_contiguous(op->src[0]) && ggml_is_contiguous(op->src[1]); } else if (op->src[0]->type == GGML_TYPE_Q8_0) { @@ -3629,6 +3756,21 @@ struct ggml_backend_opencl_buffer_context { return extra; } + ggml_tensor_extra_cl_q4_1 * ggml_opencl_alloc_temp_tensor_extra_q4_1() { + ggml_tensor_extra_cl_q4_1 * extra; + if (temp_tensor_extras_q4_1.empty()) { + extra = new ggml_tensor_extra_cl_q4_1(); + } else { + extra = temp_tensor_extras_q4_1.back(); + temp_tensor_extras_q4_1.pop_back(); + } + + temp_tensor_extras_q4_1_in_use.push_back(extra); + + extra->reset(); + return extra; + } + ggml_tensor_extra_cl_mxfp4 * ggml_opencl_alloc_temp_tensor_extra_mxfp4() { ggml_tensor_extra_cl_mxfp4 * extra; if (temp_tensor_extras_mxfp4.empty()) { @@ -3685,6 +3827,11 @@ struct ggml_backend_opencl_buffer_context { } temp_tensor_extras_q4_0_in_use.clear(); + for (ggml_tensor_extra_cl_q4_1 * e : temp_tensor_extras_q4_1_in_use) { + temp_tensor_extras_q4_1.push_back(e); + } + temp_tensor_extras_q4_1_in_use.clear(); + for (ggml_tensor_extra_cl_mxfp4 * e : temp_tensor_extras_mxfp4_in_use) { temp_tensor_extras_mxfp4.push_back(e); } @@ -3710,6 +3857,8 @@ struct ggml_backend_opencl_buffer_context { std::vector temp_tensor_extras_in_use; std::vector temp_tensor_extras_q4_0; std::vector temp_tensor_extras_q4_0_in_use; + std::vector temp_tensor_extras_q4_1; + std::vector temp_tensor_extras_q4_1_in_use; std::vector temp_tensor_extras_mxfp4; std::vector temp_tensor_extras_mxfp4_in_use; std::vector temp_tensor_extras_q8_0; @@ -4079,6 +4228,75 @@ static void ggml_backend_opencl_buffer_set_tensor(ggml_backend_buffer_t buffer, return; } + if (tensor->type == GGML_TYPE_Q4_1) { + ggml_tensor_extra_cl * extra_orig = (ggml_tensor_extra_cl *)tensor->extra; + GGML_ASSERT(extra_orig && "Tesnors in OpenCL backend should have been allocated and initialized"); + + // Allocate the new extra and create aliases from the original. + ggml_backend_opencl_buffer_context * ctx = (ggml_backend_opencl_buffer_context *) buffer->context; + ggml_tensor_extra_cl_q4_1 * extra = ctx->ggml_opencl_alloc_temp_tensor_extra_q4_1(); + + size_t size_d = ggml_nelements(tensor)/ggml_blck_size(tensor->type)*sizeof(ggml_fp16_t); + size_t size_m = ggml_nelements(tensor)/ggml_blck_size(tensor->type)*sizeof(ggml_fp16_t); + size_t size_q = ggml_nelements(tensor)/ggml_blck_size(tensor->type)*ggml_blck_size(tensor->type)/2; + GGML_ASSERT(size_d + size_m + size_q == ggml_nbytes(tensor) && "Incorrect tensor size"); + + cl_int err; + cl_mem data_device = clCreateBuffer(context, CL_MEM_READ_WRITE, + ggml_nbytes(tensor), NULL, &err); + CL_CHECK(err); + CL_CHECK(clEnqueueWriteBuffer( + queue, data_device, CL_TRUE, 0, + ggml_nbytes(tensor), data, 0, NULL, NULL)); + + cl_buffer_region region; + + // The original tensor memory is divided into scales and quants, i.e., + // we first store scales, mins, then quants. + // Create subbuffer for scales. + region.origin = align_to(extra_orig->offset + tensor->view_offs + offset, backend_ctx->alignment); + region.size = size_d; + extra->d = clCreateSubBuffer( + extra_orig->data_device, CL_MEM_READ_WRITE, + CL_BUFFER_CREATE_TYPE_REGION, ®ion, &err); + CL_CHECK(err); + auto previous_origin = region.origin; + + // Create subbuffer for mins. + region.origin = align_to(previous_origin + size_d, backend_ctx->alignment); + region.size = size_m; + extra->m = clCreateSubBuffer( + extra_orig->data_device, CL_MEM_READ_WRITE, + CL_BUFFER_CREATE_TYPE_REGION, ®ion, &err); + CL_CHECK(err); + previous_origin = region.origin; + + // Create subbuffer for quants. + region.origin = align_to(previous_origin + size_m, backend_ctx->alignment); + region.size = size_q; + extra->q = clCreateSubBuffer( + extra_orig->data_device, CL_MEM_READ_WRITE, + CL_BUFFER_CREATE_TYPE_REGION, ®ion, &err); + CL_CHECK(err); + + cl_kernel kernel = backend_ctx->kernel_convert_block_q4_1; + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra->q)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra->d)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_mem), &extra->m)); + + size_t global_work_size[] = {(size_t)ggml_nelements(tensor)/ggml_blck_size(tensor->type), 1, 1}; + size_t local_work_size[] = {64, 1, 1}; + + cl_event evt; + CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, global_work_size, local_work_size, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + CL_CHECK(clReleaseMemObject(data_device)); + + tensor->extra = extra; + + return; + } if (tensor->type == GGML_TYPE_MXFP4) { ggml_tensor_extra_cl * extra_orig = (ggml_tensor_extra_cl *)tensor->extra; GGML_ASSERT(extra_orig && "Tesnors in OpenCL backend should have been allocated and initialized"); @@ -4581,7 +4799,35 @@ static void ggml_backend_opencl_buffer_get_tensor(ggml_backend_buffer_t buffer, size, data, 0, NULL, NULL)); CL_CHECK(clReleaseMemObject(data_device)); return; - } else if (tensor->type == GGML_TYPE_MXFP4) { + } + if (tensor->type == GGML_TYPE_Q4_1) { + ggml_tensor_extra_cl_q4_1 * extra = (ggml_tensor_extra_cl_q4_1 *)tensor->extra; + + cl_int err; + cl_mem data_device = clCreateBuffer(context, CL_MEM_READ_WRITE, + ggml_nbytes(tensor), NULL, &err); + CL_CHECK(err); + + cl_kernel kernel = backend_ctx->kernel_restore_block_q4_1; + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra->q)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra->d)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra->m)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_mem), &data_device)); + + size_t global_work_size[] = {(size_t)ggml_nelements(tensor)/ggml_blck_size(tensor->type), 1, 1}; + size_t local_work_size[] = {1, 1, 1}; + + cl_event evt; + CL_CHECK(clEnqueueNDRangeKernel(queue, kernel, 3, NULL, + global_work_size, local_work_size, 0, NULL, &evt)); + CL_CHECK(clWaitForEvents(1, &evt)); + CL_CHECK(clEnqueueReadBuffer( + queue, data_device, CL_TRUE, offset, + size, data, 0, NULL, NULL)); + CL_CHECK(clReleaseMemObject(data_device)); + return; + } + if (tensor->type == GGML_TYPE_MXFP4) { ggml_tensor_extra_cl_mxfp4 * extra = (ggml_tensor_extra_cl_mxfp4 *)tensor->extra; cl_int err; @@ -8409,6 +8655,7 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co #ifdef GGML_OPENCL_SOA_Q ggml_tensor_extra_cl_q4_0 * extra0_q4_0 = (ggml_tensor_extra_cl_q4_0 *)src0->extra; + ggml_tensor_extra_cl_q4_1 * extra0_q4_1 = (ggml_tensor_extra_cl_q4_1 *)src0->extra; ggml_tensor_extra_cl_mxfp4 * extra0_mxfp4 = (ggml_tensor_extra_cl_mxfp4 *)src0->extra; ggml_tensor_extra_cl_q8_0 * extra0_q8_0 = (ggml_tensor_extra_cl_q8_0 *)src0->extra; ggml_tensor_extra_cl_q6_K * extra0_q6_K = (ggml_tensor_extra_cl_q6_K *)src0->extra; @@ -8922,6 +9169,91 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); return; } + case GGML_TYPE_Q4_0: { + if (ne11 < 32) { + break; + } + if (!ggml_is_contiguous(src0) || !ggml_is_contiguous(src1)) { + break; + } + + kernel = backend_ctx->kernel_mul_mm_q4_0_f32_l4_lm; + nth0 = 128; // calculated as (BM*BN)/(TM*TN) + + int batch_stride_a = ne00*ne01; + int batch_stride_b = ne10*ne11; + int batch_stride_d = ne0*ne1; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0_q4_0->q)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra0_q4_0->d)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(int), &ne02)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(int), &ne11)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(int), &ne10)); // stride_a + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne10)); // stride_b + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &ne01)); // stride_d + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &batch_stride_a)); + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &batch_stride_b)); + CL_CHECK(clSetKernelArg(kernel, 16, sizeof(int), &batch_stride_d)); + CL_CHECK(clSetKernelArg(kernel, 17, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, 18, sizeof(int), &r3)); + + // 64 is block tile size BM and BN - change here when BM and BN in the kernel are changed. + size_t global_work_size[] = {(size_t)(CEIL_DIV(ne01, 64)*nth0), (size_t)(CEIL_DIV(ne11, 64)), (size_t)ne12*ne13}; + size_t local_work_size[] = {(size_t)nth0, 1, 1}; + + backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); + return; + } + case GGML_TYPE_Q4_1: { + if (ne11 < 32) { + break; + } + if (!ggml_is_contiguous(src0) || !ggml_is_contiguous(src1)) { + break; + } + + kernel = backend_ctx->kernel_mul_mm_q4_1_f32_l4_lm; + nth0 = 128; // calculated as (BM*BN)/(TM*TN) + + int batch_stride_a = ne00*ne01; + int batch_stride_b = ne10*ne11; + int batch_stride_d = ne0*ne1; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0_q4_1->q)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra0_q4_1->d)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra0_q4_1->m)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_ulong), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(int), &ne02)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(int), &ne11)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne10)); // stride_a + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &ne10)); // stride_b + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &ne01)); // stride_d + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &batch_stride_a)); + CL_CHECK(clSetKernelArg(kernel, 16, sizeof(int), &batch_stride_b)); + CL_CHECK(clSetKernelArg(kernel, 17, sizeof(int), &batch_stride_d)); + CL_CHECK(clSetKernelArg(kernel, 18, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, 19, sizeof(int), &r3)); + + // 64 is block tile size BM and BN - change here when BM and BN in the kernel are changed. + size_t global_work_size[] = {(size_t)(CEIL_DIV(ne01, 64)*nth0), (size_t)(CEIL_DIV(ne11, 64)), (size_t)ne12*ne13}; + size_t local_work_size[] = {(size_t)nth0, 1, 1}; + + backend_ctx->enqueue_ndrange_kernel(kernel, 3, global_work_size, local_work_size, dst); + return; + } case GGML_TYPE_Q8_0: { if (ne11 < 32) { break; @@ -9262,7 +9594,71 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &r3)); #endif // GGML_OPENCL_SOA_Q break; - case GGML_TYPE_Q4_1: + case GGML_TYPE_Q4_1: { +#ifdef GGML_OPENCL_SOA_Q + if (backend_ctx->gpu_family == INTEL) { + nth0 = 16; + nth1 = 1; + ndst = 4; + } else if (backend_ctx->gpu_family == ADRENO) { + nth0 = 64; + nth1 = 1; + ndst = 4; + } else { + GGML_ASSERT(false && "TODO: Unknown GPU"); + } + + kernel = backend_ctx->kernel_mul_mv_q4_1_f32_flat; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0_q4_1->q)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_mem), &extra0_q4_1->d)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra0_q4_1->m)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_ulong), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(int), &ne02)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(int), &ne10)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne0)); + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &ne1)); + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, 15, sizeof(int), &r3)); +#else + if (backend_ctx->gpu_family == INTEL) { + nth0 = 16; + nth1 = 1; + ndst = 4; + } else if (backend_ctx->gpu_family == ADRENO) { + nth0 = 64; + nth1 = 1; + ndst = 4; + } else { + GGML_ASSERT(false && "TODO: Unknown GPU"); + } + + kernel = backend_ctx->kernel_mul_mv_q4_1_f32; + + CL_CHECK(clSetKernelArg(kernel, 0, sizeof(cl_mem), &extra0->data_device)); + CL_CHECK(clSetKernelArg(kernel, 1, sizeof(cl_ulong), &offset0)); + CL_CHECK(clSetKernelArg(kernel, 2, sizeof(cl_mem), &extra1->data_device)); + CL_CHECK(clSetKernelArg(kernel, 3, sizeof(cl_ulong), &offset1)); + CL_CHECK(clSetKernelArg(kernel, 4, sizeof(cl_mem), &extrad->data_device)); + CL_CHECK(clSetKernelArg(kernel, 5, sizeof(cl_ulong), &offsetd)); + CL_CHECK(clSetKernelArg(kernel, 6, sizeof(int), &ne00)); + CL_CHECK(clSetKernelArg(kernel, 7, sizeof(int), &ne01)); + CL_CHECK(clSetKernelArg(kernel, 8, sizeof(int), &ne02)); + CL_CHECK(clSetKernelArg(kernel, 9, sizeof(int), &ne10)); + CL_CHECK(clSetKernelArg(kernel, 10, sizeof(int), &ne12)); + CL_CHECK(clSetKernelArg(kernel, 11, sizeof(int), &ne0)); + CL_CHECK(clSetKernelArg(kernel, 12, sizeof(int), &ne1)); + CL_CHECK(clSetKernelArg(kernel, 13, sizeof(int), &r2)); + CL_CHECK(clSetKernelArg(kernel, 14, sizeof(int), &r3)); +#endif // GGML_OPENCL_SOA_Q + break; + } case GGML_TYPE_Q8_0: { #ifdef GGML_OPENCL_SOA_Q kernel = backend_ctx->kernel_mul_mv_q8_0_f32_flat; diff --git a/ggml/src/ggml-opencl/kernels/cvt.cl b/ggml/src/ggml-opencl/kernels/cvt.cl index 9fb434713d..2c244ce321 100644 --- a/ggml/src/ggml-opencl/kernels/cvt.cl +++ b/ggml/src/ggml-opencl/kernels/cvt.cl @@ -46,6 +46,15 @@ struct block_q4_0 uint8_t qs[QK4_0 / 2]; }; +//------------------------------------------------------------------------------ +// block_q4_1 +//------------------------------------------------------------------------------ +struct block_q4_1 { + half d; // delta + half m; // min + uchar qs[QK4_1 / 2]; // nibbles / quants +}; + //------------------------------------------------------------------------------ // block_q6_K //------------------------------------------------------------------------------ @@ -148,6 +157,48 @@ kernel void kernel_restore_block_q4_0_noshuffle( } } +//------------------------------------------------------------------------------ +// kernel_convert_block_q4_1 +// Convert the block_q4_1 format to 2 separate arrays (AOS -> SOA). +// This kernel does not deshuffle the bits. +//------------------------------------------------------------------------------ +kernel void kernel_convert_block_q4_1( + global struct block_q4_1 * src0, + global uchar * dst_q, + global half * dst_d, + global half * dst_m +) { + global struct block_q4_1 * b = (global struct block_q4_1 *) src0 + get_global_id(0); + global uchar * q = (global uchar *) dst_q + QK4_1/2*get_global_id(0); + global half * d = (global half *) dst_d + get_global_id(0); + global half * m = (global half *) dst_m + get_global_id(0); + + *d = b->d; + *m = b->m; + + for (int i = 0; i < QK4_1/2; ++i) { + q[i] = b->qs[i]; + } +} + +kernel void kernel_restore_block_q4_1( + global uchar * src_q, + global half * src_d, + global half * src_m, + global struct block_q4_1 * dst +) { + global struct block_q4_1 * b = (global struct block_q4_1 *) dst + get_global_id(0); + global uchar * q = (global uchar *) src_q + QK4_1/2*get_global_id(0); + global half * d = (global half *) src_d + get_global_id(0); + global half * m = (global half *) src_m + get_global_id(0); + + b->d = *d; + b->m = *m; + for (int i = 0; i < QK4_1/2; ++i) { + b->qs[i] = q[i]; + } +} + //------------------------------------------------------------------------------ // block_mxfp4 //------------------------------------------------------------------------------ diff --git a/ggml/src/ggml-opencl/kernels/mul_mm_q4_0_f32_l4_lm.cl b/ggml/src/ggml-opencl/kernels/mul_mm_q4_0_f32_l4_lm.cl new file mode 100644 index 0000000000..4100e3080a --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mm_q4_0_f32_l4_lm.cl @@ -0,0 +1,163 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +#define LOAD_VEC_A 8 +#define LOAD_VEC_B 4 + +#define BM 64 +#define BN 64 +#define BK 32 +#define TM 4 +#define TN 8 + +kernel void kernel_mul_mm_q4_0_f32_l4_lm( + global uchar4 * src0_q, + global half * src0_d, + global float4 * src1, + ulong offset1, + global float * dst, + ulong offsetd, + + int ne00, + int ne01, + int ne02, + int ne11, + int ne12, + + int stride_a, + int stride_b, + int stride_d, + + int batch_stride_a, + int batch_stride_b, + int batch_stride_d, + + int r2, + int r3 +) { + src1 = (global float4*)((global char*)src1 + offset1); + dst = (global float *)((global char*)dst + offsetd); + + local float buf_a[BM * BK]; + local float buf_b[BN * BK]; + + const int batch_idx = get_global_id(2); + + const int i13 = batch_idx / ne12; + const int i12 = batch_idx % ne12; + + const int i03 = i13 / r3; + const int i02 = i12 / r2; + + const int batch_idx_a = i03 * ne02 + i02; + + const int ir = get_group_id(0); + const int ic = get_group_id(1); + + const int tid = get_local_id(0); + const int th_r = tid % (BM / TM); + const int th_c = tid / (BM / TM); + + const int loadr_a = get_local_id(0) % (BK / LOAD_VEC_A); + const int loadc_a = get_local_id(0) / (BK / LOAD_VEC_A); + const int loadr_b = get_local_id(0) % (BK / LOAD_VEC_B); + const int loadc_b = get_local_id(0) / (BK / LOAD_VEC_B); + + const int loadstride_a = get_local_size(0) * LOAD_VEC_A / BK; + const int loadstride_b = get_local_size(0) * LOAD_VEC_B / BK; + + int pos_a = (batch_idx_a * batch_stride_a + ir * BM * stride_a) / LOAD_VEC_A; + int pos_b = (batch_idx * batch_stride_b + ic * BN * stride_b) / LOAD_VEC_B; + + float sums[TM * TN]; + float cache_a[TM]; + float cache_b[TN]; + + for (int i = 0; i < TM * TN; i++) { + sums[i] = 0.0f; + } + + for (int block = 0; block < ne00; block += BK) { + for (int l = 0; l < BM; l += loadstride_a) { + if (ir*BM + loadc_a + l < ne01) { + int idx = pos_a + (loadc_a + l) * stride_a / LOAD_VEC_A + loadr_a; + int ib = idx / 4; + int iqs = idx % 4; + + float d = (float)src0_d[ib]; + global uchar4 * qs = src0_q + ib*4 + iqs; + uchar4 q = *qs; + float4 v1 = (convert_float4((uchar4)((q.s0 )&0x0F, (q.s1 )&0x0F, (q.s2 )&0x0F, (q.s3 )&0x0F)) - 8.0f)*d; + float4 v2 = (convert_float4((uchar4)((q.s0>>4)&0x0F, (q.s1>>4)&0x0F, (q.s2>>4)&0x0F, (q.s3>>4)&0x0F)) - 8.0f)*d; + + buf_a[(loadr_a * 4 + 0) * BM + loadc_a + l] = v1.s0; + buf_a[(loadr_a * 4 + 1) * BM + loadc_a + l] = v1.s1; + buf_a[(loadr_a * 4 + 2) * BM + loadc_a + l] = v1.s2; + buf_a[(loadr_a * 4 + 3) * BM + loadc_a + l] = v1.s3; + buf_a[(loadr_a * 4 + 16) * BM + loadc_a + l] = v2.s0; + buf_a[(loadr_a * 4 + 17) * BM + loadc_a + l] = v2.s1; + buf_a[(loadr_a * 4 + 18) * BM + loadc_a + l] = v2.s2; + buf_a[(loadr_a * 4 + 19) * BM + loadc_a + l] = v2.s3; + } else { + buf_a[(loadr_a * 4 + 0) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 1) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 2) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 3) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 16) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 17) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 18) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 19) * BM + loadc_a + l] = 0.0f; + } + } + + for (int l = 0; l < BN; l += loadstride_b) { + if (ic*BN + loadc_b + l < ne11) { + int idx = pos_b + (loadc_b + l) * stride_b / LOAD_VEC_B + loadr_b; + buf_b[(loadr_b * LOAD_VEC_B + 0) * BN + loadc_b + l] = src1[idx].s0; + buf_b[(loadr_b * LOAD_VEC_B + 1) * BN + loadc_b + l] = src1[idx].s1; + buf_b[(loadr_b * LOAD_VEC_B + 2) * BN + loadc_b + l] = src1[idx].s2; + buf_b[(loadr_b * LOAD_VEC_B + 3) * BN + loadc_b + l] = src1[idx].s3; + } else { + buf_b[(loadr_b * LOAD_VEC_B + 0) * BN + loadc_b + l] = 0.0f; + buf_b[(loadr_b * LOAD_VEC_B + 1) * BN + loadc_b + l] = 0.0f; + buf_b[(loadr_b * LOAD_VEC_B + 2) * BN + loadc_b + l] = 0.0f; + buf_b[(loadr_b * LOAD_VEC_B + 3) * BN + loadc_b + l] = 0.0f; + } + } + + barrier(CLK_LOCAL_MEM_FENCE); + + pos_a += BK / LOAD_VEC_A; + pos_b += BK / LOAD_VEC_B; + + for (int i = 0; i < BK; i++) { + for (int j = 0; j < TM; j++) { + cache_a[j] = buf_a[(i) * BM + th_r * TM + j]; + } + + for (int j = 0; j < TN; j++) { + cache_b[j] = buf_b[(i) * BN + th_c * TN + j]; + } + + for (int cc = 0; cc < TN; cc++) { + for (int cr = 0; cr < TM; cr++) { + const int sums_idx = cc*TM + cr; + sums[sums_idx] = mad(cache_a[cr], cache_b[cc], sums[sums_idx]); + } + } + } + barrier(CLK_LOCAL_MEM_FENCE); + } + + const int dr = ir * BM + th_r * TM; + const int dc = ic * BN + th_c * TN; + + const int offsets = batch_idx * batch_stride_d; + + for (int cc = 0; cc < TN; cc++) { + for (int cr = 0; cr < TM; cr++) { + if (dr + cr < ne01 && dc + cc < ne11) { + dst[offsets + (dc + cc) * stride_d + dr + cr] = sums[cc * TM + cr]; + } + } + } +} diff --git a/ggml/src/ggml-opencl/kernels/mul_mm_q4_1_f32_l4_lm.cl b/ggml/src/ggml-opencl/kernels/mul_mm_q4_1_f32_l4_lm.cl new file mode 100644 index 0000000000..d0d2f08361 --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mm_q4_1_f32_l4_lm.cl @@ -0,0 +1,165 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +#define LOAD_VEC_A 8 +#define LOAD_VEC_B 4 + +#define BM 64 +#define BN 64 +#define BK 32 +#define TM 4 +#define TN 8 + +kernel void kernel_mul_mm_q4_1_f32_l4_lm( + global uchar4 * src0_q, + global half * src0_d, + global half * src0_m, + global float4 * src1, + ulong offset1, + global float * dst, + ulong offsetd, + + int ne00, + int ne01, + int ne02, + int ne11, + int ne12, + + int stride_a, + int stride_b, + int stride_d, + + int batch_stride_a, + int batch_stride_b, + int batch_stride_d, + + int r2, + int r3 +) { + src1 = (global float4*)((global char*)src1 + offset1); + dst = (global float *)((global char*)dst + offsetd); + + local float buf_a[BM * BK]; + local float buf_b[BN * BK]; + + const int batch_idx = get_global_id(2); + + const int i13 = batch_idx / ne12; + const int i12 = batch_idx % ne12; + + const int i03 = i13 / r3; + const int i02 = i12 / r2; + + const int batch_idx_a = i03 * ne02 + i02; + + const int ir = get_group_id(0); + const int ic = get_group_id(1); + + const int tid = get_local_id(0); + const int th_r = tid % (BM / TM); + const int th_c = tid / (BM / TM); + + const int loadr_a = get_local_id(0) % (BK / LOAD_VEC_A); + const int loadc_a = get_local_id(0) / (BK / LOAD_VEC_A); + const int loadr_b = get_local_id(0) % (BK / LOAD_VEC_B); + const int loadc_b = get_local_id(0) / (BK / LOAD_VEC_B); + + const int loadstride_a = get_local_size(0) * LOAD_VEC_A / BK; + const int loadstride_b = get_local_size(0) * LOAD_VEC_B / BK; + + int pos_a = (batch_idx_a * batch_stride_a + ir * BM * stride_a) / LOAD_VEC_A; + int pos_b = (batch_idx * batch_stride_b + ic * BN * stride_b) / LOAD_VEC_B; + + float sums[TM * TN]; + float cache_a[TM]; + float cache_b[TN]; + + for (int i = 0; i < TM * TN; i++) { + sums[i] = 0.0f; + } + + for (int block = 0; block < ne00; block += BK) { + for (int l = 0; l < BM; l += loadstride_a) { + if (ir*BM + loadc_a + l < ne01) { + int idx = pos_a + (loadc_a + l) * stride_a / LOAD_VEC_A + loadr_a; + int ib = idx / 4; + int iqs = idx % 4; + + float d = (float)src0_d[ib]; + float m = (float)src0_m[ib]; + global uchar4 * qs = src0_q + ib*4 + iqs; + uchar4 q = *qs; + float4 v1 = (convert_float4((uchar4)((q.s0 )&0x0F, (q.s1 )&0x0F, (q.s2 )&0x0F, (q.s3 )&0x0F)))*d + m; + float4 v2 = (convert_float4((uchar4)((q.s0>>4)&0x0F, (q.s1>>4)&0x0F, (q.s2>>4)&0x0F, (q.s3>>4)&0x0F)))*d + m; + + buf_a[(loadr_a * 4 + 0) * BM + loadc_a + l] = v1.s0; + buf_a[(loadr_a * 4 + 1) * BM + loadc_a + l] = v1.s1; + buf_a[(loadr_a * 4 + 2) * BM + loadc_a + l] = v1.s2; + buf_a[(loadr_a * 4 + 3) * BM + loadc_a + l] = v1.s3; + buf_a[(loadr_a * 4 + 16) * BM + loadc_a + l] = v2.s0; + buf_a[(loadr_a * 4 + 17) * BM + loadc_a + l] = v2.s1; + buf_a[(loadr_a * 4 + 18) * BM + loadc_a + l] = v2.s2; + buf_a[(loadr_a * 4 + 19) * BM + loadc_a + l] = v2.s3; + } else { + buf_a[(loadr_a * 4 + 0) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 1) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 2) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 3) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 16) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 17) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 18) * BM + loadc_a + l] = 0.0f; + buf_a[(loadr_a * 4 + 19) * BM + loadc_a + l] = 0.0f; + } + } + + for (int l = 0; l < BN; l += loadstride_b) { + if (ic*BN + loadc_b + l < ne11) { + int idx = pos_b + (loadc_b + l) * stride_b / LOAD_VEC_B + loadr_b; + buf_b[(loadr_b * LOAD_VEC_B + 0) * BN + loadc_b + l] = src1[idx].s0; + buf_b[(loadr_b * LOAD_VEC_B + 1) * BN + loadc_b + l] = src1[idx].s1; + buf_b[(loadr_b * LOAD_VEC_B + 2) * BN + loadc_b + l] = src1[idx].s2; + buf_b[(loadr_b * LOAD_VEC_B + 3) * BN + loadc_b + l] = src1[idx].s3; + } else { + buf_b[(loadr_b * LOAD_VEC_B + 0) * BN + loadc_b + l] = 0.0f; + buf_b[(loadr_b * LOAD_VEC_B + 1) * BN + loadc_b + l] = 0.0f; + buf_b[(loadr_b * LOAD_VEC_B + 2) * BN + loadc_b + l] = 0.0f; + buf_b[(loadr_b * LOAD_VEC_B + 3) * BN + loadc_b + l] = 0.0f; + } + } + + barrier(CLK_LOCAL_MEM_FENCE); + + pos_a += BK / LOAD_VEC_A; + pos_b += BK / LOAD_VEC_B; + + for (int i = 0; i < BK; i++) { + for (int j = 0; j < TM; j++) { + cache_a[j] = buf_a[(i) * BM + th_r * TM + j]; + } + + for (int j = 0; j < TN; j++) { + cache_b[j] = buf_b[(i) * BN + th_c * TN + j]; + } + + for (int cc = 0; cc < TN; cc++) { + for (int cr = 0; cr < TM; cr++) { + const int sums_idx = cc*TM + cr; + sums[sums_idx] = mad(cache_a[cr], cache_b[cc], sums[sums_idx]); + } + } + } + barrier(CLK_LOCAL_MEM_FENCE); + } + + const int dr = ir * BM + th_r * TM; + const int dc = ic * BN + th_c * TN; + + const int offsets = batch_idx * batch_stride_d; + + for (int cc = 0; cc < TN; cc++) { + for (int cr = 0; cr < TM; cr++) { + if (dr + cr < ne01 && dc + cc < ne11) { + dst[offsets + (dc + cc) * stride_d + dr + cr] = sums[cc * TM + cr]; + } + } + } +} diff --git a/ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32.cl b/ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32.cl new file mode 100644 index 0000000000..6fe828f20e --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32.cl @@ -0,0 +1,219 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +#ifdef cl_intel_subgroups +#pragma OPENCL EXTENSION cl_intel_subgroups : enable +#else +#pragma OPENCL EXTENSION cl_khr_subgroups : enable +#endif + +#ifdef cl_intel_required_subgroup_size +#pragma OPENCL EXTENSION cl_intel_required_subgroup_size : enable +#define INTEL_GPU 1 +#define REQD_SUBGROUP_SIZE_16 __attribute__((intel_reqd_sub_group_size(16))) +#define REQD_SUBGROUP_SIZE_32 __attribute__((intel_reqd_sub_group_size(32))) +#elif defined(cl_qcom_reqd_sub_group_size) +#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable +#define ADRENO_GPU 1 +#define REQD_SUBGROUP_SIZE_64 __attribute__((qcom_reqd_sub_group_size("half"))) +#define REQD_SUBGROUP_SIZE_128 __attribute__((qcom_reqd_sub_group_size("full"))) +#endif + +#define QK4_1 32 + +struct block_q4_1 { + half d; // delta + half m; // min + uchar qs[QK4_1 / 2]; // nibbles / quants +}; + +inline float block_q4_1_dot_y( + global const struct block_q4_1 * qb_curr, + float sumy, + float16 yl, + int il +) { + float d = qb_curr->d; + float m = qb_curr->m; + + float4 acc = (float4)(0.0f, 0.0f, 0.0f, 0.0f); + + global const ushort * qs = ((global const ushort *) qb_curr + 2 + il/2); + + acc.s0 += yl.s0 * (qs[0] & 0x000F); + acc.s0 += yl.s1 * (qs[0] & 0x0F00); + acc.s0 += yl.s8 * (qs[0] & 0x00F0); + acc.s3 += yl.s9 * (qs[0] & 0xF000); + + acc.s0 += yl.s2 * (qs[1] & 0x000F); + acc.s1 += yl.s3 * (qs[1] & 0x0F00); + acc.s2 += yl.sa * (qs[1] & 0x00F0); + acc.s3 += yl.sb * (qs[1] & 0xF000); + + acc.s0 += yl.s4 * (qs[2] & 0x000F); + acc.s1 += yl.s5 * (qs[2] & 0x0F00); + acc.s2 += yl.sc * (qs[2] & 0x00F0); + acc.s3 += yl.sd * (qs[2] & 0xF000); + + acc.s0 += yl.s6 * (qs[3] & 0x000F); + acc.s1 += yl.s7 * (qs[3] & 0x0F00); + acc.s2 += yl.se * (qs[3] & 0x00F0); + acc.s3 += yl.sf * (qs[3] & 0xF000); + + return d * (acc.s0 + acc.s1 + acc.s2 + acc.s3) + sumy * m; +} + +#undef N_DST +#undef N_SIMDGROUP +#undef N_SIMDWIDTH + +#ifdef INTEL_GPU +#define N_DST 4 // each subgroup works on 4 rows +#define N_SIMDGROUP 1 // number of subgroups in a thread group +#define N_SIMDWIDTH 16 // assuming subgroup size is 16 +#elif defined (ADRENO_GPU) +#define N_DST 4 +#define N_SIMDGROUP 1 +#define N_SIMDWIDTH 64 +#endif + +inline void mul_vec_q_n_f32( + global void * src0, + global float * src1, + global float * dst, + int ne00, + int ne01, + int ne02, + int ne10, + int ne12, + int ne0, + int ne1, + int r2, + int r3 +) { + const ulong nb = ne00/QK4_1; + + int r0 = get_group_id(0); + int r1 = get_group_id(1); + int im = get_group_id(2); + + int first_row = (r0 * N_SIMDGROUP + get_sub_group_id()) * N_DST; + + int i12 = im%ne12; + int i13 = im/ne12; + + ulong offset0 = first_row * nb + (i12/r2)*(nb*ne01) + (i13/r3)*(nb*ne01*ne02); + + global struct block_q4_1 * x = (global struct block_q4_1 *) src0 + offset0; + global float * y = (global float *) src1 + r1*ne10 + im*ne00*ne1; + + float16 yl; + float4 sumf = (float4)(0.f, 0.f, 0.f, 0.f); + + int ix = get_sub_group_local_id()/2; + int il = 8*(get_sub_group_local_id()%2); + + global float * yb = y + ix * QK4_1 + il; + + for (int ib = ix; ib < nb; ib += N_SIMDWIDTH/2) { + float sumy = 0; + + sumy += yb[0]; + sumy += yb[1]; + sumy += yb[2]; + sumy += yb[3]; + sumy += yb[4]; + sumy += yb[5]; + sumy += yb[6]; + sumy += yb[7]; + + sumy += yb[16]; + sumy += yb[17]; + sumy += yb[18]; + sumy += yb[19]; + sumy += yb[20]; + sumy += yb[21]; + sumy += yb[22]; + sumy += yb[23]; + + + yl.s0 = yb[0]; + yl.s1 = yb[1]/256.f; + + yl.s2 = yb[2]; + yl.s3 = yb[3]/256.f; + + yl.s4 = yb[4]; + yl.s5 = yb[5]/256.f; + + yl.s6 = yb[6]; + yl.s7 = yb[7]/256.f; + + yl.s8 = yb[16]/16.f; + yl.s9 = yb[17]/4096.f; + + yl.sa = yb[18]/16.f; + yl.sb = yb[19]/4096.f; + + yl.sc = yb[20]/16.f; + yl.sd = yb[21]/4096.f; + + yl.se = yb[22]/16.f; + yl.sf = yb[23]/4096.f; + + sumf.s0 += block_q4_1_dot_y(x+ib+0*nb, sumy, yl, il); + sumf.s1 += block_q4_1_dot_y(x+ib+1*nb, sumy, yl, il); + sumf.s2 += block_q4_1_dot_y(x+ib+2*nb, sumy, yl, il); + sumf.s3 += block_q4_1_dot_y(x+ib+3*nb, sumy, yl, il); + + yb += QK4_1 * (N_SIMDWIDTH/2); + } + + float4 tot = (float4)( + sub_group_reduce_add(sumf.s0), sub_group_reduce_add(sumf.s1), + sub_group_reduce_add(sumf.s2), sub_group_reduce_add(sumf.s3) + ); + + if (get_sub_group_local_id() == 0) { + if (first_row + 0 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 0] = tot.s0; + } + if (first_row + 1 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 1] = tot.s1; + } + if (first_row + 2 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 2] = tot.s2; + } + if (first_row + 3 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 3] = tot.s3; + } + } +} + +#ifdef INTEL_GPU +REQD_SUBGROUP_SIZE_16 +#elif defined (ADRENO_GPU) +REQD_SUBGROUP_SIZE_64 +#endif +kernel void kernel_mul_mv_q4_1_f32( + global void * src0, + ulong offset0, + global float * src1, + ulong offset1, + global float * dst, + ulong offsetd, + int ne00, + int ne01, + int ne02, + int ne10, + int ne12, + int ne0, + int ne1, + int r2, + int r3 +) { + src0 = (global void*)((global char*)src0 + offset0); + src1 = (global float*)((global char*)src1 + offset1); + dst = (global float*)((global char*)dst + offsetd); + + mul_vec_q_n_f32(src0, src1, dst, ne00, ne01, ne02, ne10, ne12, ne0, ne1, r2, r3); +} diff --git a/ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32_flat.cl b/ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32_flat.cl new file mode 100644 index 0000000000..d7c4645d67 --- /dev/null +++ b/ggml/src/ggml-opencl/kernels/mul_mv_q4_1_f32_flat.cl @@ -0,0 +1,229 @@ +#pragma OPENCL EXTENSION cl_khr_fp16 : enable + +#ifdef cl_intel_subgroups +#pragma OPENCL EXTENSION cl_intel_subgroups : enable +#else +#pragma OPENCL EXTENSION cl_khr_subgroups : enable +#endif + +#ifdef cl_intel_required_subgroup_size +#pragma OPENCL EXTENSION cl_intel_required_subgroup_size : enable +#define INTEL_GPU 1 +#define REQD_SUBGROUP_SIZE_16 __attribute__((intel_reqd_sub_group_size(16))) +#define REQD_SUBGROUP_SIZE_32 __attribute__((intel_reqd_sub_group_size(32))) +#elif defined(cl_qcom_reqd_sub_group_size) +#pragma OPENCL EXTENSION cl_qcom_reqd_sub_group_size : enable +#define ADRENO_GPU 1 +#define REQD_SUBGROUP_SIZE_64 __attribute__((qcom_reqd_sub_group_size("half"))) +#define REQD_SUBGROUP_SIZE_128 __attribute__((qcom_reqd_sub_group_size("full"))) +#endif + +#define QK4_1 32 + +struct block_q4_1 { + half d; // delta + half m; // min + uchar qs[QK4_1 / 2]; // nibbles / quants +}; + +inline float block_q4_1_dot_y_flat( + global const uchar * x, + global const half * dh, + global const half * mh, + float sumy, + float16 yl, + int il +) { + float d = *dh; + float m = *mh; + global const ushort * qs = ((global const ushort *) x + il/2); + + float4 acc = (float4)(0.0f, 0.0f, 0.0f, 0.0f); + + acc.s0 += yl.s0 * (qs[0] & 0x000F); + acc.s0 += yl.s1 * (qs[0] & 0x0F00); + acc.s0 += yl.s8 * (qs[0] & 0x00F0); + acc.s3 += yl.s9 * (qs[0] & 0xF000); + + acc.s0 += yl.s2 * (qs[1] & 0x000F); + acc.s1 += yl.s3 * (qs[1] & 0x0F00); + acc.s2 += yl.sa * (qs[1] & 0x00F0); + acc.s3 += yl.sb * (qs[1] & 0xF000); + + acc.s0 += yl.s4 * (qs[2] & 0x000F); + acc.s1 += yl.s5 * (qs[2] & 0x0F00); + acc.s2 += yl.sc * (qs[2] & 0x00F0); + acc.s3 += yl.sd * (qs[2] & 0xF000); + + acc.s0 += yl.s6 * (qs[3] & 0x000F); + acc.s1 += yl.s7 * (qs[3] & 0x0F00); + acc.s2 += yl.se * (qs[3] & 0x00F0); + acc.s3 += yl.sf * (qs[3] & 0xF000); + + return d * (acc.s0 + acc.s1 + acc.s2 + acc.s3) + sumy * m; +} + +#undef N_DST +#undef N_SIMDGROUP +#undef N_SIMDWIDTH + +#ifdef INTEL_GPU +#define N_DST 4 // each subgroup works on 4 rows +#define N_SIMDGROUP 1 // number of subgroups in a thread group +#define N_SIMDWIDTH 16 // assuming subgroup size is 16 +#elif defined (ADRENO_GPU) +#define N_DST 4 +#define N_SIMDGROUP 1 +#define N_SIMDWIDTH 64 +#endif + +inline void mul_vec_q_n_f32_flat( + global void * src0_q, + global void * src0_d, + global void * src0_m, + global float * src1, + global float * dst, + int ne00, + int ne01, + int ne02, + int ne10, + int ne12, + int ne0, + int ne1, + int r2, + int r3 +) { + const ulong nb = ne00/QK4_1; + + int r0 = get_group_id(0); + int r1 = get_group_id(1); + int im = get_group_id(2); + + int first_row = (r0 * N_SIMDGROUP + get_sub_group_id()) * N_DST; + + int i12 = im%ne12; + int i13 = im/ne12; + + ulong offset0 = first_row * nb + (i12/r2)*(nb*ne01) + (i13/r3)*(nb*ne01*ne02); + + // The number of scales/mins is the same as the number of blocks. + ulong offset0_dm = (first_row * nb + (i12/r2)*(nb*ne01) + (i13/r3)*(nb*ne01*ne02)); + // Each block contains QK4_1/2 uchars, hence offset for qs is as follows. + ulong offset0_q = (first_row * nb + (i12/r2)*(nb*ne01) + (i13/r3)*(nb*ne01*ne02)) * QK4_1/2; + + global uchar * x = (global uchar *) src0_q + offset0_q; + global half * d = (global half *) src0_d + offset0_dm; + global half * m = (global half *) src0_m + offset0_dm; + global float * y = (global float *) src1 + r1*ne10 + im*ne00*ne1; + + float16 yl; + float4 sumf = (float4)(0.f, 0.f, 0.f, 0.f); + + int ix = get_sub_group_local_id()/2; + int il = 8*(get_sub_group_local_id()%2); + + global float * yb = y + ix * QK4_1 + il; + + for (int ib = ix; ib < nb; ib += N_SIMDWIDTH/2) { + float sumy = 0; + + sumy += yb[0]; + sumy += yb[1]; + sumy += yb[2]; + sumy += yb[3]; + sumy += yb[4]; + sumy += yb[5]; + sumy += yb[6]; + sumy += yb[7]; + + sumy += yb[16]; + sumy += yb[17]; + sumy += yb[18]; + sumy += yb[19]; + sumy += yb[20]; + sumy += yb[21]; + sumy += yb[22]; + sumy += yb[23]; + + + yl.s0 = yb[0]; + yl.s1 = yb[1]/256.f; + + yl.s2 = yb[2]; + yl.s3 = yb[3]/256.f; + + yl.s4 = yb[4]; + yl.s5 = yb[5]/256.f; + + yl.s6 = yb[6]; + yl.s7 = yb[7]/256.f; + + yl.s8 = yb[16]/16.f; + yl.s9 = yb[17]/4096.f; + + yl.sa = yb[18]/16.f; + yl.sb = yb[19]/4096.f; + + yl.sc = yb[20]/16.f; + yl.sd = yb[21]/4096.f; + + yl.se = yb[22]/16.f; + yl.sf = yb[23]/4096.f; + + sumf.s0 += block_q4_1_dot_y_flat(x + ib*QK4_1/2 + 0*nb*QK4_1/2, d + ib + 0*nb, m + ib + 0*nb, sumy, yl, il); + sumf.s1 += block_q4_1_dot_y_flat(x + ib*QK4_1/2 + 1*nb*QK4_1/2, d + ib + 1*nb, m + ib + 1*nb, sumy, yl, il); + sumf.s2 += block_q4_1_dot_y_flat(x + ib*QK4_1/2 + 2*nb*QK4_1/2, d + ib + 2*nb, m + ib + 2*nb, sumy, yl, il); + sumf.s3 += block_q4_1_dot_y_flat(x + ib*QK4_1/2 + 3*nb*QK4_1/2, d + ib + 3*nb, m + ib + 3*nb, sumy, yl, il); + + yb += QK4_1 * (N_SIMDWIDTH/2); + } + + float4 tot = (float4)( + sub_group_reduce_add(sumf.s0), sub_group_reduce_add(sumf.s1), + sub_group_reduce_add(sumf.s2), sub_group_reduce_add(sumf.s3) + ); + + if (get_sub_group_local_id() == 0) { + if (first_row + 0 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 0] = tot.s0; + } + if (first_row + 1 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 1] = tot.s1; + } + if (first_row + 2 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 2] = tot.s2; + } + if (first_row + 3 < ne01) { + dst[r1*ne0 + im*ne0*ne1 + first_row + 3] = tot.s3; + } + } +} + +#ifdef INTEL_GPU +REQD_SUBGROUP_SIZE_16 +#elif defined (ADRENO_GPU) +REQD_SUBGROUP_SIZE_64 +#endif +kernel void kernel_mul_mv_q4_1_f32_flat( + global void * src0_q, + global void * src0_d, + global void * src0_m, + global float * src1, + ulong offset1, + global float * dst, + ulong offsetd, + int ne00, + int ne01, + int ne02, + int ne10, + int ne12, + int ne0, + int ne1, + int r2, + int r3 +) { + src1 = (global float*)((global char*)src1 + offset1); + dst = (global float*)((global char*)dst + offsetd); + + mul_vec_q_n_f32_flat(src0_q, src0_d, src0_m, src1, dst, ne00, ne01, ne02, ne10, ne12, ne0, ne1, r2, r3); +} From 3bb78133abd7c7d341b9b65fa6f1cf406cba82b8 Mon Sep 17 00:00:00 2001 From: Shupei Fan Date: Fri, 13 Feb 2026 07:07:49 +0800 Subject: [PATCH 206/206] hexagon: fix typo in vtcm_needs_release (#19545) --- ggml/src/ggml-hexagon/htp/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ggml/src/ggml-hexagon/htp/main.c b/ggml/src/ggml-hexagon/htp/main.c index 62708eee5c..92a1422896 100644 --- a/ggml/src/ggml-hexagon/htp/main.c +++ b/ggml/src/ggml-hexagon/htp/main.c @@ -189,7 +189,7 @@ static int vtcm_release_callback(unsigned int rctx, void * state) { // otherwise we'll release it once we're done with the current Op. if (ctx->vtcm_inuse) { - ctx->vtcm_needs_release = false; + ctx->vtcm_needs_release = true; return 0; }

        F_RDzw-^5Bu6}DnRW@pF`_ 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�^=y%F!ug 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≫gBeqy)M_9%dX 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 *^^vGIB;K zY1XAcz|JOaZ6f|puYENDG3Vn}Cl>ttxc~6v^c$pR!X)hmg&hWL3Z-^7Iz?GClbPKzt%jhat6^WLw~cbxvKMt4O&` zD#EziWSG#CG3(vXNc9usg5}PtyCDriDkMm+7-NPaBUcrFekmH9r!rkQBdo#J9p$HC z%^IdT?c!ZeWLRhd9>WmaG5r_!AXpOw$&zZ?J}Rkq242Nt_$&nB)-1XioZVo z4)X5if5V)q&%Y3V>yT37ZpKm*#)`IC82~FVTLK_W7CGC&_HMXCX}bJ_*6WC{!NfXS z?fUGi+P!WAUODJ3z#vY+R8jFVM1Ml9f-McfBI=EQeTDSr*qJeMZ2P#hZ{Rxg7&pFDfVw z(uaPylv#%u0GoFRM}j(~OEEv)T$Uv=9C|9WD&YFyWt>2UO9EGH#b8)9R*1lC`G`mh zNgCsS6Eg6LQB=;LA$^Dmp-FSc@rDylmt_L|+r!}p5l@bJj9E}am4d=$$&ZlW!4-(7 zh~SXU$Fik9Qg7%Y$TMZQhFE0;E6uZikYL!L-Tn z7!Xh;vf<073@nI!NRf0|O+dm`AMNCjFg;miPw8rVJwYax#Qhn&)f5kP5=&2R!+Lb5 z3}zo0;0N04L;7N#l}fwQa$-j%z8cgBdXm_rAFdcsR{jqJIW;K!wz_cDN!;RVLL1Th( zGH5{J(e3v+XX)c{Eh<$<3W@(*G4;%Uf4*P81X+a%AphXR7)TYe$cPUUeb};-Ow&PE zGUB2N@9eYOs~N9>XYzLf`^WsKC0@E*O+BGcI1HH4i;BJ38Zd0Wv-$fgU2A3L;gjp} zeAq=#NaRFf7&Zr-sZ5DM6s}qzp5&MkY*CMhprjBmEyaag)Uq?b9!$X*HRxi0;Z1^a zAPLqOA?M3C1nbf;5YIi!52^KB=V#HE{$!#lTd`p^m9A?O&OHVc1)g{Gp+6U8nXP@R zE||R^mH>8?jxN%x!5wq1fJt{e#qa2Ug)S{e=fv|4 zs=xiV_;K#PCN@hbjkv53UKi$3-?ER<`B>CwdcOJDjW4RgArMAmI?e%Kq5(yGiBCkOI1h=K`pN6g`HRurSC z*l*C)knCGq$oQgbw91Kp4vtvS7=KdlW26X2N)14BnJ6KUhiQtB9qep_oscfog6}li zh6zg$O>0aP3Waa4AYj0V9`wopS03h1SPxFhVpBXu`3+aFDiNP{g?l#NKf4<#;78=d5MI}MBZ+XJVY-)B-b4(r??~i)DLlbt>)5y%g$Bjs{8qpDXS&F zfhbnC-CaDcfqM-&Kf2>zfkl8Vx9wLWn+M>sLXX`bh0qd~C9XjD z>2skxjv}tbNMK}!#{b9Wz8JP(|ZrtdJ`YlEF?RMRpXIY%y1|0VI-Xk((c z6$Ag%SpR|0w$ldYSB1W3u(P#-5t!o7EKvCjA;Um0qBpT{2F(G$5}$qY`KP;Szavl< zLH<#Q@B%b{VHQP?8W>87Kbq!$#0xPlp=^+Z)2k?U3WGrscK+q_Xy&{!uHUmcKX4x` zWPm9^PbxYV!6>>3IHXFNGg;}afV35IHYGJ^uR!mjfDP$>1f%)U@VDQFCa9ZDh^V1U z<|a6dOf&TdK=J5z$2mQzW2Xir$F!+0d;kdZD2k?k5Kmnxco7~QyH>ljWAnU|=L>jv z`3p~nfrR}G&wyoXSN5t_5St6omgtcUGOSlYnV z05^LD*S5HYtr5Uu#P%d0k5lK)?w4?9Beb`KJNr_{CgIL5Knmb&Np1ghjftD}7&IV% zbcFKSqOn!}?Sm5jZR~anfe;Kv6w-5R>(D+x9$}*meKEIs0OwGsJFw_THMNU`;W%F$ z4{-CQ@8=4RG&UkNTmW?fHo8jl$9$P!7MMQfbz1Vo?g7IgkSg#dAe#ss!(FokNK(E6 z3^J^G-7Juv2-)zMqiFdRlJNP)fy>~3kYmoGY7a4Eh%^EyI=Z_*}NFJW3Zn^DKS1+D zwuJB^dqrT-D!G@wJ}3y22aJ29nU1TmY)|k>3Pf>n5TRTpwAL6Nq|$6c7FEO5mhq6M zrUmaSr&lBRsB^s2W^PNlx$_sz?ELY^Tq2YRak>(N`54DG6k6SS3PR_9QBG{2x*q4m z#+8&4`)mv-9#MEi(p6*dd@950$_E{W$A7`@BoCQ6;HBBOUf$YY9IoXr6HITvybhqe z2yaUOd@q%IL9)C2+OGc>l!~wG-%fyw*6hQ*=FT~kp$O=!_l&IvRR9eE2b3&lTuXak`96065;~!SxF)MWclkQS1kUL+=s{BS={B9HL6%*D0)?e}jFE#Z}8$wD~S zwJm~p!=97^Ji}R1BoLu#^3+SR0UBL_y-F8ocQBU#-hdm+P!T8X_ zJr#6aax=;S>8;#JSs zAANpvb4|$Ri~SR8uMoJWbgny;?nMw1djL3rP6Rr6b3CZoHH>{%U%_(~5F^xh9=HOb z;=e~EEjE-?NSWz88}|YM&bI0*iP&BK*p}R`yJ4;56N&SGN#=C%7URmeApjvPA>zq$ zOfEzA_u4mf<=}VdwdBFVod<2GXPeRZh0vVPcitaM7KN}>2i((lEo(rT!(UzW+lWE3n!Vm1(ecCUMQhvuV**mZKC5D-UcK}wir z$X|qWhfdkdqOU?ieo9N$ll6^nK`RQaR0i}6co)?LU__5>MQsR2aw_D5u4FNx${Vlb z>60^XsPrU{b40)jFywIZ&HyrS9k%oRY?4FT`(TrQB?TEK8U5190kg;B!tW)H_tvlA zyb1FIQ(}*EhK4w}rr~}JEegwVJi3HAN@GRc654lH9Bi?uOA$ULkuJRnykYQ`4gfoF zK{vo-|A6+QpZ*EmWdYxAAg8-NJgwPq)aSQm{hFGIVD4DE*1 z$C;vkLyIWsXui6R##?a}<2LPK(v3nC$!b)ULY#UOBWk#V*M^6wU>+xnS%%f?U9W!# z%JKLA=Wq94y?!{~So`8)^>5%liZiyw8GB7)gV8!HXR}&MCf)s2lOK%ghYRJ(-{MXr zU(7r)Aq53RLUEM^;8hJa|JnGKp=0g7u1}bMdJ%@#<6v408!o}IbU8F6TLOK9Gr4_h zL0SxULY$p=bt975#T$rnoYl~aAwRz46G`DPrmVIllQgGo1$ZR1t#(e^3cA%} z+T+tyZ8_TVAW|~*qLLPLjj9LD*v#>NLsfopxJ;sG(L^t|WC=M~QkA;gZyrjO?i8X} z+>cCq4ExTlzZu8!%6%uEgG%?E+h^@NX6Av_$GldsshjKq6^7R`r>#*rS-OTfdPtKr z^+?RJ^0AF7WL{GXZMSNNMR1$b(bPmyQ5BnVx!Sl>GaM^{XJVDe%H>mhhA8NNo}4CN z|HmLjjh?R{rbFD2Co8`~0A=l56Qw7X%fj5p8f?T^7I=pqZ`OC7GV zGh{CTPa;!divtbBb;QhSc6(UqXA=-@VbxBuct=b{EORtWCn9PPx`KN+xA8@zcm;!i z!|bwW2&71dQj1=ieUtR9#%=k3tGfdl!5C?ZUK!4if;4n%d}SSJy#ciSfPX*arc~wR zoFj5DfnrvTdUfp?Sq4%L_#YV_?Lc&^w#5zztUbSzKiE39lWJ5gbN#M4G=A3#B^J|H z#Z#7Na;0LOW}_rRA0|&f;f?Hbn5FZpf8lRD1R(P}7X{vh*6RG(OYN6`55PSE$sSiL z^%fXf>3hSGTo*~1V^S7wfXXl2<7Z(R`su6kQONObFJB?m2c%A3`JTrW*ba4clb8u) zoeKix7uSAYVw1Wpm!E6>1q4qdpM!Bc_bS&;=wnqf#?b1KdJ2B1U~F zESg4nerAph6f4kEy;50!{Zw_Su79aMSV#P{_H9{usjVrO;HI3=+F|wm0vrLc!E6O@8EhIyJ$@A_ni?og*wnzV>pn=WpjAf>nL>% zG?KRv&wy#<4hN#)^D-ZSb2Hr5vrY7>rcMVO<1@Q@{=`v#*!CGWg4L1Z0(}_>Z)d{I z5655`-#C6J{$+%Z-y8^b4v_HOPC6sA`zs&nyjAT3Ono&;- zrc^g<&SOB>dN5ca5tV%UXT+_Z&{(3MlObTDEV+${1A}iV8nX+B-W|$eZszD8vj4~G9PrqGkx&j&H_R}2uu33mp?kDBabVN!h4%kltm$OKiGBfYDjDQaq5}IF(xSp{ zx)7x7_0YMPyC5Xbnl{qDuuAb8f`W#*&p6-~>O;P}mb2)9(kbmKx5`wCFZxu#v z3zx`0p|n-?*(&V6on~#YIz~F5wH}O~wdv}RpJ#QXfK)1ia z536MdSl$one|m&s=phn2Atyl06 z2itD+Rm9L(dd)Mw3J+&bgscQCsK;2qV2E+EZ%%<#b-GWD-&Ly;1~TtPo~km)=Yq#N z_*Sje3!JN@Vu}5hY2=?ZMoGtpH@QV686m5OoZoFwe@-+l0~))a_ublMr(BE`Aell1 zqNo63flErvn7LFrxwn(`Nrz`+O$iq8OJVvXrDaSD7$P43GM)@sRbWmPaDTQ2X@r|5 zGAlos`_@}=GVd%rCtnWduyE9{pD>?A_f#z%5VcTEup~;{97#;99$YMhSP0gsVi|xq z8*Bf>f6jThZ6k~@V)q|Ynv2z=-W;k2+*qc!akMMfle@dFeuj`j*#ZfE!toC#}?t(<^m)J=fHdp7?bFl^H#9hLNx?(usue zW&M)|>*Fa}iXIh76uzhltbmD5+6NK>2|2vq2UHsDW;$R2)YYq>bdsZ5+Ffu&`MYEw zf8F+*MUhzt3LgXyjp2BvO->Yg$61xtr+OBk{aLYE(8VO(wtop*Rz(Z%16-RpSnhcf z$=STfEec1X^6E|$y_SX42R%1Zqbk_Ys8JnB6zi>At)3l~5oJ=WGA|U4dD(0bOieVD z#p$rkf44IXijK}yvKoFgIOPNxVKU&ze+Y;S!w|87J?fm%WEVB8pf7@?uD~6{w7IF8 z1K%!AGdmke7bmj{+_Moxm6#BNg(*;5qp?Z8h}QI%zUGNc5QHJuL~>WtP3(ni6E6o4 z%#6iitkQ*#+f;JPk|AuH2L4-Se%;*ISeZQh$9qYqbS24Pd170JD988HgY+ zR1(`H%ESzWtIRiH9ME+x#`jH@aW2l(fE4Wy#J3r%qfrBRFQS<*C#$RB+>MEVv+Lr< z0|Chh#ep{)?i2^$Fa9C9ZSh0MVEtjp&OB_s=e^b~x+$}|A27ge3@{=2fB6B%ewM%d z3wjCx^F5@v>cHQ}XnRD@!%%V42WtX}h3Ou1?cql895G2Wa<*ICDHB=`RbRqM`x$c~ zbPCdq&MW7_kaHo~brLG(0j&o?CQ1F6d{PV`K7Zlvc|S*tDN5=*EWd}dInvP=R+tR0 zD|Q^-$L6*TFEA@Ut3xozf0Kr{Y+fuF-U)_RLP2uF3v@^R@>7P_G6yJAg#+3b*L&2S z{wu9FJTaJ%yjoe~dbfN+<}b65$ED5nBNe1q84q{8f(U9;l{3Cb`LgRvo0#DFdn)iN zZjw>~x0J`iD|GdwDIe+sc7UtOxjyDx&)>Guk|E@p%-^?KDM?28f9PZ0xm15S_+@tJawf{4egNa3DPpYR}tK0#=(tThA!t09uzdcEaVnlnX9w3f zH6$NR_Z#CUBu@2y3CC;IGVL&#gd503c3QhATf08lraqOY#1y6W!_(a*w zQtH|J@??O?TM8#PjzlI%N-tX{5$g649A!4;i*LA2*uGU-U;D&HX95< zf*+7JHp3^4e{4R~lOM@%z8hRN@5R1#ct^ra9+?h@^~8rR$3YEzIvW>m$dP3#v9^Or z;jYEt7OtNif4S4)*YsWbmY+A1OFU9GPSS^@%uc&5=g-EMXLZTB_ygb}`0WU!yds$- zlzQ)SIvzr{Fob*mbsb0clOMk}3D(%Vt#j?_JOACTe}$g`T+2>uoVDv$J;VY@^x@Cl zI#W!T>8tVMCclzplXSsG#@g81=hYv&SNR)va^v0CfBTKgTYh5pmBu%(`SBlDZKgi^ z(T~Y*_v>HF@ccBMpfR4-;n#UxC>H(`R;9-Lwr!2%J7?AJ}WZCKkAr8{cf;=9$R z@s2m8LjZ&Zj%EOa5*qn6l72&kK%4*zJ|EO?#>NkE+`E}KuBNy!8HtR;CfwmT{JLNN z{)dysfAwu0a|*PpazJf>@&ufN(_hCE@(K!v@U(HeUq=O5qj$7zosum=8hQAI-2e!k zS+g2%H+eyu+!$Qff9Op>yvj58SHpI{afN~gcYqM%`q542y76INes`77Non_nu* zQU64*E5ku9ehI#7e7{)_R-{IEP(K~d!AE5i{KIWsWf~^KH|^bv!*{T54;$Uvx+my8KC5GPXo&}3Jk&=Wv6>nwEpfu*A*DoQPXD!Mmd$PM74N=>#lEl4uy5CQB`d&R2uc zXf6QPSC>$?z%l>j-WUH^JNoBf{b#6R0mN{L^3L8JEw6KHx0>8|=z#&#_c5Pq=M<^} ziMs%%PeR4<8cal4&#!)NgCIe;-arnwfBh?{%49B_Ogc@}$ute!Y*>_LQAak>kG?zgW2<9)c)`SVnuF4)qw&dF5j#9 zjd)^SeECHUNOF%xPe_4fX9`VK_#T%UX`Zlhz6qvdz?aqULd)Y6eX!euf5lfX z*%bgABv-UCa>phxKlKY?`6mn&CvvDjd`1xrPyG=u>`f)(u;ufTVXLUse0B-f#CP>7M@<~-&l9yd3)k)wXHjWonCtVxDr**Ezt z)DWF5NFXPaL|i=vbHyI$`knEdfB2jS;jhv~!(qZ`;c*j@>Cn4JV8_>FbVG*o@9rYL zds#`J-~X@o#+0ucJgLupx=2SlqdG2P<#F?rDS}?49BhC`8nM$cjdtv0`$6Vuq(ROw z)yR)vW*A|%kx*vo?B-uL@DRR`S1&;ecC!932sf?T4T1?b*I#F|rKdwNe~Ci@(sCb) zOz#iS`vdfT7@X}vOiJxMD8fY}!y#$^1WDjq5z-rrXeV%U_$b{H^N$yqrJ%PtSC#Xk zMaC*86#A%BWTcP1Oe^5lm+WkotHksfAlhlkL+ZO8M2=>w}ka&irK};{Qt+^mu|I{ENlKhPa(8w zaiwMpgI)Hi65iGY8w1A3K4vPLa?3&zAR{C!2{9O+?LJb!LVsUGPJ0lxYq;n3T7A|j zqrEeC4v~?OkuiP;cA5H2vz^7S@xA!vFl(roWv{BaM2)&C(iMkze;NfqPCJ0j&@@MM ziD%zLjS)O(@=#-j*^u%Hm|b;g!Y)3ESyI)E>}30BS0YtXnmHjw?Ac&jxC@M42T$nhSC_+ zbQq)@84>%FY%hw#9;+y0?arfTU!nW|5%7OF0`7MX-{xST zy#8}2C{6tRI5^6|!Tr^hw?>1uaSk0&5PYr&(MF)TQ35a5e?EGhO`3NPCW{YfoY)(E zioTu*Yd5NXp@FAj5RB+fGsjmz#-*)-v>=@oO6>n)L`H!I8TcteE|>2A^N0%kWQaU| z_zrq+iBbP|j}-w2(UA^$^e4s)bV`cSCE*wyI>gJuWW{*4An~LmM`nZRlxa7T^zcqh zQHS+_tz(iU3d32RMuozm(0?V-wxxl&*suo)GPM^Bg{qe~=@LM2^10Yz2a{RqO zz>;Nvpd-tGL1Id!z+n6F>Fp@w>AlAHYR>3zOTSg=e;BrNYc&7*&GL)Y7dc-h)8S3~ zbfdmz_30NU)Tdu`N-)_wU_>EOeFd}EHlGJ^D}6EgdE;Vc!T=D~I*iqqY)ZG1j4!7_ zCihEM3Ys0;X8UZGflJsVA*_}>sn&3xV{5iNXb4BHHZ%+y5`jc+OV}lB$yErN8rr71 zY)Xx8f7qB3=S)joZAnXmW}u?eW}3-nY|BcuCrpi-7HPC$4JH54`!b zp9}T_y9zPaaYKSwO-nhpKK-0wMN)3|vMhKkEvd zs*iM$L{K#%AY1& zNC@%3p7I4CjNs@DNyA@ql0vK}S+S%Ue;1`Rc$ZXGr8bY#Tp3%Ku(2BK=R_7f3|_)a zjPGhN9F3Y6?JnGt!cuv~!aGGQ>CT9)M|<*V+QTRp7`33EWFyP$;XB*#qsdkfq|1Ok zw;^R%3~V9gvH-uiv%1A*Ty_;kyxhRXpOIYA4v)nc6JXj;+9i#lsC%! z`o_B1FjN`Bn?EmGL!vcd>rZ3k@<?eK)h?a?O^_=HNV+%~n%8nF!9l}@fQ7RltH}o!kzSV2zWhKw5|#z|h*%UnGAxrH zThE@5?f8G$%nYod=tK^MynZAOiUn1yD>^0b(i1q}v^wGwT$t)_u z+y*C-yXe}}M2@nlr%9sJ)9+w#0Y!5Wh;vvHS>YS|E5({UvD8nNm<3wV+A9Cr_6akC8wb(4SsOwD|F$tW9lb> zoRNQs$>x(B)GFG580@b4i7i=oAdf{k6L1zm=~bAv_zu4uUiwRcdiVtyWfSI54CBDv zWiuG3*BjPOIe-imTGkSO%C@C4+fox;D`?R9hN0o4iXciCqpB>rd@auMb$HO#7|0;_ zS#H_Z8#o#z-A<)ZiPC^Z8Db84(hTXzz@>kq&D{Iu<~%mszt?IiL4z;bw3wX}UYFpbzZZ%-+7 z($GxoEJ(%-D3wVS*sNTuq(>y#hO$^0m3d6vuZ3kx?T^gOE@bb_EhD3iw%*icl+b^H z&|(B8D_!JKVGyst0qPzODtC-yG8Xv^xn+@(6vp?0gDL?ZE3CSIu5M{DYHQE<2L`3# zgol~XZ0V-F6I`|_=S`WKK!%E&@sB~)g7F)^DQG}3Ct{>&8ZXXZ79Q^6P&Xfm3a$`>=d#`M1XM&d%!A+nw$B$%3&lI)^8* zJ-qB~#CovMgoAEe!>1P~^jObrY6+eR8k;jkOp-i{f|CAeCi04byF!!Mit+QFNum-m8Nz?%aRl{& z*Dbkab61@-_hGq`sn@{4)Pyd z5>?!hFm=xXbhbQT@uw6zR@~XmoAj>gIeT#uy&H*b#9`k+C2FqO7a?4tx4+ug1~O6C zRkW~)c6#H9*RZ~=FrIKTYx`uH|-VMXY02xKnn{wXnGl=yGymRJh zPt4=&1JYt_Ew3Szi^QvDzz~@KX+A-y`RxnIDA};zl}T`{5dci&FnlE+MsN}s^JT5` zykV7avApKfBpPR&#I=9JwE%Jqn{5fUDS3UuD(Z*&3@mBx=@ikwDC$;Q>%*Y}Mx|Rc zP6F!in4iT9X7D3NjVq!$W&kQNlstlO3{tZjMY2}C8)EV zyzx5nlMikU#$vl5ml!c^76S`5&Km;&IBonepuBhVuns#T%|L$u?V8>H8FdMQX{cW$ z^4W>k%<@RguONBUYl(YWtg!{e_ug%zXNzDVm)^KC&RjG)V@qY>kHSjxlv ztZ>+|FvkMG1Wtbj#

      2. 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%0Dt+g}EK6QJHdKkwl*1!_JJb!7) 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%0ApzMHkf^?mu>y>-ZftybvaKOb8f!}i#amxFE~I~@ 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%0DOV#bANh380`f0#b3dN2 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

        XLB%M70g8 zVzP~{U!NvHEF&l~bZlK(>k8FFE5l+(ubT4$T-x*^13eoygPt8WfpiTk@w^?vz064r zqIS^7eI7UJ(E}LJXx<^#1Ppnc=BjLoE8-T1K7QJHA%%-=9{OB60kQe=#bL#V;Z#0< zbF%TA_mJ|TUup~&ou9ifTyzQc`lvw(cL}Lp98EWrnpFB%@_qk90=95z(Ff zwth)7-qx=vj&f2*e|t;p@SW8f+kNYQlt77BY{3$;CUhydGMeDa#8r|?!5s&iCo81u zClx_FbplFdQ9EsEr9$GxpOvvimx|z=W|<&ni^_q3gV*sIjPD@T1UhPW2fW^$wXbf1 zRr(3`uDlIP;_>U@{0s1C00+`t;ZmjC2fG)CVRX6^he7-qS3_X~T zf5d?~d}vroczgz32PI8G_9XVsxJF@*2~&sbF~AzN=6HhJ6XYEK76`s62LH|U4cS0> zhF!AWm*j^wBhN31fJZpIM`u88lbaTQJyn=GKFamQo}WVy5FYgkCy%FpJ21`Gdz))! zHVUoGMzIlK!&w`6vL^5pTENjQBQ}W*ChWP~|C$AAxYQKQyfp)Jj3rFFM zF8oTvvf<`qEqEH8HN)9|#>~r5TM_A}^%Kc!@o$C$hj7HB3<$YOSSm#l4DJq?#?OiU z2-DfuP|I|WHnaV}*@KE!`WA1?QDoz0^kVx@(Nnm+B%o`zzk_12&p4iEEQP5y$&uJW zWFeolErhHnHC3*a%vUp2C9sV%MgX3ZHlu25Z#ohYl-@x*n12EhQFI6+JG$(`4H z&tt9%d-6BJ-O&SlU|HAtm}kaCua7N@`@M9^4aDJht-`!COvCS0#~Gc@x-Geg>+cS9 z%8iQ0IWvS&k<$*OgyarZ5GH&%h741jE9`vBEQGZ-klF~N0;^$iGItvMHdSFIlyZ7;j=8dPT~%}(Jekr-XK<4b-T&!4AIuhn=yS+0g14OA*HbUHZgT^MPM zxFG~9=qPIq(nm6KjtVI&^|uOBMewWItfa9uy�x=TbQJA7<|m8X>ZoA^uW~uLSL0 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 z/g; +export const FENCE_PATTERN = /^```|\n```/g; diff --git a/tools/server/webui/src/lib/constants/css-classes.ts b/tools/server/webui/src/lib/constants/css-classes.ts new file mode 100644 index 0000000000..46076e55f6 --- /dev/null +++ b/tools/server/webui/src/lib/constants/css-classes.ts @@ -0,0 +1,10 @@ +export const BOX_BORDER = + 'border border-border/30 focus-within:border-border dark:border-border/20 dark:focus-within:border-border'; + +export const INPUT_CLASSES = ` + bg-muted/60 dark:bg-muted/75 + ${BOX_BORDER} + shadow-sm + outline-none + text-foreground +`; diff --git a/tools/server/webui/src/lib/constants/formatters.ts b/tools/server/webui/src/lib/constants/formatters.ts new file mode 100644 index 0000000000..d6d1b883ff --- /dev/null +++ b/tools/server/webui/src/lib/constants/formatters.ts @@ -0,0 +1,8 @@ +export const MS_PER_SECOND = 1000; +export const SECONDS_PER_MINUTE = 60; +export const SECONDS_PER_HOUR = 3600; +export const SHORT_DURATION_THRESHOLD = 1; +export const MEDIUM_DURATION_THRESHOLD = 10; + +/** Default display value when no performance time is available */ +export const DEFAULT_PERFORMANCE_TIME = '0s'; diff --git a/tools/server/webui/src/lib/constants/markdown.ts b/tools/server/webui/src/lib/constants/markdown.ts new file mode 100644 index 0000000000..783d31a22c --- /dev/null +++ b/tools/server/webui/src/lib/constants/markdown.ts @@ -0,0 +1,4 @@ +export const IMAGE_NOT_ERROR_BOUND_SELECTOR = 'img:not([data-error-bound])'; +export const DATA_ERROR_BOUND_ATTR = 'errorBound'; +export const DATA_ERROR_HANDLED_ATTR = 'errorHandled'; +export const BOOL_TRUE_STRING = 'true'; diff --git a/tools/server/webui/src/lib/constants/processing-info.ts b/tools/server/webui/src/lib/constants/processing-info.ts index 726439211b..2c3f7dc534 100644 --- a/tools/server/webui/src/lib/constants/processing-info.ts +++ b/tools/server/webui/src/lib/constants/processing-info.ts @@ -1 +1,8 @@ export const PROCESSING_INFO_TIMEOUT = 2000; + +/** + * Statistics units labels + */ +export const STATS_UNITS = { + TOKENS_PER_SECOND: 't/s' +} as const; diff --git a/tools/server/webui/src/lib/constants/settings-fields.ts b/tools/server/webui/src/lib/constants/settings-fields.ts new file mode 100644 index 0000000000..79a6e92870 --- /dev/null +++ b/tools/server/webui/src/lib/constants/settings-fields.ts @@ -0,0 +1,33 @@ +/** + * List of all numeric fields in settings configuration. + * These fields will be converted from strings to numbers during save. + */ +export const NUMERIC_FIELDS = [ + 'temperature', + 'top_k', + 'top_p', + 'min_p', + 'max_tokens', + 'pasteLongTextToFileLen', + 'dynatemp_range', + 'dynatemp_exponent', + 'typ_p', + 'xtc_probability', + 'xtc_threshold', + 'repeat_last_n', + 'repeat_penalty', + 'presence_penalty', + 'frequency_penalty', + 'dry_multiplier', + 'dry_base', + 'dry_allowed_length', + 'dry_penalty_last_n', + 'agenticMaxTurns', + 'agenticMaxToolPreviewLines' +] as const; + +/** + * Fields that must be positive integers (>= 1). + * These will be clamped to minimum 1 and rounded during save. + */ +export const POSITIVE_INTEGER_FIELDS = ['agenticMaxTurns', 'agenticMaxToolPreviewLines'] as const; diff --git a/tools/server/webui/src/lib/constants/tooltip-config.ts b/tools/server/webui/src/lib/constants/tooltip-config.ts index 3c30c8c072..ad76ab3522 100644 --- a/tools/server/webui/src/lib/constants/tooltip-config.ts +++ b/tools/server/webui/src/lib/constants/tooltip-config.ts @@ -1 +1 @@ -export const TOOLTIP_DELAY_DURATION = 100; +export const TOOLTIP_DELAY_DURATION = 500; diff --git a/tools/server/webui/src/lib/constants/ui.ts b/tools/server/webui/src/lib/constants/ui.ts new file mode 100644 index 0000000000..a75b30f2f8 --- /dev/null +++ b/tools/server/webui/src/lib/constants/ui.ts @@ -0,0 +1 @@ +export const SYSTEM_MESSAGE_PLACEHOLDER = 'System message'; diff --git a/tools/server/webui/src/lib/contexts/chat-actions.context.ts b/tools/server/webui/src/lib/contexts/chat-actions.context.ts new file mode 100644 index 0000000000..eba0fec027 --- /dev/null +++ b/tools/server/webui/src/lib/contexts/chat-actions.context.ts @@ -0,0 +1,34 @@ +import { getContext, setContext } from 'svelte'; + +export interface ChatActionsContext { + copy: (message: DatabaseMessage) => void; + delete: (message: DatabaseMessage) => void; + navigateToSibling: (siblingId: string) => void; + editWithBranching: ( + message: DatabaseMessage, + newContent: string, + newExtras?: DatabaseMessageExtra[] + ) => void; + editWithReplacement: ( + message: DatabaseMessage, + newContent: string, + shouldBranch: boolean + ) => void; + editUserMessagePreserveResponses: ( + message: DatabaseMessage, + newContent: string, + newExtras?: DatabaseMessageExtra[] + ) => void; + regenerateWithBranching: (message: DatabaseMessage, modelOverride?: string) => void; + continueAssistantMessage: (message: DatabaseMessage) => void; +} + +const CHAT_ACTIONS_KEY = Symbol.for('chat-actions'); + +export function setChatActionsContext(ctx: ChatActionsContext): ChatActionsContext { + return setContext(CHAT_ACTIONS_KEY, ctx); +} + +export function getChatActionsContext(): ChatActionsContext { + return getContext(CHAT_ACTIONS_KEY); +} diff --git a/tools/server/webui/src/lib/contexts/index.ts b/tools/server/webui/src/lib/contexts/index.ts new file mode 100644 index 0000000000..73ff6f96fa --- /dev/null +++ b/tools/server/webui/src/lib/contexts/index.ts @@ -0,0 +1,13 @@ +export { + getMessageEditContext, + setMessageEditContext, + type MessageEditContext, + type MessageEditState, + type MessageEditActions +} from './message-edit.context'; + +export { + getChatActionsContext, + setChatActionsContext, + type ChatActionsContext +} from './chat-actions.context'; diff --git a/tools/server/webui/src/lib/contexts/message-edit.context.ts b/tools/server/webui/src/lib/contexts/message-edit.context.ts new file mode 100644 index 0000000000..7af116daa5 --- /dev/null +++ b/tools/server/webui/src/lib/contexts/message-edit.context.ts @@ -0,0 +1,39 @@ +import { getContext, setContext } from 'svelte'; + +export interface MessageEditState { + readonly isEditing: boolean; + readonly editedContent: string; + readonly editedExtras: DatabaseMessageExtra[]; + readonly editedUploadedFiles: ChatUploadedFile[]; + readonly originalContent: string; + readonly originalExtras: DatabaseMessageExtra[]; + readonly showSaveOnlyOption: boolean; +} + +export interface MessageEditActions { + setContent: (content: string) => void; + setExtras: (extras: DatabaseMessageExtra[]) => void; + setUploadedFiles: (files: ChatUploadedFile[]) => void; + save: () => void; + saveOnly: () => void; + cancel: () => void; + startEdit: () => void; +} + +export type MessageEditContext = MessageEditState & MessageEditActions; + +const MESSAGE_EDIT_KEY = Symbol.for('chat-message-edit'); + +/** + * Sets the message edit context. Call this in the parent component (ChatMessage.svelte). + */ +export function setMessageEditContext(ctx: MessageEditContext): MessageEditContext { + return setContext(MESSAGE_EDIT_KEY, ctx); +} + +/** + * Gets the message edit context. Call this in child components. + */ +export function getMessageEditContext(): MessageEditContext { + return getContext(MESSAGE_EDIT_KEY); +} diff --git a/tools/server/webui/src/lib/enums/chat.ts b/tools/server/webui/src/lib/enums/chat.ts index 2b9eb7bc2e..0b6f357d9a 100644 --- a/tools/server/webui/src/lib/enums/chat.ts +++ b/tools/server/webui/src/lib/enums/chat.ts @@ -1,4 +1,51 @@ export enum ChatMessageStatsView { GENERATION = 'generation', - READING = 'reading' + READING = 'reading', + TOOLS = 'tools', + SUMMARY = 'summary' +} + +/** + * Reasoning format options for API requests. + */ +export enum ReasoningFormat { + NONE = 'none', + AUTO = 'auto' +} + +/** + * Message roles for chat messages. + */ +export enum MessageRole { + USER = 'user', + ASSISTANT = 'assistant', + SYSTEM = 'system', + TOOL = 'tool' +} + +/** + * Message types for different content kinds. + */ +export enum MessageType { + ROOT = 'root', + TEXT = 'text', + THINK = 'think', + SYSTEM = 'system' +} + +/** + * Content part types for API chat message content. + */ +export enum ContentPartType { + TEXT = 'text', + IMAGE_URL = 'image_url', + INPUT_AUDIO = 'input_audio' +} + +/** + * Error dialog types for displaying server/timeout errors. + */ +export enum ErrorDialogType { + TIMEOUT = 'timeout', + SERVER = 'server' } diff --git a/tools/server/webui/src/lib/enums/keyboard.ts b/tools/server/webui/src/lib/enums/keyboard.ts new file mode 100644 index 0000000000..b8f6d5f7a2 --- /dev/null +++ b/tools/server/webui/src/lib/enums/keyboard.ts @@ -0,0 +1,15 @@ +/** + * Keyboard key names for event handling + */ +export enum KeyboardKey { + ENTER = 'Enter', + ESCAPE = 'Escape', + ARROW_UP = 'ArrowUp', + ARROW_DOWN = 'ArrowDown', + TAB = 'Tab', + D_LOWER = 'd', + D_UPPER = 'D', + E_UPPER = 'E', + K_LOWER = 'k', + O_UPPER = 'O' +} diff --git a/tools/server/webui/src/lib/enums/settings.ts b/tools/server/webui/src/lib/enums/settings.ts new file mode 100644 index 0000000000..f17f219762 --- /dev/null +++ b/tools/server/webui/src/lib/enums/settings.ts @@ -0,0 +1,26 @@ +/** + * Parameter source - indicates whether a parameter uses default or custom value + */ +export enum ParameterSource { + DEFAULT = 'default', + CUSTOM = 'custom' +} + +/** + * Syncable parameter type - data types for parameters that can be synced with server + */ +export enum SyncableParameterType { + NUMBER = 'number', + STRING = 'string', + BOOLEAN = 'boolean' +} + +/** + * Settings field type - defines the input type for settings fields + */ +export enum SettingsFieldType { + INPUT = 'input', + TEXTAREA = 'textarea', + CHECKBOX = 'checkbox', + SELECT = 'select' +} diff --git a/tools/server/webui/src/lib/hooks/use-auto-scroll.svelte.ts b/tools/server/webui/src/lib/hooks/use-auto-scroll.svelte.ts new file mode 100644 index 0000000000..bbaa5d1362 --- /dev/null +++ b/tools/server/webui/src/lib/hooks/use-auto-scroll.svelte.ts @@ -0,0 +1,165 @@ +import { AUTO_SCROLL_AT_BOTTOM_THRESHOLD, AUTO_SCROLL_INTERVAL } from '$lib/constants/auto-scroll'; + +export interface AutoScrollOptions { + /** Whether auto-scroll is disabled globally (e.g., from settings) */ + disabled?: boolean; +} + +/** + * Creates an auto-scroll controller for a scrollable container. + * + * Features: + * - Auto-scrolls to bottom during streaming/loading + * - Stops auto-scroll when user manually scrolls up + * - Resumes auto-scroll when user scrolls back to bottom + */ +export class AutoScrollController { + private _autoScrollEnabled = $state(true); + private _userScrolledUp = $state(false); + private _lastScrollTop = $state(0); + private _scrollInterval: ReturnType | undefined; + private _scrollTimeout: ReturnType | undefined; + private _container: HTMLElement | undefined; + private _disabled: boolean; + + constructor(options: AutoScrollOptions = {}) { + this._disabled = options.disabled ?? false; + } + + get autoScrollEnabled(): boolean { + return this._autoScrollEnabled; + } + + get userScrolledUp(): boolean { + return this._userScrolledUp; + } + + /** + * Binds the controller to a scrollable container element. + */ + setContainer(container: HTMLElement | undefined): void { + this._container = container; + } + + /** + * Updates the disabled state. + */ + setDisabled(disabled: boolean): void { + this._disabled = disabled; + if (disabled) { + this._autoScrollEnabled = false; + this.stopInterval(); + } + } + + /** + * Handles scroll events to detect user scroll direction and toggle auto-scroll. + */ + handleScroll(): void { + if (this._disabled || !this._container) return; + + const { scrollTop, scrollHeight, clientHeight } = this._container; + const distanceFromBottom = scrollHeight - scrollTop - clientHeight; + const isAtBottom = distanceFromBottom < AUTO_SCROLL_AT_BOTTOM_THRESHOLD; + + if (scrollTop < this._lastScrollTop && !isAtBottom) { + this._userScrolledUp = true; + this._autoScrollEnabled = false; + } else if (isAtBottom && this._userScrolledUp) { + this._userScrolledUp = false; + this._autoScrollEnabled = true; + } + + if (this._scrollTimeout) { + clearTimeout(this._scrollTimeout); + } + + this._scrollTimeout = setTimeout(() => { + if (isAtBottom) { + this._userScrolledUp = false; + this._autoScrollEnabled = true; + } + }, AUTO_SCROLL_INTERVAL); + + this._lastScrollTop = scrollTop; + } + + /** + * Scrolls the container to the bottom. + */ + scrollToBottom(behavior: ScrollBehavior = 'smooth'): void { + if (this._disabled || !this._container) return; + + this._container.scrollTo({ + top: this._container.scrollHeight, + behavior + }); + } + + /** + * Enables auto-scroll (e.g., when user sends a message). + */ + enable(): void { + if (this._disabled) return; + this._userScrolledUp = false; + this._autoScrollEnabled = true; + } + + /** + * Starts the auto-scroll interval for continuous scrolling during streaming. + */ + startInterval(): void { + if (this._disabled || this._scrollInterval) return; + + this._scrollInterval = setInterval(() => { + this.scrollToBottom(); + }, AUTO_SCROLL_INTERVAL); + } + + /** + * Stops the auto-scroll interval. + */ + stopInterval(): void { + if (this._scrollInterval) { + clearInterval(this._scrollInterval); + this._scrollInterval = undefined; + } + } + + /** + * Updates the auto-scroll interval based on streaming state. + * Call this in a $effect to automatically manage the interval. + */ + updateInterval(isStreaming: boolean): void { + if (this._disabled) { + this.stopInterval(); + return; + } + + if (isStreaming && this._autoScrollEnabled) { + if (!this._scrollInterval) { + this.startInterval(); + } + } else { + this.stopInterval(); + } + } + + /** + * Cleans up resources. Call this in onDestroy or when the component unmounts. + */ + destroy(): void { + this.stopInterval(); + if (this._scrollTimeout) { + clearTimeout(this._scrollTimeout); + this._scrollTimeout = undefined; + } + } +} + +/** + * Creates a new AutoScrollController instance. + */ +export function createAutoScrollController(options: AutoScrollOptions = {}): AutoScrollController { + return new AutoScrollController(options); +} diff --git a/tools/server/webui/src/lib/hooks/use-processing-state.svelte.ts b/tools/server/webui/src/lib/hooks/use-processing-state.svelte.ts index c06cf28864..068440cdc0 100644 --- a/tools/server/webui/src/lib/hooks/use-processing-state.svelte.ts +++ b/tools/server/webui/src/lib/hooks/use-processing-state.svelte.ts @@ -1,7 +1,9 @@ import { activeProcessingState } from '$lib/stores/chat.svelte'; import { config } from '$lib/stores/settings.svelte'; +import { STATS_UNITS } from '$lib/constants/processing-info'; +import type { ApiProcessingState } from '$lib/types'; -export interface LiveProcessingStats { +interface LiveProcessingStats { tokensProcessed: number; totalTokens: number; timeMs: number; @@ -9,7 +11,7 @@ export interface LiveProcessingStats { etaSecs?: number; } -export interface LiveGenerationStats { +interface LiveGenerationStats { tokensGenerated: number; timeMs: number; tokensPerSecond: number; @@ -18,6 +20,7 @@ export interface LiveGenerationStats { export interface UseProcessingStateReturn { readonly processingState: ApiProcessingState | null; getProcessingDetails(): string[]; + getTechnicalDetails(): string[]; getProcessingMessage(): string; getPromptProgressText(): string | null; getLiveProcessingStats(): LiveProcessingStats | null; @@ -138,8 +141,31 @@ export function useProcessingState(): UseProcessingStateReturn { const details: string[] = []; + // Show prompt processing progress with ETA during preparation phase + if (stateToUse.promptProgress) { + const { processed, total, time_ms, cache } = stateToUse.promptProgress; + const actualProcessed = processed - cache; + const actualTotal = total - cache; + + if (actualProcessed < actualTotal && actualProcessed > 0) { + const percent = Math.round((actualProcessed / actualTotal) * 100); + const eta = getETASecs(actualProcessed, actualTotal, time_ms); + + if (eta !== undefined) { + const etaSecs = Math.ceil(eta); + details.push(`Processing ${percent}% (ETA: ${etaSecs}s)`); + } else { + details.push(`Processing ${percent}%`); + } + } + } + // Always show context info when we have valid data - if (stateToUse.contextUsed >= 0 && stateToUse.contextTotal > 0) { + if ( + typeof stateToUse.contextTotal === 'number' && + stateToUse.contextUsed >= 0 && + stateToUse.contextTotal > 0 + ) { const contextPercent = Math.round((stateToUse.contextUsed / stateToUse.contextTotal) * 100); details.push( @@ -163,7 +189,57 @@ export function useProcessingState(): UseProcessingStateReturn { } if (stateToUse.tokensPerSecond && stateToUse.tokensPerSecond > 0) { - details.push(`${stateToUse.tokensPerSecond.toFixed(1)} tokens/sec`); + details.push(`${stateToUse.tokensPerSecond.toFixed(1)} ${STATS_UNITS.TOKENS_PER_SECOND}`); + } + + if (stateToUse.speculative) { + details.push('Speculative decoding enabled'); + } + + return details; + } + + /** + * Returns technical details without the progress message (for bottom bar) + */ + function getTechnicalDetails(): string[] { + const stateToUse = processingState || lastKnownState; + if (!stateToUse) { + return []; + } + + const details: string[] = []; + + // Always show context info when we have valid data + if ( + typeof stateToUse.contextTotal === 'number' && + stateToUse.contextUsed >= 0 && + stateToUse.contextTotal > 0 + ) { + const contextPercent = Math.round((stateToUse.contextUsed / stateToUse.contextTotal) * 100); + + details.push( + `Context: ${stateToUse.contextUsed}/${stateToUse.contextTotal} (${contextPercent}%)` + ); + } + + if (stateToUse.outputTokensUsed > 0) { + // Handle infinite max_tokens (-1) case + if (stateToUse.outputTokensMax <= 0) { + details.push(`Output: ${stateToUse.outputTokensUsed}/∞`); + } else { + const outputPercent = Math.round( + (stateToUse.outputTokensUsed / stateToUse.outputTokensMax) * 100 + ); + + details.push( + `Output: ${stateToUse.outputTokensUsed}/${stateToUse.outputTokensMax} (${outputPercent}%)` + ); + } + } + + if (stateToUse.tokensPerSecond && stateToUse.tokensPerSecond > 0) { + details.push(`${stateToUse.tokensPerSecond.toFixed(1)} ${STATS_UNITS.TOKENS_PER_SECOND}`); } if (stateToUse.speculative) { @@ -251,6 +327,7 @@ export function useProcessingState(): UseProcessingStateReturn { return processingState; }, getProcessingDetails, + getTechnicalDetails, getProcessingMessage, getPromptProgressText, getLiveProcessingStats, diff --git a/tools/server/webui/src/lib/markdown/enhance-code-blocks.ts b/tools/server/webui/src/lib/markdown/enhance-code-blocks.ts index 6f0e03e211..168de97403 100644 --- a/tools/server/webui/src/lib/markdown/enhance-code-blocks.ts +++ b/tools/server/webui/src/lib/markdown/enhance-code-blocks.ts @@ -13,6 +13,16 @@ import type { Plugin } from 'unified'; import type { Root, Element, ElementContent } from 'hast'; import { visit } from 'unist-util-visit'; +import { + CODE_BLOCK_SCROLL_CONTAINER_CLASS, + CODE_BLOCK_WRAPPER_CLASS, + CODE_BLOCK_HEADER_CLASS, + CODE_BLOCK_ACTIONS_CLASS, + CODE_LANGUAGE_CLASS, + COPY_CODE_BTN_CLASS, + PREVIEW_CODE_BTN_CLASS, + RELATIVE_CLASS +} from '$lib/constants/code-blocks'; declare global { interface Window { @@ -42,7 +52,7 @@ function createCopyButton(codeId: string): Element { type: 'element', tagName: 'button', properties: { - className: ['copy-code-btn'], + className: [COPY_CODE_BTN_CLASS], 'data-code-id': codeId, title: 'Copy code', type: 'button' @@ -56,7 +66,7 @@ function createPreviewButton(codeId: string): Element { type: 'element', tagName: 'button', properties: { - className: ['preview-code-btn'], + className: [PREVIEW_CODE_BTN_CLASS], 'data-code-id': codeId, title: 'Preview code', type: 'button' @@ -75,30 +85,39 @@ function createHeader(language: string, codeId: string): Element { return { type: 'element', tagName: 'div', - properties: { className: ['code-block-header'] }, + properties: { className: [CODE_BLOCK_HEADER_CLASS] }, children: [ { type: 'element', tagName: 'span', - properties: { className: ['code-language'] }, + properties: { className: [CODE_LANGUAGE_CLASS] }, children: [{ type: 'text', value: language }] }, { type: 'element', tagName: 'div', - properties: { className: ['code-block-actions'] }, + properties: { className: [CODE_BLOCK_ACTIONS_CLASS] }, children: actions } ] }; } +function createScrollContainer(preElement: Element): Element { + return { + type: 'element', + tagName: 'div', + properties: { className: [CODE_BLOCK_SCROLL_CONTAINER_CLASS] }, + children: [preElement] + }; +} + function createWrapper(header: Element, preElement: Element): Element { return { type: 'element', tagName: 'div', - properties: { className: ['code-block-wrapper'] }, - children: [header, preElement] + properties: { className: [CODE_BLOCK_WRAPPER_CLASS, RELATIVE_CLASS] }, + children: [header, createScrollContainer(preElement)] }; } diff --git a/tools/server/webui/src/lib/services/database.service.ts b/tools/server/webui/src/lib/services/database.service.ts new file mode 100644 index 0000000000..0d5a9c1b99 --- /dev/null +++ b/tools/server/webui/src/lib/services/database.service.ts @@ -0,0 +1,368 @@ +import Dexie, { type EntityTable } from 'dexie'; +import { findDescendantMessages } from '$lib/utils'; + +class LlamacppDatabase extends Dexie { + conversations!: EntityTable; + messages!: EntityTable; + + constructor() { + super('LlamacppWebui'); + + this.version(1).stores({ + conversations: 'id, lastModified, currNode, name', + messages: 'id, convId, type, role, timestamp, parent, children' + }); + } +} + +const db = new LlamacppDatabase(); +import { v4 as uuid } from 'uuid'; +import { MessageRole } from '$lib/enums/chat'; + +export class DatabaseService { + /** + * + * + * Conversations + * + * + */ + + /** + * Creates a new conversation. + * + * @param name - Name of the conversation + * @returns The created conversation + */ + static async createConversation(name: string): Promise { + const conversation: DatabaseConversation = { + id: uuid(), + name, + lastModified: Date.now(), + currNode: '' + }; + + await db.conversations.add(conversation); + return conversation; + } + + /** + * + * + * Messages + * + * + */ + + /** + * Creates a new message branch by adding a message and updating parent/child relationships. + * Also updates the conversation's currNode to point to the new message. + * + * @param message - Message to add (without id) + * @param parentId - Parent message ID to attach to + * @returns The created message + */ + static async createMessageBranch( + message: Omit, + parentId: string | null + ): Promise { + return await db.transaction('rw', [db.conversations, db.messages], async () => { + // Handle null parent (root message case) + if (parentId !== null) { + const parentMessage = await db.messages.get(parentId); + if (!parentMessage) { + throw new Error(`Parent message ${parentId} not found`); + } + } + + const newMessage: DatabaseMessage = { + ...message, + id: uuid(), + parent: parentId, + toolCalls: message.toolCalls ?? '', + children: [] + }; + + await db.messages.add(newMessage); + + // Update parent's children array if parent exists + if (parentId !== null) { + const parentMessage = await db.messages.get(parentId); + if (parentMessage) { + await db.messages.update(parentId, { + children: [...parentMessage.children, newMessage.id] + }); + } + } + + await this.updateConversation(message.convId, { + currNode: newMessage.id + }); + + return newMessage; + }); + } + + /** + * Creates a root message for a new conversation. + * Root messages are not displayed but serve as the tree root for branching. + * + * @param convId - Conversation ID + * @returns The created root message + */ + static async createRootMessage(convId: string): Promise { + const rootMessage: DatabaseMessage = { + id: uuid(), + convId, + type: 'root', + timestamp: Date.now(), + role: MessageRole.SYSTEM, + content: '', + parent: null, + toolCalls: '', + children: [] + }; + + await db.messages.add(rootMessage); + return rootMessage.id; + } + + /** + * Creates a system prompt message for a conversation. + * + * @param convId - Conversation ID + * @param systemPrompt - The system prompt content (must be non-empty) + * @param parentId - Parent message ID (typically the root message) + * @returns The created system message + * @throws Error if systemPrompt is empty + */ + static async createSystemMessage( + convId: string, + systemPrompt: string, + parentId: string + ): Promise { + const trimmedPrompt = systemPrompt.trim(); + if (!trimmedPrompt) { + throw new Error('Cannot create system message with empty content'); + } + + const systemMessage: DatabaseMessage = { + id: uuid(), + convId, + type: MessageRole.SYSTEM, + timestamp: Date.now(), + role: MessageRole.SYSTEM, + content: trimmedPrompt, + parent: parentId, + children: [] + }; + + await db.messages.add(systemMessage); + + const parentMessage = await db.messages.get(parentId); + if (parentMessage) { + await db.messages.update(parentId, { + children: [...parentMessage.children, systemMessage.id] + }); + } + + return systemMessage; + } + + /** + * Deletes a conversation and all its messages. + * + * @param id - Conversation ID + */ + static async deleteConversation(id: string): Promise { + await db.transaction('rw', [db.conversations, db.messages], async () => { + await db.conversations.delete(id); + await db.messages.where('convId').equals(id).delete(); + }); + } + + /** + * Deletes a message and removes it from its parent's children array. + * + * @param messageId - ID of the message to delete + */ + static async deleteMessage(messageId: string): Promise { + await db.transaction('rw', db.messages, async () => { + const message = await db.messages.get(messageId); + if (!message) return; + + // Remove this message from its parent's children array + if (message.parent) { + const parent = await db.messages.get(message.parent); + if (parent) { + parent.children = parent.children.filter((childId: string) => childId !== messageId); + await db.messages.put(parent); + } + } + + // Delete the message + await db.messages.delete(messageId); + }); + } + + /** + * Deletes a message and all its descendant messages (cascading deletion). + * This removes the entire branch starting from the specified message. + * + * @param conversationId - ID of the conversation containing the message + * @param messageId - ID of the root message to delete (along with all descendants) + * @returns Array of all deleted message IDs + */ + static async deleteMessageCascading( + conversationId: string, + messageId: string + ): Promise { + return await db.transaction('rw', db.messages, async () => { + // Get all messages in the conversation to find descendants + const allMessages = await db.messages.where('convId').equals(conversationId).toArray(); + + // Find all descendant messages + const descendants = findDescendantMessages(allMessages, messageId); + const allToDelete = [messageId, ...descendants]; + + // Get the message to delete for parent cleanup + const message = await db.messages.get(messageId); + if (message && message.parent) { + const parent = await db.messages.get(message.parent); + if (parent) { + parent.children = parent.children.filter((childId: string) => childId !== messageId); + await db.messages.put(parent); + } + } + + // Delete all messages in the branch + await db.messages.bulkDelete(allToDelete); + + return allToDelete; + }); + } + + /** + * Gets all conversations, sorted by last modified time (newest first). + * + * @returns Array of conversations + */ + static async getAllConversations(): Promise { + return await db.conversations.orderBy('lastModified').reverse().toArray(); + } + + /** + * Gets a conversation by ID. + * + * @param id - Conversation ID + * @returns The conversation if found, otherwise undefined + */ + static async getConversation(id: string): Promise { + return await db.conversations.get(id); + } + + /** + * Gets all messages in a conversation, sorted by timestamp (oldest first). + * + * @param convId - Conversation ID + * @returns Array of messages in the conversation + */ + static async getConversationMessages(convId: string): Promise { + return await db.messages.where('convId').equals(convId).sortBy('timestamp'); + } + + /** + * Updates a conversation. + * + * @param id - Conversation ID + * @param updates - Partial updates to apply + * @returns Promise that resolves when the conversation is updated + */ + static async updateConversation( + id: string, + updates: Partial> + ): Promise { + await db.conversations.update(id, { + ...updates, + lastModified: Date.now() + }); + } + + /** + * + * + * Navigation + * + * + */ + + /** + * Updates the conversation's current node (active branch). + * This determines which conversation path is currently being viewed. + * + * @param convId - Conversation ID + * @param nodeId - Message ID to set as current node + */ + static async updateCurrentNode(convId: string, nodeId: string): Promise { + await this.updateConversation(convId, { + currNode: nodeId + }); + } + + /** + * Updates a message. + * + * @param id - Message ID + * @param updates - Partial updates to apply + * @returns Promise that resolves when the message is updated + */ + static async updateMessage( + id: string, + updates: Partial> + ): Promise { + await db.messages.update(id, updates); + } + + /** + * + * + * Import + * + * + */ + + /** + * Imports multiple conversations and their messages. + * Skips conversations that already exist. + * + * @param data - Array of { conv, messages } objects + */ + static async importConversations( + data: { conv: DatabaseConversation; messages: DatabaseMessage[] }[] + ): Promise<{ imported: number; skipped: number }> { + let importedCount = 0; + let skippedCount = 0; + + return await db.transaction('rw', [db.conversations, db.messages], async () => { + for (const item of data) { + const { conv, messages } = item; + + const existing = await db.conversations.get(conv.id); + if (existing) { + console.warn(`Conversation "${conv.name}" already exists, skipping...`); + skippedCount++; + continue; + } + + await db.conversations.add(conv); + for (const msg of messages) { + await db.messages.put(msg); + } + + importedCount++; + } + + return { imported: importedCount, skipped: skippedCount }; + }); + } +} diff --git a/tools/server/webui/src/lib/services/models.service.ts b/tools/server/webui/src/lib/services/models.service.ts new file mode 100644 index 0000000000..7357c3f400 --- /dev/null +++ b/tools/server/webui/src/lib/services/models.service.ts @@ -0,0 +1,99 @@ +import { ServerModelStatus } from '$lib/enums'; +import { apiFetch, apiPost } from '$lib/utils/api-fetch'; + +export class ModelsService { + /** + * + * + * Listing + * + * + */ + + /** + * Fetch list of models from OpenAI-compatible endpoint. + * Works in both MODEL and ROUTER modes. + * + * @returns List of available models with basic metadata + */ + static async list(): Promise { + return apiFetch('/v1/models'); + } + + /** + * Fetch list of all models with detailed metadata (ROUTER mode). + * Returns models with load status, paths, and other metadata + * beyond what the OpenAI-compatible endpoint provides. + * + * @returns List of models with detailed status and configuration info + */ + static async listRouter(): Promise { + return apiFetch('/v1/models'); + } + + /** + * + * + * Load/Unload + * + * + */ + + /** + * Load a model (ROUTER mode only). + * Sends POST request to `/models/load`. Note: the endpoint returns success + * before loading completes — use polling to await actual load status. + * + * @param modelId - Model identifier to load + * @param extraArgs - Optional additional arguments to pass to the model instance + * @returns Load response from the server + */ + static async load(modelId: string, extraArgs?: string[]): Promise { + const payload: { model: string; extra_args?: string[] } = { model: modelId }; + if (extraArgs && extraArgs.length > 0) { + payload.extra_args = extraArgs; + } + + return apiPost('/models/load', payload); + } + + /** + * Unload a model (ROUTER mode only). + * Sends POST request to `/models/unload`. Note: the endpoint returns success + * before unloading completes — use polling to await actual unload status. + * + * @param modelId - Model identifier to unload + * @returns Unload response from the server + */ + static async unload(modelId: string): Promise { + return apiPost('/models/unload', { model: modelId }); + } + + /** + * + * + * Status + * + * + */ + + /** + * Check if a model is loaded based on its metadata. + * + * @param model - Model data entry from the API response + * @returns True if the model status is LOADED + */ + static isModelLoaded(model: ApiModelDataEntry): boolean { + return model.status.value === ServerModelStatus.LOADED; + } + + /** + * Check if a model is currently loading. + * + * @param model - Model data entry from the API response + * @returns True if the model status is LOADING + */ + static isModelLoading(model: ApiModelDataEntry): boolean { + return model.status.value === ServerModelStatus.LOADING; + } +} diff --git a/tools/server/webui/src/lib/services/parameter-sync.service.spec.ts b/tools/server/webui/src/lib/services/parameter-sync.service.spec.ts new file mode 100644 index 0000000000..46cce5e7cb --- /dev/null +++ b/tools/server/webui/src/lib/services/parameter-sync.service.spec.ts @@ -0,0 +1,148 @@ +import { describe, it, expect } from 'vitest'; +import { ParameterSyncService } from './parameter-sync.service'; + +describe('ParameterSyncService', () => { + describe('roundFloatingPoint', () => { + it('should fix JavaScript floating-point precision issues', () => { + // Test the specific values from the screenshot + const mockServerParams = { + top_p: 0.949999988079071, + min_p: 0.009999999776482582, + temperature: 0.800000011920929, + top_k: 40, + samplers: ['top_k', 'typ_p', 'top_p', 'min_p', 'temperature'] + }; + + const result = ParameterSyncService.extractServerDefaults({ + ...mockServerParams, + // Add other required fields to match the API type + n_predict: 512, + seed: -1, + dynatemp_range: 0.0, + dynatemp_exponent: 1.0, + xtc_probability: 0.0, + xtc_threshold: 0.1, + typ_p: 1.0, + repeat_last_n: 64, + repeat_penalty: 1.0, + presence_penalty: 0.0, + frequency_penalty: 0.0, + dry_multiplier: 0.0, + dry_base: 1.75, + dry_allowed_length: 2, + dry_penalty_last_n: -1, + mirostat: 0, + mirostat_tau: 5.0, + mirostat_eta: 0.1, + stop: [], + max_tokens: -1, + n_keep: 0, + n_discard: 0, + ignore_eos: false, + stream: true, + logit_bias: [], + n_probs: 0, + min_keep: 0, + grammar: '', + grammar_lazy: false, + grammar_triggers: [], + preserved_tokens: [], + chat_format: '', + reasoning_format: '', + reasoning_in_content: false, + thinking_forced_open: false, + 'speculative.n_max': 0, + 'speculative.n_min': 0, + 'speculative.p_min': 0.0, + timings_per_token: false, + post_sampling_probs: false, + lora: [], + top_n_sigma: 0.0, + dry_sequence_breakers: [] + } as ApiLlamaCppServerProps['default_generation_settings']['params']); + + // Check that the problematic floating-point values are rounded correctly + expect(result.top_p).toBe(0.95); + expect(result.min_p).toBe(0.01); + expect(result.temperature).toBe(0.8); + expect(result.top_k).toBe(40); // Integer should remain unchanged + expect(result.samplers).toBe('top_k;typ_p;top_p;min_p;temperature'); + }); + + it('should preserve non-numeric values', () => { + const mockServerParams = { + samplers: ['top_k', 'temperature'], + max_tokens: -1, + temperature: 0.7 + }; + + const result = ParameterSyncService.extractServerDefaults({ + ...mockServerParams, + // Minimal required fields + n_predict: 512, + seed: -1, + dynatemp_range: 0.0, + dynatemp_exponent: 1.0, + top_k: 40, + top_p: 0.95, + min_p: 0.05, + xtc_probability: 0.0, + xtc_threshold: 0.1, + typ_p: 1.0, + repeat_last_n: 64, + repeat_penalty: 1.0, + presence_penalty: 0.0, + frequency_penalty: 0.0, + dry_multiplier: 0.0, + dry_base: 1.75, + dry_allowed_length: 2, + dry_penalty_last_n: -1, + mirostat: 0, + mirostat_tau: 5.0, + mirostat_eta: 0.1, + stop: [], + n_keep: 0, + n_discard: 0, + ignore_eos: false, + stream: true, + logit_bias: [], + n_probs: 0, + min_keep: 0, + grammar: '', + grammar_lazy: false, + grammar_triggers: [], + preserved_tokens: [], + chat_format: '', + reasoning_format: '', + reasoning_in_content: false, + thinking_forced_open: false, + 'speculative.n_max': 0, + 'speculative.n_min': 0, + 'speculative.p_min': 0.0, + timings_per_token: false, + post_sampling_probs: false, + lora: [], + top_n_sigma: 0.0, + dry_sequence_breakers: [] + } as ApiLlamaCppServerProps['default_generation_settings']['params']); + + expect(result.samplers).toBe('top_k;temperature'); + expect(result.max_tokens).toBe(-1); + expect(result.temperature).toBe(0.7); + }); + + it('should merge webui settings from props when provided', () => { + const result = ParameterSyncService.extractServerDefaults(null, { + pasteLongTextToFileLen: 0, + pdfAsImage: true, + renderUserContentAsMarkdown: false, + theme: 'dark' + }); + + expect(result.pasteLongTextToFileLen).toBe(0); + expect(result.pdfAsImage).toBe(true); + expect(result.renderUserContentAsMarkdown).toBe(false); + expect(result.theme).toBeUndefined(); + }); + }); +}); diff --git a/tools/server/webui/src/lib/services/parameter-sync.service.ts b/tools/server/webui/src/lib/services/parameter-sync.service.ts new file mode 100644 index 0000000000..6cb53d12d1 --- /dev/null +++ b/tools/server/webui/src/lib/services/parameter-sync.service.ts @@ -0,0 +1,400 @@ +import { normalizeFloatingPoint } from '$lib/utils'; +import { SyncableParameterType, ParameterSource } from '$lib/enums/settings'; + +type ParameterValue = string | number | boolean; +type ParameterRecord = Record; + +interface ParameterInfo { + value: string | number | boolean; + source: ParameterSource; + serverDefault?: string | number | boolean; + userOverride?: string | number | boolean; +} + +interface SyncableParameter { + key: string; + serverKey: string; + type: SyncableParameterType; + canSync: boolean; +} + +/** + * Mapping of webui setting keys to server parameter keys. + * Only parameters listed here can be synced from the server `/props` endpoint. + * Each entry defines the webui key, corresponding server key, value type, + * and whether sync is enabled. + */ +export const SYNCABLE_PARAMETERS: SyncableParameter[] = [ + { + key: 'temperature', + serverKey: 'temperature', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { key: 'top_k', serverKey: 'top_k', type: SyncableParameterType.NUMBER, canSync: true }, + { key: 'top_p', serverKey: 'top_p', type: SyncableParameterType.NUMBER, canSync: true }, + { key: 'min_p', serverKey: 'min_p', type: SyncableParameterType.NUMBER, canSync: true }, + { + key: 'dynatemp_range', + serverKey: 'dynatemp_range', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { + key: 'dynatemp_exponent', + serverKey: 'dynatemp_exponent', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { + key: 'xtc_probability', + serverKey: 'xtc_probability', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { + key: 'xtc_threshold', + serverKey: 'xtc_threshold', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { key: 'typ_p', serverKey: 'typ_p', type: SyncableParameterType.NUMBER, canSync: true }, + { + key: 'repeat_last_n', + serverKey: 'repeat_last_n', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { + key: 'repeat_penalty', + serverKey: 'repeat_penalty', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { + key: 'presence_penalty', + serverKey: 'presence_penalty', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { + key: 'frequency_penalty', + serverKey: 'frequency_penalty', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { + key: 'dry_multiplier', + serverKey: 'dry_multiplier', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { key: 'dry_base', serverKey: 'dry_base', type: SyncableParameterType.NUMBER, canSync: true }, + { + key: 'dry_allowed_length', + serverKey: 'dry_allowed_length', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { + key: 'dry_penalty_last_n', + serverKey: 'dry_penalty_last_n', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { key: 'max_tokens', serverKey: 'max_tokens', type: SyncableParameterType.NUMBER, canSync: true }, + { key: 'samplers', serverKey: 'samplers', type: SyncableParameterType.STRING, canSync: true }, + { + key: 'pasteLongTextToFileLen', + serverKey: 'pasteLongTextToFileLen', + type: SyncableParameterType.NUMBER, + canSync: true + }, + { + key: 'pdfAsImage', + serverKey: 'pdfAsImage', + type: SyncableParameterType.BOOLEAN, + canSync: true + }, + { + key: 'showThoughtInProgress', + serverKey: 'showThoughtInProgress', + type: SyncableParameterType.BOOLEAN, + canSync: true + }, + { + key: 'keepStatsVisible', + serverKey: 'keepStatsVisible', + type: SyncableParameterType.BOOLEAN, + canSync: true + }, + { + key: 'showMessageStats', + serverKey: 'showMessageStats', + type: SyncableParameterType.BOOLEAN, + canSync: true + }, + { + key: 'askForTitleConfirmation', + serverKey: 'askForTitleConfirmation', + type: SyncableParameterType.BOOLEAN, + canSync: true + }, + { + key: 'disableAutoScroll', + serverKey: 'disableAutoScroll', + type: SyncableParameterType.BOOLEAN, + canSync: true + }, + { + key: 'renderUserContentAsMarkdown', + serverKey: 'renderUserContentAsMarkdown', + type: SyncableParameterType.BOOLEAN, + canSync: true + }, + { + key: 'autoMicOnEmpty', + serverKey: 'autoMicOnEmpty', + type: SyncableParameterType.BOOLEAN, + canSync: true + }, + { + key: 'pyInterpreterEnabled', + serverKey: 'pyInterpreterEnabled', + type: SyncableParameterType.BOOLEAN, + canSync: true + }, + { + key: 'enableContinueGeneration', + serverKey: 'enableContinueGeneration', + type: SyncableParameterType.BOOLEAN, + canSync: true + } +]; + +export class ParameterSyncService { + /** + * + * + * Extraction + * + * + */ + + /** + * Round floating-point numbers to avoid JavaScript precision issues. + * E.g., 0.1 + 0.2 = 0.30000000000000004 → 0.3 + * + * @param value - Parameter value to normalize + * @returns Precision-normalized value + */ + private static roundFloatingPoint(value: ParameterValue): ParameterValue { + return normalizeFloatingPoint(value) as ParameterValue; + } + + /** + * Extract server default parameters that can be synced from `/props` response. + * Handles both generation settings parameters and webui-specific settings. + * Converts samplers array to semicolon-delimited string for UI display. + * + * @param serverParams - Raw generation settings from server `/props` endpoint + * @param webuiSettings - Optional webui-specific settings from server + * @returns Record of extracted parameter key-value pairs with normalized precision + */ + static extractServerDefaults( + serverParams: ApiLlamaCppServerProps['default_generation_settings']['params'] | null, + webuiSettings?: Record + ): ParameterRecord { + const extracted: ParameterRecord = {}; + + if (serverParams) { + for (const param of SYNCABLE_PARAMETERS) { + if (param.canSync && param.serverKey in serverParams) { + const value = (serverParams as unknown as Record)[ + param.serverKey + ]; + if (value !== undefined) { + // Apply precision rounding to avoid JavaScript floating-point issues + extracted[param.key] = this.roundFloatingPoint(value); + } + } + } + + // Handle samplers array conversion to string + if (serverParams.samplers && Array.isArray(serverParams.samplers)) { + extracted.samplers = serverParams.samplers.join(';'); + } + } + + if (webuiSettings) { + for (const param of SYNCABLE_PARAMETERS) { + if (param.canSync && param.serverKey in webuiSettings) { + const value = webuiSettings[param.serverKey]; + if (value !== undefined) { + extracted[param.key] = this.roundFloatingPoint(value); + } + } + } + } + + return extracted; + } + + /** + * + * + * Merging + * + * + */ + + /** + * Merge server defaults with current user settings. + * User overrides always take priority — only parameters not in `userOverrides` + * set will be updated from server defaults. + * + * @param currentSettings - Current parameter values in the settings store + * @param serverDefaults - Default values extracted from server props + * @param userOverrides - Set of parameter keys explicitly overridden by the user + * @returns Merged parameter record with user overrides preserved + */ + static mergeWithServerDefaults( + currentSettings: ParameterRecord, + serverDefaults: ParameterRecord, + userOverrides: Set = new Set() + ): ParameterRecord { + const merged = { ...currentSettings }; + + for (const [key, serverValue] of Object.entries(serverDefaults)) { + // Only update if user hasn't explicitly overridden this parameter + if (!userOverrides.has(key)) { + merged[key] = this.roundFloatingPoint(serverValue); + } + } + + return merged; + } + + /** + * + * + * Info + * + * + */ + + /** + * Get parameter information including source and values. + * Used by ChatSettingsParameterSourceIndicator to display the correct badge + * (Custom vs Default) for each parameter in the settings UI. + * + * @param key - The parameter key to get info for + * @param currentValue - The current value of the parameter + * @param propsDefaults - Server default values from `/props` + * @param userOverrides - Set of parameter keys explicitly overridden by the user + * @returns Parameter info with source, server default, and user override values + */ + static getParameterInfo( + key: string, + currentValue: ParameterValue, + propsDefaults: ParameterRecord, + userOverrides: Set + ): ParameterInfo { + const hasPropsDefault = propsDefaults[key] !== undefined; + const isUserOverride = userOverrides.has(key); + + // Simple logic: either using default (from props) or custom (user override) + const source = isUserOverride ? ParameterSource.CUSTOM : ParameterSource.DEFAULT; + + return { + value: currentValue, + source, + serverDefault: hasPropsDefault ? propsDefaults[key] : undefined, // Keep same field name for compatibility + userOverride: isUserOverride ? currentValue : undefined + }; + } + + /** + * Check if a parameter can be synced from server. + * + * @param key - The parameter key to check + * @returns True if the parameter is in the syncable parameters list + */ + static canSyncParameter(key: string): boolean { + return SYNCABLE_PARAMETERS.some((param) => param.key === key && param.canSync); + } + + /** + * Get all syncable parameter keys. + * + * @returns Array of parameter keys that can be synced from server + */ + static getSyncableParameterKeys(): string[] { + return SYNCABLE_PARAMETERS.filter((param) => param.canSync).map((param) => param.key); + } + + /** + * Validate a server parameter value against its expected type. + * + * @param key - The parameter key to validate + * @param value - The value to validate + * @returns True if value matches the expected type for this parameter + */ + static validateServerParameter(key: string, value: ParameterValue): boolean { + const param = SYNCABLE_PARAMETERS.find((p) => p.key === key); + if (!param) return false; + + switch (param.type) { + case SyncableParameterType.NUMBER: + return typeof value === 'number' && !isNaN(value); + case SyncableParameterType.STRING: + return typeof value === 'string'; + case SyncableParameterType.BOOLEAN: + return typeof value === 'boolean'; + default: + return false; + } + } + + /** + * + * + * Diff + * + * + */ + + /** + * Create a diff between current settings and server defaults. + * Shows which parameters differ from server values, useful for debugging + * and for the "Reset to defaults" functionality. + * + * @param currentSettings - Current parameter values in the settings store + * @param serverDefaults - Default values extracted from server props + * @returns Record of parameter diffs with current value, server value, and whether they differ + */ + static createParameterDiff( + currentSettings: ParameterRecord, + serverDefaults: ParameterRecord + ): Record { + const diff: Record< + string, + { current: ParameterValue; server: ParameterValue; differs: boolean } + > = {}; + + for (const key of this.getSyncableParameterKeys()) { + const currentValue = currentSettings[key]; + const serverValue = serverDefaults[key]; + + if (serverValue !== undefined) { + diff[key] = { + current: currentValue, + server: serverValue, + differs: currentValue !== serverValue + }; + } + } + + return diff; + } +} diff --git a/tools/server/webui/src/lib/services/props.service.ts b/tools/server/webui/src/lib/services/props.service.ts new file mode 100644 index 0000000000..7373b7e016 --- /dev/null +++ b/tools/server/webui/src/lib/services/props.service.ts @@ -0,0 +1,47 @@ +import { apiFetchWithParams } from '$lib/utils/api-fetch'; + +export class PropsService { + /** + * + * + * Fetching + * + * + */ + + /** + * Fetches global server properties from the `/props` endpoint. + * In MODEL mode, returns modalities for the single loaded model. + * In ROUTER mode, returns server-wide settings without model-specific modalities. + * + * @param autoload - If false, prevents automatic model loading (default: false) + * @returns Server properties including default generation settings and capabilities + * @throws {Error} If the request fails or returns invalid data + */ + static async fetch(autoload = false): Promise { + const params: Record = {}; + if (!autoload) { + params.autoload = 'false'; + } + + return apiFetchWithParams('./props', params, { authOnly: true }); + } + + /** + * Fetches server properties for a specific model (ROUTER mode only). + * Required in ROUTER mode because global `/props` does not include per-model modalities. + * + * @param modelId - The model ID to fetch properties for + * @param autoload - If false, prevents automatic model loading (default: false) + * @returns Server properties specific to the requested model + * @throws {Error} If the request fails, model not found, or model not loaded + */ + static async fetchForModel(modelId: string, autoload = false): Promise { + const params: Record = { model: modelId }; + if (!autoload) { + params.autoload = 'false'; + } + + return apiFetchWithParams('./props', params, { authOnly: true }); + } +} diff --git a/tools/server/webui/src/lib/types/api.d.ts b/tools/server/webui/src/lib/types/api.d.ts index 714509f024..307e3b71d9 100644 --- a/tools/server/webui/src/lib/types/api.d.ts +++ b/tools/server/webui/src/lib/types/api.d.ts @@ -1,8 +1,19 @@ -import type { ServerModelStatus, ServerRole } from '$lib/enums'; -import type { ChatMessagePromptProgress } from './chat'; +import type { ContentPartType, ServerModelStatus, ServerRole } from '$lib/enums'; +import type { ChatMessagePromptProgress, ChatRole } from './chat'; + +export interface ApiChatCompletionToolFunction { + name: string; + description?: string; + parameters: Record; +} + +export interface ApiChatCompletionTool { + type: 'function'; + function: ApiChatCompletionToolFunction; +} export interface ApiChatMessageContentPart { - type: 'text' | 'image_url' | 'input_audio'; + type: ContentPartType; text?: string; image_url?: { url: string; @@ -34,6 +45,8 @@ export interface ApiErrorResponse { export interface ApiChatMessageData { role: ChatRole; content: string | ApiChatMessageContentPart[]; + tool_calls?: ApiChatCompletionToolCall[]; + tool_call_id?: string; timestamp?: number; } @@ -188,6 +201,7 @@ export interface ApiChatCompletionRequest { stream?: boolean; model?: string; return_progress?: boolean; + tools?: ApiChatCompletionTool[]; // Reasoning parameters reasoning_format?: string; // Generation parameters @@ -247,6 +261,7 @@ export interface ApiChatCompletionStreamChunk { model?: string; tool_calls?: ApiChatCompletionToolCallDelta[]; }; + finish_reason?: string | null; }>; timings?: { prompt_n?: number; @@ -267,8 +282,9 @@ export interface ApiChatCompletionResponse { content: string; reasoning_content?: string; model?: string; - tool_calls?: ApiChatCompletionToolCallDelta[]; + tool_calls?: ApiChatCompletionToolCall[]; }; + finish_reason?: string | null; }>; } @@ -335,7 +351,7 @@ export interface ApiProcessingState { tokensDecoded: number; tokensRemaining: number; contextUsed: number; - contextTotal: number; + contextTotal: number | null; outputTokensUsed: number; // Total output tokens (thinking + regular content) outputTokensMax: number; // Max output tokens allowed temperature: number; diff --git a/tools/server/webui/src/lib/types/models.d.ts b/tools/server/webui/src/lib/types/models.d.ts index ef44a2cb6d..505867a1f0 100644 --- a/tools/server/webui/src/lib/types/models.d.ts +++ b/tools/server/webui/src/lib/types/models.d.ts @@ -1,8 +1,5 @@ import type { ApiModelDataEntry, ApiModelDetails } from '$lib/types/api'; -/** - * Model modalities - vision and audio capabilities - */ export interface ModelModalities { vision: boolean; audio: boolean; @@ -14,8 +11,15 @@ export interface ModelOption { model: string; description?: string; capabilities: string[]; - /** Model modalities from /props endpoint */ modalities?: ModelModalities; details?: ApiModelDetails['details']; meta?: ApiModelDataEntry['meta']; } + +/** + * Modality capabilities for file validation + */ +export interface ModalityCapabilities { + hasVision: boolean; + hasAudio: boolean; +} diff --git a/tools/server/webui/src/lib/utils/abort.ts b/tools/server/webui/src/lib/utils/abort.ts new file mode 100644 index 0000000000..fc4f31ec69 --- /dev/null +++ b/tools/server/webui/src/lib/utils/abort.ts @@ -0,0 +1,151 @@ +/** + * Abort Signal Utilities + * + * Provides utilities for consistent AbortSignal propagation across the application. + * These utilities help ensure that async operations can be properly cancelled + * when needed (e.g., user stops generation, navigates away, etc.). + */ + +/** + * Throws an AbortError if the signal is aborted. + * Use this at the start of async operations to fail fast. + * + * @param signal - Optional AbortSignal to check + * @throws DOMException with name 'AbortError' if signal is aborted + * + * @example + * ```ts + * async function fetchData(signal?: AbortSignal) { + * throwIfAborted(signal); + * // ... proceed with operation + * } + * ``` + */ +export function throwIfAborted(signal?: AbortSignal): void { + if (signal?.aborted) { + throw new DOMException('Operation was aborted', 'AbortError'); + } +} + +/** + * Checks if an error is an AbortError. + * Use this to distinguish between user-initiated cancellation and actual errors. + * + * @param error - Error to check + * @returns true if the error is an AbortError + * + * @example + * ```ts + * try { + * await fetchData(signal); + * } catch (error) { + * if (isAbortError(error)) { + * // User cancelled - no error dialog needed + * return; + * } + * // Handle actual error + * } + * ``` + */ +export function isAbortError(error: unknown): boolean { + if (error instanceof DOMException && error.name === 'AbortError') { + return true; + } + if (error instanceof Error && error.name === 'AbortError') { + return true; + } + return false; +} + +/** + * Creates a new AbortController that is linked to one or more parent signals. + * When any parent signal aborts, the returned controller also aborts. + * + * Useful for creating child operations that should be cancelled when + * either the parent operation or their own timeout/condition triggers. + * + * @param signals - Parent signals to link to (undefined signals are ignored) + * @returns A new AbortController linked to all provided signals + * + * @example + * ```ts + * // Link to user's abort signal and add a timeout + * const linked = createLinkedController(userSignal, timeoutSignal); + * await fetch(url, { signal: linked.signal }); + * ``` + */ +export function createLinkedController(...signals: (AbortSignal | undefined)[]): AbortController { + const controller = new AbortController(); + + for (const signal of signals) { + if (!signal) continue; + + // If already aborted, abort immediately + if (signal.aborted) { + controller.abort(signal.reason); + return controller; + } + + // Link to parent signal + signal.addEventListener('abort', () => controller.abort(signal.reason), { once: true }); + } + + return controller; +} + +/** + * Creates an AbortSignal that times out after the specified duration. + * + * @param ms - Timeout duration in milliseconds + * @returns AbortSignal that will abort after the timeout + * + * @example + * ```ts + * const signal = createTimeoutSignal(5000); // 5 second timeout + * await fetch(url, { signal }); + * ``` + */ +export function createTimeoutSignal(ms: number): AbortSignal { + return AbortSignal.timeout(ms); +} + +/** + * Wraps a promise to reject if the signal is aborted. + * Useful for making non-abortable promises respect an AbortSignal. + * + * @param promise - Promise to wrap + * @param signal - AbortSignal to respect + * @returns Promise that rejects with AbortError if signal aborts + * + * @example + * ```ts + * // Make a non-abortable operation respect abort signal + * const result = await withAbortSignal( + * someNonAbortableOperation(), + * signal + * ); + * ``` + */ +export async function withAbortSignal(promise: Promise, signal?: AbortSignal): Promise { + if (!signal) return promise; + + throwIfAborted(signal); + + return new Promise((resolve, reject) => { + const abortHandler = () => { + reject(new DOMException('Operation was aborted', 'AbortError')); + }; + + signal.addEventListener('abort', abortHandler, { once: true }); + + promise + .then((value) => { + signal.removeEventListener('abort', abortHandler); + resolve(value); + }) + .catch((error) => { + signal.removeEventListener('abort', abortHandler); + reject(error); + }); + }); +} diff --git a/tools/server/webui/src/lib/utils/api-fetch.ts b/tools/server/webui/src/lib/utils/api-fetch.ts new file mode 100644 index 0000000000..8081ef2ec2 --- /dev/null +++ b/tools/server/webui/src/lib/utils/api-fetch.ts @@ -0,0 +1,155 @@ +import { base } from '$app/paths'; +import { getJsonHeaders, getAuthHeaders } from './api-headers'; + +/** + * API Fetch Utilities + * + * Provides common fetch patterns used across services: + * - Automatic JSON headers + * - Error handling with proper error messages + * - Base path resolution + */ + +export interface ApiFetchOptions extends Omit { + /** + * Use auth-only headers (no Content-Type). + * Default: false (uses JSON headers with Content-Type: application/json) + */ + authOnly?: boolean; + /** + * Additional headers to merge with default headers. + */ + headers?: Record; +} + +/** + * Fetch JSON data from an API endpoint with standard headers and error handling. + * + * @param path - API path (will be prefixed with base path) + * @param options - Fetch options with additional authOnly flag + * @returns Parsed JSON response + * @throws Error with formatted message on failure + * + * @example + * ```typescript + * // GET request + * const models = await apiFetch('/v1/models'); + * + * // POST request + * const result = await apiFetch('/models/load', { + * method: 'POST', + * body: JSON.stringify({ model: 'gpt-4' }) + * }); + * ``` + */ +export async function apiFetch(path: string, options: ApiFetchOptions = {}): Promise { + const { authOnly = false, headers: customHeaders, ...fetchOptions } = options; + + const baseHeaders = authOnly ? getAuthHeaders() : getJsonHeaders(); + const headers = { ...baseHeaders, ...customHeaders }; + + const url = + path.startsWith('http://') || path.startsWith('https://') ? path : `${base}${path}`; + + const response = await fetch(url, { + ...fetchOptions, + headers + }); + + if (!response.ok) { + const errorMessage = await parseErrorMessage(response); + throw new Error(errorMessage); + } + + return response.json() as Promise; +} + +/** + * Fetch with URL constructed from base URL and query parameters. + * + * @param basePath - Base API path + * @param params - Query parameters to append + * @param options - Fetch options + * @returns Parsed JSON response + * + * @example + * ```typescript + * const props = await apiFetchWithParams('./props', { + * model: 'gpt-4', + * autoload: 'false' + * }); + * ``` + */ +export async function apiFetchWithParams( + basePath: string, + params: Record, + options: ApiFetchOptions = {} +): Promise { + const url = new URL(basePath, window.location.href); + + for (const [key, value] of Object.entries(params)) { + if (value !== undefined && value !== null) { + url.searchParams.set(key, value); + } + } + + const { authOnly = false, headers: customHeaders, ...fetchOptions } = options; + + const baseHeaders = authOnly ? getAuthHeaders() : getJsonHeaders(); + const headers = { ...baseHeaders, ...customHeaders }; + + const response = await fetch(url.toString(), { + ...fetchOptions, + headers + }); + + if (!response.ok) { + const errorMessage = await parseErrorMessage(response); + throw new Error(errorMessage); + } + + return response.json() as Promise; +} + +/** + * POST JSON data to an API endpoint. + * + * @param path - API path + * @param body - Request body (will be JSON stringified) + * @param options - Additional fetch options + * @returns Parsed JSON response + */ +export async function apiPost( + path: string, + body: B, + options: ApiFetchOptions = {} +): Promise { + return apiFetch(path, { + method: 'POST', + body: JSON.stringify(body), + ...options + }); +} + +/** + * Parse error message from a failed response. + * Tries to extract error message from JSON body, falls back to status text. + */ +async function parseErrorMessage(response: Response): Promise { + try { + const errorData = await response.json(); + if (errorData?.error?.message) { + return errorData.error.message; + } + if (errorData?.error && typeof errorData.error === 'string') { + return errorData.error; + } + if (errorData?.message) { + return errorData.message; + } + } catch { + // JSON parsing failed, use status text + } + + return `Request failed: ${response.status} ${response.statusText}`; +} diff --git a/tools/server/webui/src/lib/utils/branching.ts b/tools/server/webui/src/lib/utils/branching.ts index 3be56047a5..ee3a505eed 100644 --- a/tools/server/webui/src/lib/utils/branching.ts +++ b/tools/server/webui/src/lib/utils/branching.ts @@ -15,6 +15,8 @@ * └── message 5 (assistant) */ +import { MessageRole } from '$lib/enums/chat'; + /** * Filters messages to get the conversation path from root to a specific leaf node. * If the leafNodeId doesn't exist, returns the path with the latest timestamp. @@ -65,8 +67,13 @@ export function filterByLeafNodeId( currentNode = nodeMap.get(currentNode.parent); } - // Sort by timestamp to get chronological order (root to leaf) - result.sort((a, b) => a.timestamp - b.timestamp); + // Sort: system messages first, then by timestamp + result.sort((a, b) => { + if (a.role === MessageRole.SYSTEM && b.role !== MessageRole.SYSTEM) return -1; + if (a.role !== MessageRole.SYSTEM && b.role === MessageRole.SYSTEM) return 1; + + return a.timestamp - b.timestamp; + }); return result; } diff --git a/tools/server/webui/src/lib/utils/browser-only.ts b/tools/server/webui/src/lib/utils/browser-only.ts index 0af800638b..27d2be4aaa 100644 --- a/tools/server/webui/src/lib/utils/browser-only.ts +++ b/tools/server/webui/src/lib/utils/browser-only.ts @@ -23,7 +23,7 @@ export { } from './pdf-processing'; // File conversion utilities (depends on pdf-processing) -export { parseFilesToMessageExtras, type FileProcessingResult } from './convert-files-to-extra'; +export { parseFilesToMessageExtras } from './convert-files-to-extra'; // File upload processing utilities (depends on pdf-processing, svg-to-png, webp-to-png) export { processFilesToChatUploaded } from './process-uploaded-files'; diff --git a/tools/server/webui/src/lib/utils/cache-ttl.ts b/tools/server/webui/src/lib/utils/cache-ttl.ts new file mode 100644 index 0000000000..9d1f005822 --- /dev/null +++ b/tools/server/webui/src/lib/utils/cache-ttl.ts @@ -0,0 +1,293 @@ +const DEFAULT_CACHE_TTL_MS = 5 * 60 * 1000; +const DEFAULT_CACHE_MAX_ENTRIES = 100; + +/** + * TTL Cache - Time-To-Live cache implementation for memory optimization + * + * Provides automatic expiration of cached entries to prevent memory bloat + * in long-running sessions. + * + * @example + * ```ts + * const cache = new TTLCache({ ttlMs: 5 * 60 * 1000 }); // 5 minutes + * cache.set('key', data); + * const value = cache.get('key'); // null if expired + * ``` + */ + +export interface TTLCacheOptions { + /** Time-to-live in milliseconds. Default: 5 minutes */ + ttlMs?: number; + /** Maximum number of entries. Oldest entries are evicted when exceeded. Default: 100 */ + maxEntries?: number; + /** Callback when an entry expires or is evicted */ + onEvict?: (key: string, value: unknown) => void; +} + +interface CacheEntry { + value: T; + expiresAt: number; + lastAccessed: number; +} + +export class TTLCache { + private cache = new Map>(); + private readonly ttlMs: number; + private readonly maxEntries: number; + private readonly onEvict?: (key: string, value: unknown) => void; + + constructor(options: TTLCacheOptions = {}) { + this.ttlMs = options.ttlMs ?? DEFAULT_CACHE_TTL_MS; + this.maxEntries = options.maxEntries ?? DEFAULT_CACHE_MAX_ENTRIES; + this.onEvict = options.onEvict; + } + + /** + * Get a value from cache. Returns null if expired or not found. + */ + get(key: K): V | null { + const entry = this.cache.get(key); + if (!entry) return null; + + if (Date.now() > entry.expiresAt) { + this.delete(key); + return null; + } + + // Update last accessed time for LRU-like behavior + entry.lastAccessed = Date.now(); + return entry.value; + } + + /** + * Set a value in cache with TTL. + */ + set(key: K, value: V, customTtlMs?: number): void { + // Evict oldest entries if at capacity + if (this.cache.size >= this.maxEntries && !this.cache.has(key)) { + this.evictOldest(); + } + + const ttl = customTtlMs ?? this.ttlMs; + const now = Date.now(); + + this.cache.set(key, { + value, + expiresAt: now + ttl, + lastAccessed: now + }); + } + + /** + * Check if key exists and is not expired. + */ + has(key: K): boolean { + const entry = this.cache.get(key); + if (!entry) return false; + + if (Date.now() > entry.expiresAt) { + this.delete(key); + return false; + } + + return true; + } + + /** + * Delete a specific key from cache. + */ + delete(key: K): boolean { + const entry = this.cache.get(key); + if (entry && this.onEvict) { + this.onEvict(key, entry.value); + } + return this.cache.delete(key); + } + + /** + * Clear all entries from cache. + */ + clear(): void { + if (this.onEvict) { + for (const [key, entry] of this.cache) { + this.onEvict(key, entry.value); + } + } + this.cache.clear(); + } + + /** + * Get the number of entries (including potentially expired ones). + */ + get size(): number { + return this.cache.size; + } + + /** + * Remove all expired entries from cache. + * Call periodically for proactive cleanup. + */ + prune(): number { + const now = Date.now(); + let pruned = 0; + + for (const [key, entry] of this.cache) { + if (now > entry.expiresAt) { + this.delete(key); + pruned++; + } + } + + return pruned; + } + + /** + * Get all valid (non-expired) keys. + */ + keys(): K[] { + const now = Date.now(); + const validKeys: K[] = []; + + for (const [key, entry] of this.cache) { + if (now <= entry.expiresAt) { + validKeys.push(key); + } + } + + return validKeys; + } + + /** + * Evict the oldest (least recently accessed) entry. + */ + private evictOldest(): void { + let oldestKey: K | null = null; + let oldestTime = Infinity; + + for (const [key, entry] of this.cache) { + if (entry.lastAccessed < oldestTime) { + oldestTime = entry.lastAccessed; + oldestKey = key; + } + } + + if (oldestKey !== null) { + this.delete(oldestKey); + } + } + + /** + * Refresh TTL for an existing entry without changing the value. + */ + touch(key: K): boolean { + const entry = this.cache.get(key); + if (!entry) return false; + + const now = Date.now(); + if (now > entry.expiresAt) { + this.delete(key); + return false; + } + + entry.expiresAt = now + this.ttlMs; + entry.lastAccessed = now; + return true; + } +} + +/** + * Reactive TTL Map for Svelte stores + * Wraps SvelteMap with TTL functionality + */ +export class ReactiveTTLMap { + private entries = $state>>(new Map()); + private readonly ttlMs: number; + private readonly maxEntries: number; + + constructor(options: TTLCacheOptions = {}) { + this.ttlMs = options.ttlMs ?? DEFAULT_CACHE_TTL_MS; + this.maxEntries = options.maxEntries ?? DEFAULT_CACHE_MAX_ENTRIES; + } + + get(key: K): V | null { + const entry = this.entries.get(key); + if (!entry) return null; + + if (Date.now() > entry.expiresAt) { + this.entries.delete(key); + return null; + } + + entry.lastAccessed = Date.now(); + return entry.value; + } + + set(key: K, value: V, customTtlMs?: number): void { + if (this.entries.size >= this.maxEntries && !this.entries.has(key)) { + this.evictOldest(); + } + + const ttl = customTtlMs ?? this.ttlMs; + const now = Date.now(); + + this.entries.set(key, { + value, + expiresAt: now + ttl, + lastAccessed: now + }); + } + + has(key: K): boolean { + const entry = this.entries.get(key); + if (!entry) return false; + + if (Date.now() > entry.expiresAt) { + this.entries.delete(key); + return false; + } + + return true; + } + + delete(key: K): boolean { + return this.entries.delete(key); + } + + clear(): void { + this.entries.clear(); + } + + get size(): number { + return this.entries.size; + } + + prune(): number { + const now = Date.now(); + let pruned = 0; + + for (const [key, entry] of this.entries) { + if (now > entry.expiresAt) { + this.entries.delete(key); + pruned++; + } + } + + return pruned; + } + + private evictOldest(): void { + let oldestKey: K | null = null; + let oldestTime = Infinity; + + for (const [key, entry] of this.entries) { + if (entry.lastAccessed < oldestTime) { + oldestTime = entry.lastAccessed; + oldestKey = key; + } + } + + if (oldestKey !== null) { + this.entries.delete(oldestKey); + } + } +} diff --git a/tools/server/webui/src/lib/utils/code.ts b/tools/server/webui/src/lib/utils/code.ts new file mode 100644 index 0000000000..67efc6b27e --- /dev/null +++ b/tools/server/webui/src/lib/utils/code.ts @@ -0,0 +1,85 @@ +import hljs from 'highlight.js'; +import { + NEWLINE, + DEFAULT_LANGUAGE, + LANG_PATTERN, + AMPERSAND_REGEX, + LT_REGEX, + GT_REGEX, + FENCE_PATTERN +} from '$lib/constants/code'; + +export interface IncompleteCodeBlock { + language: string; + code: string; + openingIndex: number; +} + +/** + * Highlights code using highlight.js + * @param code - The code to highlight + * @param language - The programming language + * @returns HTML string with syntax highlighting + */ +export function highlightCode(code: string, language: string): string { + if (!code) return ''; + + try { + const lang = language.toLowerCase(); + const isSupported = hljs.getLanguage(lang); + + if (isSupported) { + return hljs.highlight(code, { language: lang }).value; + } else { + return hljs.highlightAuto(code).value; + } + } catch { + // Fallback to escaped plain text + return code + .replace(AMPERSAND_REGEX, '&') + .replace(LT_REGEX, '<') + .replace(GT_REGEX, '>'); + } +} + +/** + * Detects if markdown ends with an incomplete code block (opened but not closed). + * Returns the code block info if found, null otherwise. + * @param markdown - The raw markdown string to check + * @returns IncompleteCodeBlock info or null + */ +export function detectIncompleteCodeBlock(markdown: string): IncompleteCodeBlock | null { + // Count all code fences in the markdown + // A code block is incomplete if there's an odd number of ``` fences + const fencePattern = new RegExp(FENCE_PATTERN.source, FENCE_PATTERN.flags); + const fences: number[] = []; + let fenceMatch; + + while ((fenceMatch = fencePattern.exec(markdown)) !== null) { + // Store the position after the ``` + const pos = fenceMatch[0].startsWith(NEWLINE) ? fenceMatch.index + 1 : fenceMatch.index; + fences.push(pos); + } + + // If even number of fences (including 0), all code blocks are closed + if (fences.length % 2 === 0) { + return null; + } + + // Odd number means last code block is incomplete + // The last fence is the opening of the incomplete block + const openingIndex = fences[fences.length - 1]; + const afterOpening = markdown.slice(openingIndex + 3); + + // Extract language and code content + const langMatch = afterOpening.match(LANG_PATTERN); + const language = langMatch?.[1] || DEFAULT_LANGUAGE; + const codeStartIndex = openingIndex + 3 + (langMatch?.[0]?.length ?? 0); + const code = markdown.slice(codeStartIndex); + + return { + language, + code, + openingIndex + }; +} diff --git a/tools/server/webui/src/lib/utils/data-url.ts b/tools/server/webui/src/lib/utils/data-url.ts new file mode 100644 index 0000000000..6f55be793d --- /dev/null +++ b/tools/server/webui/src/lib/utils/data-url.ts @@ -0,0 +1,10 @@ +/** + * Creates a base64 data URL from MIME type and base64-encoded data. + * + * @param mimeType - The MIME type (e.g., 'image/png', 'audio/mp3') + * @param base64Data - The base64-encoded data + * @returns A data URL string in format 'data:{mimeType};base64,{data}' + */ +export function createBase64DataUrl(mimeType: string, base64Data: string): string { + return `data:${mimeType};base64,${base64Data}`; +} diff --git a/tools/server/webui/src/lib/utils/debounce.ts b/tools/server/webui/src/lib/utils/debounce.ts new file mode 100644 index 0000000000..90a5a01783 --- /dev/null +++ b/tools/server/webui/src/lib/utils/debounce.ts @@ -0,0 +1,22 @@ +/** + * @param fn - The function to debounce + * @param delay - The delay in milliseconds + * @returns A debounced version of the function + */ +export function debounce) => void>( + fn: T, + delay: number +): (...args: Parameters) => void { + let timeoutId: ReturnType | null = null; + + return (...args: Parameters) => { + if (timeoutId) { + clearTimeout(timeoutId); + } + + timeoutId = setTimeout(() => { + fn(...args); + timeoutId = null; + }, delay); + }; +} diff --git a/tools/server/webui/src/lib/utils/image-error-fallback.ts b/tools/server/webui/src/lib/utils/image-error-fallback.ts new file mode 100644 index 0000000000..6e3260f4ae --- /dev/null +++ b/tools/server/webui/src/lib/utils/image-error-fallback.ts @@ -0,0 +1,10 @@ +/** + * Simplified HTML fallback for external images that fail to load. + * Displays a centered message with a link to open the image in a new tab. + */ +export function getImageErrorFallbackHtml(src: string): string { + return `

      OsreVT?8=fzQ|V+!7E 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ⅇCh0zylNDBe^rgc(yR1@6(i;PF{yH{F{65- zF=zTM<>tg_nDtjp+0ZQvty3HoskSRC+z@l2s6p{wh~rp-uGiL-&S!{D&LVYUQ4%vT zb}Y;Si+{vQdMvgtN%Mh_runD0G&_J>EYEc4BxNO8h^-UCKJqm85b1G?1%lp3B*O{4KT-wv zL(UF4H>Wel*ao5r!INE1Ld#jSc?j}dJju$56o2^%O(zVZTpdM6p9Mc(mjZH+B?L&tb5NGm=ML zNPq0%W~cif5$;;j8IF(YlQ+bY!ocLD{br2neACD^PQg9v<18VihD$l)Gn}BBSimZt zsxG~G>C;ToO?X*~Vr?h;6Nj2muIHrh^0XdL^B5k+n@e-x_lWG}ED`&Le5t8&%viRZ zTyDOk>xy0a)JfYSYb|~vT@#N_ug}45h<{u&a0N&G-?#{f&xomPa^E;IB8!ffrtzOO z3|u?D%~rvfW`j5;&^+4{^npBPG+mnFG?=7W8yM7S=E3wqMzg0PNMatBMuhr=)KW`A zx>X*C>Nv3-H#4DM!nZ^RVjW^RZm*rCp3)hCH0TC|?(~{O!Z%D}sGj)nrI~qHRAM9? zmXf4o#wMw@yMjHX=Y0)?u1%xXOMh9C_mU?%Eo$-5+gUs>sMOzN~< z`u0Yb7BLXt!N{4c5Ee<^^s6HOiFk<@G{Be)NzBJ@niS5RX<|5brip&)%+mbOnI=XC zJJO7@)o>!Ck_7*_5=ko;xHb|?KDfm5>e=*?a2N#R;b3%~Et24Jo!}&KZUI%7+#C!b z0lt_091JLbe-2$r_JqC&`Tl)G;8$wFb( z@OZ44CHM#OxObdOpi*H}Y{g7@l^n0aVlgeo3MocahB!Y$h)C-YQL>RC2w=c50`+~; z`2_bQ)u~x^%6VB8%9;N5aynmsPKWfe7F#I1CX3qq{quw<-^&t8g_pG* z3@m@L7>mWAE6LYZVO|o8OOOaSlATiHzE5h*c1e?cHX+tfPhiRP2yEmqI73Qy{u3qG zGHodu4}#LGQcqn!5Kv!lB#^Cr5(&+VawnUVq}`Orqai||R3wsAmX7U3ePU`fTS}NY zSv(B5ic}jZRXILfN_jp6^W-oPtCA~UQW}4hd8Q4`Jkh%?Pt{>+X>qdU3FR)RntGL4 zrRq&h#8P^>8!D$|b>56O4EkJq~J#k~GqVMdRrK0n2}c z(6w^K>6F2dnq(xLQ;EcVkXlHzr?Eh@3mj+%vrdx2)@NyKHx9;m0* z61uCLZX=_dOkB(v$r$4NDpOfTJCuLZ!9F?s6^vniKFPyT6p9cs@UnPb#gLk;n0ZF_ zLXvK>b4bh%RvyhyqM8&b8i}XlP7(rBT4NcbNRmWN#`OIpfjAr(A1Pf`N-sCX$es{( zvNR@yHu}^IS`9MkFNTxDlP2|Kw9vFl9>(fMf+ohprW=#OYnT$M7$WK3l%#*U;66=? zGWsMnK{roQr)A-iX-p1-Hf0@}YBk0t~Ls7B9CNl|02g5WXf7>$q* zDN{W9Iyn4- zHflM_*plDEIqJ6|cGYP`l)neN%bncr5*%hkVRi`x8<<>T*@RIgP+Fih4CQRNNLeOQ zPYn=-&|U)e9Xl=uc&RkTrj4wcsWel26(}Lo%yr5&d~W!&13hOba8G~vXiEL{EH4%J zGJA=cb~{zN@4dy6u6J&E;DnQiCpPp7{2Y2LATV-dZ@84B>#g{PQ0 zv~ihx03FVV#9h_N)dgXAPG~C{%<|#XJu9b-2Qc%&M=+_GdvH;H7!ISVaGv9roB9|~ z#n&{~bmp1(4=#9W5b802BtTz}5Vf=lV055|*>-FdewPPmkz9bY2$;6wtOpVPS#f$X zDo!zb4hp_UKcs~0Luyz*BqVFhB`cPvVuVl`*^>yvH90=fNRNFZTw>IMhmGRbUXSO7 z)52(fqM{EW2|kD(qPd(~FbpijrDJ3Z#IL-{jx}Wria9jySexKJIkAWKarW)if@ zB?-!4Pg6KBMUR1rhx`%!U|7nCZZWQhIN6+k7Cb{B8AEjpO0hqJr!3uG8Spx(COyn? zI>@ITEiN5w@$@g-E0nP!U%*%~_)0eMa5=#b6+Y!sXvdQn3R2GkRv^R6!Uf3%8L>s@ z^s;k3#sx<~oky_dr+@`309#@+m%`?JQCgz!P<2iBg}&)hJc4w2%r-Err@ckD-KyAs z$f`_ED=eUTi@~4_;VH|lXgN5yS|?8mHgh67KI{RVqQVHb6EUp;w+i6f)$l-KIXAaz z#*VGef5+~vyMDk@sVG)pNw8T)zf1jvumL=RiGnTpH8`J`#%%1QusabHKj3<5*|0!^ zXVUc6xW#b$x^<7v{wlJgRdjNM!`P^Q@DR3xnRr^;Q7Gor5}L#tT#CsFo+=D>$F1<^ zBQDD4AApqBTKawOlJ>Ft^~Ng5v(}UE?#}N6ganqM8B{%?O6ZdU2p2$<&q3-jA5O$e zY;4cvOy6YDlDgS6-9I@rheR69rw=2PkKq26Q09#{wU*EK^1>WgMc{k%1!0iBFUg7x@8!DE*KPIorW)DB_edKCl!ROeF~)krkZ*`Q*EaprtQLr zJOv&xGZ5pxh+8kk*DzOVz+8`N@1PI>521SSW{G6#;iAzl{9)%l$+g`%7HA3yL$1|^ zu9|4d>8a81R{WTu){mkl4zo2(9qk$EUV_NWg%Imv9!cmNI4*a^axr^B)ZI@-O9OEqe_#pvMfB;Xn57|t$gj+3S<^Gt%O;q*yU zO!|P0P&Og5iFIvKKc1MN7$^!fr5Z*OQbp7LKzV=m3FpURrX*Cc!_iVY4Vz|D-24!v zagQ(^O~UXWs8Rp{NcV{t(Y-?A;R{JD?D$D6xf$nJ`QQ?9>+2Y4Lu`PxP8%c1{_y~d zWQK+61xg7F+YOVu+)E?&1F<^9C0AVPiwK4npgn`uGBqNt(fZ7gSE=Xii$wRF%b(d3Z5>Ne6)C6(`( z63+xY*VUi%K}j9rm%|KNQ!fM_&fT$UHEDb*Is!(Vy3>~gP7cP@@)?qdP7c%yVCXcT zj#)Pkt3fNmP7_E(RtsCKC1FG?2?@dAQxGXLB#Q(A+e5%{#zHs@+3^I{xjh+S=C3y) z`^VSN z$)tNiz9RdIdD8-U<4PziL$+>xWvvOT%hZ~ZEDpLRd~MEWlXV|%G{EQlpE_kvpQ~?u zEH3YyH|!IoLwibwR~_I>r1?JlDxgb*O#ydqI@R=CM7Mz4B#fx4e}UB<4}cb<_}(a6 z;hTjbz@&py!-Uo1M?1KplXU>x+(dOJdK1*ml`I!}=wsPpk8%tuyBDHztvQEJW5(wb zrS*_Sc?<@C#rNSZVgmON1SL8oB+=n;DQ^W8%mDocIqcN{(7v)e|mjw;d7whfI_~&jrY;j zm*vku1JrUim#-X{e0O=bC|dgqTC=CiPoB~Vio#hEZsPYout! zFLsEliPp;`8em>r-d$RReh5%|0gH-6I^w}BT^9(S*HASdDiqT$Kk~kI(+-Bn--x9Q zK9=K|f5)sfd2~$#6M_i3zcAQQlr04UQjrB5bsfSsv)8p9rUd@J)EV#50di-22NPMu z6|hJG8ITz5r_6rk)VS+3wpR7jG~{$?1dJy;eE@Auqf&*Xo-t?5RhYH0+wbnk${$7e z!7*C}f3*xfj|r=cMjRVWj{;4k5x+Sf+pA+^f1!qu0Cz`!XhB+}+)a#&$fbm$i`WMm zY&}>N#%DBWJbJ4I!2)F3{)O}<1ME%XHX^R<*Z6Wz30zCr+{D&U+6$Ia5~Hu#0Fxi^ z@h3d9N`K?-7+WIWC%(zKKw&4!@VXKpeXt13mIOFv(je!v;M+ODLuff^>r{8G+FQn)Yh?wkt|A^g*$e+7d7fg;x>X#N2gGL)u%?G~1RgD#(kc<881 z#Q8U`flCt}J$qf$7ZCrfa7n+`0kjuDA#pb)? zA+>L$it{#srEV6zyE%&LO8@oxIK{pwv6!h2qrPGF++&$ZDd;>e~2v+ zNyZS%?{jYB+}^p8^ZTzFy1FG9vY+=oPlDB5U30BkwQ7xlXT!Z&^XMIT%j4Z^!i5Ep|?GF{380U%s&;=;tYFM$dXLd&(6NAi4EjXf7oBJ`?!`p zXmAqGZqGJ$rl)S*{r=&j$-%$>YtaJZ?_A8yEzM8c&;2~*ANF@SPgt?PYcXMY&i>Bl z2|wH4W&69XzpMB4cRkd4Z*Kl)+TkZpQ6N42MHJ{<3JcjH?s*iwyLEim; zL>O9ed08Gozyo{9f4jwU3Rw67gjswC75B)?^1GKG?Bz!lT)m$!=|9|(uKvJy)>rNG z`l@=jzPj#~c3v-Q2IlK)08>D$zd!yMSN=yW&-&UrV_#o)wXCnN3Jea9wdzNJ+RmY0 zfgIinpjLpgA#ghG2%M@hPJpM{-CZmgtq3ylOAOpAX z`Qf$mmr-Dkf7w7^TMSND(Z(`p(47h!%d6;@9-E&adoAaDj`_AxLL19lt>cSUENNQ2 zKAZO!4ne@BNMzEpt$(GDy8GBsy6L_?+fpxhy9Mv zvm)97wp;OSO#VwdpjcXK|;M)8&$qjXx#iIiznP>K9{aG9A7LJ&x_A7jYP8QV=S*Yx&)}5a@J-GOy>gxZZaBIHlTo z(8yUnI_GxwiNy!T`%XW#$oc7oW}(V+ZqLDkYl(oG*=cqrPV~sRxp+{Xo0EcFR37gl zDGjS3mR1}Vi+ur`=t$93Pw=rH0cDz?g@xK-awfHZV}EG;?pBN#O5ofX#lIO4JeSx! zQ|~oRdyVb$?3j4sidH8!>E2zKB-xgK^?^QIBHY4n57ryoRIuLt7_674Qm|f2@qv2t zLIm}>eYF*f@uXrOU))fP$@Ni!tiKkKB>7~ah2j@Q`)CLj;cO|o%5a?Tp|RNd?aXFp zea_9foqwHvyE}1*voN-jW+0Mu8YpExdq5y*@@fY!-Q4hq)^_?8MS7}l?{o?0JkVc3 zO^u+uH&$g)E9#DwfeXc;{GHZqjOZ94yq0}VYmC{Ia{{GlmsREUMg?gs=@qguI{W)d ze>K>R@%5#(jjk)!vOF@TdcH)Takc$fq2k?7{D0NM2H!T^H~qw49)JQug^q}u8ZFk+ z=rW_tGe*W;%3eo3^c`u=_oO+${cmEh5{!E`#*>9Z9V^jPsZ4ahK+d}Apjfo-HqA62)A!v z9UfnUw6Z@N+i$Wb*}L8BZA6yUe-6Hb0Ym_=<|pp#DvOCiNwg8n8HUV6iiU|%W&l}I zoX|bE`O7jhxXykbD>-5O{|rbT^0$`3hJUvMh&Jr>M+kGBt;X^$ic_KRafcjDXri~- z@7XFLd?WclT_L=5Nq#ii@}nS+pz`X{o59M`U}b%<@_4YaF<$(nG5JWj$7@aUqw#NxQGYECG3hsxX_rjOgy&t>@GOF`7l-6np-WGNZt1q_8jToezfEGit4y zJ&ip*(jS98J^blAudZh+d1Ipn?|*qz6~~M(O@vjjA1eSxnc%`W4R&J+E0BEhhXxjG zUx&id76F3y-03_b@V3ix+|kM|jhV`k)3@*EEzDY+Fq0mDZx5)KN?KGBLl*idg+Vkku$PcH3?F|@*(_D@-$xdR;_kfe z5b{)ffN&OETeZb-n&4XmcvXjA&+sU5R9T)0G)A~CL;IZdbEJ&q@36WDX|&g$F_ISH zaZc3M7Cy9QLN^-+9(6-632sIq&|MXXG2<;)|7$)9JaV?Yq5z5-365hm{>(XSv9W_0vHZF9wl3ZcKQ%zs(K+_TvlOhL0w+G4ZDJ zcNiq8PSP5rWhQ@hep8&9y{XqH;v|y*N4X$QQp|$J$**!DwUhiYF7v-=jd^uUF9ZyN z>|6xx#DGz1n8>bU?C)qfDxgbV1CNMz&HfMf3a>x^7+xv;AUwZjGZkM}&QLjP9VVIQ ze@D;od?X&Hljx%^bv7PXQB6{%t;-!ZRqYxk(YeMpcu zFLr-5Ey*p`)2T*yb<8{=nh|+Zw%zOt?d=A>-~I!3BP*GBNcv-(>3a2Tc4hu3>%U*a z&+s``8;T%4^>%v>w@aqSG#~EgmA4#=1QX>i-kF{sRadj$YquJW>G^B;xJSpix%$Mz zN8U5S!&wUe+?aisQz|gQ_Ud>lkm8^S{9b=f^$%x?%!T1kj|Nu!wD*db1z(<{cLM5o z)jX~ymkt~L5bZtCA=MfBIVj ztiOksDrW2jTvdJ!n0y*TmDRn}Ql@__?R(y;FB^;M!4=@CP(h)9`CA(5eXTv@lxc4J z^KUj1&noqq{afvBTTI?^k^N;AnfICJ$7Sn0SGM~;+x>Cb^l8d}DUn%4j=txr#?Fh+m%5|4%V!o9cKE$7l(VGlm1GBJYrNf>zmdl%SwX=C$7g?{83Ufk z4`NdXz25&sOH`|t5J$w8j{p208I!pw!eorrP}m+D4_}Rh#=cVjHIj|AqR1G{cS|me z1BLF~-Qk{n%UHHSC^v@R5uD#GHvZ`m@9q??a=y+T;Ves?x#guxj@KNYEdpNw^3cbY z{PmKHOb6$**^7;h>KfJTA5FfV@s_x9N@zTD-pC z8iE#o8m%OR!&a8JBAL!glzPUAVIFIv8CN$nw}OyJf}K&!v9T4GSG<1+52Ko0x<=HK z3Rer9Q#YOXTi65xD+jk~* zDOeE?O8x_zz4MyV*i4%vVI+{s379y~P?BcLb=b&^;#j&2e~WYKN2Zh+?$jxcf0ghv zjhQ)Wk>ip|%}sQO1i>EnvbTS^U4gTya7Y3X+9)HS z4^^!i*Nu3u@r(v%F7UST2#c4u*FwHKJJt7+bFiOYzS z#$0ry`xI&Dme;<|y~llU#=WL3ZO;e%P5OX?LB}JgU%h`=dbzZ@#TotV)zZeZt@={7 z0ztLKOsucHTzj^%R^Q;R8n&Rs%G&e>k(zD0afTnO;w{M};os~DY z7E^rAVdWqz!v7Wu#XS0jDzkCo z;~|B*^u+RhAZP5?defZYZ!CTq8|e8wn7h`U2RDC`hBzfwMbD}jaRD1fN1@hOEX>s~ z0qBN{(nd)xVEp&W=~2ZozyTut6>q+H+g`jCz@#=7d;MqF(49$KI7(1=)5#1pd-@Ht zzE>NseqHlm?Qa@4oMP9~%ehfI;7$0fOE~_jM?!`KsENU0LZFne>&+MyQOoP>GYTg; zZrOjX&OjTbR+^jRScZ<57?^#qIn5r%%SNIVf9~clTIWZ<3&E!aUP+ulAUX@oT~(sJ z8RUpU{N{5voI~xIu>9XHCX|}zka$YGWpn463kSz+;;ZNiHWsQx;Ys9;HPeai&-gQE zrgXrt07ZB6-$u$hO4bvxaz*J)YLZdprfz>l!#Jkhq&ARe&bG%1j)L1dteb*|4H*M@ zPfp&zF|pR`Ax`Rg&PBL}pESzC;p4`m;~6{W z#b>sY9t#(5VH_H}f}a<5aYFbG5!s8Ni#P`<`AyT9%S!8zd5Tfer(ufGNo5?x zXwL`y6?3Pbqrla1C~!REZWiilVt`sC%%h1FQwhQo@D15>m%h0g3wO)mOMv(9+iYOw zg7WRXYgl>7!;i3jkg(X(wEqx(C0&7jIULNRFMMyeR;@!y*6@{l@49lgy0m{ec(DmN z(}^|fyFJu=adg&`A^2@Qg6_(1W#3h}AVgjS4z5uRuiX94REtOEMepOr@4c^lFSlhJ z9iP+##zJwYNB`|g-+?aNmqY18lnbg=qF(4}s=8*f1^0rU=Af8R+kUye`p;Y6;Zh?f z`OvR;vqSjF88EBpE%lXm_hu7>!e~p>tmGXE(p5P{OZp2hAUz^3gkstsHhtO|s&AxmKjNVt*jK zSrPtSoLAV%O4Siqu~>hIkTs|Jqce^NuOcJjymF)fScm-3gNP(ydQ_Yox^fKLq+&{P z6*oOS(fB#hp+_Aq`1av{qonm5=qY*psTgj7wylT}B|kqE2~W>X_bVJ}A1mjr3ehig zJReO`v+Ng^ zKQtJ~b5no!s<=sF4)7m%EOm_#muhwv-q02Qu2I;;Ps89CTi1Q@28FQ)mn04dq;R{E zUY7eX3(vBH>;irj6zUji-kSk^=X57Sm=waYz=m>&iY8qWjRb$v&RfHPkKkPK2FzuY zS1}xctsM&Wm6x!fOA<0HR4%;bDmPd!T%ZxTruTp37mi5u#Gxl;MJ(nr*XjaC=7OwS z7s`71j!_aQ;M8t%c0r|ZCMEMoU9!DKy>H&Q`MQ^T+Lnu9@2NQ^7CqbK zj+}p8oOQ68sYtqq8BP_84DQ}SQ10kX*%ZRsRx&y&HiSFUZ*Af(HtD2ZLN9`c*60Sc z)r#MO-_zjG0({IqRX(#;joQzPb3x`H58owj)cHWTW=6~tJ$8NXr~H4Z2=9LT8*|-HmYjA@UDMP3T&q$n_?8D9E@Q^_nLD5&LMyH7EKPw z+f4F~xg+*|K_#c~VKDa@iZ|%XC_R7m6^;46DjgiFI9O5^Dh4+UcA&eC?6=))^Q}I% zF;|)0+PLzBi97w_-r)4-9|uSL9{v1dP1+MP#ppT)4CR}}u#HI7S26HaQWYcP4;+7( z0Vmx+5vt^A6;=7a2mvLe=tD#7ZTBvAcVVcRBPeK22o?R60xnn zeb(I_^iBxncG7i;X7Qi&W|6pXT|{r3O6Ko3^oeF-m1I&xHb&13ahTV1YLsM4sVeN~ z$W1$!1t)uOqS7M|1^8%fvsibCh!|R|k+*M==nL)e2Une?fo2qM-G;D61Mv zoIbo|K%5&P7C7{YWfvQ=!)6_6Vf~-9lUChRF=Vvny^G^Z$xH77LUw*XJqa>#oR8|V7f9yj*>Uf>HLN< zf-`=VsGp*Mnm2#?eX5u0ViS%!h|;zA#=wZd4}$n3Gr|6*WJAx*=PQlfbmk=-`z>Lu zo3*fY>ZJq)XTi5ddkh~*Ee+tNPU&dPuC57j>2Rvp>Z7h|xh{pGmkR|W9;!~;lQUp2 zDG(p4+pqc+JixeQ`?FZBrx_6kEh?j;ew&$wdj)o-?`lcDZdw${YI zr>Cc-VRE}D)h|UIFKYaQDh7{st7cxZsEcfEk&vY*skEz=DO6V~y9!q-XDg)a?A&v2 zQ~X&(GdX|Pn|b*C_V*30!67Q`_dI`(3ROX~r+cBOi#IDUja9KPXzkwu?M>YxM*2;8 z9`bz(TdAA!e5H!v?}Ztk9IGF6yVPo-m|T;6Yr%amy%}9;&UE#$LMsuhBsng07J-7aahlBc-{(k&e zU(>Io4Q z!ozhE|&=+vt})x$-z&h)^1`2(xvvsN7@8ZX^H5Q8wAyg0r&gFL8rdFAST zRwuMg_VMInodVn~PCgPg-<^S|&gs*c0!qM5sl%nuK7PTmY`YFvkk_6S%l&Mkj-_hW zt;3tlw9)F&Z#?w+^%EX?8u^wU6z8~(v)zA;7*TbC3uoqVua1{JlLh#JqKB1z+Hbe| zb<`2EOBC7bu$(g}!8+Ie>`Rje$du~^PMk_}E8BXIYkIFesMfBe^75eOVWGLTu=SuZ zpJ!=TPg+qM{6vz4V8vd+V0rOG3RLiN8az0IbUne>XoMPQVMvt*?Qcn5B&nJ4rZ8f~y=WT1D%3JRAe=u;bksphtfH?Zp~j8 zOgove5t-%^vbJAb^gOV}CgKYCsdPbMOhW)W=ICDIsi251*WR|apSE_jUi<`1$1FsJWsLyz zl*;q+$jK;A8s!iAyN##z!&JXzkt|13w$BI;+nkxF)K6%ZTLO7eoDh}j@|AN)U;o@P zn`t(fGT8M-v`jUZ!%z$(e{W-8K`*ef;NuC{qguOuuPNnSCK!x9L*QVB7*CaNVsAqI zU~a1i{i%6!*LIV5^RCuVDS-R_dcnbNrv$r9mcSCw_ zO46d*mb9SGdENReEAF%p&DymEcVah1b@%xB+G-l=_xp!RclsNR37f--NAJTKc_z@& zu8!yi%yV^sU>pHA0;9+qs}%Lvm}+4&D)TFGP*@4yhi<3S*N7Tt9Q1CqI4J(3v0eDO zdo67ZB>kmfSzedbe;)JTCsshkOC>^$TE%=OsCg!g$PpVuD;XE=tm>^8w2RyVsV>$h z>A$O_xMl_oLw$WTA9h+=S|fEum(I>qx<_$g1J__u=|XMcy5Et-Ts~60QIp8@)1xo0 z%`ouHbeDdtT^mGeWNGus3eD{K9Bx>leC^t6U&PPaP{mL)f6P)I69+I4JBFNfZ7o03 z?$C&{tQkzcMvTa@^~kyqTLcXXu##z@tbtnSo5ec+*mFx4G$C5Ki`&Ub6)*H7wrlaC zsWJM-O@~v{ctX|&XKr3DMCaKBGKNQ?`mPRU@}AilTVt2m=C}x2*`;lw{+p3n*d9&< z(&Jz)AR-M8e^fR(839rdY`EQ&%yU>zq57H@-Dm$X0j%r2J*wG4ZNp>wu-4%~)7dVl zSa{oF2A_It)_5OJ31N5ewClIJ#JT~iVxH%)D*C8nAX*q-4M$Xl#;#3~3%Pk|BbPQu zR-h9Oi*!N=)dU{P;qs&fX*W7r6V46u;>SK%6X$0!e_E3cy<#rTMazZ3ZJzCXY_`QT z+p(Nf7O5MvMFeaNxr~bbv}aXEqzp|#sd4e2$dCkp5{QnB0Oe0>j{Br8#ef1_3PGUu ziygKgP}ZU07*KvJ+Q=N%PZX7%5m!>s^=p3zZE8Eg&p@e30qJ&xqRvM)JVN}Es3sUEudRXV+`b%H%eTab#>6c` z6Y_s!@crQX#$b|=g@efkm0+&Eb5{>oneR+B2H9YGFx?o;^8cVdSQtEf$p4Lj{vR+w z{2Md|j~+eJAO6`h{|0yr+EJ&ry;@t9e}DhhKh-_ZKYP&ge@);$cm&xt`|s~=8FOxS zHUUPb-s`Tl#wyk+Y+45fn#>bQUx6l;rrv+7xV@djSZE>cDu=6`Zc)h9}RjPv_%e11`3xo_|m!1zpfhmGLUBI z04=kYDTv^ZIo>1<8*+3fQ6brCfB7PoTvC%=U`0cmfYIWz_1dXL{%s*_xnnFZS zN(7zmS108DObUd~jhWmcUYG@qp3JA3Q|GhrAQtVPr{Jz@cWV32ZuM~Re@Vv017@7X z8kkN@o?+U1kVq0OL4GFCn+z2B(8Rf!I!2SFqQY|BaUlQlGceKX$RKzSmzIC>cT>Ci z;o8_m;6@x?za=^a{%>IQ)^J~~wY--Vt-^6gA?fQh?Yo**1#Va>vKa zF6RLzeQcPWpP~nO}4!8Z0Y5@G&X4+C)CB% zmupP5=hD~TW}{sC)K^I!a_Lk5oz%4I$N4*zZf0xGR`<4+HrMu+f426P*B);?GfhyB zLn2*PyylDCNm0DJBsdf=&fm!p{gb$l?VbAgxEd@7c+7f)U;Z7uz} z_xAbA)h(Cf&umC>e+ujW#7{sSUQW?HLH$GKEePvRv)uB!j+fsNq8mUjNlmivi_;KE z%-15#jlMOeo16gJ1IH;;zeubZN8lIdESCQ>Eg!`;%ywku2DYJNaQh5+&J~AS1Vc>iM!sM>Y} zG;rffTJ$`eJP!utm+@E(FBL1+<=CmFH4t8`qc#-w&9DiueXdNGHCYTK0ri(!SqvQq z){yqG)9Hnmepw7_e>~@M#SH4I36k+kFS2ouJ7pvrM~OL#jD`Z2rlhGTDxhuM2g6@*^LM+1zo&-sr&7227^9iANp07Zdwc*e?8%6 zxU`VpT-bU^i}6L$p8E~Bj;Z%`_OHH)fvnSreP_&AQdM!Y!h>#*)bZ4hsWf}zo*|Sstf5y3-)MxqMA^?S>!N^(PE9cx^8Chcl$Nh(5SUQ#l zZ!jSG{cV0Fjl(^~5wLSRCUB*A3TI}EH6clEO+lP$0Js56^)$2BIzJWvB)(%m&_9*H zGWPt5TR9Nj(D~qTMi9bb*67fCa!fXtisX0s5Ri$F4W;xFexK7 z^N3u5X;Yqq57}(Wbq>Ie4Z$!f}trc*Adh68bT7~-DcztX(%v18eCW7 z`{x$N1MJFCd}w@t5DIPL99Fl;;F8YK;>0N&Z-`cXO!f8`CocSlf2025#IZd~yeGlW z+oE!Xm%|t(W}aYL5ECFY6Tzu2-nVz%yJcDexw%&&(OaZ!_}BE$7a&F_qReS2-Aypd|shTrfq7TL+Jb?ibzq$>x(+vD@J>e zT8nkvsB)q>IwCT)8VkjAOmpHsa;K>ifLfES?n?=ws!JMY0{H`%9$gF^e_kpODl(os zQyf5rVfZq~ZKf`9=u>^x%uc!t^`!fV@jq+E3m1NQyGi|F8IIdgf zuUP7DaglxDH$+)mAdXs$Y9p?21<*z8Sb*&?FQsjl48`plOJ~>6Q6V#3)g9Z!i*0QQ zrlxW*ErMS%?WMMB3sgB4h(!ZAa7@A0S22DjP!D5jCnt}kAMPY%A;pTLl23r&q=R#{ zg?4vrm!{@{;|3W*hk`6f?Ue^N)u5MJUJNt=E|-s93>SapkD2Kw*s(6W#b?hPD3|id zA-{iBnWMz_(`^mUj;|be`nKLu^Hcl}_Qzq^nwR~BZQ>sh2yK@u&_n3x0Jw%#i+4=2#*2DFxg^Om!TQy% zdwK35CP9DlQIMjG;ZPlc(i!#53SrGWn6;?JNtRN}+)j(#q}@$=yHaA?B*#C zGA6R6@E$C*xay|c-`E4;^3MSiPKG7D33rS%EL-0_Mg zCvD66H|+#XuqQRRnKDkLC~(TiUC8i8rrSX6i|dln^|61svZiz7G0cBkd-<|%{+pD) z@?L-0-b;PC$Xg_$CHy6+=1s%1YT;A}hc}g=0yI-WVHzheK17hYYRHv93#?@C#tO0I zh}6MATE)y$fpXt0>3~b=y9jxMf#nH2MxtKirCG+Jx=pZrVvpF~Wd0A|#570nr)jze zg)&88Nw_l z8``bB!5(maen$UK1SMHH&T{H!w)&%VW}OxqU3Uktj4v8y2))rZa|B}WyHHv7Sw_&X zP=gX_k5ef7qu=OePl%;#Cihhsm7Xb`o%9>`v%eDE{DNN72$rMRlB1I032pD%xdDGm zh!e!s0aIvVMMC!6Po{u2KxyU9)%BeWM>~fV#Od-F=Cn=mQq(-0^*bejYVXAhjS}&h zynmi09Hkv{MjV(im@`dzA*&1XJe4X9pfKyXQddqw^V-MXI@D|`GK=lSq11Ng$?5S4 zUKvjMFI#xItF}ASizgwec6%0kZr^{yRqKdy?U?!=%1lbGEl%T+?h@w%(h)dy{v4dH zaed_cywe)f7>=4PhTmFsvpa+43$P_qN!Y|ofq3LJHjIOxA5hF5-X27ed23^wms zhJ>@(wgQ@te!H>HVup=B1*dqS-=0#U<6KM8Z?W)}=jOcdOZ~1b)@*qm9G!pJZyVwJ zE*i!jbsOtl-tAr)dff$~z7e}P*L#Q0let_qIH%Q#b-d!pKh-|Ex`GoHBCdn;z$&kE z+6NW$dNhMHX(nsz({BXF^S$>oGgLvA9{A|-Z zH;d%v1b(N#3xQN>=M>VSs-u4dvqWPK`ZnB|*;6SJ!_=X?wZYKm=VtED5LbC3cDJe= znSn)CQH0Cxaj%BoJjU9>Z`xtx{DSD=8s}BK$NWdm?c@_Uug%pHv_8$$2K$(q|8>&u zf9%y~XOBVV7yCNjW@Dibz5IEGm(yPFqSc$dckljvc*~4~Au>?bTO)r>#8tdOMtM;A z+(wO^*6T;O{0cg&@4D9ud(9wys^^Q8eFl0wNsaccT$RW@(_(z8KWkQb2{nABr* z@8KfeARz#My>7RZVb965L<>xu#o4CWNOMYFa+0bH%4W%tw^02%&4H- z*lwfJ$mOna+)cC*Z2(?X(NFzqyRq3EX1ulAQdca9Lh6>5J?}Ex)yMs8)ouRgVFtHX zo7w5%ZsU1Z$;oi>%jUWUAZ@RKrDM7ACP>_(Pzy=gYF(oK}*4XzNO6fyjkZQcz^(SJ+ zb3~$v+^@-m7Mr|f^SG#~u4@-ERHizycI$>cyxjNN{Q}fPsh@A@3i<`jmHLzRPtQVS zT0;OlXdSbq*kwVB+U>_q`(a~Mds6Ec#9qWQI9`hN{{(}pa_q`YUo+GoO7$YR45&>o++B%Hxo-1P=^b!m$ zUM_TCz6clgQ*c7+~So)QDa1m8u;Ln$)7RVnIoZHIJ*T>!Dh!fsOJE zfT0$WeT+}$) z?K-_ENRp}3eW_uJE@K(KC*opmyrT*ze=TG4b=vF;?aH(eItmeQlP81R;gnTu0h_?S=Y0zR&F8o17YsuIhqOr)6FV_k|ThCh$e zL&~rL34Yg@!(s-&c>(OW#0Vv%1fCPC8sC3xanm7x>4H%AQVH847>J`{%+W&ji>gh9q6OAsOeY5BFd(BC`$euz8s&v-+xOx&5`biOlT zS6sX6l43NQmJ|l?!wXCn&Rd6%VBvpaJCO`Yxq%e*+vu}mS2XiU4?rZoyQ>1MC#^6J zN{<^uSfLeaK ze=h3^@915(Rc`p0O}isSiik6OqiUEWk%wavLG5lQ za4{A_vx(&QH~sn4;g3$ldG04)1pE*_uI#JMA6&s|rFZx&w1UfM-Ft*1l5@8pm|K9r z{M11QVfA#;8W4sanN#RIe8_*VnZGst$lTQ^WJq~E5U(|}gY!ATGKGWax27mQe-;5g zU>Ej~2pq;9z5wvod?*zJJ%yds6syJ?sb)+*3Bk-YBP@eoH8!!M&2Aqg_5)3>q29U( z9$#dub(<(=c0L*%XW

  • Al@7gp1@?F)q`i(B#Y=UqEy-0yZNd<^TFGS0OnBP}O_vBd`X z#m~988=__IO=U{G!C?o5{YA88yuxmrHr-g`8L2Uxr1r#RU7cGw~STb$;u5 zyQh@-mc25wI%{Y!`YCYfs#G#7%K$WLZtBCCtC4F4u^fT$eD+TWM z#TG^A7y2ur`q zy8b?vXV*7G;Wk7dRQ_mrpvYgR?)1C^wYA^2{c|#DcT(p(z$`55_xBiFAHSR{)k z=*t~Yu`ka6aiFc)9oxpVC%2TO5E+J7aOG*iRNH|}K1swjeg zUj(ZP)nyl&V${_o8Tpj8hQ*e;45~>xKkX?7wQf2v!elnm59y1+a4(cSfhO-;EP-L``8*j}%p}|E zQQ@>%;tN4KOYhweolNQIX*p}AhG~cL8M~}}I&_j^y~X-X6q#+;Q3OYN5hD1lz5v<} zR;iDC(z|e3RH3l{8*lsdGY?c_9b;Y8kiGP)5^_9MNr7njTA{H#+am@(06n z$rqU_{8|<+c=(F7V;F}ljb6>?C2*PW*&hp2!d^=MI{$=N%snNgJlSkWeC5dDpTwX0 znp&CqS5!OKv;D>QXBa}F*xYt*9Ou`<1^Pz}bfrE;oc<;Yl~a*cu2{@jBqwvg;YSjE zQha5Kz<@pzz0VZo<>e5~j^u}jWC4nTXFEK2C6W+QTRA*5EfzO2_S>_B9~hUKNe8P5 zDUFf=hGE6iwWr;mBV6kkO-)_=?Cw||*hvDI0;dAReYQDaC+<%k9&g9)phAarzlfuG z?a~y%Rr+2UL6y3v1AQMB@RnW!ZixclzhGzG^A@QF4rM!*(ieQI;r(r!D9%(UKK(*g zuV&|BbA#_!6WnRj(&U_nfCPSKX)ps$XX-TVnr+mKqfS^zmHuxeU~Be+E<1UKFdA80 zZ||n+H6_%P2J#j)F3Yoyllr0+H6<0vQcv)v-X_X;@vq9kV#F55*Zs5-pvr?WvqN+5 z%lnIAjlSnSRqoEUtij?Fk*LeL-kzjlJImW zvoE^T91&)`;TKNr5y)ZE(ripQcqRA3;MesCKD7u{ggGjoCuaL)+&&k)j6UracVvps zeMwTGV3Jtw9-}?xr72r`+ojXa4Uw?R^C7wDKbJldGF$W8d;d1O#@l2AJe_y%>pV}7 z|6>>0!?vW9Hvhp_59HFv)BXKEIQYu-yg-{i%)6(RW5x7sz5NYa2W~_4Atl}zi5lxU z)4TT2(oKuQdV7`BvsFJ9uNSBNUu({B3||#tqN`$kgLc{cN1tg%zT7OjJ^|Kn?kZfm zQrnl%LB3-b{g>cg5b!1wL8F<)C9Cwwm1!uaB?uhn{ z;gp*V--{$Nm!-RZMGT*_GowQ5$@yw&hpd>9prAv3?+;5cAP=dviH84MR@_)gx0;aC7*RZe; zmwwt&9ObH271_`w*a&QybpcgY5vR~QoPAC%-9chbj_t+ydI4NQgvFxLrp&q0Q4bMSl^K_~60N9Biet z?tE5#6v5)eF{e&KEQi-*HC>U5QHdzX{87o_iA>Y`Lb7NHT3fYZ6x7%p+OmA&s=Si? zw`R@Il*?j`<;gI^=lGo^&P7EeoXHg3x#3U>KG;`Bmp<`QhJPMQ)>9Jsz@?ghIw!vI zw~EJUo{81)51z2YO3aLd_)o7PR?7oZ^!kOr&Mmox@gbenR|&M6I9Bb1mTF8E%b=Tb zP91Ttd#;6W1l4S*W&zd}4cb(ani}*`;KFl)ol=f~^&y@V5wyxCSw1q!0_6c!ITw9h z$bUx7G-v35H-9c?H{ny`y#l0E3Di@%i~2*5D1(o0d{^x)f7I=7b+fzPk%&HNJheUs zoH>SgvipS8TV;e#_09Z1#TrEk5qAB%;@%pFES3ibdXnW_&P?B--WfHQ{&^kZDdNe_ zA$pIA|9pN|kc$oYK{eCkp*W(4n&Oa|%wG06RqXb{ayn7an?rcSk!5(VX(s~IB|u^Rij z5%4)vu7651(n@E;upJu$c5)+kR9v@M#B**YYoJ1)9IK=hjd-qwTRgNtfrwhvQ>KjszD(<|IlWltde5hwN`RMY>}enh zQT1WhQr;R9wLy~j6+{QfOT;v6-FgUbv?3D=L}Hg7+IAy&zQ6TKz_FDUj=i2a`D#@~izr-+!H=Sk}c4W~? z21wanGsB6fCMtnv4K)FQ20A@oR9N%RAC54oN21$E&3A>((eoO_G`Ks0-0u9@_9N6axrUJ_pOa zgU&%{;k#gZLA7d9$u?Z8@@JSN_TdXYJ(c&XJ8Qn%UfSm_h>+wkNh$3Z4;eFPLhuYr z$!P@0({cnNv?pqrtNh9$Oi zjm1i{sU^x_8!SZnTMe+)?e5TF;A0cYo-MC! z_m;NBZvmSbf154td5C^uha)|*0~Y13t!De7B=n{2?yuV{n8V(*^KOT6ZFKNk&9mk+ zqtDD-g7k2+fHL$?g9$)yZ?>80>o)qI*|fEW`ZWe|TD0b>S`gQY*_S5n5x``aG5o~ULqH6UE-?#R(?2>07C#(I@HP2W9 z7_)1yfUCMyMT3Wdz28mJ$8lrJM`w&0me+uYwT*G!frQE+__oukL+jYz9MWCfcu<}E z8g}y5`W;J^C{<&xkFZv>w3w!7%WQuE^2ju24eXxHfrB&DNC%9*gD2Cq1C72j7XJeh zs&@M@${gs6eCQl6V=Jp z;%&Db;Z)tTygk1??Q3+~_LNT;1}r|qFkm8>i8W)N?>b#(<=9WjShPQGdN5oq&W`ru5{QLKJ5WpJ2cCn^%PM zscNq@!De07$K0i-U9Vb6y_mkT1c}_UsHZGZoZaD1dhWqvPY}7z_*gGE^K}gqKKW#K zeXrS6ZU_qDIj<%DjK_6qE&Bt7iOSMkV}Qq$jb7TZ?p4R7|D;- zt?gUw=PKN9D~0<#(<*-*B9@aqf`)g-To+ZNJl$-Mneo4MB}?SF3A zP_MO*2QsBa=T@5JXt|#JDdBCk?Xa;|f}|3YW}?dJ{nx(vK!AJy!#kI{V2Hgy2)DQ% zB}8(Dc}%L@^IhD|c|v?D67$QC9jK{0hs_`<=}U5to%VWcSx|qDOMwf>OExt~Vygn( z(XMiA+&+s1&UR} z8;~s9)dI()n=_%qGwv32`Gc3an+ZqLI|*D~-P)#g_v50jjk;zSsPQuJKjN!fyFjXZ z`viA1-t!qgbNzZNG83fBw@=Oh`osnM`8E;!;T?zY(Q<$3!Ajs% z$>wUJ~yoDQ4@Wf?9S~eqO^FfNhx1RI~mCOSq3O1X; zw~C#!QkXCeA+6;VA1Z(z)6H&*k;2OqkR*F@s5){$x?4GmKniens(XZS$$9+8JcaZ>dk>t7&==Z{s?u6+^1!xLf>jJQhSjAC%?#7h-6ocnY2~+D zM#fsEz1hQvX=ANF97$Q^)Ya}iw z0lCMY%pLW;QgjFcgoGd3e^G9?6#xBbB#C(aghr+l@} z_$T!S9V1`UzUkYHPEpsT?VYN-|L!5N!o??*y!EK>cGaV}*dn7yO(?+<#OROYH)qA;>&2zP6IgDrU8=U#E*aE9>`8kCW7z%TE zI_`g8EXLZqcsQLtw-Xi^q3h$}P_$gt4KMtRhfdV)=m!s24{y*GbC3D47r9!{R8{_! z0U~Ti|Eypa1{yv9@?i8MwAO`kvs{c{qg@6_cLghR+_e1g7m%icioAB}6REi)FDY>lYKZjUKRuZu{04=jc$GVit>0#{5OT)w-P=^Yg$T6MplC~f(5dWEWQ*2g=^FxN9FF|ANOT zg<|sM7|9Y^w8)?f5vO;|!d&&GMhh-wFfA&SES6R%`(blwZR9QHhWOHKfF@J66T3l- zU{(4P} zxXWL!d;DMmPc=X?+jtNem=95T>`L&&zdLzw+#E1VQ;}b9BmaNU*i!4UEPA!EttDmNt)L|)cAXd^9ylC~PL~cIJ^s_f zKehh*Gqy8E+|wuB^|hy&z<8&7yt4oGZ0YHvb(uY_33i&t55S77z4AuD2Dy24g?5!^ z8cX`g=;(;Ji|b8O66a=Ox{798eD_;jzB|CR#8sun@z-xX!VcZgCv1O`X{??-R8+<* zvhHhFU7XC$&yCzQN7s3&@iNJtrIM*HDZ}*zxA0XZK4y9Mw&KtWemGO8GowD-S|#6pQq zmKNn`3K=ih8l;N=3#>eUsi)G7vjiK0lUrJk>Nf5i75HxpRsG{D<{VyyJ22OHj126H zy2`F-45QneM2t;-q`T3g3EIQ^4R?!${wDs(48sEan1bkr{tkb74j3>v;#dNfuUjCc zG0wA)zY(MLG&i%Pq*e(R2o`=01=W%yoU<$WJ@R=CBf%ZO}WLm5*n^s+ZYQA` zq*R8n1q&eMiL+}@bD=%4SRu69c2sJxo`aPs=iuyz-kkMoMY-oAc=l!_s|?^bm*B|+ z6@OJTh2*3!6Q9@FFz0*}T5wJFM{NE3L%Y#NpG@31y=?gapIL0 zun^k|^_3VjmdlO(4m}c`n;hSHixyc|c!`Kqf?yPNAw>}NBqsd8Ixx1}X|TcAPUs$esqlwtsmm zs}A{Yp0IGxTl{LlgEabxz%<|*;i8%nt+tB!f?dq$lv31?R-Q$nD|{fV^j8*v5U-3@ zO181;<;O-%mKpF@_w@7wrM}sH9KSK!wE{9b6&n4Q7R|L+p8?F)st#{Yy1{af?w3j_ zpa#VQ=TUAlg2B44yvfd&>mZ&-Z-1s=zj^fL>xWqo~88%rp3!6t!`&|}p2 zaVnWk*(NdpO~i{6pDehSDX_=N@PNVO_M7_UrU3K`%M0y`&xPamis9S%>e|th<27LX z840p`WU}SBCuMr^k%F{$j~HV*`dXc%>MnOiJ+1ko4AOTfW~e`&Edg_Og7FZ1m5!GmT&8Seur9>@`Sv2;s^TO?l)RX6J%<(XyI z*64TzVH}J2Mj}MTfivuCtW@J$0NJc+OY=A_lSL42(Hc=AxZ9PLfN{4UKgvBxK0giB zvlZ?Krrzb_tLtaeo_=1=O0^yZp!^m=u|EkqmY+H>YVY6p+_!wiQ<@`x%a7AV4_#VmJk`(6_^_ur>z(1;xdXS&F z5nSW(rpPIq-_#7TNR7HITms%iPnonf*Haz^ zZau|Jx~r$+u3Sr$Wq)O%puMYH7lWXKrl|IkIAKY&mLmp9>*9oe@JFXJk9CHB7V~C6 zeL8+w-+#;Qeh~4_DG$W?!!t+%M(+t4w?(?er(&}f5L4zy`D&mH;MvO*PSN+q^s+1? zw=%#CK+lz#{;N&MocNeW=N^mhu=_064Hi04TwPY>WnPx+Yk!i!6DnLBd#(+~ja%B; zwIWp$*X*XjsU#5C4E2@^FAhkPg8J;Dr!|W@#B+#YNkF;wI~4eGC|OyfTyeoHQ5R4k z=x0e^(mHx>d2c$qk*R90%HN8y0VvIws8lkww*8J3?Kh#mImy+zvH3gY157yj8*#c5ClBSL%fr+;gbH|Um|^FBXZ5ea3ggY+qX zHv%&cwLyoNUt^5IS-Q>Skc~I}lo>ycPRIZxX}~l{Ti7}I!`6>~Rh?C$^e-#f?4WiT zM}bfa5;D$rH{a=!w!}LYFmiY%`XHE#Ldm*+{~xM&ndFFW(t&X5&NY+-{+hME@~vwi znN*WPF@MF#h6Cj|eaF_1FJJFORIr0MF%r9x#rynV{CTlA&vPtak&Hs@ z));GcIb(M}?Cc>(ES&CszXSBdkiV+R;TqYoL(6uFjgWZuE+Q@K8oqeBv-RS~B6gqY zT@WC~E7`x!=u_tf@SPIsZ~NOt%Zi_1{1kt^yMKOU+FH6H6y)90nW>q+eFzC-#km#J zdZBWT?8I)W5Bbb)$~V!r1PY6tA*LK?j>6*Q(=M+s63tI|s{6SGqq3)Cg|Xh)7o31L zzU9s4Mn0F32OZG>C?kc-#i>ojvqb#umAe5N1ts)Su^ozACLy&18iJ;E1#w> zj(_*@ha;-Yzc=3KWlFzQgmH40A2~oCbi)VWRw(75= zeXFPWxrrU(?f(9~%kAs8YCE_`cDI3znMFype%(!TcIg*yi;6<#7lK}_WXMytp=o)| zt6YLH+jLcOO6!n>&AK;jHQWJjn^g?Eno}MvE?bVIg@x)4(cJlMX@k7FYLD&sMt_J4 z=g0Qv_IvUIegFP&**1ZAkB#v4?#>!n6oJ}7KC~XH-qY^7o@}izS6B79vDp1Sq$x=^aXa1w>fM7EeuvZqMlh=-*Bo?M)joMy4~GMd6le6Yg;!KaU2cp zd%D}4@MhV{4fL$H?Ti(96jVjWmw)|E;c=H0pLSst3!R>iftwr5PW0~6tE=O(p{#3K z9A;x4-I~)H_84L78no+L?F>evW2JaZTa|9FAQd*!*6H7(EynWB>^dpC(^lwsDMJT) zl&EjavuE}LOa4K|C|0r4@Uc|!yv+Qgz*(gY;??F4o9jC)stG_Jc2U=M2Y<$Zn{##? zcWrw-1fJ}$vo#cdDq8ZL;{Gr}^(>{jO=K(w5~;&V(M~4mvfWgvP|v{5U0q>-o$=#; z=UK94#)(+@x=fa}V_{x_gHD+dBT?r?9sImnt;;*F#u$MLZH`#g3W~?6uu07V3 zeRTR`q~xPyN;qFj{#ZVE*ndjgi$IUjfBBj=mCvbwJ?gYM?c9Q5S17P5pLZfi*2z>(cANZn|TgFY5ZV;}@gl%6m$$H_9L%015&%0n_=5q#MfMSo(ZL$8yx90yD< z>Aj9BQXI1)hb;|RBJ*?pTjjh7vns-3y`&`F#2pnMWj5@6SyeVY!nPFD^uEy4dQ|6o zx%iAhS7f@z&BT-P6%_M|uhLW%r=$RQ^{GvujKcfdYbzjXTKY#aQ8y{ecaHOE-!Cf- zwlJA>so3GSrz|gXZ-4EI?Yw>~;dq^!cR{GzzRP^WXTS)6WLQpdVa$yqt8O>5ELfE= z8R238rI4sge3DE0TgvU3&Zg$RygB2!;=$g&%{_M zD;}Aak-9SP!4Op7I~!%J`^Zl0mhP&u+&`y)XtfSmH`$>Q38pK#RpW%(wZ-og5U;8x zGy%ykl{r=iRpul1BxB8RbugYti=Opb<}^~is__P#rcPY`rS=!rmh{(l5ZW}mN(2d{ZgDTA zCUjq-UxuJj{=DK0qM>X*O^`1V7Ff=}hclDY(*kJ{v?nWsN*5cS4`Ua6$h|;oTm~S8 z<>Gy`p5@!nj_Vf;hgE4wmOvOM>h7W08Tlg<9)HjW4}bTx(HFKSmIiVHcx~aK->aRb0{!{4-Dyq#FR4RYoTu6AflvzD9XDokHpm#4>l^%XLjaVs2@-;u&;}!oesk5WA5ygD#*`XBx57_v`vRG`VkAS+q&Gn@p0Eq`lk`Q+ zQX(sK>#}`2uHk!_WQlCoSM$L(YY_EEmY`-t;Odm4SA&8c*PhFJYl6V|y9>H(cZHf_%T zz48~3=PL2WNc}I!?A_woi3EK30O!E|ziFCaxxcHNg6FR$&_B)QQYi~J=6?_0%B(4o z3G*(Sg$vmQFYf<61OGYrM~+G7;9eXM_G64H3I$YvpP8!Mlr-%jCryxb*sgwLH{UCN&c?0Nbcqj*;i$SWGzcoHHVeCowP=ApD8hH2bZ-_&1ChoN0*|R)Sy|V%_-t-I;(VCluN{>=H z`r1{ZjITR)KT*GXob1I-RnWMz3FnLk)BT@4;xbKfs|_Gl_l2B8a(6m7?jL?hWoHZa zX0x6%OWEwP*yF|x3Z0rKi<$he&?t@i+mbcm1MT<$0|#F}+qeSde*B^vJj_Yv3m z{;0D*T=w`)yDY4WF;u>X<|CX3%2|F}jntMmYLn&{w&tG7=!hk!_lZZSPb%ld(t*Ob zc_X8&-GZFnOe0?@aP}FjuS!m!-oe9QahoRd9D_gGzHnvF{a=K4Jac1$To{@3r-f<6f z)za@jo=>GxD9}H^LWpzMwad}Rl}F3{;u{P`Ef{Ma2G?ir#eYucGXqX+)zJZkl{2xY z2015$MD`;%ItwpnP+gPt)A>0oDpt_(#v#hN_$5PuLPo5R9&^me$h z!Hb1$C$mjfE4it(HHU_z^sJ$R9(P=Gxf%j|ysCqfOqmUly zymE?=WGJ~Sk$O;Mp4YIh%TvT3)paVk zXb*FX=bs|e&q}MCXJip5zBN0QXFz@~ZE9hwx~=FWNn)av(M=fiuPsXQY3xP(Lj_Fq!m@h2#>MZ3HWH(d_$qP2E8PMF2wt73TAqml$a!+;I z_LzZ86_GcnFe7I}OEz-UR+LX>XT0&^2;i65OGVcC&0X2OJTP+oX~*K$J$%JRq(a!Q zE$>AokAKubpkR-V1{YBNLb{s^X_e5*>0WD%u)tP!$f~{?p2#zmWeRIep0pS%*`A${ zFv;0K!1~L*e)y=DJIY{4&diM{sha1OUwK4MXHRzY@N;2)Ur=1E*}Y#9)X%F1M@cfr zHd094Y&V*3V|8p9G8&`Ny$3ntX5k+A-z%YivwsAxRL1DU*+Bg3Om>QX2Mg?h{yF2H zr1Tzdq})?Oz+t}*mg0zSCNMK26EFAo&6l&k@0O1KkU9I>tuAL9jfbwp@%xP?1U7chu-yz#`Lb6m)Scl`L&5Jle>s*8WHaoQ&8p7P zhJT$oJ&l)4JKueyGwGd^Lv4%c=>4$qt;h!7Y$J{aofkU|$(oP{J`bDmIhvIgna(HV zlk;smf5E<1Ny{07`8ZFEVJ?AIrDp>xPX$UjIxB`O&}Mr>~U}Z^b<+127$^H1&027h$>I?*S61gwjPColU@Er8*U5nse#mgDLM7mE^` zsN9*0%4!41Jbp66(-HGI?{9}}TyR+fizIwSyoa*?XU9n`DgBsVM;J_c=tcP`E#9p(oG^3t#o6(NtUFX zOxI0cYs(U@c_owDVs6Aob1FJoMdx7DLQ82Pm@=l3QWGdG8lq_4xNI%S0^bEus(%}s{1ds zBcUG3(|g^uEeqxZ0)M$Ct*5e=butHbQLO3%w(`Ogg3p|??I&s;`2*G`w$AfRa z{?YvT@}Sd}PCX24L^To$Y1es5VD{U(Lz#LMD@Vqf3-mud&W#&GGY zIZpG%y|*O{GN$52_tC$W-s}QBeDhHMryrk)we5Af_Cv>e%e{M#%2fT_TCEgy=pHCG zIf++rDw+J$d-Sh2kM2FPZT+Xg@#g3EOK<;m@A5}IZGSS&q*Bwkch@U0|N1w3_a5Oq z8ps*pBQ>im_T87-S37;h3PH|bDnozwk6;}P!-uSArXLS)VNqn$JhE-CS>z>;mUjQO z_cd=>%zL)gWcOw*=Ib%KwH~9o9;0?W@W5I?b{$_kR=~iacwODxrA6%k~y+JoJ_qA&t=Q zM+}Z0aTne_oKN$IF9l#w@jX>PANB6N1-oXlE3V3FwQ33Z5v#nwfTQ^3y_Gl1j4&Xb zmhUn@Wb>tx#S!J9l2(z#?EqHgiZ6puCsqN#$`WVP_^dDWW_{8O|Y} zrGJdE@x5dKlCjAfY^1+CelRry%cv#%+aAO20<|H4O=zm!rJItets)J-vx=Z`9hLvq$ z7Vnuw5MQ6&&%Ppm5HawIT+q!N%>`L!7Jso(hA`Rvt%{yjW#@uXYKaxjw-xS2Se9Cx`)o4q}SjlX$w?>@sMU-&njblozad-KRo?mi#xwa)kK z{5SLG|KPWOQ=i*?`1MMUCH@+!mp5;!S64Xn4Q8ttO>nMwkmA0AwwNcRP_|q8lYcLm z0i*B8zl9=NYnIN%pS?xi`Ur88kz@^DQkK9L?Xn6sv%S4+3(VWoQJR`3*Il+UTogk% z$By7!(o%yzFYQXl-6LOp&TQFB&Sy=nW0oQ$lx84RVcOY!ED;mu>F(a1)qq0I36LUa zvHt}UG45E^9RSJG9iosQ^oJcWV1Hg`C)z_VFbyMkkp1~|!g06#&oGO%?u0bBeJ3A< zX4eK~r5QVZlHA`GVleLh-?RbkbmVvz0qBK{Gb21`sY9Y`SG7u z|MT&GEH;1H5us5$*qNU9-%n4*2+f1_)_GFOVzOvnthUaIn+j{lMeE-8d>UdX8O9Im z)6|jACT;p`R-Zoae;gf~J%5eBj6*msNzo4ZwfVjN*nC8AR4{et8@SAlIrTpq$P_yd z9*eXdVn|2_nyq0sndFFc8y$}-mcVz0PZe6S7MHR06plqV7?ecQv@V7xlW8jDE?-9h z36%Eq*%yqTiYQoG)KjeO!0uu+_l$MX3{&}0UYl`e$>P+~gtppJ68W zVn;vwQ8o0AW^;h3mh$#?POUK0XaXUfuXp9MJvk(3wsQi1x;YptXyAHA7m7%%%8?9g zuTE8x=1Q+7-g@jArO_YoPzs1xz;u+WDw}ab$ZiGtgXhV_$rcdO;;WRv^VA}1+cCjr zs;cNR&%0LXs(rR1z<)mUEt`bW!HdbS9v83v{@v5)T*V(#x(x>+1Hhr_kc2AjVPd37 z2F}+aCvET1zy2V}>rplYjmzk?+bYxKV?2<^4&WF~@p=1)dza&DQtH~FjM%X@#K#vv478A^YE|Mms?sW5le~z7Q2*Iy0mV1T$fv;-rl=>w{iVwAKJM`Ecg;f9{w^N zpTBJ`!_?EEr%6uN?=W1m(aiobI}8VadYLZ?8e=rS56ABc)-f3Ymi*Oydxg>-#w%&N z?TyMpxpZ#fpVRe+ABFU9e@o8zTY$(JCtsQfU4NMnSETO>E@*GzD~h#&+A%}+}f1YpMVPAj1j^qDtHz@V%W>|#~Ig_Qu27J)jcBI0sYhG5j!B(GH&sRz6$>z11(f$~yGet)$p zXk-QT>&jS1-YfxIu}bi(RS80*Uz3}Z5^!_p5@xr24%pX&|ncGTd>0RwW|C4VoDKy%R^#NuKU|B zxQJld+uRlL{>*u@+&Sa+)XpN@3&mmNR)FzuQQk0_=rpwdRu z@1(&)G%nH1m~y;zk2;cRY7xhFq~W0~A5wNJzO8VkM%2fOd+*n{mB@}|_pp6sM-5DZ zewAQ5?)&MezQvC0mdf&IX@6=A@sV}ayqzagpeuNwC9<-{A&Rf5eRckclyq-S2Ai$Z zod`mpB_6CJi;T2CMx>*`2P~;~indFB&1e+65{zW{fajCF}9}qHrcp}VRwRhWg zY+LMbT{8N27TWfn->c0FNar3mTlVjnU46Z(e}5e|&-=~yqvm}wk$>>&=*7og9r^6% z`s(}aY4|<+nf7Rs<$wR?U3OEk46r@a;-bcnLQPu3s&%wX2SG29diG>ICTWSB%a+37 zqj^YexPGH#Xryc-LS-&yeIaiBjT*T zhoE%s^bAs`=M23i9^vu^XCoI)x-;gEQPf)iK&yyG1$XElm4DRvesnE%w&W$1DIFAJMsY*dPEsnB>iDPiLxql-xzO$)dfNyH>{<(e^i-E@8 zEBiUu2ST5eVHkqG>2n-S2A<>tqlLjcFFoq(9G3QNuBi4SOIR7DP|R4RKFwE)PC5@DL!`@TU5kbGhr+whs1bUYnn1T z#48V~nSWu+`d~rBb3O92>1<|C9VzLa7W5I`I(0)%DMT1EcYGLn3ME_BO;+d5#v5p$ zSQSgZ^ofmLT4^%$V2_CE6Kbw9N>(VCXM=!5HyWXr*z(jmw${gBkWz0DXkYRFa$GF! zA4bsg=^D25sDQsq;0q!6DEtF4T>zrmZ(6P#H-CRQ_Llv1=%FB!2#0KtPUAO<{IQMy zFtR2c*OZlv2k1(P`9oFbsf#)m(k977Dx&W9<;&4BMtJI{thbOk*9qS1#rf}!0y2}riw zu%Kz#$!LIn_fiNAmlZC?7^z&>-=aGmb6Zq?&e?&6y>kp8?^oJ>driM?K9LXQwHu+u zr&@0m`T~vZ&W#$vx<}gQn6`v2kw=a$lYi7wnNPkSE}7WO)Cq7!6T%N|;FbuKWfOw> z@c|<@ZA|eZJCY#)-0HE93cV~QC>bQ#pyy5qsJ*<*a{=adMz;cnCCQzVb`9AOWQ1x* zEV3o(q*9{hLIpO@M+%S=wUQvg#{Z-r8KN9(d(6mWb-Akr=05y7jim}cKkZ=f3V$d0 zkmN8X(v*0+&_w<*WWXvmUu@s`YoLs`0j&1y68Ykg50n`=Mj78?f=_snp?*KfzUt(~ zYZysh+k#`Qpd@FoWek-rI^V|OT8NF*n=G`ol@6bbJ;=I zcqGC`cHbktE*7Ju1>Qqjs>d~QWq-xA6LxfU#eub`ILVy&JT--W|7~IoK@J;97^!X4 zeB=m^j>uh9=929lX%fv_(I%~F#U}1UH+VhFR5$A#c6haYDa-Htn)WO3eH$%k0eZd6 zY6C0vBGqORwZWF|@C$1qjRWOii;O_w0g`hg4aK8@5~~c(55ZZaG>ECp>VMD;dGQW@ z=-tXvU;}%N6{Zosx>{FbA7`oN+_HIf&1$ zvpaIAtkUEit*UMt^qB^?7l1`l<^ZYNFlY!9Z>yG8<<8+cEIDqQJX}vk&?-p50QViz zdJP4a#!tpLu$ydnYV-;MTz`GDKR3DY9K*+MvdSSAr$?>J88Z4Cqd@IR+{J|lOZq#7 zXjN(-OMYaQxEy5VAkhfL?nQInh{+RIN8N`H2*#IYltrCWl` zMxi{%lhK80mw%hsi;VbD@65lOK&+=q6V1hF=ZHU9rsX*O zXBKm<7`=Qb_*ol&+HF)*s2SaVX{=$DPijrmwjM4N{Z@@UIYWMC~0 zI@T_I3|mik@N%;e}aI%8}zq|lcnbSwSlD^VfJ!*kI^Defv(4yT(E z){BV$yPqjHkBB$&ebmo!_#4mF>$09k#WxLJXw+;$5dFX{tSu$&aYO(lg@Ykce>fZa z3frqrP2Y{)FZRHD8H1t?<3ey)0>u|{_Q;GlYz3r+`kK1f<8+dTF-dW)Ta8HKwhO_F zdP@RWk6o^x@JKgBJwhdV$0Y`<7au#1~is(%Hv8MZ~+ zfRaR0go+$3c)Q5@+YcuZmVo0Vf3sF{r~=lC{Hmbjd8tPVwUll4gfI|jJHJ!zNou#m z9VzW5lL;Y`I=!gi=&Po^OQBDiYb@!3{G4WlCvQts?D7cISdCB7f;7Y>n7J3Jxjf#)M_E8y!*m=w--pAyYt zn@Zkxk?n5C!YnKM7=F`Ee`O0t>`iu_PmP@}u@i}Uw3^HNn#*U)`|Xa*nY1c~seP)w z|Ku>C>-SZA3B$YlduD_o+pmHgQvEsWMi!WE)I$gLezu-AhNyQEX%^X_T}$sk?-@Un z&8kI)TTOO<@ue^}DlHg;lpvwL8n zOHN0q{mb6_VH$23qz_?HSZ`CHs$G|hDC`}$q!`hgA-w$eDxC7n#6!PqFzAm9qr+G0 zy<}~;xlkSFVDEJb`^;n=pVOpE>!wcwuyK9vRjB0uA9dft-qew#{a1vRWu&oWBwql_ z2t8m3CV|9>i3xbTe~c{2wt{3CNd^<_|NgyiRrT$hBg4!l`!SQjI(_f1?yjz`uFI1E z4TI^{7S#t`XKGJsyQT+gbL|u{tS{H}#I?23fTUJ<{&CwzZjb{x zl=k4n6CuR29nGZghc^Z^SXZ6a@nje%NsQy7HHFtQ**HoNf9fz<1t!V1H$zI;@ye^4 zNAEPAQj`ulK~1j;kwf^~z!^4f^jt>mu)PjERvG|;;2`XAE(mftS~o&Kc;-vM?06}# zGoF%;2*S9q8NAaz{cz1F=OaxCG2ckBnAB{mm2v55P$P57=`U^290r&irn3Y zuD`wq=Ds!|P)|)uJ6QfqZeMgLb$KZ5cx_;6fE8#o5;1|e08BFkRdg701;XY8c*-&j zbXFL&Kw>F37`AX=G<2O)cb;9ehNCyO8{0->+iYw!Z0w|YV%u$O+qUgAwryvB`*e@7 zPu7}a%^xt=)P2SOs%H9+dgZFCrvv?wI|UFjFw0OVBzqZ)iZl^ts2tNtl-o;D%@tNJ zZKmQyo>l@(Jg>ZUF_5aNFXc|YeM6O&VW!K*k2REzzw-4ERaz?)c|C7;|5W4UR68i` z?f;@mfw52)aE|z<2jiSZ*|XEg63H>_XBk4)0&-ojavlME;P{$d_D&@br!)NDg{H+DXG1fhJ*7assG4j(G z?E4>nCKIkP<^n^Si$s2^xiw!8MW}wX1cBE)*wi##&g(>y82I8$-S3dUV|SHS<21Pg zhv@^C;x7qUmWIR*Q-?iS(>gG zLC{G7`MWx~0Vpi>zjXP~QS2Y=Zx*^`@)I#zErntCmMR_jr)`t0b5oiq=11S zFR@4ux7fOVD^FM$-Uwp*a)t*LB4W3eT;Z&l6ErBH+Rwx1DrPtNFz65KmxrzoWHJxVihnY8Rly5KrTwC8+)Z3v=Gbws7S4LHD~B zv~T6F`Lqst&*R9sf>tu8VyuTUl%--J&lciD_FMc;->(?I5ItXpL8fQofdXSVxN9@* z5abY#$jnS?Lfxl&Nme`FdF%-%<#PytPxo|>+5gSZgopno>P?ldeJQEb8|7}wiaV^d zaVnC`+?@OryAyfQOI{O6Ug7t}^UaL{FZqt9_JjJeoh-4!_Ep8hsMNRXdbk%MgV7_I zv+V$6_{7D0A8-rHL{j(iJVEm3I?LA*o&3g5en#m@zw#5)aX$FhA}RC1BTYqlMfw1ryv^BI_oKaaICbq= z)-`SYy>e=naUk*_ldG?l04T(MV_)P4iX~3jo~OdFRCd+_Jx)(cn>LX~C)ko0tdT$v zSjy9(Tkpw?nI%Ym;5rn4(8mc_@`BEqN2Acp9hrb8LZjT$*Vo~xdWd<=}7Ao9Pz;4H4N{%v+llo1PLfwI+r8y)ZX zbz#MB5GwcT={`#*hGyDXxET!|4p#p=nJt3Vdk&$3HaC;_$@F16T(kZuSuLViAbY%+ ze<;l~ZQyFN6>HyLqXJYYx~~Q#+?E>Eq#DxQB(0l>AaV{3s?bhYe(D1TgTA6)pdnUT zc^3S8cb04Ti@{p55>i038v7|(Hqs$OsdOTMflPxDUc#jcWe9l*mgt#G%;wdA+>4$4 zLFGVz1Osg6lYRHYLN&PlQG4XK7vhBY3pw@l?t;*dpJ-R#kBX-Z>*Vsm&9vAH)>q6H zLUDO;uTB!c8LY2McRMnLmD~e%c4+JpEeE`C1uUn7jRIBt?)HIQDi|-J689{q%BlSF z?@12ctmebKik9nqt#8q5%CA8KkhZw%ZCKocmU#YMsu3$VWALG_4vvg$Z75{y|0y}B z346e%H@m`Do;Le;T_R{GtPG&0dfNm^s1iO9NHixtL|gm03q7Df(lOo;XEt_3G{(c4 z-gM^6FRFOIQ_lc7UHg8}IB&?7M-UA%*p?9PS9S~GkYKjTkQd$~>aU}yV8USiv~%;% z3A%V`Yk3uUmMF#&tC78v<5Myj#<-3JdQ_qho*P~@QUXnAdZ$&NdC|}ygIOBqWu9qr z|GVnXk@J<8VVuss5_xK66kFT0N+pN!oMcqdcqLPB3~!*|=Oby0*=_V8?L|V- z!kF4Q)(xm}uHpzgy|d?gbXPnHWd1RhHFR-oz2Eg&BXG)~cr(wWjJz#nU+n4#I8UW# zS3iBu{G0%O#Z_rIwU$rXBv5wZDF;|?9C|e52rAu=f>`tJQ_PceZL%4~@iNUP;1AV9prV&cM z0tn>0x*nb)BbD>kT^0AkUi`E67^eqLYELz05c&Wl((7^Xydj)(&Y1XWEk_-;JZBw}5KGM25*g}xbZaUo^hnkj$s)qI%*H1X8y|j>Y4i+=91w9bGQUGo%;G`$H_bd z`ikgsMNV<3rf4QslmQwNvSsc}g$$tIlUuQPJBU2m+CgGJqW5U!>YJD~iE*<0kFz)@ zZejy*0S4ztIVZ`mC1NNGt(ESe4Js#yX#+z&<{y9Pvt8{=F7yf4*8Q74rDJwaX0ppf z#}EDKe>Nb!%{Xl^PDrgS&1S7~!^bc9Bg6~8!r?SPU0)B#A!oTYQo zR8pwUhq&rFW-%VkhhAXW^fBVupqO@LXpfghV?v2<_0!Q(CWvM#(YB2%uoUUtHMj}b zl}-SG5+39b=(_*%Qz;m zVZpthJXa1}U>Q!Q=2Zhe@E%B!-RKU-*a)v}BD*0O>_?u}n*5GjJ%($LevNzgXIebw zT&$rO40PxBky{4jf$Q}vkQYx$Q4V^(a?jdKpKZBDZ(tRD2UAZ-ftzZVe}ekxi6QHH7f>B;fcZwLnIY% z%Ecx>~7IxG4e3Jr#U#O9y+K$@m74uY`^3dO@$9{ofyo>M%J1+xhXkkTYcALn#IMqPEu<3 zGvtr(jI0-hUtjl2S6^3?fJsgt9iTU;T zuAT#nNuo_J6|GT>l<|vx^Hi%&{y4sWW@7oZmn#v@NDv)KWa_sS_2lf|`53OL zK10E;%vGP^D3whK(@zyT2YWW6zhfETFeY`A*FT0ohMJtwhXLz$I;O?;w?F#~)2vi(9%3Tp#|NKBVuEFxNe!LGwe0u6Af|)k(<$5&$uHY!&|lq)>_vLb`~HrX(*${ZCvQp+%pVv< zU5w)I$6dXC&2cNAOM>geq_}sXpT#q`ZiUHiOkAwJ3u_qJbs0>@VSA7-PV9t;8KqT> zoWU9s5oLYj|BXX+0=a}sRXH$8&V})INPhxdpaVSc=Osv!y1%HpLI?$Ec?(_aqO?;Ui>e|tGw@w~({kQYO&AgGFRE(iG)l*#ct&3>y)K{AJY z+yBHqLe=d{`w8Q&!9q)}uY90C<+*-7;#wVm za#M+U+8MCUEJ?w$_G?nS51>^tb`TCwQ-9?7$O@mqz{$f6+a_mtKj;-TOLM4J63sQ6 z@#YJfFe}zKV76Z!4|BWseIfXvP7t~1Jrrakj9dC_WWeB9)89;D5J1Iu3hU7@-=+Ps z_VIZw2Di)nGq!D0KmfFKE>ee76&?y~@Vc`08ik@=&<=tau+Oh=P@5_T%jnJrdwU>= zUo6CWq2uoR?q?pwWW)(&qbJclecwS!1jLxZWgN1%hCj&9d|Z$2P?=fIqQ4|L4C`Vg z6JskAZuhz5w$t)s)39-2XnWD8F;O!7M6)T=EpXBc6ML_pp%}@OeI34r0^fjU)-D(z zun$>ES5hACYmAfO$f#L1ERBw6p2pj<3iI$6ykHM^A^VncRb|B(VN%eNx?1qFozc}u zKOC{VsLQ;Rz3&!Q0j&>F#kzx1{yruJB}uBORK_?&7OL7c2EFQHk}kzF%p;&Q5UL@>8L{=^0LCCiRP6#+jZiRcm36Ov4IM5t*3HcGm`G}E8CZ-R|>9)kE4uube#JFS!c$7veGOzhWQA|#J?(L;9lw(ut#CxINNAbWt$%VI(UVr92n z$TU*5SX8YJo6HsB!o_dyebiwAMr5;$zoOH{poqCZX?ms@;bflu3`0ZpK;gOhx0%tq&0~g{sbFSJsA+@JNTXNF z9~A+ys(O#xW~u(`3kCR-RgFJQ71QesYvGXoQ^WEIHvz5E)ZxB%)UT36HB+; z6g=eh7qKHLaT837itec$e%0N9P5B4LmSfi0P`ao{shi}Bom*gBoE?FvM@)LcP+XRJ zPMCV9n^q6I&fl=4 z+$*RXUTgTjh49vcYt4?+EEp&8V;|4jUXF$G)33hR+g?t;oVie}rL=Nt>XGTf475%P z%6;%Fc3v(%jK2Udv~p$fF1Yc5cwB|?@!2>rnlQ_N$AxX?AUy{x<+=?-&K{;-TD|q& zWoUuNuYk;B0-FAhM$ht5?&{WmIh>G;2k$F>X*n?Xp8*CGwLZe%mNSKNd20eH+KBTv zKM*c68-*C1abCu;lRsGM@sJje4Vz3-1ughkKsK~{gs*_UASocSpRB`$-@7wyEA>2B zgIbsWQ|pzlv^Xa}v)VQNe6-G#eB7w)c9?N?nzi5o+a?FLI1uYHW(`7YTsj$7VM0f^ z3FfaeeL60S1~y-TW}WDRWHbM1)7IsJub*L>SF2kK-!l63SOc6cJ>haZ!;49x*}9qs0};rmu7 zFgcB-gJes#MPG)%(@u%qj^TPbY>(dV5HV;j-N<_vc%ErGX2pLh7loZFhZ-Q3vbYFO zw`*Dszfk{3^x51>SvK9Dcd%qkv&>n5-wILc^}`#)DCYgdl1iIL_9EtyOxI8-<#Xg( z!6J?uPfbGtQ2}xU=zT}TdY>B|`foWl0c5bcQ<{1$XXJ|aFN!i@J1U7OOd>vKBQ9^|_gKX!+B!7!ScB7ro6>tP4(yDg{8bcf3k!~tG13ax`IR{J} z92u@-ziXTZMZVz;nDX)|lK;MEpnAG@H?B>mJQ~RiSu5z`)p5xPJ(z?Ur2TG&N!f(o zYuoPI2b6T+VW|?=MuAq7Il;?Q>QnVlm39t^isG}LIX%6)Ph6x22a>ab@4I*2ol7wA z(h?usViq@rF5vm9YD%w6Sk7x|+F|768hauCZWtRsgCSsfTv_dY;ypShxt9}$#^7f! z1lo%Y`(gH?IzNy9P92|J3|TyG^~o2qruBy>0kD_nYzO4K!L7DvmVJkm%Jtq_=096^ z&Nn-wn$e%7r1}vAE%dkbKx%kVYiJ|__^>GygcQ1R!XR=nA{BVZb=>(DpS@1-FRv_0 zLFjfbM7KtP*65pksvPbR_x{>2-Z(WVa3(JU6}WIypN|QpVNOjX@kOx5y|Zd7*~wyex13-2)RoVBT3|Yp@YKZ^k(7jf zUH9#xlCXnq_f*P;>galIx!tw=$!OtZQ3_dPZ6Z*?vUoi%X^@>or^w?Yy?q{q?7jdT z($5&O;_bwt2GU(84KWo-dL_b4 z?zPGiaO{iAaT6610kGXL`(UkRZHP$z+bWv#Z}wU-9B5ayl890A9FIa5}xj z+6yaFxOE=ucXovg&!aoi7-VX*0>4Jwc5etag^P`gKH_5jf+1yq_P>t<%-nhIK<=iP zZ%(11+v+Y`#p7O#5O@a0IHn2!n~RmrKW`($JaSFJ*iX;9iRpn4k&pirOzJ`8*689GTAInDX>+=y2y2C$a z;{?nJn!WkJ1vqXh8?~w%1Z->X+y59uvs(w-Dio;fxDbXQ)tMh&Oz{GqI6AFp>U<vOU{CSkRZ_Di-c1&CnBrwvE{ggz!bkhpkOzB2t4R zF^pGI-5a1cXdhxO0cKWG<|`o=i=Mf;@tpW)hcC)X6&WO@l%5#fg{gNldX->> zDn-!~)(h*R4ZV>0C7NB+g%sk0k6TE`%tHfZKO}Uyy^ox8P8Reyz2PEB*M-eq@!n7` zzf5U#7)~tA^&hmkW)Xg|4K`eD548OLTo=M8A&(d_+)}=3+TP@%bDiDw6&vgNJZsl` zl%#JO(nvU}OgjO9ajo>Pvgh=Cy+{Ek#LYJ_IN9!qn%4?K4f86HgMWhu4eYpvm(#ELfm5MlpQFP&JG}=U9$s+i1B>JJF9+IJ=($AJ zxQ2a5J?2;YPCcsmiT|}9$A-rf$9E2LnZZ+sLa|2hp7ekT%BiIr?FZuHJE5}FuX*9S z*uup5y?(o+Tc{A4o2R`Ub5PehFIESdL5vsmq8trKzUblRx-TMcJtisfsjPWXu~ThF zc*n)}+tkxd?N;TNV~xwdk}mxWm;X2sbh(_Mkr-l>d;3iL&$z?1$x|uR@9jYipkmzJ zsW=#Pv|fPs4O&pi-HYeq(Ks55ke~3e?72~_n683rbT zwL5%wL%Lpx=sy5dSPFBbY{vKyWe1O?Dn~}v|3(4u;XYJ8?IV=z_cE7t*C2LODm!~* z7JaXoTz2^~;#YoYdBpCM`0gamln;|`IjFVgtnJj*yRL1u0B` z%@w7SJasK#o6Bo!_U+3Qz^En^lbo&V*b)UCoULBd()qw}U+G&EOneuuo5Ti{nrHr4 zUr=#>V%K*De+JCN6}gG3F>fE1eQax`mn}UOAj5t7oyQiS!F@(7ER#NN=>&5_N_RrNJ?&$XISyziO9E7y!eK{or90?XR+7U$PxN`rjfIL~20A_Wv zK_K}vy{|dzJ!hGN-%kie@9#7EGlyB?!R2k(@V<~}9uW+aD|Fw)Z(^clN?4Mg&Zd1n z3#AncY({7KF>QN0$7-3Y8|FQe!_$gwfCpb_dTCJw*Hw{aGXf{m>-O*&G-S6d zA@m$0l31~9)h`;9nLK{#Z=VkAORLUw}E)QdT&K^d|+Y z&-Ie10GxB;d_NtL7^ODf^cqfJK*Fiu?Z6Yq0HKT?vED8!*V1Ry)W6GGD4JX!KvITT z1;&ToQ9oSdS~&n!$7r>xC>$EGUkNJet?Unsp>D_Rbt+KK);7ok+!TmNE9(SpjfluqNmpU8D6F> zJVw6$&TyhCgqYap6&5r-Wn&aT%TP%1dV}a@Wy8$z!I;Ed2+iT@3roM|*ZFX>Tp-~n zw!GRrrY!HQA3VK!l`G3=db3rmKm0P*tuKw963e2LVl(aZhZYQ1VVCV1Nc7}R0|;QF z+FCB8@jy0`*YS#D@k={t2sTm0natYRuCchHzh2?46qdO#>2$UF&&-68^R6HVeicAJ zf5PM-yqjl|zYvW+$#+@YW`YIts#h&(>d;S!)1+-ujGxS6PvQT!4AV@V`4w0mxN3Sv z?lVot=tsMNB2R{AEC#^`$c{KjASi3sA;2)6sOC#WTaI>a_G*WNz&r3bxf@KjxE$Pe z3iwL|8ok!ZT)|FSYbW&NglmecFemu`z4zSmS`@`LQ{dr;Kv04v&l=CT$G=3H^w@8SE?x&donth@81%F+Jr>RyJ znEd$YEBg0(<*q|VR~59?|3>jX;0V~$^n(E!$0rzkZP3+?IE&}R7__lrp%&uuULVp z6PWapST-Zv1QTyy|BdAwg^GZDDs<@+0k;~FIyD4DQTcJ@_H0F+Rzv|4EqSvdTsimM z;NaTbL+1#F$V;WA@e8I*Mp1n~Bv$%xSmrzEPM3P}Bcu^RPWMQBi=~)tz?(cZ#!T1{wVp*lc88Wqs3N1H%$)Ln?=;mT(cQV2MHTh<0j#A*JT~uQJZi zK_W1$cpZB3o@tCnQimyk|J&`X2jJ#s^9GP5Af-LC?!x-=eB>I?82!RB;yD9M3B@4& z%?-82bR2-b09lm9cBym5y22f5RJ|L|g&C2gQ3;AxmQDhrkppt41{wKe%N`X{)s6kU zDGMhta8={)WellAJU8Z4D#)I3KR(HXw2MPrN-3uilh{B+rfgW(X4Ka;<;5bq|IiNZ z_3MJg6UYYIa^CxdTDi@UjMGeD!3p*720-W-m*ha~bxLeMTeNyH(I08)-b2%ZdFdQ! zu&!iONBzdQUWh#6mGOE{LWr#OPDy^_S!bllqK9x*P@F?WJE{Yy0HKBMVmZ-YvYrQz zCJ)ZcbuI;cIp_1Il{Bg+e+LdG(Jqu)u6qvi3-)#UN?Qe8MQZr<)EWQdY*I*{U6`Vg zbRpoZs^`3|f#~4W+mgV*S3a~=EUJ%U{>S^9_CWh|Y8$v-i!W(8C-P5cA6aLT5*}Pr z_yV175R<59boeSP+KXOpCTeagM6FmD{S*|nc3e3I_4g?HWi&;^3L6JBSZJxv*EebW z9}QKVw_7rQ9|r-OzZ2hgA2jz^?!tBqk<@@BPs1o&ORXg&lY7m*`#cgpLqQIWg50Ox z)PfJLaJWaQ{U}!)DBRJTt(7!#kIMbtYZ&-F!xU@_Z~c;lI-ZY7eN?I#hVAEY-c#$? zxfD#(mfvRMPV{PBgt6GG9iI=5xyWONQiDH8(nF=6Wn`@c$B_q!RTl3b;RRE+V0i%s zBg`t>50!v96i+vZsaw9OPQ{_U!Ww-i3uOM$+ zXP1gE*kD7d3&;D^(_e?Kwf@@~_LUKc+oOOUk;uJjqzu0yj}rasyM7R}YsjE-@(nxY zQvWSt*L7<(b@0m<+1BA6F8Z`Lf&iOxv-HuS)Cn{8e)-_YIRE$9P|m_*o~lU(6_Xj- z&S_X4JWgD3v19eQ+V@Cwqt#BD=Bq@X=PU=CaYikBueu-=x+Le$UHc;DWh`u9aj+%w zAMQQVJ_49rKeFCu8PVcJZ!(l~&n~(H!giD;1i%oa{T?NRO_tS9j9@ICeKRa7Uj1xJ zY6ra6&X9_QG7VrL0UYA;0(PBC_D#`3*d}ZLdH-J{pR}`L&FN{YsfO{qwqzYxnWM>; z;|lpww0=&iCKU%y9ji2C{<!>Sj?j`bX&WUb0svZ!K6MQ%05y6yP@%?#OxniSV`ITC#2vye$8 z5##XYwk+B)Ln!BqGb+km?44>$1fl{TN=+mJ(SV1hb`XJRflgI3+F!4Ta|Rg+29Lcu zAOzK`!@lSRrOr?>#`||IG$jGE3C(?X!TWN(41!_{7jXU0l@C99MG=@8h$^Atny){M z=W1&oE}cr%I@zj#9DXp#PFg`Zn;4xg)_DpS7)U zJudia??4MR3*3lIUpUJ+HMV${UV{~H%b#ZI&h^aVX6;Pv_1!M*!neKs*Y9XgdA1od z#&H`6GK74Y;?ZvD*uvO5aa9#O$Cbcw*b<*Mlc-aDsY&c9GB8Z;Sq+4ieU~n*nJK36 zeTB+^yT$PfH=@?5D%+0`7BEDUtt$xSt@9xYQOd`R$6pk|oD^uuelhE$Y8Q)vO^e9|qGOVPG~1febz{mk@3`4%zbT zU$9E)EXL@@Xq`KyQDHNm*yOupPPA^!zSShhHG8DT4iIfdEj=^>0D6BV#(uTcnT8h)?E;fN<4Qm7lCs6c7JL1zZWJV zfGtjv+PjI%5hlzOScQW?7B_B$LWK9JQe&qs&M=_Oi_~m(GuR>N81r*3lOMG)iu>T10^!ImlSMDez>5(!xTd*l3esnQxb* z)J#|^iLE7R!Dnjb&TmvEqXFEhSLNfSnXXDDMwn+(9uY#JxP<$U1=tEm$y#>!4u^kM z1PGpC%WH^#;2yy){)E?gz)V$XZ)^Qq-rqzM9nOm5$9@ezR#^#&-V6-km{JW;>k_0`8 z@(kMBBE1r>8a1+}-%4|q@ibSGmHw~Gpay2YiLesDi9yb_z05-*K#yoHDmrSai|ndW z-YEiN)^s__@-7JR^t9lm8rT4KRNAKyHR+ve7j!{`PZuXF++qqfA~JptPITWo$L!ud zb(MPZ8b2lY#QP2QElD)o(S}_7v<5#1rMY+XA09^5hwtwp&wYR9_Rr7TR%{|LCx5ML z_$K(M1sB#~AZ*M89pYwYx@1yR)T#|K$#Ve7XmX55U%F87<(!92G8R!=MR!L$b_r(u zTry5JGUxMahoV5&XQo!{IJfL@XS zN#QK*Fl_|GROWS7p7eMnM6>m@VcNFI>XIDynRECyA{H#wn1f-dC>Hx@ekPph?YC8! z7QXvnX_ml_l(hz)$M6oh7Ow69E`3A%f<`4Hp;aQCJ<0ccOvA7nrsBBE^h*H5qw<+} z6=UEq)121^%2pWcsj5>M>W{+`RH5;TE>?PpUJlfZ4@;tS;cl;8F~8b~@0t&u?um2} z%^=&vw1NI__86W}3N-?K*R-BS2ju4(ImRC9b5D3C9ndr-N|IQCKo7+>3Ji?GYSs0> zy~@e?_X%UnnkSk%ZCT}o(*Uhk94h#CTUNVtt&BVPzdg86vxop+S8X&0!kTG{(Z9_~ za<^xTjN%^}neEb(C(q{@^u$2F>dz(1zxU%*RAW1>1u7rrQ2{0mB&zR4`7EvDlv`Jo zPl7{|sX=#tTry<1vt@cS|1-_bZ_l#^jJ$io<2p80L(xGj@_v(&0A4t)N)Py~(C6+V zu{U2FF1m|L5$k+z3lyimwnbhO<{q@e5!nUt3swrDBf1M@g8d}r^OX<0E}iX^AVCDj zUK53Q>1;t6i^IkaQK-mexc%Yns8InMRFXn2W?+P5sS_EkCJV)l#$+LcOs;9#9K~Ob zL4?^8p%Y~7b{v`-;8lW5o{mRNAe2{$e)jM2tz)Xt^`J2PHzY{z+x-iQ`X7X=;?0Z> zc!G`z?bF)NQFoF&iuupldTbHH$nY=ubRz2mw8VS2fV=}M+9J#gdSkWUvk~*pAg-|; z;!A=_@n@;8{n?G5IoBwa|3V;?D&|-LeIs@-+llOsWUhQ$7mdV!=dD1V z^4}`{8`O~ks#HoE5E;OB0_TG3bW)6J@suEeSV|-xPggJN9crOSD~A%Gq7qBpo*&x+ zA^vRxYuO?x`074H;(@lx6+Te?lFU?sWQ5!e<_|H=r3q|xG#xLc;+6!om~Y~5Y6xMm z78$@>h-*Q~Hu&9DV7{F454ba3^a~1cwEd(xx>PxP#CPbO*I1(|#;(I*NwK2$nZ%;WC?ZWF zPI9;}FlN@^OKsv%2IoD9dQx+K~ zu%WVl)?g|#eAduBpfe~2RLI=bQt^$fc%N^p|J=YQ9F+ln44W)~^5(+}TV7romD*iU43ZhwXdyCSzeEhSo2XQ2 z+0vuU$`;h3_m+zf(V-Q~QWT?;mWmV6k&kPv(@_ek{b>p&92;q3JXet%`ekgvUT0^> zj;zfSd|?fA5wufIi_mUo7KobEs%w#fr$~EKCg_J_YLe9^OIuJTXldWng9_)O0`el( zcB!T#ILw37oY3WXZVECOR28pjsLhiwXvaoTuw>MJ=cf4NdK@FXilT}??eAk}7y!GAnInD;H*pv=ba^5kQ>W;Cg5 zgggMWI+lncShvJ5I~3LZWX-O3<6*wNZ0#$#(TF{WIcT(Q6-UeeYO~1D1WwB346+iH z5wWW~t`i{>TVr=(lh5(Xu{NX1Iiu%SbFq%du$v)3SJoHqypX7o91cHeyRmWp5Q)fQ zI-LYJ(AHy9>1mElFXzn(2I4OSyfEblfMkHhReR%tUD6ox1_@bEb+1q;*ZcLsj3$`{nBSApW9&2CbdwpCetW^)(-SwHq$j? zI#_WgJbe~?bzhH#=X1Gl5T6|^#>G##&T!W{OZ;Jbc2)G+Ujqtlcch8MmW}!e> ztro5flB7*%pg(fO=v2CcAepBQ?Ci?i6<=6TPR=SYq~5h@EjKjcJzCE5OVPVJp>SC@ zITe?_qG4`ye)=cecYU=f@w`^#_q08e@CLYq(-_E1eX|QAtRBf+d ziDS>T^Iuzjtp*SfEOFUtN0$&*D8+yWPLPDs3zk&d6#5lvN`RHo7Q+qlRsW%2#m$`L zK5AAQI&jb8U*4G&F^*K5cl^pk%HD06D^@pT%%!~EB00L+U3y03<21Wc+ZJZL)sgB+ zThOFLhJ*ey?|ow%Lx6gq>!-28?7y;5xfQtgp1zhYXG2l0n)LY(v?xT~$Qoc10rECp z#ze~jkt+PkeUPEnKIMBjS18v&>1Czvz2vt1BXWS_A=fpurDQ&<^OOjj`mc_SQT$0{ zdDXc?4Y>f8V+JNH${=A#!$w99i$pK@WmMx*ZX?U_Yj>iznqgl@XXMyPrtu#aZ$_CJ zQ^YeFrG?Su#N81)djJe9Ofwnk9S?y2yOOtkpKfG|` z1$#Ct>I(&e_@dM*1l4)B$y~7TI(Q0torMYrhJ=4DsoVsLAJ38xC=n}V#!{>}h5#;P z=*wvRAKgq z;Fy8GY!J|4Ps<)5Pp9nf6!w2c`Z|#@k6X*HRf=jiLb4Vi!Pe+NllA{=RMX;*u3XIj zey3zlxRkuVfq6U@Dgp#oXY(zkf78HGOC6d)fw^r2Rss-Wn9hfwituc_gi#;&!%S=EMz z5p81;tMNcy=&G1c7KL^6PqPx}d~;5Ox?Cy(qWf@3A=+~tURl6MDoZccc=VfJi9$BD z|{?b6fj0y;cjZejR0t2Li4u}(i(6M_rZ%xVG5kVX4FR!9yR-%0 zo_0+xY|}%yW7Y_u-WAXmIIbf}h8-5s16djUX8kYH_>@IPXL|;xjNe-Bnm9cS;z@NW zuVvVR$j4$*n)@^vTZ+~jo9Yq`E~0eAVP2B(-beYZ`dI;L6go`7zT?6`2g{QWxSoSU zvAgaAA&=gYzFDZ*1*V?#-JFdwo?k`Gd8xwRcj;?xm2d}`OS`v9P!7;91d@if6H<|3 z3Yp~Z<;)8Wp*z8)cYVuU?&^&zHp+prKVN!@oz+&VOK;tC2C)|>;(fQ*MDp82ym_h@cf|FR|v zWG2C^x9wT3jSaqmn6e9B7f3)<-g}KlIVjl@Kj*B?RkT<@-sFfqfKdY`_Ki*uw6Oi# z-5A)44M!xpnYLj)fJy*i7d?eFBtoP5Zav=Z6rErdoh*JlrB}bdmt5s9;WrA>y@w44 zY`|z~MQO#eNud9N`m5wr*+d|R<^r-f4kH}}fgQE!Yd9ObiZ9Y|8H0`Gz(*-RW;!*RetPyX48stcy^8;C44Q@QPDMkH<^^I^ zHjULA)|z-SmhCRVA-O7^aF^cRs?HDJYU+{@Jt--Mb|se9fNBqPY4kHGT0wmWV+y7D zMUY3wCO{`yRXdhdw)I`H`%)+_t2KE^M&sK_B0Ce3kJ%D*I~&2X1jT-(E8KEp?}z4R z6|%c`m6+1nKv56)F`~{93Zd!ZGmu+u{iT2u*A1^V9qkGI_hYEG+%h(dYU0dTK9T(? zx10Uf+FaeDBp9JaxaHbazS^<7k}Zr`ti?@w4`UE0R?;Z#8ONy3>WikpgDl zPQg*fo5N8D@laNGvOj~L{w&^iSUqp%JQU%IAhDllMedQz0(Jz*3<8b?y8w!`<-FG$ z#`74-%No(H+V^odL9>U(o#wT~6z3|TMKx`xN&I~*7>m_)TYbQN?vM`qn^jvlOHwOoz z)~^T!ZtPOl&Htq|Ibqf?g3}Z|H^l3gWp}cA<18fY2Pms3A=BnAoKxqD#7`MV$^V?C zP6V!+-CwaNt8XY~1MTW$zBOmif`OrAUGHJe4j*Q(ogtwnu}nkI{svxA7BO|+iW}x7DLnO*Q&xF#$3xw z^^4u_F);V+`N}MI4&xGLnJmnBkJ5hKsZ?W*rUsU(K?Q#-)<;6F`&(efUp1>5i&PF! z|8?-*0KZsOwTdY@{sbzU>rsXorK2<+%`rYYKez7mdq`s70*OsYWF;{48sk{1-)+z1TrsnMDvl$-N}hxhK{ z5oBd$PTNtXk@*%q-k7AA`Mj^`CA;tU zz|)4fwfAM&>;soka_xR~=;I*-9C3k%HKR-yFBL$vR`=c2;9AW=yA@)W}TPi&JvpJk#rz2 zlhM_O{)0NJ5XY#DZD*jnEs#|cGY(euR1e*6vRj6%D?Fcj^oWZEF7ol7|xB9F7$yhq3_LC6w>rSvOJ zuA<_n8V>GDM{gD|{gxLewp~9;Am+;p)OCAY!%bTtS>|(d;8~;Pa_E2pwvxq+q2$P^<>$>DkRnPxtRho4$;QS}wq=J(hl7)ggPg3|4Lr3cBNc*)_AHUVDU2M);~ zPax0wM6NDiNApy%tK#*kv8)LzHD`c^Zmqk}7#Oo*L1#|*eD^LM`hMx)$or8@s(VJ5kGStsGQqy9`DO%YWmxcBFu~x zWmy@7OzwGqF-ca_W^pv=L^-z`Mq*-}{3j-DihY8#cGN@}+SBrnk#^gePc?(l1xrC& zwgJ+6JB{zy?0Z%d$KF%`hR=D$zkp26q)bY}Kbll+^#hHZ?nvn7|LLuN;^b_6;N*PR zgL5DZ*|pmn1?irdund*Y_^V&~&BI2-vxi^}f`@~?EXTP%{*!rO;6@L3M;JY;4+K)+ zTtsw7^?1#xKqwh4%HsuyIP$WZR1zVaFvOIZm=v!vJTH9(h+kLK2m6tUY{XNvDUY1< zXl7O5KDEQh>o{BgGJe^p(*?W&XcZ4D+ zA#xb&iAfBZzV=-~iQ7r?eJ1Vy07*c$zn&a*PIw@h6KB9-?I=@{=0DOnNUgac6GE1M z<5v@>>XOwv)^j?CacjkWh}tcnRL^W-k3d~vVPn}I$#e0p%{V`8N=X@I=CN-} zAF`k4Jz7R&vnBoJ3TFRr-TJ2`-u$dFSO0X2`@roM(mLitnZ(fFSJrM@5FMzt5NDl- zbMgTx?6=^m)|z)~v)Wms2KwlPj4!2s5}%7a+U~o`8T`{@vJ_Q}g{yf6`fI-d9hMMk z9!SM+g?>K-{SG(u-@Sx8`Z3l{4UY*=ST&%vEAuDdf*isXo*=lh`fywCPVx3BXgArS z=L@zd&{Isq`6WA6_Er|Vebq7nWSkhyKJ;k1od3`LR{6z7sd?{1{m%CK=x+UgZVCSZ z<$Soaz41r+>HyDj+$FyaDxWzeKxlYKlU5Z+`)d#)Of7LPB7X0O|#jnj3rTi(&L_Eu!PUVtWxhAM%UnMe`0< z*Gf_Ry@Kdf?9y(t)WmVxC^hT&Z*MJx8FRAUT`R3wm|sz-zJ}B&cd7ZIxf)kjYM#{Z zbXQBO64Ai@OaHS_eU;cC?a_k%yYA;^{BSaX`Kq%4{4Y>b^c$M@w|~)pyssNT0ptz|pOyyscPn>F>&tiVhRD+L`ud&Ho#pj=_a15_=ZG8W-kYNR720T`rfeI{ zQb8NddO;ibZ$TT_;j7&>T($X6%ddhc&BT-nR`}iJ^^Fa-6Bbr!d39q0tj*QC#0r^} zv)pK`qN^Cd!%*PP@>-*R$x8BDVtEatYBrYdZQO~LK8CekM>BWw9okslSiQ#*@m68} z!t7Y!_d-5&dgIPrfUa3w@f~#K?(*8bH3O*t6^-31+zV4Wviyd&z#BXQ{^?r)4;FVy zATREY>g)BwQvlC;aMbz@!C_W>fBfH_kpu$vTj@@nOQ#43AEtPJb`ur+ZwMBXzXBFS zC->@r#FwBU3h3VuG!FlQLt;z>u})|Z9@jzR+ai=kf5pn+J%o#b|6K=)Z;r11@K>x1 zoF?nIW#B)-oaqJRE)WXhnR*SRW>_`f98&r8SI}B3&El!_ZU~oN~Nf1IUYS34lNUY1iPd0^nryNi~l@i+~DPsUWm@cas0(qj&|12m5ab zYES->dPDWv$D6=YcPtT62d3VMo)5-R!Yko_)~aw7sGnr5U4-? zX^YX>PEYqR#A*oH4TbD#0W)TOuetGX!(UQYaM~!NE6252$z&@8FyD+sso@&}^7nrQ zOO-fpeJ>AxQ9@?@!&(;$(5~C~+Fp;t^_35hV#K{ zj&OxlngvVx3t6!CGdXfF^^QZoA((FcB|N;w^4(Rkq#AecbQxF!PSqbHGMmdQjdgOT z?&4nS`Kw@a-Pyp|#;n4j;*aAZt)cYF@)|_&vRtHpwdKY=G_bbZT)*d8X3hHA^2*wZ z{w?CMt=%Py1r=^c7ts&-Yt5}MuQl(2``BC;lGt^y?mL*|2S;yh?GCfA<@V^9dl4+1 z6;d|&HStNrAit$0F+89XMLBfQj8G zZETZ=n}5AoT@e5On7b10rf%i`Rg7N`wg0`jc!{$(H8~+9kTxMS8>Ku>aBPzp9NYDh zg^=(5|NUkpUERe5`ry5s(-L1TBWW}m%_eDoQPNY>!@G&@o$F)mhp^56@+6&uWzr8B zicKV~pPI~B<`S8hd!?dIegxOf({>#*s0-)TjxL(G6NKFb-sOn zqX<`h-lO@s`Y}=*WEQtqi-)xepJAMe#9_+b~r<)vkR^4UygU=2{v@7$}o=>GsF#LyYw8Sw}i z-rOo=U&^q)1vjh$by@g2ZBB84^gTj<*XX;UD`EbDna7!b@EgJ)4ho4`BE$R>6B>=O zM>9r-edt_t?zt+M&4T{x?+xKnWhqzMUI2|}p`k7k4OAr#E<%N~%8l$Q}%J|37FEU_`Ojn{p ze^F^N9MY6Th*nli)iSobBQG$23O1L8CCVCU+bHJoqUwcEF+vLKNi4}I>5YwCii6`{ z4vywNH@eikpW}tfduFm}{eZv%GU7@+wDDrmLnjO_v57#iV}{Cu3HK)!QaU)8qk#Wp z4(=2Fw|<2D9feV648K3US7zkq50c_wG)+43NFSaQm!u<#dL*L-!>7uBhK!8O{!0|M z=oL+)99kcqpt(;-|M-LAZ>vo@k9C!EGmJLG<+)|9@eJhP+}u6FO!r3^f*5FZRO^-L zQ7fD6CMHXPAJ{mjv<^p;#FxQklr^n5y8ZE<>3%!kjemTr>YWzVsu$T2-*|7U)4O*;t>YhJ z<6&&?68w(yIj9`ISpib(5~xuA?MVqLB`D!eI#3L*(O-#wd&sPR!nuhewX$L5R1{Hh zsiyw|2ucu0EpxLQ;_ZB}t?s>wo_+d*LLkd9P%eZ^(EK8UWEBQTT6dP07Pn#aq;+zE z1wEz{*1{!lBB&li(x4nTX-q;UWseRtsj6aMoJlk5G4@M zpd!OFF8^rS0xj@B)I5ywxwPw*#`ufcSvp)gW)7k1CX!$rI7}pq^DssMIC_#k;e$B+ zh35dDH9@!_05^Z1&9yG?(=4@rgtX($5;;tImP&$1oh68WE*SxFoTF?s>QmXR`-R5N z@CWRWv}H1`rwT_1{>c)sq3(%*jlU4EGewFqo`}W+O!w);(0@UDRyjGE|9OQ zN+mp9*VC$@*-)v*p+sulnn11E@P;pyq^!uI*^=P6Gr}ct_v$#$4+%G@zyk^gG~|Q0 zic`4=ajw#TbAO9Q(?dC^D6xo7YD3UM=HQ!(xuzDYTA>1`g0CAPm7J&ALnXKsJhv;G zK)Vnl6Yb7R3-F)&0+9ogY``|1>=c$W`kEYo(bbONe2#}o#4y4jiwktZhi0@x0K_1D zh|&!Eo9q=k&HnP>YkVkzuQVRz2sy@&rej@}L^D8t4-#=}AxSIA8IcYsF8xMy4wK_B z>Mu^PdqCzYMvDCAz&G5z$ZK!!l_7Eahg{Wx^UFLK7S=oq0pmOvI=TS-L${u3 zzuinV14Z{LUiiNf!I2rKQORHpVkJ$dpU;Ec!AydGz__@>&l``7Z~Ryc7Z?aE|IRA4 zLrZMN1uEcdS?T8s5+FsGWSp~F#u9@88QqH&N>BgvUM-C$KPv7oBcdBId^oq!T*@Jr z|3(D`e*?t-E`?u6O;yDy3q%3TySftH2|{pHxm_|XBiPD2Jdq9{GO+}yX`0{#*wKA+ z(x3bo`_ICe=u0WT`vP{OmJ00Hco4(9h(nDcFv_8@qby_1f}V5KV`MnxIN#DEj+CI? zV)tFB&=SRkioc@48E-3Gsi~s$-ZBe+Q$^Dge>lR!{hZr-G=04vV$q=1gquAO!{STz zxT6Ov1D1S9f1cpTP}{Ru>^bY>2K0=@v7901am_5w3a-O*J9uaUG5zNL*n8xG{80kj zg>(G*n^10v_wHn!iTIZDmMQ#BhxhG3W&69~H6Bx#Qa#gWgD$dy5gCE;<(k+>E;3Bm ze>>+0_u5Rt+b&!O!!R3A|kuToLn@@QytYr?)22&_vTYMt<6kefm z9nT#}#$eD}$HO|3U|ty5>omuR#_FGL4o2rq^r{?u>~x0v@Pmwx%=0d$x@lFif7mq6 z@1W8FFP4^vl2{*;%i_Z(y0bm#pB~_>;lW@NN3gbmy-KZA!s}7PYbLKvCU{cmoYT8D ze%ZribWD}n?e}ZrEk^fy9bKDF2Ky~s%HCrl(2IECL)fv=G#-|ktc`bIEa6FeW;c76 z&Fk?#5r*r0Pnx6M{?pF*<76MQC3z#n-vO(vLr5f-`5MF_LxD>Rn`|vWI50CMV z0LEB~5;|8yTuqIe2gn{?1{zFzZ9D>d*1YHtRBG|&f1h^8!(J253lXej zIiLW^R7`yi@7Z;*PI6!o=+syS4tQqWub&MDd^{V4R8#RLUbE25zAbFv`m{2^OC{^^yP2>Yn%{F_BQo~LQf3L7|e!wi1b~tX}MGy*t z0sF``$9{vP9?OG%CJpMFC#Z^dv_Kg)Q|P=oZE{t3j5be(0b&{p46xev;2djotaO8y zXOxeS5IJ2SvF7{tFlt&N^Y|+%3A2fZd&I-6_3?Tc-xO0u7UrH~g`hJHtba^{HWy$G zAaKSe%A;wWHu{;^0rG3@w#R?GQCNJ0IZk}Djc0ERfAxdv%(y_P=n_F9lHac!7y@aw z`M3raiW^ZEyb1#bb>X?{YZ;La!|R&ci@v6J`-oabCXh>%B(OKavk@NtloZU|p5uKq zQyA1Dz2H2`=9m8+k_bTdd)K*-!VFz6byLi5ch9>Rm?kSqlpS($4Is{OO2~n+_F7Zy zUi#>ef8RN-%L(`lXel?$n>{uGINoDCrF@Q8Fnl1yO;by=7s}?w5HB$F0OL39nmJ1} z@6gcee(YeV7758sKL6*zy2Us~gYF5k9a>fr?9g&kT>ve-d&Qv7GFD{B0K%N(HsC5l)Ui|Mm9u0@brqpG^`2T#e*n)BjTc9{^{Op$A!7tryQR*del#FTdH;7>!ShqvB(Le7G!{t9>mEA`@Ui` z)=1R4>5e`t_TTRa+f|NiI+Boq|2thWjaqSu1nakJx|Wc{e|*>2fN9iiA8gz$Gjz;T z21LNdx3Jf~JgO2c9PBxk0CUj$axhB~eLQH*Qmpxr!p(L8UCaDWOA@8Vf$faSgkjbqXbe_8jK zbs_rVGCzz4Q~_ZU*Q8DGT$$hc4DCNpwHPwRC1OW*EE}N|OkQtAFCbEsDfSE{80?AltviD(hkt6AY!>8t2T*vk=+j z?O~@9LTl)E#}GsehGRAhhh(q3e+RRmWcWy5a19LIweX}9G??~OD-;b@MJG$47Ol>* zisaYEABAH1NVZJ{Fg|6Lqt$^aoV;tf~NN-K0h#*CqJs2p4Xcqg^Fx`n^z(C?Q-NT=U)pu={vBOWytEQ$Tj=f6^uzqFN+6 zH?kZag+mU(Kq^I!rA9*>x$!`h^`sieSG=ej;-G@Bfd&n5o_3sQbf@^U0tRo=CPBT9M$v}{cK119Fqx_qV%`Y@ZA zWroVf=Y(|Z+K~BoMu=vvf8V*(F6S)9F>k4!q1iU-fs(sD#WJ30|HzKIo_I#DtoET= zKx{hWgVy?fsXsJfrY2cBNWy_O+N6L7b-}QIr5Dwzo6~l8z!b1sWE%yL^qXY_vfAX! zYp^0V?Mj#leR+-7>D#a*tf?6T+9TPTtw1vmC)mxqB%JVqW76+Te*@Fcrd^Tin3uQ1 z6p260S##_9QX9|)FUUuuyvT^TaDWo!w|4FPd>b6L8*gr4jN((Do*hw*P-51KrORuv zdEFhc(KY+~*Zmfa$$BNAgGw%YIQgUMOGIH;vshE}%C#Xc$*MO3{m6Jd;@oTEb^@1=9iCSF^tC=U;NJETr?u3-B7{qB~Mv*&VCnfwC)O6-ojoKIRQv;7@-U)Ap=pF+* zv&`3GHWHGvkm~2&3GoZkZ-Oy@q1@eAi3x{sWF)fggq0=S#n)42fji;O65wL6XBV0c z|Luyr{+he)f8B_t*wV-6H=&MG0DsAg4GIWkFrflZ2Kcx&CBb0uQ1WD7dSHAnV+1%% ziZ?cZ;pTRw`=0e7P8Kw=NrC#XT|{~_G(CCvuo=36P>w|nEseL9-*|a%SGo@x4So3k z;lsiRdBD%x22HbJM$fx=8nzQ!2K(^g+GqqvQFknVe+yAgk-*$nBgzQ*@Npr(k_RC4 z7(@HUkvL>@8B#2Y5r7suMiMwgb%u-^=aXuDB7r=?3Gs z7{l(#2N*FzT8`m3!61vH@T@sTo1Z@yns2(Zdo{+BzNS-6+bMV@pqHyDY72MpX>aiA zwL`?{e@*AD8$6z8Zc1w%3kty}FgMmG!5F^UR;NB*#rx2-bKwDM`+~lqdo$vCca<>f z1|l`$UF71~b=IDk^jq6QGgq#c9)TaW!|?!7I}^mqa6%f52A)lx*y(k&k3sUA3(kST ztd66o8bE@FSD;JKi~$gyH;0-6=nkA1{2}^B0pq?6(We#$zEC_N~bE^76 zQO;(q*l-}*!)O+uEKVZqJ%zSIjfEeH!M?(NDrvCiH$Zp?Gzbc ze;g0StHEwu=c*jv7Nezhs|@me%`(X57_H~tcZlXr0}qUwRwuIH4sl6lK70iAX^1WP z67w~<455c>Tmv+r_r;aY=g$*x0-h|E5sdMHH|n|DNYrPLhnWiKjRL`%mraBiXqyw* zLGi*kW&zPzH)k+Wu;0gJK7_5*5Dq>Tf1z~2s=*#@;1%Fe;oW8vqM(?B1&j#-q4f*8 zHyx(++)p>)ff(d;eCz$DAbI;PTIbT0QTPGE5t>XR1>(aFm48mAhaTleUxOYroWhNm z6JW?F29wX9vkJ^aUNeR~tcx!rulZHT(-@dI?!ep~?(FYO+%+xkZW(2FGHMk1e|XHi zAFdrf-P&#B7cotO1d#Nkg7AwY$5$ z-+-|MZa;qSAMWg|?Y#yon4ZJle+03Jt-Ks)E6>`tmBamwy+)qAn6=jS_qX;B)?T1@ z&a5QRUhf}l>;RYv@YD9RIfeYJt&sofTgV16dOt2u%ny$ck=fh|aXeej$RhGNaM{RG73MN{g%1nyfyLH*0;_&q$6-+PBoK!>C035hU# z1{ydO0@yp;$7n_n8f3DbZ)~Fz@S0HT!1o{g`dfa3LWMl{*Vneuf8ZDvVQKOA-Gl8d z^yuSY0+YU!c(t_&px9q=y%fHmuI=Ho4MR1*jt)VP7qFiSacpcK;B$Ndua%^1uVKP4 zTI_d%$tPP+B;llcVp7%*pQ8EJv@NY49d7@=hSo2py^j>wf$z2b-(?h#ln_K=u=#v# zkBAwcHAjk@z1^1^e|ra886%nA`@BRL{%WJI(b#)vz#)QwO5ib!2JxTEzje@5(~rS{kQ<&i!bh-e?% zo*{mYSSVPjK8%rlXy~4!lc7ClXWU8%?NWGx-=h<|4nngKI4W9}xC%H=Qt`ZZzJ%rJMV3m(rLsvqWSPEfmErf~101~mQK}bK0mIC|Im7cF3a*$K~$^N#c z(&6>p9l-<~f5L(R!ONNA~BlbwVXswDErQQ*0u zz+TfM=;Iw(EwbS}g6~4+Q3%~83AOLMoR3m)l+Dn;ro?sxlcf8Cq#f_RJVc+P42U!B zPHWs43~`&QbgkFauJyeY&2GuQ_$aoLHOXJjni5;nf0`6q*qVgZ{fm+~TJ4(^e&Lp+ zY)QJuK9Vgdz8y)rbxg%~Cdrz$JxL~)0vxN|p-@(oeY{2*@MkPuGPbJ`5LFWokZfzx zfWOa4L60FwLX0U$N_^Xkbs}O5W{;K%hCeVh)o+h?_*EPeVS1`kY(q7@6mqgVsWv;8 z+)zz2e{nUZ+O^>`$IqW)?VIe@FTb3%g$*!gf6va8@}; z3n|{VX<3+?9fiN!n>2sZH%b29?@Gl)0Fx?`Ktv3}4r5b-Xx@l7+DeW?TG$?+v}Kaw zgGoW1|)~6JX%TnD|ck0_%O*RKDJy`YIALCn!*4-C$+DVR|l3~cz`88QoHq);T&12Qr|M0YY`iG0H}5a2BV8vS>_`^oF#SA**xwF)l3>!J(G^7}c~?AuriFYzdZ2*{|T|0EKno z)a_j>d^b=W7fYf-x`-2sb`Y_=PM{<0aB5=x0#VbWA<;n$IEPhI@*^u?Cp6JApFijG z;{FJE5EC<)KY$P-rD1WMgx!9te>X)SRUt2J!^NP}hGSkbG{hDmyxE2NVDQsE>@tXk zqWh4LeHa_C{=C@R*o4{TX#@)1pgzxh@bRS1d!Ek7%~{l)BT^6np}6@%u3kt1e6f45 zxqJA+gJwF$UcIL?0I=l!ehU%jH^iZv0(G#pv+)$P9)a3pxB~Ho+cywne>I(?D%DEW zRLcx<8H}2vE`pAxeMm7~M3H771LrVPb%l(QJ%$dJ?(RG;iA~k+x8;`aXz&@;&|#W( z{iJdPX${AG7#iB?vZ+3! z4$f#1^V08f4VpXExVionkfjF z?3t2)Sh!);CMY=sIa3zU+?kSq6)C#oEd-Y1v>wpWo+%H+OU;xEFk0(wROm6}%#;)2 zr7{EtI(y>2O-rbq2Iej%Il$e3q}Xn44e!^zaJIKvX>2rY;ryLlYmB+qLBme(f5>*| zmYak~(3Rj)5aQ3Nf6;^(^03{S?awSWZ*Pm3K-88yo{Df-#86{<1Et*ht$JH?r$Hx5 zZyzNYCJnT0fmasJYv@UXdMbsaF{lEY(#L~Axk5M{`CZa-(X-OV9iu>f19TlDAoO2P0Q?tqRmW= z&YmoiY^3ESkE~qR-0gHo->kv9xG1gAr9FV_8B7l}mf={AyzkC=nV@IX=1$UdZpz4w ziEs^5LN8?2oz~`S4T>z9|v{}d+c@A9E7OX@;5;o6Z1NTzkZ@0KI237`N zz{+SQRzRB>Sn)q(fyHP9Ytk&NKo*F)!@KXVeLUgTi_A)=sY)7;LYmk5u}&7T|J}_n z*k8MN@aZ>fSccBCQa>Ph#hVK@NWp!E_e*&zmht=5NMxFD)MJKj!>Y1ZA zx!R=s{_5fBq5tgBF^+Z;P1r2H5SwGElfe#jd}*Xec|_jZ(y=y;u;qc&@{X_%2C+rr z%UUy65gCjhB@=nk$rF$hf5cI=D}QN7h7}-og?u2?SYFVT8D6wGys#p$WBWNL?3-h8W}8&kwe_&yM%)K6 zN7>xRF=U{{#|Aj9a9r>f;V~o2aWj^tMG@*GaEfM&nH+~9P7~}Y8RgSl$Vt%9PYS&D zLj{3IIKYhuJaZv3aAIqWRW-*o^pFtNsdmO3e=Fl$qRt&mh&XL^$g2O*yhHu~v!5Nb zB&FLU%S=XoRgmx%`bV?MKLeQD>&*d8#DXs7heEN&&T z2zZ5KNhYX`(p6Lrip}gGv}{R&a1()bcQX=%0Vc@Yh1s#0j99(V>ME|PF~*!YDa3jp zfAL!X>9RMtu~O%x@%whHvtOhfe;`@GWKess!%&09bTB&D*GDp@-6-2>rk7Y!EQSTh zGpzAtm3R7TTSd>mw}W$p_dw5V+aaw)PrM-L$f55X4TpNo&#D)q6yonWkZ1X}eyPpszdaIFS@1jty zi5~<GqAx6x~yYNsfr{47b*4+^8eC&z}c)oJ9sFHdD3KD?=;@L z4ZOR3>Juc~Hu~U0Z*VhRJe(7Df9eq4?6bm6w_R_B-F6^1)-|QMV2o`JzxjukM(~_0 zKFzNHsm!HEgu#&wNq zhS$?~(fH;N>UaB2yWQ1p+pZ$oJkQfl3-gDg9;dLo+C|KTNwA^Hb{Jz1e`yFyjXt(O zXjh4GXnY^y=L}TyX~UeO;8jSaJYOBVny`=g{0CEhVeXi8oCt6_2Jv*`)%&Xo2uUX+ zNrFShONqxQ@@g{&8yKDmTP8IDT+@6AuMM-xf`HhLM17|CwO@Uqw)i9y^)=0h@Ek9U z7jOFDVtp`yYb;N_EWVL1e?vc_>oAszPdNkgTt0uv53jIwM2k|MD^CQ^a#_iqveO)T z>uA7r)GzX2!K5(Y5*p}blU+pBW9wv8J=r0oA*K!*b7ik~Piyx=TH(QL&WDc&7(=(w zgL>_y7H?U3+~`W(6_9qJ0G$a4fs6)!>tK?H-5ZA}%qqc+YA{!We|z^QD4;&WBIEqo zBb(zW4tx_wqYJoSvWJ~=V6D&3+9o*k;lrLaG`qCbxpG}g`l+_0Uwf4W-ALyAQ3az2 z=_B(7l^@F;N42o5evy&e6CC&es$r8MUf{v9s222$hzEN~rjd3YmsTQqG|GLGDmYhu zyJ7)CI<+WTMSH8Of1Rkm`)19|?r+!cZEl<+pX1bT8pYa*O6CnP;w@rhHf9W#pAU)wIJN$YBI#Ye0(*)>z`2?5ZGgx?fz z#Bv~9OiY>{Pl6KRvqHrQK!}hj{y3w~c-ZA%Ti(`+w1B^o zuQIR;lg1z0qPulyVputbZ8WG<<@((Z+kv^G_nm>wfBrxY=|T>P-`@KtV62$yd5giH z&}Z=vEEd}x9wEB<6Zi^nSuEB!th@n2nI}!T`9uz5HNThf{h!_3@o+YKWvBWiF; zA?epVe_}>En>JaGl`wHte;Uas!un*BR7K_unhN0-!tHe%Js9u$6Xl3-f+C^~Rrj#D zIi^VGew3W3N0Xf#$vS~9`f&v+u_fn@9Q5dKHs0g`d;^jlPN{UqxX^?{n{2}JA_@D` z6HxIkLNet8nAOj>!H9LE3*cCQ$4GILkDlDXfANWPD88d^i<+-1H0?9@ZE#tGEMXj! zuW@6^6|XcJ(=$S6rCn6&X9NkVpO8OBjVr{}KxXh=WU8~^MiWd@k+e&U3EApWmmIOM zgLaLxFuZ7JGR67ZOB`#^j3!9oUtQ1kaYe<<_yAYY3ph1)<z14${vS23$Lz;xeZ@s`27@{4oNzb`4i*XN{*bUGd1t#10n}Ay|m4GLv z0D!}BrLpiQx9T0Ti10grqo2`4qCb(}e>a-QV(_HvT2;ddf(nfBI5w!rq?|b}dp;_5 zRL`rl3oZs}7)>DKYkJ}$CoH8(DS!vo^xG6L#ANy;a~+X#C?`>=4WdnUV1 zyv`}OF;O?h*0RRE3u$kzoZx89f6CE(KJ`WRh9+0MCPk(bfLM#%dlMU6f7F5vhTsxL ze;^`p7;&jUd#HSf{{IKCg@{8ePGuwv@L0rJ@jyv~JVPxh{T=pjK zlSqdTYHq7Q-&4I-(@1v{M%OXd$LG(OSXllig-37xJr3Uf@~EhHEp!`?$D4ZLgzsaby8bsMAx-OS2UkQk>7vzrh6+kkb2?+Nr^lOpe@F~@xo8rCuw0%Y z_OH!`^gRpHP+P4{+h`3C_csHpW7I*T2pl(Gw++Nn$CkC3qme&HRI{vxj~+qEk}J}A z6hyqtUK%4{BN0&oue+o^&K`RIrKw&Gqsd-{W@8shT_c=VIM0JkF;(@xF#aq$Q(8C9 zNBR;{jo)^zaG2X)e~XqIm@O_+-bby7gV5;_?F*^%_G0PA-JE$uifX5B^HJn&bf8}1 zvv;NQRzve!v0Zg7fvhIFzq$TWO|emuz_p>amM)LpW+DIU!9ecefAkm*AtG_T)+m`J zFy)#x@sDrbn$X7y%g;XXVX|iiditQ$UYyD41eVRu4)(+~e)zm zz_#@!5f58)W!*^;4+!yJ5FpTg+lHsggEZ}{jSxdyF=0khR{SKLfF=dp<097&jRI?~ zYTlB%U8GlL#|AV6n~u@`7!|^GG%7K=PYLuHOZZ|S&B{%(^qFY8+A+Mef*W8~)KMIv z#u?Ej1Tez7f5tv;opH3fMz^GpfpyytAM)Q-XE9ynXMMf)%P-(Noe=k2A;4Phx{9do zL8%_g!H7E6pJ0l(n{7~1G*~NnD04GWN)ei99;9Iu5Sm33{uWJudejvEzz6X#cKDz0 zK3m(BI^vTxT*Xebge{MVNnlVgnW$jk!OujoWX0qWf29T6+xYVKJ0F{GnmIv&rbPpY z^W=Q{X6O1U`t_+|^49WXmmp*kPl`2((a0iTIGfPN7X|@eW>)|H)i+|fb9?yA()6Bt zU<-D=03sf4V=}YSkWCY}4oUQb5UHTWte)uNBRh-O8dvlLz#TQEP`uuFDt_*}YMNs4 zx{T?+f2$(P#B0%8&9e!2R5Zonb?v!^JLCL$FA|=9EOBl7-FN}3q zrg3OOQ2+sb(1VY36XTaHfWQdvekNS~#1yC%e_|q3uTG=A$v59(C;&fzY?DP%1FRjZ zr9tmhqVa;aVvrq)k_%9yZSp3e@7oM5#d!j)(bs~G~JB631?{8bB_Erfy6Zd{9SCM3XA|hV-ACl}zEe1-8e+xzA zj&VH`9XPf9pzqMZs2z)T2oJv7NZylh%RHis;U@4#9x7%_NY@$8qgDG6>P_+p?ufz* zuMnGnolUe;dILUlUZ>3_lQgD0dl1d{^7akK8oNS+UFDV5UnA)Ex@H~8`<=2cfc{|+}@{m8!;(#Z{v5uzdbA* zFv80Tah{tS9_eA>uOd`DSxGR2%1~F;$K8R&*kt(baOj7|$NhUJe?U)egRPE^LwFAc zqU?SK@FZ+742)T;q`JC-paHa^9EJ6Kej;r%#|+iadrtS17&$tHKPG{6FNVg|-#dk) zNwJPUTbQ#lIM?lU;dByUc5Y3u(@V@|-sdIz3~kE?)gX^m*3^8Tx5V11y+LjvC3Y+f1zM%3FFzrqkrps4OFVpEoY*JM8&(<)SkA?Vb@@4f3)q7GyCJc z{c)}?t>D!BJ*I*#6JsC7q4ppBUaJKsENbPqeRnxVuo2ypq1{?H^T_kiP+BGMJy?q; z{!;!GEt)CQ?GSv$mC>$9oMv#9NcD7c?0y`~R-%N^2yY{Re@`JGOhpFb>HiQs1|Fal;NcP8Im<6NXYcIC53(%Q@ce zg5{GQgFXRPP`M*~G3bh2bp0(Vhlnhv4r-AG`9vt5}2N z7p`ZVwNit>e@u?3kUfzC?NX;u@H9EYWXV`WRyfRkW_+{VeNirK z2D{lQ{@?lLFIfICtgjep2JW1vxOlJ7gd9$QrxW;H@O%ht{vD_n_V<%(bCd%JYLtPZ zMtRPV?Ejr?npVNajp1ilI6)JT{E-wnCRN)8ZZ!y&e`n+L){g5!UeQfwgC1{Jh}aQO z95+)qZ6m<8fFv-sCma>9yN;(R`jb6~yf|%OW(_>o8~M@X5$5!TSntA(m-}1WyDuJ= zOQqr?{1f#@)uL3F6feJbR-BBn)tLj){8|Q=Y;1MFBpYC&yMmkF97xRH>+uJ)!`Q7$pNBT;X`m8 z(6WB1TL_aH$h)qm2>2Xag3gTm{_tUvl1UNq6^dMg*_XTfTL)W58^>EOHn(1E9lZ7i zw59{k!Sk_7x&5jDNY4KzY^78l|!iu1d(!*Z7{f{s~y@cv^=p21Lf*l zf4yUgSc#it3qEKl>#N8Wh|)eq^p&PX$QO3p4rA)@hB?Zt56+(xd^-5 zQMWrPF3RM-vUjP#tL?3ghz)UHYT{1(iL7q$8OGP)S%~J4k4u5^W3P}D7$~p@pz!Gn zoO56l`;)_i1Kc$x@kMRH%WsXFD-0U^f0|hQGq{dEUZaP>Av}h>|DGOZrGV?p7T|{IUEZBqH(7pb}b$fpok<}EQb0| z;9bvx2Y#EmN=jtAkST>1T;;h-V&}A6mOK&C;-fz#&cjc7+&JC*{CTVMI4t7~e?y#+ zeQDxR%(b;!*Z_sX!IB>dKZe1z!`t!zqt3id$&*VZ>-i~e2qbVJt=+E0HC^=R&m~;_}FcwZj+1%e{$}(@S2kq(JNA}I92F9yZaQ65SxgXRVe0>)KpwS zZ}#~DMr;OgRL*^4*Lz$>2@WV$$S<*qNvr394WeGRPA;Gl)=f#C0kLxnDkL7Z$O7#} zNqCBlq!>#(89+unhb)&__~FApCclM7tVt-8je-EYv^ms+` z-58)b{Tdt4{-pi~?hdiG?T9vkt5~x_n91%d)q-IsyRW4mK0HeI-_&8AcK@nzlf1Sv{wbZ)} z+Q!VAS~Fn362A}(tsd-le;F#O{zu(PE7l=^T=SDkt;<#`Ju>A-EXz8ckZFF#vc;iA zPcQz)GOT=rJWq|5$O{uDHEHZYiCBRVq5~tu1aIn5c+N8#OCmBby_4|x*z8NMA)_O9Hn^!j2Ha5EBV|fu%am|f1f8s%R?#9sk2@UK9 z4be;k8w>ft_c1|J{&{f0Os&!_!G&DpCvabj-b!petrd4$YJ}DJ7vE+t!p|fM(jnfWMEz zqhP@~Qe+PWw=~TBj?;;cv5NTnPbjom(6|K0!HslQ3<~uj)D4QIf&zfP4L-z)<%-&F z${2TKjd6oX|(X#wQD8M>~Jk0gN46;HuO3f6c;ZX@Q^ENJ~felO?5S zK?jA&BzP}wF9et1H$tzfHnHh=g%ok{^7$8(ot;MHtYsq8`vHNC?dp!eh7%zp7HSEHh-dEaneInN!KBk2WF&C zsV!(@RCwJi*74`%NT}A-H3(x}%$(pXv9s-s3NKI-f6ihx&1AAB=uGA_wPjwC#ENzN zc`rvDY+XZa|9Fi(@8}xyjhJzciiLG13+qoZ6>c7^0H!}6)Bl8|6wjCCk!JQxHeCLw z69AaCbPEqd-G2j#LXCPKeVLVyb?)ao4v)IS33mbwAot5qS`(|eVGR(u!5YwLrAP}q zSmhQ-1%exXfpIIn!MN}9Rni;S>c<#Y1xvA;1`v{ED3lE&$!)+)Fj2Z;5P6s$a0+sf zSDdOZZy08SfGLgh7l6%4FW3(HunRlF3g(CPabg>@9DnbRsft!DdzIQYoX#)%Ac~EF z0RfD)jz6FkOF`cJ!FeONiq#jS)1N`IAzDS)>J#;_##yes*N>t3Abb1z5~5?4*L#C* zzgJ&}bg#yjQSTNZq1Z);_31A{MkWsnPxud4qX#?f&x&<5xisM(k4>#tSSEN6T#H@8 z3KHa>%YOtz>ai2ticj$Db!1S=0+_*%oGMP;PJG){w^qOz1ye({E16xp@ftKI=P3qM zrGZWZ`@PvtI*oNo;jcPQ3dd&s_=fKQ#+n5qp-2v96Hi}-R1QmC>my`xuwt=s7?~XG z7_>~r3w7d8{E(Rw@Sny^k3;hOajUC1*&(7eN`IBf;scNvn0>s4Mpa~r-5$g&x!cP& z^R5d+<{fAk{AA%kQ0}&$yD8f^%>Br%yEw{ug6tH8P+UtWP8Pb*8j4z4Tl>DWrY_R& zPHSs-(3&>uQ<RGm=(*ugdil^1wTAwV|3jFFp7IH~0xL;CY2 zFt-K4oLe|VZ}I1Y%6#OtFeL-CfaR6dtQoBJbk!9q&Jh2jQ zl;$a^@;*^TT^y2yGl8)zFN|a@k##+14XeyOD!wUUKKufB&n8}=oG4%nM8?e;&%-T^ zJfk%%tS51YVMs9Yu+UCqc>w~jle`f`T42XPjV}&@c#9l#|ORH0^wA!aEcTZeUGR}`Ue!THAa`{f;tXcqGf?uZpfycKzx8>qyzDwSBp8f#%vsdk&BnBa z_%S>qmcwgTIIN3@BPYZ9qeqvQm*HhK9E?s8yjLpmp|Lzv@y_Lw!Brz)%2Aba75ru;U9T(_NkF){$;m~8ztqZAEIWI+bD2v2+Ows!^=>NedEqHXtz4qo za^+DB0ylSynvtlK-Y5Rg-_>~hJFQ6f6-mU+HoZK1B}ID?zSZ4QqSk^QWB7f zRDtH>|7;$_Jn^-&ummjGStxT7N_HB`{P=V}w>0PDtgJsT=3|&dO<=clF^A+eFBy|u z`*hBkXqIzjGt(9P;%`oLUoo2o=|pg~ ze-h4D7K6obd1pcIxX^SSu|)VEN})xy&9LQoAWOXXe}#j5yN2rH$f7EoPX zM$W=QZmtwA*XDzzu(njofl{lBReUVe7O(^s;PqV&N-f~NRH+0gTEcke7Q-sP=EH?* zS*q0Vg*wX%z4B66Su6*vS}85IN?~ z%y9(FL^Z&yEMZzWVGF=Y)VC@>iAr=FlU5S^mF6oP@FKwCqxx4w-w~Z)o~z|x9-{*x zfU#A9(^5|$0=eadaDE>KCb-M?|BRv2w*CG1`QqHXWyWRj zV*F8VT*mKDJIlG)Zc7TNorRTJwTXZ5pY8#b`FX6#`QBVOUt7lVDJ?9lacAJ-FD4c@hf z8lUq9$+!y7T=s+8TyR5ibl{!$;gosH<0^EE^8ro~L6!B(Nbbe}RUTM9tzpo14iSs3hZC+zvRseTNGj)qK&4jmJ;=5*ca*Y>RCkTGqH-n8DXOrvA)QIA{f@t~eaFwLTdKZL0a zVTzONJzmxJ;`G3&C6+E0uG?zf4TGlLdUT#Bx!_Ttcxbk z%ivJFsOn=pJ%=~PH5=EyoOfG%1{8rgT={zAqddks*FPDTK7BNYYD_~h`ur(*EGD{@ zkXom^i%q;_<7-?!ah_kr@w(LIh7TX6ZbZpQD&z~ek{Wjcj@1~0M{4;>NgXS7^s$J5 zKyz!#>PflYe;rDEusP#l4FGxs!yN30Y!^7Np)(9ik3=omvmIxH32q9>2ao}&i1K=w z39f<%A>iKws)pv2hiasWGag>RhRx||j$IjCzr4>$5_JLXx~vz-nrfDLZwCF;mCFMl zk`Wo9Yzt@Re2Ix|X7Z;^9uJY^*s%=eJwx8PX@rTpf8wz~mKkyZMqHjHQJ`I%3|_PW z?uZeV)YB%GN)>#jh=U|La9DQmcy?#xqGF`)F9wtDdvjerUKqehlO&qr`nfspT@lbdyijY&()v3&S|s7sj-voO|Y9tH&OA)aTAi51dI3>o;}uDmgZ=uCeTh{v-!bvN22nX>zXG zX9bVJ3LKxdhfkSk-<|ADMtGgjo)2-yQ|%9Pe}5^1P}e44@i<9{=wMEQI{}MowkL=i zLomL*=;PFjU|ol;7FF9~a&Nx?4Dut3bKS>p_Tu97o`-P6*oZ4{3vW=~Cn9d7YNI>JP_WfQ&aMowo?| zf@u~HfAV5~27e&0v@ zx+uZ7W+Ks$ok~m!D9sZASZpgG^~s$RF-f3!gLH}Jv1RSL{63-qTRtf>?0yT9u)DPc zg!auaITyGWK>>qA{wC@L z*#<{ZFQkU)#sjvahgbZoV4ffBY#UO+0UBE(q?!eaPh2-;BvS3sA%lCRpK_LL2OKp% z4rZ`J&!Y}`8`KZ!)^6cS<`+jRU7OKnYML}l5Qiobg=AB8v&P_MyK-;>e=}Z`yKxfS zUr`yeDf=Y|sVSF1i?f_Z zEk!SVrp@ptR)Yj1GMb2wu;8k9Fi{w_)Ze-W=@3Ov;L^eWYh?u<0?@gOV`IafiaIl#qm8St4 zIq6?4_ReB4V@0By>AZ|8$xdhGW>iZJ zAu~IpVq!oUnYcg*e*qTjZv*olllhZS=ApHXxEjnG3~A{KtK`9uhYOWtDb=*)1tFZa z@zRm7M&5dPs;ymQ(m0hi#K+iB8H8Ig0xQ5FitmGgRM`19k01WM^!OdvZy9~mmoJVT=S9BH z*fRp+zj^fVKcq+R0sfZp`~CSM25>Ir`(Pj$uK&%$hoL?_d<*qk#_oFZ#epN@>iY~l zaV+Z}j2ve4fAq-HN1wi8=uuz3G-o7lY zt!!EIfBlZa1|J`RHek`X5y*UWwn@_^0yl{{AS3}w3yD-?o5Xso+0-2Bsm4=NsQ-_M z)$A>S?Y#9>o@2E3>f2bcqKz|BFkUidq`E>LS`LqLr2BkeX%TrfB&Sqa2hQ-D=(YBN zu6W&9$d$&rvWKv~?9^i+PU=rR#7h&SJ{O%ue?p1J^B`1)kGL{?`pOUvmC=Z^7@7D0 zgiHig?Uk~dTg9&vR9!VeRl45gbF@>^AA&->q)=3ZtRX8$3IX92OqA%WEJJF033IUU zp!r&bWATP__1bGMR&E74e}-d>gG~uW+5(aAspx35VAjV3>M|a5&-&yDmEb4$8g6Il zf5er{=#MCA0>4j5er;AT0Z zvU$|KFDp2z$p#z(nsrvO5a3vuEwve+?Zi;VrjDCwgL8)sgPR%?M2^;7RLj?fR1S zZ}lq3)>k+mpdw*z(N#=kx@Hvv_BA`7f3UcjnUAa$d$3J>^$*Tv4e7&7jMH}fX>s;u1XS%@zIS%!2<=q|ZLbAUb=Qzm|gZ~nCnE<-IU62g|bo8*YntlMG9?;!#qJ&vtrUy4uhEd+guNoD3X4m(h&{ zG7ISwm!59bvPo?IwwDf$1ulO-E%-`}cW z`0xrM6!a3S&YXw0Lp8k}s$n~1oo)_y2EI1raQk~SGER(!u@M66j!JkYHvu=vX^9SPH1^DyjW5)PR;;Pq9;ShqnMwH;pfcmu1!LAt7l`ZJ_hOd7%w>HMOI<3e; z$qbeyxZ`wWM#KW5Un_SKZoM5M5z0-E!KaJMjt|XFarZ;IkX!@VI0u5RHY&!aqIhn- zxDzNpq7%N>OefM+d3(X>=-}wOAON(m08Uu2Ev%>jJVQ@+#d<$bmx=rsD1&3g*5JG_ zy}dV=hZ)?zYYZjL3V(l2w)Zw(TR1_U_bcx#4?>LR&q;s!H)LbNy9R=<^#=u8_KO^Q zJ1zr4OyCdVUvIv$c!U_wAH=`kSlzP(2ALwiNGiW`RUyO#{#-B6CpP1+3k)S!`tu&% zv$s|@cTTv)n7rScKEP4=($jcm*k0LxyT1E=$C9_#nd%~$VWoe(wz;{!yJi_y5M&k? z%`CsIyu;`I=ALWhw=%PY==9gg%HAG}9emu|NEJJfVj)`UE`RWqevo?b!@@ouAt|Qu zYvr=VBgAAk&^^1duDgKyUNCFtWMhCO)WYC=fb#}DH74_7~0!u~4b8Nr0tyB7U= zm(lnuxyx?h_hqFR!G!XgjV(8gW$EAQip-lNFu-qS{M~SQmf=#TiJ5+ zB4Nob0i?d&J=ofGGx}DV(kLnVe)E;D}Rmr69xv{;wM4vj za_jAi8~T6R?zS$c+iGuC%5TG3ypdJ1INiH%R`&g-veU*W*(CeBdmH-)n;Y&th6riH ze?^A)X$Slk8fZkZiFg6FKQK62bRU47J`8y2!-SCj15mMO(EpFt^yc=;>y1T8i$J?( z)`%!P@56xaA-u7=o%%T0-8(EtZLA!wZ|-Uv3Vna0G<<1_n_I0Z0<=EDfmI(7z~+c3 z?g1Yi;AY5K{t%L*Fkqq&6Z}O5c0*qrkV{3xEqb7qj)}7Xn)$Fosnjq+J_SADJM#s| z6Y6;r>L-NpAFp?#_;To#zzzQe;1N=O5AmS^0Sx|2K|x65(f40G?EV7>JY_6oI zhc17}`3%FuVNA_LJX$?bVY&49g~{;eD6Di;wE>D~GjhEaoeO}-`F@1$0tt)GAuz42 z_E(2#MUMjNc*EAH`L!3U&d#i&LfQ$#hx~^>zl!$wa5%q;+>AcIilJ#f#l%LRK}Cc{ zok7Kcv<5+Ve2}P(|M<=3QxJ?O)}~hR4j+H^2g=Zk_#-OpcE2JLKFm`SKBBNcJ&FeS z@Sg2?yX8ZEck&nxeF){;$&nk{2i>`mo7e}-p`1T5dew&9AvPQtxkE!jI4*Wa`VW6x z{5=@v)@@S~mWF~~eaH50qONZfillPWKiKm|6stP`S-4^}+-M)Wh zBl<6FJ@+(x;vJ638H;`Pg-YzpDzPu(^Yl;bl?mK~FM5%hNWFUi9=1NWC_g7}z=%i# zos!iXc=dErrFbnpnVkoD=x9viA?dw}KimBCdX@g`)lB7ivyB(I1e1fZ6FlaJXk%|^rt@kX)1l&(&v2oTq^x7(jz0Tp?}rbWzGHl6R26OH0#5)Y{rgI z@GkCB^cM6~8j^0&_brKkSg+aH7q(q~gXh=W>FFsPuYM{YPc9?){q*QRr=NdX$NAF< zNSoGI#Q^Yr{bJ+WHDvfC@2B#oPhFRL8ov|YbIVH)KjFU#{`vIjC>L@a{f9Bfl5(8Q zn9HHOg(oQ84c1q074B#seR_mCv{zE2g(sLY6HvR>YRbn_ObvJh(t;xboPzKtiWVzN@Xn@0v_OGORY4c6bVe;T-FEUwRe}KGl}u)Y z%1p5a=wBje`=f$T`+-^G-ce(!a4e2>N(ko*$Iy4c&r%mjT}$ehx`=T-W&-jdK?YVM zu}>SUdiXO32;{-{j-{bcIJ$)l;`8FkLvro^DjfFu`Bb3A|W);p?5AH*6e z5`zYXW5gS`{&94BgBUrp#-Em8ff-tuw|UgE@y`01lZk8V4I zM~_a6aIo&8ZYu*s08j&knk$#Fl?5Ard-*=tdd9rag!rxwj*!nV8F>?7tf|*>~UEera-P&Dyi|MSSrqc`dg6!^HGsX4I z;HZ|5?IiQ;yR(WDj{{CX!ht5uq-rwEZTQ2k8AX?rW_S9!)>0oJpln;Js>1hwHP>=~ z84jVP=cfQ5k8YbrKpp^uz~nHLOUIx!5V9O03(}4yjnhJYTzl~7wl)YGs1c8tNupQ= zW?($d6e#=zNc8Cu;9M7=PM{ROhah2`VKfNDycqy=5Ri-Gcp0)dBYR2qA$msu2*P%1 zJpeqHOP^|-cuX%KTsqlRnEO9Cyt%#<5JT$XKz(t z7L*R%VpXvR=|(4})N`i6|qL6wgR82`_dmrKjm%A$^~8k-(D|JXT?u!k}e8XcdZS*@g|lSY+)>EE3UWS~#O zAi++Fn_IEp&qLt1e?Q*@Qz1I%=uLn<4Z9H?LI~%Gbg2fIcsodL;ZFS>BrCu%ZzKq> z^lObafCk)_2c}4yOc4*in#4)l>SV|qD1r0d$0=L1mmK^!3Nq|4%_6uq(B^ztV6M$8 za7DTgI`zN$Q1E$B5y6fob_@Q@t|rS*l>yQ+ z`UjWrmjxJqs4bk5<5J&o1t6YqeckRrLjD!ohvQ=ie59k`#=2dr(DC1Xy#l%BF5Fp1 zT$J>EU;s-vT#g}u>2xa=`NRJ-bBrrM5Ejo9oprwRa3@0ZRWyPf4-Gen3$s)kJT0qV zVBQQtq4QV?f7YJcq9q*T|M6pY0RZQKr)Vqid4af8Z@|4)+as{nNCP)=xzn2byf88I zc_F@j+cGKtoEk7T{bzSf)^%+9Dg>(x+MNDb`BG6KB+Ra)Lb1>l3Bf9ZR)ph77x}Xb zQ&IO+7*dDJUiPkH9Dgr;NYRgIK!uh^CjE)68V1J?OMry|AJ4Ew-&DeQZlWv_ z?`EVOCBR5l80Qxs4Y)}WEvQagB4jLl+D-2=bc8dWntqq?86w;+6z1b|y9fRMFo%_9 zD6LmM=?!zEwz(57$Cy!0)tvm^_AEqkaoqhaC-; zY1nXnO3o@F{5OM^TjDMES;enp^{N*7*7h6wx?2eC5J+?{>zCP?1vY>Ag%3g}Wz^9? z!O!&$FSls;KFTsdo}?AJreAI+bt>1FoCf=hX2d1AsqD0AlFm&gzs~ySz8{Tq^v`k< z*9+ZYirW@#4CtI>gp69dMZrfH=zw`p(`Z|!W+}$w<()?)nCS{UXq_6ICc#LCprIxW7KE;V zl|UejD^B%0wrh_3`3y}JK_1DC`%xWLQ(Kzau9ezK*97w*m*{`T-WQw@2w+;2!wc)d zND2KAuBtm~;ENf-9c-JhGKvL)I09K7C6MsDi*R?ziEb@+gRoH>l2%Z~?2!7j0$Ub} znF!tRwgPYEo(9lfnwx$6xQ(fMp+5zn$nrY}RJpzM{QLLzONQG^v(G?YXyo%ieoCdM z3k!3I#i!wG4|9JN_$ME=FCc$5F!NR$o4O3_6oU~&A8~(F(SMB-w}z>P`l(9Gs?T(@ zVu=Td8=(3S*FIUM^k_9MH7WY=%h8FVre-Gr1ZsIZ;$folkax;AN=?|^Rvyxg5ThJ< zUMeDG`2aRoU^5*kLw)+e9@O}N=R=9O`WZ@;9cr7>d<3vYClU#F<=62l+yfDKR))t4 z()q~oW0-&9-a+-aDS;cG*&X(m31MhDS~{&t`@B!r%rgWL*GQ2c&i;q8El*#;HQNCY z(C^<(gb3nyXnwWXKGPMA7BNu~H&DhPor)xS6KwVI6i7&T9E@6E2aM=mBC~dWHWe1B zJZh%i)LeuDPW*Lrn;bakI*{|~j##k~`wW|mharD;$cCzg;M*PRN40vtes^SJk1~TB zj5tGS`%iLeeI<=9*NI0|9*{X*uL(Ry-5QomO5n%koW#ITX)j9fQ+13g{^ODmYRDE8 zIS1Pw6x^4MubTgGv#Zbb2e>mpNqXR)(8+^7xfD(rg*~o_RCjlR_+Gw$!qU@3i zSC$pZU9;-e$Y;e_M^xL$26^klHGG4 zA5esEb`|leTwMeC#H<3p>P^mq8r+#|0MV)AZ?iN%pKpWd!_y#!Z)}oa0R=+c>Z^aV z@(xD+KrsYG7Vi75#8H%CX&1oKE|#twmUaOw4Mba@7Qn`z=g#vN$yJQ2UC^w54H)3q z{^qM!IF~;2+-z<>X-+*CD-yNb^JENz-=Hn69PFcxonQ690ZL_uK~?;p*?nx`X>Rrj zOvDdG&Vv1tibQ#ElHt548~Hrx4i$f&n@t+Sku*bUy@lmku_llm&=c?|oR`W=%(O>t z&xzWS7z z#pz=*2w)3BHr}Wcx-37%v8(Gj@**#b}*xcPIpS;@L-!2z%O5(`!!R|h3`Z!c^G-_H|-P(UBKAlfC%O@M_ z@bnG&s{+pB?%viWWaMTSo(__7vvlinK1nuqBv7z`wKwZNeM^Jn70hp5*Uta!o`@o6 ztI|BddSGEs#**Dus1v7bXLpBnzuMo}5IR3>=WV`zvxR>L#TQBWU`(HXzOg;Km4-8MY&Qhph;#D~G615GxR(*=TVt zE?a)H`~GAF5`2Jk>-#J3F`pZI#d)A5mmsaU_1@lH-+W~%S37?YKzoi!fYcWj-BO}O zW{c3f*n$K1gN^-_HF4%{iw0Y$EXdE3m9;hWZ*z5XivwD~l&qA?8{4wh6abR8PuSCw z-w#(L)9jP^=b$rSW3mCPU-@8v_bq2$8niFY)Vod8jGE@+l#^{pDby9iT2 z+q>^JQT>bL{pR{>l*UyGG2M-g9qu`q^NoGV0dvP4?62(YFwb1_9vj=@=aYjsD6o#@ zO!ha{vBJe!oZ2t_(rtNnYZI*`>njj)MTTT`1Cn$Iac`GV(|k0<1^Da5tZ(e^??TS+ z37Xj70XTmEEJ5a1yJcp$M21?O%9!<5^#&=p__knl@jY$epnm&=OLjD2AHRXYiH7jC z4TaOrR^zJC!z$o=9rR-?148?(kyjgTQL1J=W8^E4Lt229SQLD{7916e(xr(XtOqC~ zfF%ePl3u6M>he9p<)A|6L7VGA8^R3DCouk{kqdt=ILmdh@Elh}P{%#o_FNSjF@)JM z7$m~Vs5NA+jO4)`ET4shCYQM`bqI$s1VteHy7YOAci(85#p5XSfKeN}apW`D7N|)_ z0EemCS%jJLdK>PWFsV;qG72NHi z5f^_7mq)3OMW9lgZ{Xa;IhlG^>emEUJ_^VpNIZxuMR*F3d1m9lxI$gqK2|mdgFvA= zjc-L5{cqumTcS9R-d(o8YDV-6VRjS7%OqyO=PdhNPeU9Ws_U3Ss`Q%U*PRGs_VM=$ zl<3L9>=t3p9SJ(sVk$wJEiT9qxC(Kkj39r?TZB)8bj(h1LFU<)EW&L<{EZAU(^}>= zQ2io+uI12A>AI!^s97!2f945ManH9uzSY>Lq2nPA{l1jNkZlPs1+r&0TRacK$uB;g zvp9Ycmn8~-^-kqkNUllW|FA1qP!XO6$a2}E@vI^cT>l}?4vTObAXRQ7x?Yp_8}om? z7!j)lo@UX@Db&kqKHgTmpntU&LlInq8mt z^sXeU@7ZvD`vAb0kLS-vcf=*X(BywIY+qvvu`ztc;tPN>;=-MNwI`4UUM>9Q0->SR zg{%wL18y8_d!=IMl1}9-W3@2u>vLQT26&%%xa-00Yy@3#Tb~1!*};v4E5BTRzq`*X zYIA38cYl9l?I1*g`@<*N^>wLsjfaxnMnQ1lTAt)P^7;l{i#Nvw-q7Ox4rPD9JMmes zRwMfu*HOGk>|S5LWD9c1J$~#61(aJp-GrHnBCI{MVCEqb(QQS=T*opc->bcg;lelU zqLI%7H8t*SzoL&oIIu-#Sg`OZ7b#(jW#t3H5~qn$h$jK#{4v~hALk+d3WSed+kN%w zO$0q3Db3#_IVgyU$jj8|NveO)oZ>=>V7$n(~CIA4^Z@dLlYT@*O zK#|jy6QKMwJ#zuc7Gw34z*vH?)v0+*(3u5a3*;#P5K?hATA&f3!HEfytXicqC(IPL z?fFOB28a7wrcBO>E=Hf8mV~M9Oe}ZA*?*XYLz#t)t%OmhG>7*WeJk)(_l%R zgJJmivCN|L_)z~QL?ZgZi-erV#$jokj^*-nnYMg7j=zIbNdD@dU}+wkkX;dL0e*KY z2%vXIoI%1_Op3TjNMQd7Mmiw%R0qKdW_3VQEk5iJ4xBeGU>iujVW$OFK{Q+tQ~Nr| zn`+55jFaU1P|u-xPn~}k)p>|A$)~8PcO3Bp62Dw>QEK;_9wKxe3W2x^r-uXD@eqF9 z>jjv$!IeigF3*cx(@uzXHkG_*Sipks?QS7K6U9hN;zU6n?HclhBv$ z4OLmI!(?m|!r!jeuXooP)w$Wi%r|NfS&M3PRa{)((=pDiuV#P0-i5bBAdA^_Jb!lL0GvoFEGK3Ugg3+$!sCvWGutlTM)>h%lSsn6Y5s z1wwW>Phq}1{Je8&G{-?(m2*Z;4NsiVhK1Hl)g(9A4hGx7VDtIT1eI-2Dk2yAu)D}P@T&uYB zxmnH7nug>HXy+i73Dl(jmFTi%)w~K~>ZSu^w9w{Q+Ky%^3>xnJ!^$lWR-^hrERl7$ z8a?=51zy>xMAozbgn8=Vh#-|=Ea8|Y2B{i0uy}#-HmZtLj?; zCH}n-lxY(=q#;hyUO|fay!|cJp2cCHnHhyH=stg+qW90{P_D7$0=$Dt^MEiOsjzaW zNwhFNCMJlB4^&DQj-9T*B@YVM-(ZoQuv|{oL7^16SkSWr`riaK%4kUohAAVhwgM8a zEAaL}c@S`do>00$55_eFsdYeCmCyAz^>6aFaMzWIDFbOaC>+&~p@4zkp8Z0Z@6^o( z#W)7*+k6;))0c0m1sDzm;VzyQrvOES+PQ9jgUI8K;YVF!@|9HR)~t7`ieNu#O|9RGX~iFDI9J zs|6(iBCd=);B%E=nS=LoNq)St_;~3~o`dgOg7*vlImwq+lMDVS=Sv643jcqsDLHAJ zIOn2{u`|6y67+YLzbt_tfLCk=9z`TzsRaaTynJEdnTQY<9>CjyY^-#@S?RpvLz0&{ z^^)teHKBhf-?vF+O}h$pAxAnnIg70ZnTRH3A`t9S|CO;_#`a4&9EpjUS!@cKo$g<_ zg!)LD%C#q}Q%!_$8wuo$((~|x4UJR*#8LE=M7trh_{=d8FL<_(CexYz^7tl)@RB_z z?SgH2kSwEvkR4h=hB?iER{gCaiLyeo21o!MGe6Z4&}8 zqFI~tg{)RxA_S|#41q12ty!&9n5qIwRwt_fl9%{5v zlv0(mE<~J`3U#&FZEe_NN2GfAmwnVQsD)0Fx%`CE~X^XKxnsvkA{t!h833-a+)s;-{1w(9u; zKWcMKsXb@O+BthuJD198=V$m^f5yD^XKbbZj9scf)A-tP9`-(D^b2|H-@Z(^nmEWE z9gY2;|M@?lHT}Q;7o4aN?t3lim1Yz3Zl)E)utE<)e_(d0LQMG8+coIz|Ft0M&M@f` z_Q4xUh6Rf>)y~azuRRUKrq;eXJltH5WxCvLHI&KQc^)DZ&CU9o#!8_F`%+Nw6&jCA zgdXV}55oO#MmnicJBd61e-(8bUfASw=;Im01!=7Z0~t=4cWE|b+7%aEg*rG5yzJEO zFDYq{e;*F9sye9UA!YTmwqfBv*a>&?Otfjh*SJ0vp{yIj=flT8#)`B9vNQ{P_vKuu zC+JRt6yY@U5L$KI9<%}U*ynf?Wr@P?qG*KK)Ju0I4Yjhb8Gv@rhb-v3%QwVb3Ifkf z3OqL^I9YCkG-F4_RDpJObVJ?VY*JvIHQbune<+916>@x1_OIW?26w`a3LFcNMOHDy zr}N;^xL|Igcm_-IIoVNBWd|{oiYg=3#VQ#Yi&8}pe?i$bWP9`;KD`j-0)(7%z8aH*2$l)-= ze;w7s_PsvNjjVLjcVs0{w@NRbLK#cGz&0s8n~lCGDuyg4hdY}GW!0g<=Zpl9oE2dI z6BKotOcympIm*8?CRl;T^y5DACWm__Z+>1^Gm~ZjKs&nc4)WesId!Q#OaptR99-sbmBS~NS+Z1kjI?Pk!oiXwG2ECGCVIKN!3 zWyt^p1;gutwWXe2aUOIVeyFART({JcP>7a@+JY%w=g$%8BC+yf7X zosuh*Z-B|p`{l(G;GY-ZcZeb(u9O^lgE=ToovRJDz!m5+C&`((tbekcmyfdrIDe>* zOf~$&<1abKzpE+4Og5+Rjd$Y36w>g8lu0NcNMT_cfR-j7>eR4wHXxq@;yvq)E4s;X z?8JEE4zXV>JGd{`SQ!<;^PPtn(gpYgtR0ay0*U;9Z%hA(VBuJfA)W=fTRmddtbByi zhJzBH41e}aqtZV8F$66#Iw|2qHh*{`MVmSTp&x4D%*R7E@(^CU9t^}s*FZwt$pRcV^J0SUhgK=K%_mb5MrW{nA6!Uqr<*74$S zy#|Rwy@69MWH7GdFLmq4NK#mNA>@#5a~!(5S3CdN!4FZ#N6mpj^KbWweSgRW6r?Lm z*wqxV>%$TysHp>OlxF3I5+EMII1w4LEZ1G&37SyTgS{naezd>`GaEfrF&{N^-fcD|cV3g$^FEaq~DZFqV&A?j=O|Zo>W@{0i3QZqx zz-s1beEE0=taLp2?zG+mhkp<-;}?(hy?JNt^lzfFfWa8s%+Y^lmd8uSd6~3NXSwBv z(~}kkuT6Ycxk8*5Xa5ToHi-{-xjF-M9~by~qM$&@BmmW2mtwbzJ?M6eg$o9F3)I1r za0@&djZ7V8_7q~BJRddA6zC8bbYrSAxa!i> zrx%y>qG6G#X@7aiMl7qJ5o3iZ8z&^pD?}xPLAx4`hOlsG>s)*-v}iGg?(V(+!AKz* zLdv6Z@ZNxWIz>+_kkt`^(NOA}SEF`<(qrp&Q~`K`EwHk;2^#{`J%H_J66$1c?-YzO zFkW|LfF3o#>$=mq+bH%IJFsVJ>Y{lFgBs3J((qj*gnwqE@PGfFvX%Uw^&)J9)^6tk zdigs$0JQv>z|kMy^WUeAqo{w!K`*Fh$m}>Y(|P9AZ1_Vj!Wi-EIwfy_Qt+sP={Q&7 zc;IG?uaqj_punKfQmHVzT$w5qpGe+DoEN+T=54?zG4nQ-N^^zfMzJ6{yKzpi>zT7# z>b@+|V}IgOX?AY8Yjw8coZ#p)XS>vvob9F3!i#0-1W3+iob#!TpwyI{P086rPG_jJ zcl7KSKBN9nlgItI>~k&KFZHEtU;5LxR%&t17n1Y)cZfL}2clGyGBs(h25kixI)>}P zvE^JhU+O3Ae5p23l(;~^9;6*2)XD7AI5sA4(vyScb^YeVAb`Gr%NNeQ=r)~ z^frk#w$GfG54i;vBOe!@J}VTSK7Rs}snDxK#M6aY`FftzDeie3Tyw>(bS}gRv(he>o*fbR?0ze{eA~kLTI7B6bG2BVA47_>$#OXb|^o@NYy6=It~!jDdB>wj>L%&d!;MeuEU2{r|pH+A!m8H4b@MSn%N zFszCuXL#yXv5jlI^|0~IX^2)#C4?uM-zgC%G&1b}UT<tP&_J-;U*a6W)aHufJUN zS{u}s0799)Fh0P#xyhb-0!Ae!Tr^-@7knrobKqoi)}&LAXF06UNPkvf6T&U0@PD|S zo0q0*d^LpXH~vqbIA#DhuP`jx@;w^Kl$A7pDtwtlI-e5&%Dw0W2yp*cvfWm!}U zN$S+MiHXzVDI%&gsy&!E1z~NdXmw=Ko49BdMHe5!HVcMraN}Q~11e?Ak&gPXUv6|G z08JlV3(>T`D_TBvdQ()`mXmkf6n`|4T4-78<|%Mtckw^!rk?D6h2V&xsfGjVgVLj} z*}?JT)b35GE<`LDTO?m=`DlvHtbcXERe`v;WWKq&s-uI|q5K%KWgaxCyR5>}fvGPx z|Mki&%z*kUf1CWf*g^N;K>T`-UGCz#0F%8VCZkP|Mg$Q$Gr2nCHYneN?te_to`1Vk znSs3x`~{NfE=14E(hJ9pK3j^=(V5AFziUsxF)tY zr1z2uqExPQ7?op@_HeIegqy1MM$=jRQAzV@G3X=*Y;r_`p0-Kpa_AdmIwo_4d~b%9 z=>n1rv&KPi2^sLneMiIsq_WK{T>2WNId-I)RBEf~f97oS8uNVDEnI8B3=S?~S(B{>I8;zZgb!!5bkJ@$Npb-ZM(<-W?VbWxFt%7n zde3rZQTNvLNx!jOX<_v{(E7XKfH!vRNb;?KNH=@1BVL%QfO1jfpT!0)Z!v$FL``A5gG+c5 z<7`iM2md-vKtzFwHg^v(xvFs7= zXce2_i$P(t5mfqgWuNJmahJxg{UQQmL#=eDFCu}#HsZLGT#o!Igcc}yJ=_ZDNu!&A zKsvUw!3|kz*&~0Vz_f=sR*Rp$X-9;yk)Y|JPPmQrQ-clDw}A~rZAfy;WNJm`EwwK zwmR=YNBoAa(46sLyb&o00W4o+6rQ}vH|zx}Zqk-I6V5)l^%m|{roZKL zz2%0!S&M%pgi^W@dIw;o0se~Z4}TW-IEJCz&~CW`GP7c^Aks7KreCwnig~$@NXa-qo{4}PNx~csI3rq!b z{=@siUxTS_=idr?sJNifeVE;c>HE;I|M1*^LrH(2WUx}HZ51NK`-jxFXdA`-1Np6A zX*O@(80if%eE*FeO~Ep;cq&R`;{I&>(jx$7yhooyz5Rp9V$|<@1nQTf*}(0rZzpbL z0*1h<9o+KN!-!n{-mIF$CWt#?f*3rjp&oUT7F016bEK%M!naLCE<+%?V6VPf zfcAf{H4o$drw$@+7FdE};e?1!01o4~uaGBB8eRDMg=jGcW^|XZHUBN*0I4VWBCQu- zNlS+ZuVB`83DIy>rP6kAZ2IIu;Xz>xmO@FT8bipaR1BhYt9!4c>dPg*X-1cpGY!dE z8r*_3?BdwW%Ow_i`EOcf1$927YY%g>@G5^Qgjm@Qxv^PnIPe5u@e7>SS9FerNpIfJ z%0CsqSchoQLv*v-sd`+bQL30_WZHkg-lyS*Fq2{(#BGZg3LZby9B=X+#ApbA%inG zg}pyl4;Vri&6f)j%9On(Mvatr2yeTNcS!p_{SI_lu{Mg)K+?FEsKhF`6j+%+UZz0H zas^@$^b1k~3p-AvQDC`I0Ic9-gtC9Pv|yj2GzCK>n}z8S(@lFMDTgN@L;4*9I$}yX zm`Y{JSlu$AsL?UV`Gu?5)_(w%FAgdI{l>uga&ec%_Yn=XG*xHTz5 z1BE-Szc~Q?5u!h?>l&+9f{c7s;^~Do-YTH@s&#NsGr;{pbxMu%qSdw|$qErQKId$} z;xIooi8jm{JC~A5Vl~-eA-5@8$-Tsh2SA_&n1UEpCh;Ui!^KI#eD%0DJN#4Op9Xd( zfOV=ROn7A3+?B=KCX-LhO{ae(>J0bJHp@|_i*Ck*jp)o~=@;SDW_Z@(?Jj*>iDJaZ zRd6#*^hx%ET*5mCVGmV0#VV+Cb;*@ULF9}9^ym)0vZ_D)((FT0tll|j z$0q|Ss=ovr3jsJ9MiCv8(PsqRL^tRmGzr%b_$T3^$({3kmSN`mpGo8qR6 zzQsU5ioW3HOSY0~eqakgcgyx+N~I#ZRvlX_$ZgqLr58!-*2g?8e)~0%0~f6d=Q7^7 zxZ=H}tn6FtSao#(<1c@bSK*(`R-+4jw?<8;%hPjWm##z04fBMClYJH}4q{Qj$e>`Q zoC?U}r{1X$DR~~hRY};ph0`}GNr0mRXa~ChQ1ePChQ9%+77y`CJC&UTkBknj%+)u~ z%YcePhU=1~`ng`eK4b-^D?xhmlR$`HPsi?Lgo z>bg#~r85l=apW`=rw@QO(_E&{VV(4b$hNNw{!7gd1`szax53=K6gz3$ zVOgF4ApyKGr!($rU(*?f`m6q2xQSD=L#(%(WG3hDVo%8X=NwZw&H*L-boB-3!omr_lyI%=1->C zd<$_CiG)RFTOhTdg|&fHgfq$&C^e!P3v=;aG>4FoWj@wuv0^LS;0 z+}k$Bw(pZ%HqMFqyf85|g*sUxzTc&;MXJlfi9i{Z5kk!-nGCG`A=-Gz6FjPw|7PWb z0qqBn9XJ?X zkK42U8O)brVF-F)DY1*o1zTC1$pM2=mik~&>MVa^ogcQPm%tP7%q2miP7T^FqKF!O z{|?rjC=1%{=p<1eoCv)fd;R*F#x^6xdBp{UIPPS|juRJ+C>lVtf5%X*7kY`+7LhjY zsE}QcYm;wOVv7NZH0U;mXSr5OUq(*TCdR=a<7Ie~31W!NU3E=3mc!YEIrb^7qG(?4 zU{HTfb3vNfZGiOY=E0Ulv&ISKD$^92zscnwm4(M+gIC&77iI;liqCk`rsmU(2L!{D z_!dKRAaZ1pNGmynNkUyHWuFeq3ZI=63{lgqO(DnA{}RoYnoGqdJcS18yhkx9t>J=q z2y9SP16e+=E{@~1EirKKB)>KLrM<9mAZdRFFUPTMB>vofFMX1^N#RYk3PzPCUkO6? zMgE@1-y2IQ+wYnEezo5N$+c!*yGjs12X`cXU;cix)X(<&%6_-)_iy`MDebnV>7`|H zd?O5D)lv`b_b>bXXut1ExDd!}p(Sh_M|@me_ej&C+xpC<%nZXfu!|K!C$zF;W-@<~ z;sSv5n(;RxE(`Q^-FmQRzwhk#gZ*x$XpL~Ju~XiHOO2EAHk_|OyLBjGb@MemnWl)7 zfMI9tN(UzFg?$_y->=PJJpf{d-O@`yu{|R3upr#(LJrT!*Ltjsd<`2BqZ2?wzaagZ z{(@Ey4-R&BAek(XG@2~i!hl=Qd!m=d$OR4s9BglGwwKw+1soj{=uzuI%*-Kezonxw zgTs`=%p3xwVQ>9b1K>N7mlDYZC>S@$ECIO<(`7?cl;e-#9Dhg~L~V!KSml>e$ptQd z@TqLMHO$OFb9U-q^*HkVio0DFG8E5l!iU3KP`N~5`=?Jyn?_T>{pw1qZ(z#>;+)#2 z2iBhl|G)Zj$BDHW5)(#liu6Obo!_dG54867*R49RF3lRgnOmp<^i`gQb?CWZF-KFN z;|DyZ7j5Efy}Hc5SbJkc?NY_Q3ZaL89&5zURC<4paiD|x&WJ8PoQA!V}DeGhzP;mr8TTrDHLg-5IY6~ ztS{9Bf=JY;nryDDjv~vdkDIQS{mKOxe}goTVR0F}5(SAHi~q|>xdZj>!?l3-c?+bu zW}z=75YZ)cQaZQL-=(WKHyOn;4%~vBZV8khm}3{+shd7c3#BX%1#K#zKJFWk4WECY|>R zg2~xzUxu^2hb+NLjV3IWr<5siA|)=XWYgiejId(w)10*NUq-=(3R|uAW^LO_TH-Xe zC9LyM6UpU=DTL~0mv_tsAQ5t5;OEt$z*YZ`nv3wsLTZ&0fd*v%mqLw6D%u; zgXDVxg9hjl$|s$kkIo6T&8#dyNAgAkZcvrPT7$kmoCi(8-Kjyo6oF4#LKkP zZeft-6(J&kW>+a|!NUkzBf6R;ZjGu<$)%uVisD1m2iB047Pz|&mZ#^$J{ z0*6c~b42%tL&rjeSRvSKflv&H1nsZcs{0KHr$KWBG+`YP+kcYrVC4crIkKx!&1sZ0 zRiT;qFehcGID@NtBOpFUR)ifUgRsT!yueH<9Oz%q34^CG`<&?hs*zR>&DItU3cyJd z%^7Y{lG*Shi)PmeZZ0HJM;hof5JmT{GGW>g#{TiFC%aE%}qW9`WwC7 z&VEYRK8>eSI84#>Qhjm+qMp@~w_Z%Zre~&ghwavI>VLCI=xX-;rTeApqJOp5&aNYb z+u!DHL5R8pB(_r( zHK`C4z#&hEq|g|`FdyfR-RjI3jVkRuGRZC*A)XA`STDpFiEk5X`aE7}2Vz+O+0AC< zx?8WMIe&i9Jb?ls9~8p@U9XbJF_a{j3}Dz&C}~gUBf-59Oq3fr;w|n>6{UgQrZKUp zDq{nJ($_3;7a>NBser*KcC_!MB&O@+YIxh!HLLq~Y8Vdy$Cq;-7`%GmO z;hYM9%9Aj2fCx_j5%93YBl4CM{&sEme2sZ!qkko5>_@S06Yz_(k%($A$e@W65h29K zMQ&6es@U23jX`CcTH_*31M^jyJHDGRB=0aiff-E`N`OfQsIc(SFr-H?V##522Y$8g zSaL5__g2hQj9e;XK@2Yyn26NYu*aZDjqR=)&BLN){9?<+aFvYeDyUxoYzOV&9oWbc zJb!Kv*>mA)=@HIIA%rkO zs3N7wm|0j?&E1nM*O&EC!lQZ#wCP8auEI(P-cf!q-VO?JXIXlxidPI+J{tcWmsipS zA%76DLU}fL-X+j98`I~~5xjswuI~=32JT^G51K%`82_B=l^Eu=)Bo8PUL{CS^*z=L z1nsHcVJ89lYCm|f`iBz8*S$`MewI{Mdl z?n6A7+?svM?n4#X8I1oH&p|ak2arAbM}Knw)b<{zQEgvCUcyRW-`q9+`)csEClLAv z<*%VtI$J(?no{2~!dN>CtE@I6%Mv)z}(6*7WLE-G4}0 zH+mnQ>$9-Y74ZyQuiM~;z?nGwvXkdZ1QQ27RU5~;0fEsfG$(aO(K~$Fil{@P(9<@> z6eCiK0K5N(9TZFey`)W6%$qZu5I>+PNqc7xIRs~ebl4iIw+=8w6!-z)r-^p;H99mT zc-C;3Ez$iB{BhFx67U*6c3^#*LVvvQGUpr=5hVhV2)J+KTI6D=NXK`A=z5OPs(J$o zap=K}C_ImPB@A$0Jq^c(?7ZTeK@!y;(@7LD=b;Z} zM7v9Kwu7;0Z`+sef{ZgMSXzvMcZ#&0e#69Lke)b1JhfHCnUWW#cgmPl6AqgN{2q41 zUmFeGHLzCgFmt)9hdeadewGT17mOK(l4$#m0?lAoKns{z4lG_*wT8N?z|#)uLVN`M z+@uZ$b{ET2d;~(qeUB`}^nWFqCS6D3ZT=w?J+9m{US(L@DuRYR=H$yBKZc-ZR)kUQ z_$t|dg5B#20Q>Ls?H6%M5-U?OFOGITOf%=qn|~e3FIv!9T#*mI8I^zzgGFhhE5ol6 zqqL7QQeegpPQ?0wH_C#CFgj#L?6AK(4Ulf|Snoo*HJ1~ya=Mz6;eWn|?E$P%#Xo#U zF&eV$3vpo7^}LZ37unX7 zM<_Nza@)yqjMB6kC4bXBI=?Dhjg4G?tm{d|j zVBBxfbLZS)PVhuM`k{4hpzt+cTYAIMiX4b|*t{6KNJRlY(XK+)2I=@N2!Fx}i~;(P zu34l312d}la8&nE`OsEWA^BQjbtPMApXlWOW$(-TnmV^|zkdqFo;Hv$guwxf+%TxL zVpXte`FS9O0I`A43<_et`+e5*PJ8cwZO{Gdp7X0@@BPlhde^&#XSs5$0CwTUd8V0I zl*pf6Ld_t0H3Yl^(}7rL?He35VF#g4Ccp)!P)C#y>ydpW=HXnT43s4L{3Qo5dG;~B;p`csJ=LWkIj%gRHfgueulSEb4 zm|#Cj9F~llWN;OaOPFI)pktNmy3;apmFBrtn3O#^1t_v34uHrW(_!-(Rg2I637k$F zZ?@o_A%7&fxDO6^Kti@fr`qoG-`*X-DTxM1gtFjuDAFpg0?|=zdmk8v_tb zI_9ekOj2+mwe)&13bKtDKrCn*TUs-1Os`1kc7H<57_+J!!JX0{8R&{$($)Mej1xLTf_Ph|c( z0^V~dKiXqRKcG4wYt|D7k*o<`3bZM#W=1j(N{dRv`mC@?ZKH22orKxuq zRVnPQ4X%zzzL5c|Q8qi^Y*#7xIYxrm$fIGqL$*(PO9>aZ8?k%~0=}}*Jw06ODt~4X zHrSvbi8=MundEDk`-b5Co)L*5(Ut;^(vA)&!j{MRRc_%eU%=HeN{^4R^|*WxyxB44 zQu(qd_n6C(kZ{M_h4>j;x)7|SEpIgzIM#*NzwEU!bASU&ECS8gQiC<;Q|ihq==QkU zSZEcpsx}HS^LHbblg$6IUFbFtO@HV*IOcXzr0Uc40gR%Q%}re_{{5apMiq24+Qc?@ zd?7t)L;4aIklsnR+}SdF!7;7n8Q3(A7=rj`<~&>y-?s|Ha6EXGZ4m*rk=&e<#vZ8o ziLq%+?vvBy)QMGLcT5f`p4R>d-ltE1)hR=vndqM=BL}qthMde^2vmdL$-5{U$ zau%J=T1;sXyLyQVCEt8BQQHPrG+4Y}949vVqy=)UZ@9)GPBB*y4`aRtaqh}KVPnWr zMqpl%l<7>z_!cBkZ8$`1y>ZO3V_rnQ5R?$r(b|hp+H~I z6MaD=)fXhgW@l)YoF+I=4mcs+)?|m8AswXc$Z8`UJsv}dQyShvYPS>!r!Jt=j9P33 zSxI*$Zo!QrXlQi)Q)Dn26W2_1E3;x9{gt98N z>{}1I`~wT};L)ha>p8e&ld4#!{X6uvQuA|cgtGHyehz1@vPE7CLBO8_sx{hhh!@pb z)H2{xINqf&_s*iOhOTDd^!i2^AXsJ_<*Dls=hP6Uae^aCFqy65uN%5;_LyJ~Es74T zuQ3*z6tx{|M)u}EDSsO<2Q!7G`z=pXT0unPOfA_GS@M%p9&u}LFF`*Y@$_^*UXR88 zO*-ff0xJIw4$>gWR1$U5Z+vbYBmDjBRfT^d{Qc~;{B)vwyz&xx6#pJZ;rR1G{`h3@ zPQmJylOXPi?z&SuxvH|va+M0RGHxoi>6EL!8@d@B}#LfwQ54Z-LgLSZSmY-wHTRf~q0 z9X_os$!Gc`+K~7|UAjtsaTy;(=QJCB7GS1rME%b?S*YgJIT{Bsi;G=-3>dSC0}7rt zh^>j4XI$RZ=HuaNvs@-SABe!5z>kY~L&@qCVx3Ru?nNCYqX^;EbMiXJYWrq@RP{ir z8tP%!Hh&L0I0m%}z3Vu%@v7-dc)rI5up}Zw_7IQeCjl}@AnSyQLRkE$zBHU^OwIMt zi0VwKSw5cWASxWt7A1tq#N zu2)LUJG4*bIyrsS+$cwTJ+4)1Z`3i#^DS$_A%D*&tAS63V~S#{UMJqH@oMD^Z8_0a zoLd`C$F_H3~eb4992{3%fviK!)>qS5J_IA<}^^_#{Q zaer(gZDHz|q6Ss$LbwjlYy-#t_Kh5nirU0X+D;oxjSB!0hSzbdXT^ESA_1M}q+5 zNy8lQjION_dODlO6ht(=_|EuC7MCrIyEHjJnSkUM2RF=%pCs#Q4TK=LGn);N2(`Q5;hJUUkdUko zsC)8wK&yS&Kj1Mt;J{U6t0;CH{C`sAv8OQ9aJQ#1L9cMz$p$4Y8ad~qBSRr@k7f#? zcD90F=>z;xjGG2zjY+Vq(4-2k%m_e7YBl&RCZS}1`bh}kr1AO0;uD$HaXf`24a^7) zHIfR6Kw4YjlY|)227BQY;I3sC>g$B7AO8GKHZA~0&{jKL5uGb^J5VuVVt?vq0Ryy6 z05`W*>#qSxLfP)UC@b#ZlodK>%>rz9wTPA~`5qB;GcBp9^bH&ES&+)Z+`9oY4I&AgHcO9;KvZ*Q(6WfX2<>&+5gQz+yTM`sTnRYH!hLx0QS*w6KyI<{kYyZrYoe0 z26YI4FsE&I3IwNQcaUasSbqm5|N1^~KypOyI=3@3wd`Rype`LR+ED?gyFJ)*RU{DmPrj5PS}nCnCgy zy#h_91Uxow@LwR_WV_dal%|+`r}%^ynN1)ZtBXewJP3bmd!=Cas4*9YFJ+1%Tr;nY z8>;XryYP<*I<8_gOn=qjxA7s`R~Mg|6kxYzq5xhxM#4HABEPHGLseOiof{bmrUD`p z5NT3=XTxA~mjb-Rw7?9vrWyVgCq>VWonogcqXlg<6}E}JEjDKykCU8M25s_!EDlji z-zghxf)4|Zn?KChaFae^bm+Jt1VS|c@_bgUox?z|lc+i=-+#Upy}NP&KXTs1?Tf9F zqv)ND0ws==Y7?5y9_?^9-Qza6ZEE%hqM;)_37i2Pe?tLF3Y&{wf5y0n&H667goT)0 zs?zqT1$s!40oC7Fj-JZfI+!HE@HiY3ltycavU5Bx2&Ww}fc+wig9%QAz)RA*Plq@U zUB<9?GTxcwzJF2M8#qzXHpB#LAGMB;$W@wc?s&s|zO3=c{4LQzQJ83HpanG77>0V0 z^t1%=X#EDrLBq?D+Zw6;-uS;3fjhZ>eizkYVxt8)qLT^p_7AUL5V_rc{X)cjNRkS# zUns-f3Mn{0R7JVhFX|AvKi+=d>E+#bikj-~J5qOe-+yTo+;=FFRt0LI@V>*vGXSE) z6Fur;(9gk6b$}iZMykgGQ;Lb_O?X9Ux(T9iK?+CmP-)a|FjnBG&8Q%pqztMOG;dsP z4SX0xsVA6P$J`{hRTsuxJ`*`hE>7M`vNh)7L|yfP!RX?o2Bzt)1yWc$&(PXQx+amx zlJqp0#D75{E|+uc=mmUsoQ-xs4&%$%Tv`foUe@#mSX-{e-2pxSt4cSgZL_9N+6{rO zxv}MA+cByV$`F@8dqD(;%H9@{ReW9RSw5;5!mAv%Hk^uFCN&$BEW-eX(A8l_qBAmL zFM~jH+=0=m$ZD@IL2xs)7GxF_7Q{6W$_DaS5`V>JgsrqUM8iZvdqM2R9Uj*S?&6C2 zwD~VkLE<2Ry^?$Y*d%>`?O6}-Y|%RshAK;}ZxH4kVXOF!hY505W}B)DcT0g-Dg&7h znUEV1h0G^Wa}MB=36V39(_PEv(57=K(V#nQo^il7o2VGf0^Zwwx{_gvLSz@BV791SFH|54j$cOziJ`+WdGNVC^=UcF?#;1{cw4}>QJ#aBI z?L;vwO`~{>HM1XSW9?fQb34cAGOt5k4M#ec)#q^_l4A=til)%FbKOFCo&;Zu%LC^% ziFg>~qF9u~#)(r=usd!soyvJxqWL^-6qT&Wq&v4JvnJe{kmg+yIo_U35l(3B@P8FL z-d{NL7VH3oEP&u`L$sX$aRV4s2zu)BL&gRBV<3S;8`yh7frIS<>r~PL0$||o;Z0&Q zkaPY$j7=o~@B50p`QYAskT=!$fH#cNR6n>kAK;Az`<0MYZW8~W?U&IC?m1Zo{M|07 zJ%Y9fYgSuA!N7soZ0}*xqwfg>7=N_Fq-d_^5U6R7hpwl<&DS2DjcOgBj3Rtr<-B$_ zGpwA}`mn1zsC5zM=cu;R7@W_0q3A3U9jR>x=Nh=mHZaS4LuP{DpCHlGqx0SFCB4zn7dAk^Yg^ zhase=ING3mxuyVyyYx>IX@AiBf>8Pc0{^_c=AXp9tLKX(Jy1>PZxXK4)X;LdEJ+{& zOGBCo%VnHAEe3x((6700ayh#5@C{%Az?9n%TByWp+&#YXwY6M!$uT{+QojJ}_l`_R zC?0kc2Gli%0zmq2QjU)$2(gSxYgClNhQDDzLAa(b?97r)Gn!Rv2dl0+oQwtK}peC=w+mC)!Y&M(-)n zfkO?nu*hMUXfm3U>SV0O+WN7T+d9yb$PHDO69te#L4;d`1xK&kw~CK!5*nI85(-7d zUAF;YIXL%l0;Bcou)vHPYV90LDm7Q9L)*-$h}MPYdw&p+rBE@wy> ziSh1U?m%A-;bC#gb56i%`G6Udlx3Y{`$jp&C6*MHUPQ6u(o2ds{n&5gnc7o?en%!Z}V$0 zN1dFR0e`y%WBwK_LXaFg|f4mWAO} z#`r=*3)A_s7HNBwMq-!|WInHCc zHCGzoQ()&l0n2$UB}|DcW0YNro?8fW!a_dInOncMEw6sFjE_1IS0DAvsu$V(N&5F31?B5}7{*k(P*ic7G+~qCRcOS-sF;<4{VhYYo>|m{Q{( zaDR*_^Xa)Un=%FWirK@6FHATN`R-pB^!@L4bv8a#;LF>L2`W9#UJ%{g|5Q!g=n^ai z>LD0HIq=aBr4toHI&cRznp3jjvn2cr36^>-@=843V@(}xH;F}Ycu%bu$b^A>fs1g2 zrDba0CBL|UJEb@;I-FOvQmf3aD$0G924(hFDcpw# zY+rB!GDjp`>9#b=SDer2YEPzdahX;PjnEFg$taPrwjltoHJYgG=-zK7rl>Lw-+$N5 za;-O~WFB;{F{jsppb7@U=Cqnjv*wL~^R5j8<^2|tbKiA|nV08}Yw()j&qT~`H3vfz z4vbzkd_^H8;A-4CMneL{!uG|W`#WwmrJJKpxA`aHhr);j+l>rjGOob7Dx*P<2ZS9a z|6bGezK5pqtu7uS3Xq%9AUAuSJPauqR z5$2BJ0tKnC8>1qxw~zu-I6HWcDCricK6rV#>Ssh|eA4L>Kp?;Jr(^o*8ng&3Kbk@w zW)N$0hh^^|g1D|`Y8KAma3N2v_RElFcgwY=NzdtwSs6kyzB&}k0a)FYV1M#8jr-Z4 z`xGj|w=AM0pRkPa5|VckVb;8!;HsMmKzZVh zqZ4@VoAtnzsZ&ni$8RsO62tQ3nlrw{1(%uErZ08TeUO#PMQ6r8ho4J!`Ay1?ldZ@# z>@=A0wDIpC;`*F)!SQ>_%zr{h(Z+T${!QQdm&BU6mx!tFSS_C)Z^fYafLxw2*`9QH zRy9l4)Zi&-ncK6v-UcHUzJxoMsIV?%S=!|EXzq?(b2RMu&E1_QZO$|_A#M8Ar(d!L zlg3UZIGyvb4;Z!qWe-u`45?!2sgEaEQAKPo#xh6=yF5(^*Yym0tbYl+bv8^lE;Lu{lTe+RttI<}@>~yYz zj_2(Qa9afKAdYk|&0kPQlspIHMK`F-w6cqCrbSZU%(8=g8;O%;M_U8-I0Yv$69Hww zad*`gm&1SX4)N+chB`I*tH}h z&kRfz(~l(8U~ukSFqJ!_1t)_j#a4CqN|!hYXYuu=C=h5+f(?o*L_ynqEnWI z21SRqZ%QtLR>MdrB^NY2N(*f1O}8q&=@ujhh(7@V@ZA_n=zocsB9YEm&vO_hhz#EL zM{BN^yF>1EaldGrl-^Pg<{C+Avaq}2CRyL4PK_*1byjYazzvk*f#|o0<_Gb>|3iVk zYv%kyP<7EaqKPmtZpXo;K&^^c=?349;;x3WA8_w!M@*rN+J8WFTx3r=ALJiQ&80j7 zpNVD*7afakQGa7C-y@)PXIs>Xk%2nneSDmiabohV5;clI62~aY(Q2&i!@h*&nrt*L z(n$Oa#E0%l^lmFj4iOo~xdUNkL0K+WP_*S!{hpfa=Gf~d@FGqq-MGysO2

    >5r^BExA7h(eD6um1+Yfz`Q2a5@R2MR zqW#^3YP0qqXt6m`US*FtadM*|KOi1|-9sNK-vfh#()$)>`|xly9@l!<$giYsM?wE+ zwkaMgu6b1uYV6hx`yb+OMt=Db!<($;=@EC(*5~`iok1L4<5bO__e?gV@8qW-j3_OJ zy`h`GT+X$*AKvB3_~mHHhWiltNLUIf|H4EEZ(C(~WTHLc=YyXd-6gSAWkA7zdrQB^8cY-8!oIO!r;w z#dfXf%k3_r!aVj)`RhP884U4|e%ae&WUM=r*y|52ssLf{r$C?K&HMc5eV&7=>=s&$ z%#Wh(chU)W(C0O;jJD8jzRhro`-{Zsa50zt4Gn$N?cZ>{l(*$we7UZFSQhcPcabx7 zVjB;oR#@IQELXaZA-t@$c*4PRYvI!BzAr9t|5PSD^_sT_a4>s|?c3k?PEy&7>tu2A z3kT-!dw(tSAUJ!wl%f|qy3s}gg3ZIZJ`u3H&bO@tHZ(B?gKv(4o$P)Th^I6C8xV!6 zo(Lc`&**ac&S1Q|!nJ*W$R+uWJO9ve;A7C@#u)M~_q?A&nW&l3T{FWF8E!;kK``^v zc!?Y^OO}3gV>8v0EAcn+Xa8zGF#!EZhZjLtcZo<+cI*PUoMA^0a2Zt{ci1Jz6%Bo~ zb`Q6&9b}>4%OMkv;L&=X`tNl7FcYPOs={U(|hpu7n&}&pv5! zm?A^p6rMX-Y}6ZHL%VD7vVW{b&wq^mMfX$m*om9sGgofVBgH|#E3bE)1_{o)B;Pa1 zDw1>h%~$O9=cCVmA011(CB?dRBj2_PjSB#~5z>o)a&Lr9WYrT{wOrUxPpxjjFA6yq zW6mo(gLZ^m*h0Tn+}wa`Y>ThWXV+&ILR{8U%n{gYvPLSAHtQE$iYC$aKKKx$5sk+J zX>R0X?g@xTI)tz76S_$zqVC~mU1rd3f-@8&P6&#lb~8J@lA2R+h_0(w>WcL znH#;#&EBkNfcg}l>>h2AE77O>fr zd!5(7!a|!W&`$O=P~}l2y93_uFiTrFETv3Y>4&fP)cK;t!O2~Rl@qQO&Y2l1bNl1~ zt4-yS-j#cQl9}*&z3Ex*Uq~JPb}NNSHI4mD4y*$>cF+^htE}=YZ6136^t<7IbNAua=ikg7yB?HMk^e_i7JLKc#yQk; z+F*CJc#6%c!zB0eRiAcpPh;tJbz*~R&d*ZT=nrClArCyi=_J7tH0=(F)v?UQFuH6R z@EUOwow-+a4J?u@q=Gv~&06qKN70|Tk9)>DVsvnGzB|IcyevmJmCN^NP613{6r*f^ zEHd0Lmi;w_3h~*^m`Gn}@biV>8z83+pd1UG-<~%%0pLeS1=)&`44x^W{px4dEWhXv4j3uUKpN=&73q z^ne1jX+`y!AuhX3ki#^i=grf+pQOh%{|>~v8=vd(;%uV@qNNYfqW$UjUDeVN&k#xF z+SX`akOoGwX4`!>!xeMUI_=YcBy=7o4Gn~TB6$t%Q}QOPyE{C0E5BfSG5YaV3U6Vj zFIKUu-MqSX;`GI*9OQ9e9tfl$q}WRjue+Is^{PlBr>ex=eq;peM^=S3g?~L!)bP?D z!ytOs5Tgw|I3EOiBqZsM=sdK9Mz^TcIL3=I61|YZQeb1LLjXX z?%GugWQi1>;;=@)80)4{?yR$yubJ1<8+@NQL!fwa3&QtR+yuUVBXhJua4frv$+*fp z{OZyS3G?6wRCPH9JR@zuhNyDsBToYeq!RJ*xo^?@WH@LG4-dL<@%zs5x_b#oMKK3U zc;xi~8Vm!MM&bETH2{1xz2k>Nwds*I&nte?H-$W40%z~{+^5xvU~P{l38trK70c4=bKd#t;NY+WSQfjEFkZP$Hx>UQ9R8?U# z9U(BIvcP;~5dyon#KHQ-_aFWWDR%8u!}n*&5BexfzO>VWQxT=jF*yIOSj!G`!NFrv z3&Qu&qJ*)17w67KM3Hwf&BBE=Wgz`84a#t9894-s^t6b5&5n zco3ZE#^79wuv5crauV$JoU`R^RU0H6KeH{IUvFP}-l^M$cp`jyG0T5OA0+8^0tAdd zp1-I+SRcoBk9sOKS<~w15 z&s@+n<#zX!YBz$PKt0JAh2@NQ-D0|a%sb}CURcnWKIov;G#TgNk=^mmgW)_q%WtP> zS06u;ex@mhe`_cmS{gs+Ecc7noq#|7w+B%{8O@u2{NyGD@i)QVoWtngZN`)^jkm*j z?fG|SkeH$7`yowOwGTr4u!lH}xz#I}CP0*SIix6bkwe+Os2K$h{tVo%G!J=T$YmEP z5*XT~G>v0NlZR?abuZ*HCOf`($Z+$cKm6xHAFKE#e4wI=1BE`*u zWcUt1Xe+3S?Rc|4JPf`hv^i!T*~DbB%X3&?zGoJIwTl>%7~t)93QLlw)9hmSyYe3k z^C@x|g*V9z0#X{~;s%V81JG{f61ZPFd-ad5M1IM~p}M))UX`Lv=7tyS}sH z`=0>ML3sTnw^9gt$}pJp=K$f_?lRkjo_%QQ*zGA@<{6sS9YFzZ4LU(tvv*T}3LCL^ zI})mNjIzuF`ieT&k{p8|E^FDdGRKJ|7X+n#XX^nwyP<2X4%PXgf zA2mMyMC@3>3Q8*??5B)GimMw_DCFTN^a%VS$Qml0^0$9f#t_1PEp65wuJKZpP@*_i zdN95_sgN$57tyT6XV8heJJF7QT09_Xc;C3w7v^No3-Qn$qc^s}b@1`M3o2Lz!WvH@ zzMwgi>^Y0s-Lh#>g~J&jRM2K{rF9ik!L_$li5ot^Xo|hyl6NoX98r2MKAb-p?)_G3 zcH0AA+i``TfT<*ZVCq*S-(T_mv8UNjxmWQcalD)iNjha1{Y2yI-Ec3rH$74j zDkEV;;Ak9*w&aps(9P~I!%xK0`nM}C&uNf&14g*RhBNE%3V$|IhX&~1#N(PjPGH#@~avNa2SvLHf8(fl}*v`Y&}^IwOqiN z)TlIfvQ5sp-7}2T*E1VdkwJ4P$-lT7=69>e3)B36nC13lG<*$;{rYZXbQ3!(Ib7`c zKp#D;kzeo7_wb!78eR@wQGSKU%c2iz)#bo`>8FZK^sxU7P8E#n4w9TxeJ&F)Q-}Hj z0NU6>03LiVMtr=VAqQx0cMPrQVgHY|;_hWi<$e7b7lky3T!0SyWbmQ& zVX<(3*@e$XsXo3TCQXppz7ran^NuCteflZmS%1%L=BwrJR0~*K(xCRedUE+R$7+|; zm#KUIu9KDqc#?z&$fo)&?AOK_094c&de=Skn3@nw^|T{|Da*yiqQE(OYGHWxLBE2~ z_D7@{Il@-RXFpiiXXmBwCTZ@mtv-DA#0ztO1_Bq%l*}`%#P>xJFG@0p>8D2E@55j0 zVjp1p^_ZW9IC0i?U2a#iI)dG@W$TZ)Zm29yuX0aNI?v?>VShK_p;fj(9(FlFs!~l^ zc3D#1TEF#O#hBNv?_mYyCyhhXrEN;;GLy&TasRHkio?X5Jh^y;tUNlL-gCqhJ3bhH zKmz(s&)BAQH~Ly9X{(Xin9%E1RQ2Tgy$pwomiO)~EAkm+^tVIwHT_&KOeM%+!cpoy zY8)M$d{cBk#JJ+oYFMot@y_ql?|MCynihp?^36Z_C{$ z!4vxfOT6C_Mn~gLPOFyTxu)Yat$H1wcAs&tzUu&KrGD_YaBQ)%K@&Z=y;uByzScGvBxd+bUY(Bu?)4%m74rYTJrMyVr<# zcv`?la)i~0)VS7WADkL06V)$C;ZaUfLb zmN81(O^n{2Z>yo{PwG(J;+u?azG}lggdN1`_Q{if1o+~0VzlPK zRUmIhr@nB0kiS%ql_OS|c-_3GpzsEx;X5d`MX}D^9?(azCfDe%bqkOL@N-_B9D|Bp%?bhN>jt2z!1` zs}(Uuhys3_U7sDArjKaq%EkOMvOCD628!%<6i@rxX+31c5RTj#XIrB_A;z0(@$m|xN9j3F+omX? zx<33{BYk5UQuT5N2~1}+6vQ2uF+5;$MI*3}+mA!bkSGRxcag>heaz1%g#M?IW6Olc z?9yo{v_NN^QzmgDsHaGOu71>n$6b_seDK&-1@)ffs24qd`>6~78e3Zuo{Qx_-hAKj zx!!_Pk_g3TF&|?i=0;LZk9GBV1Gut&`Am_fzBc}S7F@OL(sFB1Myf&O`%q%3UYPjD zEw>};0MIqphP=V{u92rL*?ov%)fQ*(s(0e>sqyWY_&(pVMB|f{{k^#F?2px}K64^j zP8fex)g%RfDx)7N<7vFT=>4*;b~yoK`~C>fM{9BgLRAqDqCEfXWs!>2CoY9)cUnSLC9@w=74cfrN3o8jt02v?2bCP(dc3VE| z>JPaFkYcq^Aw9}F6B8zks%9)xV|&2)?7Qr69LY&+7!52F$uo}I89R_;BNp5^1X!@6vv#Bq$Ql*-Bg@I<&yvo zX<|r!)S)i90rcPriOV}h02DklzMTKI^JAhwY2UpF-g&?8)j(@IGHQzly`j%gpuYp-V zdt!cb(j9}{Zds0Ab=p zvubE?4y?`?&S~0avuWGtF=sA-q*46-JQuQWUyp?6C~m6KZZhocP_-j+HR@s)9c)% zPtteMdW4MnLcE>7<`ub_D*0i*^bqBLX%B_liH}|vi^mM_VlZ%y{KifGT#ZE#QgZk6 zFa6m*Wqr)i{=#g(vTGgUV()$rdlI{L#gK?UK%Egx0}s<9?j+hL{_MX+*Vd!6_Uf7a zR=e%~S|$IhzSLyJ3rpz}w2*#9nNiF(J&8xmjFL~lYcER)u7z5!VSZI2lH1gO(~_{A zkXlL~$5I(iqchT&G5Wd9?pzPkog@l+8vl>rJsq?c2jLW_KXX$TY*Gtx$=5&LRXM?P zBfc;w$R_O%hRqE^ArzV zsMdJ>?d0GwLEFQ)%r+apwUx<#SYZ!d6r2glc&%kEKY#O6)7Lx*LCGe@M(v$O4I}<2 zK*%??fz?G?$+ZH0Mhg;y;BTE~F+PN68RDh>0upNPeN*r5SBiXTrQZOIV+K<$Ea(g2 z@Psz*@j5Hm)5pilupJ74v##&POCw?r@%j&xG8@tM>lrxlNP+`pz09Y7+A3kf{vJ_O za`U?09z8x?ClkMbsPM|Y)Y8dVwfYzmqDAs;jip});hh94#bTBS%TV3r&Vfxw z9*6OeQVWOCko;PY5=0{CtF_pd38tL6@NlPDH$0Bf#0i!Dkl95EZa(dbgDlRJgr_#&Ao+p+c{oJ&4f4JCwiAbc;O<+E$2g841ejV?jH z4iruY8mUd5pu!+iB31$+#7(j~5E_Z5cpS{fmBUbIasSP=aSPkz>vbO(n)j`U=eNq%2j({U40lkT!qed>2K3e$vHc`$gL8t81^zj;AiW>hi1Io%AE!U%Na$4tG2MQvXzt9kbqk z?M{kpfdXYY^^9lvRlBej&;HCBGflq4){x zrB_n&Ip3;Qh1e>fTVnh?^V|;e%kA}eU6vQ>bT^w-kLV|V-S*H@th)CJo7Y%;DEq$a z!-IPGiAlD6USMGyT`84^w(0IF*wTJ7h5LcQ`({4f>8Y~V{aR;MJM0KJ;eO@eHvN99V{a0yc!zbU`g6gnxrhV;-AH z|95DA1Ll52&m7g|9)sP|Ja24z@#qC>80THFB(On?DMjlGOjRMd3L0}0cLqkRWy@z*TQjO$_nF~<}_>A_!hBS7BD2KgX#gMxYFUIMEc&!S5 zM9e?ieontoYn&&dOg?OR#ER*Dk#Edbf5z-0GkX64G{k%#g2T;)a2MT&(-M0v(5)Bo(J2 z&S-$`b)Xpg2iJx>Vcogz{m=It4*vP!J}^ER!ECo;IrOQ*!b{MD6@7RS58H-+!^H<3 zMiX4VdS$STYpxUmlrXf*QBzfcceM9`pDz00cK_b8p=JC#B*v-6A@a8H0UFJJ??-ls zDJOgzx8nm5z#aUeeDuKSvWJpKuKL5FY35f>(pbW*$Vp5zzUfzcWV15}f-qjUZ8PH9 zUXF*c(1jtx=V$mzPBQ;Lk=N=fhJ z&*sMc5kKr`{#~{+u%Iy66|D4%-M?f5Fr>Ce#2guX4} z3&C_f;Q;m77xf)qozigV7LcQj+W= z9#-(G+2=Pj`drOI`=2@uFHJl7f6iOvxYXAi6-gFlj-L@B`xCRn5qY2`ZHH0|aqsUf zQ0v@P)R3z*ME=;P4=(H($XNW%%?)ZbSO0z?%>7cZm3XSG4X1VX0mT(}=FWFU-Tl(4 zGwwz3L^Cd^LhDa=z!Bi9F^cFV-FL(@&6388#D5#Idly?AIW03r`-48be^ugP))eJ< zlXAUtltzBG8&Rp>-lCELGJL8yZe4t#9DNf#AD*}5)5ZY4l&wE%XJZ%J%M#m&FuTTM zZ!{3)N;kRLzv`kqKW@hp^JexopatdbEAPh^%BE`_KYT7nI<=JV@<$kmo>s2vv%JP|)?fj#Ct>+DeRosmk>#(wUl41;j70DDC!5eF2a3N38 z@LMDbBc`XoSD##3exY%}m*R^37^&uW6D_dojUSBAl6KOtS7Hx~e}4M3`@LTGsk0&t zoqAc7GaP{v)w$fBlY0~7K(XYGP@+9v8HpX5%jsZ#xjCqhV@vtq0R|F9d9`FuH-OZv z5~9tG@?DVo$3NuzB$$v%({5kU)@L7oFlP#}78U0no1&8n`&I}E8Igp%@=z?&SlqHF zUqlg;LdPfi5neDzeFo-M1K%;?HkAw@Kd={8U10!ZLi&=_DIlEay z@1(d>KNY`x?Jt(kBI9VB5z@0RzU#$>T_C2e?CxErOSOOhWCw@YqaD>Z#@?g%B+$BDa z(VUULJpMek?w0I8z z)Rvw5AU;R4#oLE_Uej&Mpp=0)(u9M{{;T zBn&b($@Wet{&aa3DupONZ%u%71l=08l=Z|Q@bNo=e>o^n`%hewj09Nk_d0qp;B%?D zL+fg=WJWV0xZw;0TRnHb6+E}A>f()i68_gu{(aot+e1J6t^`xYl5>`B*qs_X;(LjZ zcc?#Qwj>C;_0E^~$oo%s_XE!zh{Nn;U|inQYp^}k=5ez)rl#HNbhu-Kw)Zvj;HJ+E z>s{-te~wF9%YsnN85Gd@5|jf2xM>Bn@q*ReEe6oGbT04edJv~ay6%BO|C`_1 zeR-cxzn>J{Pkz#VB=af)5R>H#Xzrg3cGQHc z?{(eG58{g1%mn|Z>TN8KLht=^D#enRe-Yeje^kq!(uJPpk% zyZUu?w$sf*P0W%_b@E3bKy zCa4b?T`ysUt23`K*q^v_vje*!Idbypf4UN86*fb3^H7Ic*_Be(>l`h1~r%RN15uG^fQNT}AeU}UG< zVoc5~Hfe!(&PBLKWDZzgj(Ep*5hnJHykKygUQMzDMCfgmc2K_TiG{wF)Zoj-f1m&o z>rNAz^NanRg;?Zd3faCOWQOyIN30b~C#s?32Ro$lOZ7CE*d=VO$#%A_$CsZ7eOcer zR_$x->*AMCY*v)>f}!`}i$o_gGpuDH#TH1q$kl3?T!8IlKwkPm zX^zXDQW%YTR-~8wYOL?y=X|<=Rt6E`5jUET64Hg`-ivn;I;M5?iyY;&f3J8!BiDX3 z-_PSkdhN%*JmVdnq+ztSpMyoNi6BZtb~}~h-)nEAs;{J#Qj#MSr#gJ~q>bivj>R#? zf4aTDwx6B%a`34D+n}N(qLk3zrI2q6Lh*u`S<&}<`JjxSpVgcn#(*0mhU+$w<+96# z*~N&EDT=B@%!@MtHr}0|eU zhmR5}(vKc2=uyHaG(d*!QsjZ;zpe0x^RIw<6*32SynvT+9fE$TfA$`Gm;Z6{{u68; z`*s+#Zl@{J_*S)Q{hdD!=<=+>Gw0{$?6yB2ai&i%e`7_$fQV7qOw|~n2OnG#Oc=wv z^JD!1w)NwfDkuuzBcfs6^X4=Uy00FZpXC02gR~cf{Y@-WG)-}3VY8s085O2 ze$^iuV33q8UgCNwfANeky1mEL01!McF62iWebeuUF(|Z@{8|Ftr@4N%FP@>4L0+n! z8m|M?>SudE@vS#^JPu*pJsnIw__;cNZ-MUsO6&p|NUeWI9t*rTG;+f9Vp}7+&nChS z#x)q8q3kp#wXnKdHCOG~dA%V$MI{r!P+H3HnoL;tPUTJEe2$&*;^S#2db>vQOS8bm3&hKS4rNcVJN+0UZ;lL>w~vE z+i+|5K9lbR5H3F78xYDUeB@jHQlJdwCJN{@ixr7%O~@Kw5SRB0tfy3-VD*C!`}+m3UfYgrM_@@e+KDo#Ef9d{E6eAuIoJW04*lDKy4U`HnJ^>qH4t#Nm%jv}a-pnwKZ1R%{6=IW1Nk57G z^&3yIu%jFbo}ZZt=H&}Zk^Kf~a(agkWPdVuP#!6$4gjA9Dw^#_%lR7dw8&v#JZ&LX zjvJK{n(Iv`)GW7e3bW#YW3v|aDK9|iNLYR9f6#^*ZwXXqmBTE^BV>Zhc;}ahABUl& zlprMe%sxMrdKoTEhekG=UPb;F>XloIEtW%{Hz5ya)W!}`oQvR+T<+u0K*w$D1BeUq z=@j3~h}iuyhtCDftlz){4JXvE51&l)$U%JEsN@J9OuyUB`7^Y^o+|cYXy?slQF4IJ zf3K0f?GO-)Tvxuv&%UHp4!a!0roofD3Ev_!w>$3Q^XNW$ZC}j$w}FF0-+O`KorlPk zI8G~t;A%#AHW5Aa?La;W_yriAz|YHUb@p|EryK!l^SK;$_@+cyQp#K#*e+M(E_f;neHw?gkkH568;$;@PUPuNTbgpA4j|&w5b5rPEPNOJRFVTUYbxWIGjzG&n@`vj4Hbq)zLBM0yB&P z;aBm)wAI1H4E)SR4#*0<(7o$&e|{WqzSaYny?%Fy??7W#`RPGq>mJeZN&MNB1bvNs z1fF{cY7u}gsEjARD$_GYsJXvWB0-|=C3=4SNB)-Hu-{c$t3MZI5%T?>$D{8f;p2U3 zQ($L7l{`a%(IaG&27KZzcMgrX+CErSc3TUUtGKCC<0stm9@f1X%}(iSCE z;cn5X-T+}{>16*CKPQ;Ax6M13PXj#ZE7f2cpd1LAv9I0hD47g(;<+@=YYnjFyXk5j zwmn)TqLit<(1q~26Wm(;4uH8~F0p!21QyOGHukEuf(hvd)6|?4b zOL{?CF?@q#*HX;U#vAhfe+<9aN87tn;{@`wf2;Zaw+Ej$U0dGvyQiO=&jZ4Fj%TZ; zh3$k`R8ihgiJwzk)*9t*aogDoy*d%N*TSdaRtzK&PGVey5&yst1I zeptHR-?Yc>NR3QxM%D!k6ty@ox{q~P0}6@)rr5bjm#CIDFbRq`fB1V&1K_@w2gD2KfRxj)I{xtKi44l!K5qrO3oILnRlKst%BB==KP>$nMS%QwZyp5Mb zv$t-)cWdHQwwcV|O1k2!eUS^1U4FxZ@uoyd>UGZ=uQ?;Vj%T&j_c7|DLycW;059Tr z4G)*2Hr#3d99_>re=6MVd?Lu325}i@q7V)uu+#eL$2(OXiI*^)4>ho`f9nOUip{dL%VoZUODmo{-S%&h!*JRdT2ox zh+6p7KPLmPaU&~0y7BoO-PT+#WqZ95gKc8x@aW>_`!c#3e~c*a{pV$u*?5>ejE^1} zN}NTz?ZtiTp@#?%u7;!AS6Xw|RXvdUK#kGUy^`+It#ijfc$SZD&vQ{o{66m;+3>v< z=+Dl7()atBMP03H(cBL%XhGrct#kvOx+x}ma)XPP!W2nn2mFkE9GN2OA(n{d|rRAg>hah0h)czSt+ z=uhvcn;5wbeGc^g#))T?a5b;%?BX3wpHVTtZ~d|uPj3Bs*U_riAu#c5q_oQ}ufaX7 zn6N)D&W-XR^acnFQKal1<-dNJ_7>k*yDsPU?S-=ie}*>m`UvZ(>Ow^7qDPwP7GmOt zuy0cR@T0Kkej3C}*sbe$M#aEegOx3#XV!<(Nh3f^-EmZ197Uweu!?}*7Gu6@oBA#02>7v`H&MNikU;E@W~C+ktKD%lliXUPY)yRny!9aNtXEhT|-r?IlztYI&B(2Qyk8+fRYPe_6s`^@rAX&dQD8b4Ipz2Cu_F9c(n; z>;+A(t?HQIB+;;=3i(Dj!ud&l_T=TJ&`;hP#&FKQzYkuXYn2%M<8!NO^VMg6#?mXP zda`(Fhw#@ti~AhLkD*Yzu#=u9(}*?6dICH^03>!wv$=l=aYHl4Q~QQ|@43OkYgzIMs6xt+|{!I4P90DdFk^{1@Y zl8bk%FGQ*W@{(5HG}v$rgGrqD4%zf+f0ynV1Bim-+Y86z7E-o@58zeLcm}d?{ULSB zX$Ztu`pN(%>NHne=Ru(5jRA@8-f8_sk-;UEr5I}n>^DkE#h<7$sf|8!Pax~0iV zy`JxwPEOAL_2^%aFVS3p%skl4XRV9BXV^F@;^OViPuM>QrKZ7E{N^OC+G0e}f0+Kd zaNE-g44DWxd^GuVxnIQK{Q>_fTM-?ef<(CL!GGZWA%j6i!dgdgMsKTlWS+Y5~T zq4Wz3y!(J^wfe-k_EF33!Ul`$wxe$4z$`$?Jes?XrsI@_VDLXkW|s>ZLf5XYyASvwZIsoQXECBOoaW=XdHxYrxs zZ)tp*r7uQNm{5e)*^X!$TUUCIRXRgouRpc*q)6lJuD#q}W^@t0GU5=5fA>^U{h1ib z^BqIu^+bp`3t@Rf?_;Fl`U@VdS6l zDSciBF!H2g5lp1N5&b9bMFtdADe4U_&)alu$+(vtSRQLQja>+C^_lUhcVZJh6rZ|_7=T?>en^-7I}uW0{oYfnYIu9 zA@0C(43prfvxDzI-DjY56(`N>cJBAiE~O&?30_xGwflYIgP<BfASsVWve0HV%g5fd@<`OX|q!Qm5pc)r{zEY^FRJuHBNmt|NFl!V^z`r z_8yII52WGxtouLz^I!i}mEFq!{r~@6-*nqQ%q%RE z|7B%!{m=Jw`v*{b|6XKs_K&}RhWOX7{?9ynm)!ope;4FIweFbv|NZMEdZM`h*S{?v z__y+o{QEEetA8DPT=6c8p56PKd_3vWsP1B2jbdmH#m1BGzdO_id+{iVO5-h1gOS!f z)N{VKls$Xz-r5OZ{Env%{ZW-uN0oS)>`r=)qAUpU)yZ9n@Wq0AdsnJA51Tiwo-)h6 zJ`6R*f2I0%EUNxE!9^Wl@a{qgmar@GSWdstJ-SNVfWUX{PO-Sn%{f_L-y)F?-wbsC zu(;^_5444u1( zxe=FpD@;6C_`7LP=+C+P9@bVNrizb|YAs@#e_=ExKZG9!7%k!)<90-7&)<%^ya1pE zBh{1JTGiSIpkh7Q<6~L_PJRPau_X$GWiGBWLIQhjbA@C%6>Ginmw;NF=)gKgB*A?q zNbF~6{U9sGu4NH-p!>e>lnmoy2*%^YlN0K1?|V)PV)Lu@YKyYF+|>(BQ*Pgnsig)l zf7;lFSL zP_et?2{|yCn>!+43*M_hnEd^svAkX~!y$#5Sf4P)?0ke$8HTmhI!9clA+lN?DEeW^^c@Bb`3@&W zIKdgoyV3PSADii=C}grb3B#K}2A=$czxws&TXPLxs;<%ZO-~g4UKkc?Y6rr)f9iz$ z{gF)}R4;LSb?YO3C5ZZFdGSN5asO1w6zue~)9k9_G(EXT$=x4Ac;$M06baLTAazf^ zv$$=7NO~9EcdXNw=^N61(kxIqf(?|v(?g|)UGYw-Tt;yE84E0^jhGNg&B{kQ)*UP2 z5_ohv=lJ@lpFvhKJd%qf8mCwy*oG?X&bu9&Fd+-eeYX2OvmaP1Tm3kM@zb7gYY7*;*yvPZ_FaGTx*x zhc?;o;Qp}i47Kj+f1q!5E)aM;-SG-0@d!EHNkV!aFYNmv(#}SnY8Lup0kpgA_z?7A zxt)Fso*%l}Hk(+8?a^NgD+_aVN0<>6@81PHO2F@Z(YpN(2bgYxJ!D;5na-Vey9>d1 z1?a@7kJo}rE@yKQSHDDSg#9fI+=2Y-u{SGrPqy*He$8Vbe@1Q0Jp;l#wO47*bgC$0 z_`aJ3xTE2FfBWE3OBWFW!pxM(^DmgzFj#=tAN{3CVBg8Wu6%QCVzN3X{MhB>ZeMjHKnf0&u_=o?6*By;9E-%kvGJ+`-3 zg+KC-g)MeA+I!8UF(hbZj8s;52e2j=5mq9F>dP1;kK8ukM%nEFsp)0 z1JeQHdF{0cKa;~QM~v%w*&b8X!Xb{j$ibk5d%8*d@g&`V2OO~l3`z@xh6P~$Dv@I* ziEmZ^f4t7!4U|YMI|sHuio<0H`J<>lvq8W%ukxZSWWw@lCi8RK1?(z9Ae;})>5g{7 z?Hk-boy9BT2BC-S)89=o&qwcvsh)qUaWZAjW#M|harfH$5BIm-?tH1A9Mrw4@;G^Q z&=u@dgVQY(rDEJcp=bxk5do9kowf&NY|(qBe@?&4AwX`I`8hjY%5K&W#Vt_vJR0XK zT+ofWVOKTQ!u`GGt@+dJ*Np=jMcq{YCHGDm-qY2Z+3iVZp>AKs4g7I6P__G>IkSP5FJhmwO9;w-;EeW{p--%Y64$V7xNhBk~%VRLfCs8IC&k zCmcQYa8mqHo#0njwKHU@;uJ;e)1sX0bS56SDpTV_>s~b`J|v!y8Zd#B!wh zGKIJColaL2e7QT!0Wj>pw&NQqNM=0U_MkL*>+x~PCGUJezQw~C_l5iQN4;nye@@Ay zN|AYPdX02{_#spbU(wXNMcpDBS11GvY(_mnTMFEs#rrSwja(@w_gCntWJ-RW5jvDP zd0d5Z^zU~?whT-KCF_cex^%kSmO*jRsM zkiQ$_J%%SEzCNBqkzcSjy1F3bWX39ewrugALH_!D@tf`EYpQ`=%o;&p^h)^7{Nvua zM7Y-^wsM3*dKt`nr}VHRe{k8g*FYr?E?ZQ*KGeBbxcernNG3K7MW%&u^7DI4BodD) zGsRw#akrvBmFd|7l`Jx1KE`JV-ov&8(ic>|M_=14akfpwV&fhHk^?)CSgSyzdc7to zv)uaq8BO%srozm=LT8DU77UAI`Lp4B>^vw7TGKdCzVjNoA~t z6efS?KHyP7^`3kr!1p*W_Xz2O=g{NbeS&nX^3hatEDRGDi^PgX_Ke5#P^ZEO*`q!o zaKpn^Hy1c-(wLz3F1dSUTEA^P=u`K4yqRdSN&9;q+JSyt0~2*70qXXTd6g_&)WZNc zSfL4sLk@5Zi8SZJe~EjO4e?*xytf%dL}}@%n+J0Z&&3nKDVKm%q0BFiNf~NpfoSy7 z=7*ysNJcl}v@)l)?e6q&kg{zt!$nn=?g=Nu6q2v1vSrIZ18Zv4<;59Vd9EJP7~a03 z=En+!Bhrj~fwXFe=_N^=5M+2Sb z0B=0>(bq<7WC4o5GVj-e@Xv~kEI?tiY>&pRq~9W>Uzuxk`4B#1RhOE*tK*0%T4Uk% z>14*|9^zv9b{@?Ks%GXTq;#MTE(=610;a$-K*+n_Pdwn_vd zR_{gw9`?5~e~+vF6z>#B51%_#(S2-E{aIP!-EB;4a&-)RKw*$9R^smV;~?2IV3Jd= zqI9L7Eh%qg9yaUmj?63#5kB+jueNz!xChltY|hgA=NU)nZM$4P#;Dh@zDjUj_*orB zs6fm!39-}q^0Moa09VPlzNW5^({o^eR_$O02I4{IevHy5S zZjZRtI=%;bc?+_v%~$*;UG&BYOKc7oD}q7N$etD=n#AY}f$;`e(uBb|C#nW$jMJQ8 zVhkWie}!9iG!nqjXfa-%yW{h)3^&3JUlJphfA9D6O^(2-qWknTR~jjWvKvw4*)Mz^ zqj~=ew&86$5PZ3<63yQkCpx_R%UapwXa3ff0Ev9HUn`+2c}cv31OiNoh`0Zdw+`uV zVVoMg)pS6|MS*xknBeZZJ(veU;gtx(%&yc?)2?_hAQR)3UWY2c@E)~OW`Z^~`yAMo ze>}gW_`zIU203Sg>SF@IJ$k2Wv$+vSWxd-7*@I6sKpjaOP9!5Fi(^6y74lm-zWUsp zm4MZz!$T^+XQZf(QA#iId=}~p#C(b5E@-k>u7Jm6#em@f$m>xjSW6W%Zb;r3$efRg z`I5FdKljHSOqAyXuoSE@v$)&c&+ZM?fAe}OPdi*^7tmy$GN4dYkPW%@;shNBPRT$t zX421NawTZqxf&$?f>~r%?fHk5C9XkyGnl>Z0OOou9kHWnlR9{3yeZ=kwII#NPp3q}R z;k5_Q1F^Y!ZSzl`CQ9w;;rT86$GXWKzwGa8Pc!+cJe3u9DG~>3&F#GnI6V-k_rQj~ zYfHbakQc+w;V?q}fc|{B3CG?Mf1bF+8p$_w2j!W5w_`sa zZtJDS|5Wnt=S?i<xE?L{25WxJEX|0|2J;OBTWicil0UyUuR{zAC0FW+ zveM;wx!ms7Zu>qx{|3|2>7o(%EbqVB&;F)6XTvIV$AZtYD-2>+BHAZre?2Xd`;|RG z#L{|i+{~UmcOUmVxn}&4-w!akiVG>$#x zx(q(2u}DL?Lq%@F#YUC5X()|0K`x|BQeVGoA7v%?+Ma1l}<{W2Mlof#mIXqqm_mL*O^$gR_ z(}s$e^I|E!3>(a`x#tW-JR4={YfT>Ej64XC&#uo0&6n7(H@RQce^{ziAeP* zm;+y64;2yX=E}b^d3PIWR_`gc;qBY6jNcQYN-Pl^le<<7%L-9n!s_A5n3H`x4_3f7Q*!Bc+u-5JQrlG)WD6)wrLH>3!IP_9oq;KhJ?; zStP-ZXUf4OW>Uy+pZ3xW7*({V-R0a~*Zah+XJjM8w*_$W6J2e(lEgtGALV(^OOJ>3 zV-+lGe|T)Yebm9kG!Go%^FF;#%k!w35Kfvh3tk7n#PRbJXcXwKT6_97A|bWM+fD}H z{`R?Ys00C$S9Y_6hi^VTMK@E-g0?L%a?>ViLG)V9D7`>Z8}>TXOJcACKuZ6f=ef*2 z^R>t^FUkyeOTS$)&nM09^CMp)kV*@Aq-`Dk>V9N91Q zf4Ia(DOw7sN08;|QM^HFT>X~i^AI8-ePJAAO)C0P_cTaF^@AH%*n_r=rb>EZX8sl_ zY`o1-Hss3*j5EzBNM!5#4Fr|nZhZQk;O$&`WC>VInexdWpshVmYk(HZ&O#L;cNq## z{*hLwp3Rw;B#t)jK>>X`36bQ_ns*SZe=!C*6E5zCzNXgx_Wfbk5}&O0eI!ci#!p`Zr;IuH$FMD5 zA z49Mir(qX@7%YRO!0q&2}Cs^G2e_|Q)7a%OY{-vCPNxhb?%ot*OIGOyjzj|y={aIGWa>ph3U?5rSna&)K zAJUPoXBAjv($^t#Fu;6kzle<%c9LcoC9-2tet&;P$hSZ~uKNJ2FA%wL^6OPjE~oqazV0WygW03mz1~N*S><)Sam%msFG@9>aFM?N_>}JjW4@iE z;Qz9AX1mIA=@z~q4p4dy1?f>~M8GpZKm?Iq;p+ETm7Pi|sicxh?Sq|a{`#7=TrlVR zj`2Kve%>nwW&+8si&eL^e;aaa2c+dk>MM?1_#VtZuiv;|E$h2pq!XHiS64d%y_GE} z0P0wl9Qr7ecMKjp$)UV+H}EwcYQ-~v_JCeCKdkU}P8@j_U(Z_}|A<<~@!g#OywbA| z&1Z+^N%z|kV2Wutvq!gqp%%+S#Pb32Neso~^E7%H6wEP=1D8Sbe*)IUFL%4ApC8oU zS*^%Eegzjz2z2e?^@cv~ktYUTA%!U!Ij2vYD_<<gX~RElHsv%k)3cLvD| zzlmh-7K{y`B@9m8FOCxH1%Z|Ml9)4pPJd$b8r%7EnPFJ*=Ot3`Uz1Tke6zRQfaO>cUO;nlA!DB@?sjF6_Q#riBO+6YJwS8{gm-D#b?odeR(Ci_7X=ZVd5QV+BZ!7be1y3cXp52fnc4~qI z?p7aQiF|yoFGPLp5G@Z{%N}s$wWi-SZxJzN}~TX8X`ld$MBZ zV%VEVKj-^k=&zaB%?r+M&hgv^!lQtaZ5xlB^6J1g@T9im|W4<$Eo_zf7OV zj6RIhe%=duwKwq!t1A#>Lmyvf-BVfNQ$m*2DB~F!s87`2R-FBB*FS1_Bo#b^)4f=3 z*f-;*f4L&G6E7H7uMbnAUSJg$PpGp8qo@M=VV~JoTXV|35M|u@(2ma!vinjouXmg! zh~KpNcDrm^0%RjviFc*^W>B6?kF$}!W*sA+Be@B7F6`Nps@zPERJ-Uk#F&R((GS*6 z_Jy^QS$71eP9Qx6G8?-NP;PF{juprEFLFJse_DN1sq1QZ7&kKbDZY<@bK(MMO@lqd ztc?L6d=Xf_*;>w?dyih3{4@p2RbN?91ogR??S()cL^hEs<)geVNw$AIcj@5`E2m#l zK(a1-lhI$@xW5hX%4_}cVO~Ga6bEcEjQ0;kK}KK9^4IrmEKc{G3;bei76{HG6`9d_ zf8qA!^F_2IA_PyTFZ6Zi`fSp)tcS*%%19dE`is6UBVkf&8E_6Jlqs)$e_!i%ZU5Rv z=$n<2@%!!QBmf)`^EAG|u@DH}igxT)cz=0j-LX-e2Ki24CE@3*VKfPN0adpgX<(1A zRef)Q<`ZWf-YdkD0=|c1Zp(a}4!P#1WGrWH{K=l5addzzg){A`|e?J$_ zjK?DWMat~%?~cRLq-kr9K+`FWmxi`OL33(3X}Zo|NiQ zBY1zDOyHa?QQgF{PoU?ao|DZzFez?UpvEO=kqP zsmD2=Jnq=hL@ZI~UF#Be`hLh0Gj)GX63T%c?q{F{!8Xq+0GFO+so+6zvkwb z<}a0w^_lEdq#A8L)w$}^&NuuOi8oL4%-*UOPVnp}RAnYjAdjd=ul?goD(ftS+9u>8 z$9*S6s^x~eI(XpeV-S$dBF||t)_X|NtI>&DX7Q+fk5~#7?ms^lnCWZxrfb#ZGfLe0)uw*~z3o z&>3~fx`?*g#gU84;EC~Af5#sjR>a*tU7ow+K~?qOhp`;bN!Kc{w2B(-d)cH6%)zI} zq1Mw)yZf;BIw6g4z1$*e49siPFZHf^zX%(8R7(7XR~r5awDS2 zd;E+I`}m8)cwYa?@{RlDAoO*o)c85|z$7SN^pm;18#fUHwxnLce;6NM_ZcjvRDGSB z^phd-+?Sgvr#L*W=oaDX^i?yZ^TD8v(?IU5%>Xo#lj`<_$@Z|AX= zDd2W)lP(7^{qU(fi0J)j;q1l!N55C6D3$|Unic7pepst#e@c`BRuqo2m-CWo9KM4L zda54oaM->0*FO8cwvD2`mt#Fjh9db29SnJYlm_`|W-Hup*Tc2oXIr`73$%*FD?~SV zR}%jAdhm&6dR^@w<`;Mh74Gjez$@QpEAFq?^G2Q+d}Ak=U-#q{?$wZ%E1BrR7u9Nv z{RtlSK|OEoe zBagq;nv;o^R6qEoYsA@9XX13qxlj%gb_fm6s$VeYfT3+{!;6m+n!e^iH8bcxqGVt^gyB0t*q zsb$r>X#IIuI?kyEpbYxpg>aCnc)AP{e-oRz?#lk|AZk~Y%{<cPe+?hRXDyvh4WRlJ{9D$^91lYn+3abUnUyzw-Ob5xvwPqfp7oz)%^y`|0xbO# zL7fM>)L|Ovw_mC>P~p@0q_Gow_J`#&oOOUga`8Q?cRq0#EGD$87N{T@pZlRAzUPmF zg96q}B5AHvSba*fWKR@S51=+5mAEYS8t?57e;LtVgF?@Z(`c`;NG^ySE%K*z6z2BJ z1xOzvn^L}8ys7@wI14<=|)ll1D{I6rd$=3tss$Y2ug2nGN0a? z{0F0CN_4p+2*@Y5evkdVdsXPiC}@K%V7AOgCzK5lzLFui2DwgT-yH^x^UT-mWjlfT zf81aea{$=O0ebSi(S z<+18P%S2YoaGxLLa%x#CdY9dOl9=&ZiRvjUmUusrp`#&hYNUox!z{5L51-pr*g*vT z8wpsjdL=Br!7&wDV1;j<@6!-rh9{xwf7(x;9YadF^0mtcMJGz-pJXC`BGIlbgf{Sy zFz_IvyNE>@~c!D%Wx7r;9_s% z@zMrU|2)y`n%bZ2g4UxlXlLboFw!Z`bRDX|ZGScpo_awk`i2Gdr4YKLY<0|$f8NFG z?Nm=cuQ1WDTNA8RQ$K~F7)lJ*G>I_%A*r{_G|lm5Wg$h zWG&Pyl5?BoSuL^8V4}T{&Z;|f1o zsqrsgM=ua>Uif=oZolAmeXNb+SYFGpSnV6&)65uT?{>9+GFoMVTH91yPNwVP-AV+_(49pm6e{i`Bf0Q5CSbCz7#416jeXxJo7v0%y3H;&d0_D{g#M+4e^eg+7^`vsW z{qct*_@jrSC%kU2m+rN^bfrXWBj9%I#P}^@y*0@EuYALlDsfoZmTnrO=Z5@h9bV7_ zI~Y3)emA5Alp5B|h(mN3D(pSVq`QyhSD?ul_-Z}QUkbR+f5PfnUMC$7+{V%~I0H<} zb9uO29`#O?HxxzgR^ixq# z!`5Ir%yp>}%_YMajUT7xX#+t4g6Hs2L|9s#{i8j*jzUT`rfk3Tl!z-mv*|(a(*3gp z==>`t@{0u_f2C~pQF;wPHE8-AONwFMy?+i>e-^_W=OOCu2y@Svo+UuI;$!c$r|kQl zUwx}IqMb4?`z}bGZJh_XzvG_rp3&IHWX=x1d7f&N4w?0S6GPltjwec9I%Qf%Tp0w( zgyw>LBD!!tt3E=eb#uo=E_KgB%a{yNe|$35tcUrJI}HhcwCc zt8GlbWSJfq~oNSFt|9mJgYEi7a*w zxjeAy)o>d4#S4`92t?;^RyQCA-uS0wx@%48fA$j0V!!9|KZxKpXyy9i!V}P9zx3}R!}(`18|mS*RJ!mr82P;FgmyHEkHE+F zf0aB4#dbVO%oD8=33<`_9zt;gKv(=cGzJ#X6pot{{;I^xY4h1vHzcvRei*mpCgBHg zo}Pezz(i)M&-S~sKtH5Kq3(|ubH9%9?wI&UGM%m|n)lj)K7#-;K+eBU&a_BH@QrlG z3txd)@V)RH<2}mF`?bs4dExznyXQG+guZ&97JrtE;X^>@mA3rj)U*-G7{J{8AY2(G z+Buse1g5Wb?@ZR$z>vGpYea97Hg0O_1%;yEI47%l@?id#nR6)?v0{is$(IYkk)}u$ z?wh@vhbnMk$dL4hSc2wo>T3o2k0BPS15C5LRzE*<&{fE!(~G*hXt%(teEWRKX6pwP1}rWI|4wiZmE@cJ zQ5NDjV2k4OA+zn%{Z}j}n}7iXJz*d+iyJ957Vu&8ZLl}6eu5Aj1s36{b_dnL`ex8` z(6wd#-QvIH{t;-Xflf~WtOLKS(A&YysDJxN?x+Y4kxS?k+@hcEmq{LlY{@m;8j^ZpT1vi`{jHpkE`>+IOBet_~*UB0Jg{#QI8#!_4Dk^6OKq&ACk#62KFpSL7U$CV&2vl#z7yS)=@ztdC zQKWfzBq%+YwBqN*Oieh8#k=4{!hbE??Mhx#rtlU~P;@ZkN)ACylt?>w8`_c#R_>jW z9agpP<3}TmjDL*in!jzAwrsH2f3R7Ol>Q?p7x3vAdxEzkG)%YhPlbkH9e)LBhrBzt zWOD|QG`I0nII5Ao>$#efk}x9@tE1MyAI%7bGL&cN2dA0KXD++wl@eKubb8LdK2sma(?Mcc&h!!H|wnm;C$)Rq`lfK+?K z5_9X<7VkHWn1p-SdKfsluYU-`rhdadX9C~tk;s=6CCsbMTR6Kva4e~qV&-3I7&YLK zR1&;(yhRJ$-CWT}86IhQct)iX2+t*BNwInll>&Mje@?8v_)&BNHR~Z4u66dc1gp49 z;{mgkD;~GgK=_fe899Z@QlK*xmM=%pX9-V`CxJUagi-^l!OKh_iGND8R;c0tz)N?c z5WrmbbgvZJgq4N6t2G?Vt>7MIO$@`qWdj#Ki!32#&mgTqrwrU%h!4Icf+2!~dqKtE zLG20q!@WX^M815f6ZgF%C>4@7=po*2@&>Iai+9go3J8@PvMROW!a^awR-ST2f zxt_n_copzkJ;XW5Z^U|VvSLl_>?Q8^*ql>32M;N;;ra5B#UqfYhJ8`<55>K5xmACh z$z%+GmXwm;6d)}d4{EKSA6H#6HGnfv4>fCAtg5U_?`9OeBi<@ zq#JI()8!L5PKT zCQ1b#3?j;?mIfcS`!NVR4Y7eH`*Go8x^MV}(2bJBt7stkk0ivb^Zi&Ccn-h=1upe` zb4dAODjO%2ossNLduQAY8H`OR+)Wqu*$sU~6@9I?nt#dC6Ewl{-;D;*-P7~?xes>_ z3z^W6Z;}Q%kG0cOVf2r;S{LI>RTRsIz*C?aR~iXLa=m!uesYYU`$ZP{GI+havY!8z z5zj%7^!6-BFE|cRV(!7gtQh}h-2loK?(dK2!%G#MQV;zH&$^*;A@wK_eHn9-81f-4 zcX7g)4SzcPmorX>itKKA@cor2f8ezmjhEl)Tk_piF!BV;hdIrOfh2wpjuz{A-v~c^ z_lyTnbCCS*3G#dUq9>{I70zCYBLS@kbLj^LooyNzP}(g;yKeJC)&b3c%jX_vn0(?z zXPN9TmLZFAStktW9%Ckls13j9X=C>~)<23GV^cYYxIW;3WE|=T|GtQJyIYB( z(!QX9mlwWEK`%d~&1ZUC@tCHrWEVfWaDTmDE5JHlBVdFlxn~7=cPK~YJS)Ngj5euD zPwmvFc!ANMGz&#uJy&qDHt&&teh%^#2laRNxOV3o-a&1x2p3wDqvhh+#<{%5$`Jta zT?ow@JbYaS!D0HPc*fqM{wIR+bl-PMMdQhPDok&8{L%co!i6J!fS`9g)Q(f^Y=3Gi z=`fa0*Xv}!-bu?bUyd5XA9eQ!b8H=+%emvO6$6e}<-CQ13lVcR@i_6G`JC)4dp5fD z?IiY@TrCY^ju!N@=jd^AlFvAke3ad&eX^XeK;IDhk8sk7sj`laWon`RwU2#118pz= z@>XsPU?P8Z^&`11?NsW63MHSpDG6pFv-Oviham-?ITF#X|qA?f%cBfDZa8LE96 z6p7Am**_CL=0wr$OyHj0(0``rn&8_Ajo|IB)Oguh+~Y`q6aJV~ymXnNyz#8{cBw`Z zQOck0`$Bs{Ni8qe%y}H#vk5e{Pf<;+mU>j&%2IBE=C0iF8lZ(w+7AD8!=aMf7ly|Pbb4NNvEc|@Daw1Z}T=>Y-w{*@Q%_dWlgokAbM8EjbZ^v6s z*}5O3s$Y2Z>uzJwP=Df?`SdKdW%z{_5G$FZEbk%8y>E}VbR^}&X$n^3w`UKtKHuy7 zyC=n*`f1iW+xRA3Ku9L0yY|92NXgxM^mc6h35Hwq_r=O0C@$`11!!LlvSBf2hZf4o z+P$OHIdS;;2oNjewB}o_`Ma?2*dlH+^AeU_(~ch-*V2LfnScF$bj&ADC(8Yzv?o|+ zbi8<#USVX=xOQLtsvk}w{T{cMY^je%#~Xh9USKpkPSv+tlZ}ap6TG!oIm>ia;4Pvt8ziyHYlV*me$nqGiT zUbUu=jox)sdcG0A#%D483 zFC*(N;7h+$lm;lqeJW8NL96ml%G4yN_?B=7_Gt48`QBv;-nzS6@Bzk3=);#?N6=6r z%hK*7K-q4u2o{`M7kacAiztoizT?GE2}RT@-RrSH(w0MAYrZVFhTWe-$h@R-?Ok%* zeztj=&VSkxly5*qto2pTX*ZA@Xb^5x%neVgXWiegFRC0K@!0;%C7Z0NTv2nZqW3#f z*Z0(iTWbI}Y34Lf2W4w=3B_FOOxXLnz{Rw@S(8OZ+!fa1Qwe{ZEftsP#m)PcClds> zCar!Sk3H15H+d_y&|ah?efu&Bi{@V#h@k5M8#{p3B|5FHNu31O-LsAV09zL*RW$upvky zOn>{G#gJFFWluVFE0Y^VaQLiM(@S3Dh(8`_^yT=dQ*q;I!Tu}inSA62>)hgR4H3*v z*1l4^(~2bmM;m56=m_y9uHLV%|9Q*Hcf};WVB&xn>S4R$s^QXb3}d1WnQlj5CZQ%*_cGsgtW{yyo-nAj;J>PHGddx<91Ll>DF|+`PCOmK$wHmM9e?@^^9HcTg0}|0GGQEss*%5UuACm9Re#%2*IOL{ zxB|gY=I3Js<)K=mY3QxUG#tE6wgH>XmK$6ZzsFnj$7+LP`3RX5hqXCv}j{JZ+fQP4u(vj?rDkug%xJpWMyo&X1>_Up$^wwIz&|Hlv-^D#Gb&ftq0(kW%=^W=9mYUQL!?InkCU^9 zu(5c5_vOynId7Y<=DxM{L;#8RxCYK`a4bNbbCH|+J6P5(}~{IL{~wJ3GV4Nlao%<0i$+Z{yiBFst7Iv+TxvR zOiSY$k210}22nkD>5@y?oegZcI!;}eBg+vd5p^R*6d z@k&mA{h%Un5j~lOMY*Ujb8ZeLms;m|InferayMVV6H-iX0Ayx<@AL_K!_L+xCSXvO zP^9n5cYO4qUH=StmVbkyAO-6(3`Z5k2`D&~+(TRj%>Hv@WnYl9&2&O1s$&!n5@j2Q zprS?D+TZrH7ri43Gn^DkC7PXwVjXT%-vNO$KFap^3n-DLjQ2Qx`<@NT)W$#E5_q-PHD{W1BXS z;<*xr31s^KHt+D2BNx4=YB`X65A&V;M07ZcZJ5RhQoX!EQ2xCt-t~1fT7q(q^YgS-L^XwE8|@X)bi$|Bj91u-jiC4u zeBN=l!+!$bi0Gjl$nPsOg80S&!T-K}zMi8CDhqMja);B7#dai51eRE1BI~{{BWJ5? zzt&l*%|m}1V%K9Y%@g*8&)a|J+0L-amN)XE>m3hSI*CekC$f&PuW$3Jeyo(4|X0gr$`XUii*7;EdJVHPh;`S2O>~VhGipQZm^x+?ks=5^>2mtWKn%xg4YgnH;-t!-|3#0E} zfqI7nYRFcfuNvY5{8g0gUVq(StW60ziIq~cCpek9M29KUkEeMm%diVE9b-aoHpd&H zCh;%m%_aqbIM~NhC3ZVuJH+QVbcXJ|QGb=U;q-o#eFihM)Y3B3I@u2SO*#m1bE=H~ zlUPqZFco~bwaz`%{_NWQ=X3ClBPtGdcaaaf=)}Kjdf#|xn8`-X#0L+6?8DP1cL^LA zE?95NRjwX|#ZsEePK6gJgKa!YrhoZ`WhAi z$HV@ZW4ZUVv(EuA$s(qlV|4Ki8}N!JV1D+MY^Lx|oOjL#lfP>-D8-@HVb{&+U5mXL z5$4MZT;)Sb@r!Dx-t0hiN{`|DvVX&%BZPKKVJdPuu$TU z7>mtBG2Lo^>h^e+KTsS1tZ}emSMn~@Bl*DM>O{l&_~>x0xulm(#Xcjs6$z((U!uvi zVi&!UJ>{D{T9DO&-aS7rYaL z8E+cE6uF78Y`Zy(E{1$^Fs`hE@Vfo=2I%ix;{p2oW6?n`79FX8E}QngqHa;+AOVF@ z)ne-HGN9kqBZy!S5!7aFKgs#s{ZR*a^`wL3!j;{!T zGZXbKaKU6E{*$f8A;yqYit({}d^?Z7us*e6c#1CP1%_EWIfUp#um$P@Cu!CL%4;`6 zt66AHLD4w2n>yblVJh!PrX}6=1X0GrZW;+Ii|HuT-N5UBfjqOz{x>*4G-G$D)KYYJ zb9vuB+L{q>kIpscn13cuekVAvB1!|f&c+2!{L4u`hds|db!j9|aLs-R@)J1$gAWk{ z>KCX!zH+JY^9+iu7<<-3K4|q1h(8MfNFA2yTX{K0a@a!i#VIuh>(anDoNhqqA5OdH zhY82{j$A&K6qq7kIay(Ci9D17ilHwGB0m^y%U|^Y#*i=I!hgV0YlxoNdJz`j#)SMY zp99(%q1;yT``OJo$gnZTrZ&I^snCHHf)^83yBxUHfzwG5{4 zeUt9#fs1~>%S0X?67xd}a44S-es{npfTG zceVaPD*Wx4+kf>!R_{tTF6oO7LiVK(`Lc_rTZ@4DT|L#)cYk01IDpZ{cJm{x_wn-~ zIt;uYXY1()<0u_~sUw=xNG+X!xwg_?E>`DTaGU?;cT@nT;4_F! z*LnVG@8<)3nCAG(Xc63t*l^3!ckMOV$VWI;>mxjS<#iwy{SLO`6CD|Bv!qOMr=K$~ zXuAqSD8hf{s^$kgc?$CBhoG??x9iWqwAZI(R%=`@GrY?6D7$J#CL5r~4cAc~MX$bk zZ~6Px@qZwdu=?bR=LZ|#@tdn|^$&*Xe*nDl{|b2hbJtYa{~YiNy6gV~UI+X?OfLTm zz$*#t-YqZx4d7Kb{t0*$-)GfWd;0JNP{9-g3xCFF3G(3XIlK0#k^(^EwG$o?onWlb zl|cdL+2mv3zMt1?#dYij5QC|wI9wOq7x}uJn15pv_jjNALE-N7T0wEfpt745;iSTe zck)#bf&pUU_En$s^Ar=SN9En(Ec9(Rs~d6VlrTL5Z`TK{@^1Q_Jh=+ic${X7#wV^W zr#t>G)c&MuNfF=9FPuZv&wDVqu5K((21#AP>ciCD{tZ2gj5l8U^CJiKCO4p z@jMRh+zcU@hse|ZihYPDor%os4kh^C4tj-V#)uJ@pc=;7`t%^+*MH57l)8D14-w`eVifXvHH_Ult&4IsZ$%3p z=ft?1df+_;$ZkJGeb8a|ie99NtVGS-Ihls};d(@hS#YilnL8*ofgYaS zq<2GHCbBwamH#?0r-kafbf*088LHaSgdbJAw++oD+iFOG;8ovc}TLI2T&NJDmWyy6cAfuY*f3KI-Q^2cz{iaI1ufQ zf=8{HLvF1{S=M#O$-w*$W@v^LL4T`4R~U`YV`+C-fbL0_pnCOD5=(W`Z2V-IYfO@q zc-1qgv!cbzQA2{=a6#GNq_U2_d|d}srSC(!a2#?MFI9)B+1_xT>G&@n<@sCij4c-IsS45qmPYj_$qZ+?FtCZ!S~oV%v*rNr7_Kwc95Mls3d z3mWYN#y1BtC#xC$dH(3P$4S{4xKmw@___ft_L0V>=3>Pur>zs;2Ymv!rV5?DwdS035!T!%BN9edo66sv%i;sWSs72Zy#lZlm&M`N5fP`sx`heS6TJ zjaI>|;l4iVy%t=rO(|XxZ0@}T@zU4mte@BGrBzea{($ec4vh9aF1>Sr+R;Vf#K>*8 zBrMK%F!(*F$BX}}Nw){e6JO?NAKab^CpwVNeeY;>6I|Y2nSWC2ewX%H4botJ>A(d> z`+Bm|tYUqwh9#fMmId>cJ@%JECGF~kz;kX=$l?Wt?77Cfipck@2$*b*=8Iv21MZZ{eOKL@(9osECj#zc$_WVp{3wx z#J9s&ItOP7e~9w#y*`>mqI#Dd73#NhjnB76p+PtS(EPES>HBpg;z3_--b|*D!zZ|F z5Cs40^)h;=squdC3HYcW!Wp_bxH|)dikH9p^vd}dIr#U;jD{5klrd9=DKbt96{xL; zoAmyjM1RqzHADW%%;QnsvdhbPd@u1!X1jo}k_Abc1VwK_cY_WG+x z>-^nveJ!E;&-YkVhL5pqkr(%92O=q0ZS|>$ul6_cN~Ay^yVE1tV}e>={OtAxAHHPC zseiYghi&h==Re&Lc#mMz>P_xB*7x{OcHk`gpN!X&8+ovA{SU%1GwrzOriRHBL*cNV zEH`IkWS@KX_C32NuU^4Yy9qBw`|RUj{}~XT08~;5v6SY;ucK`<2=nd3>e{W^#31+F zH*Tjxkui78>6UJPcu2M%v}bNDTeiRBb$_1R*~bho3>ecqg%4$WAX>0 zeRY3}8n_-YHEOqUFYHs(ZQa)mx)p=^3sZ^d`#NX-r#)OgqA14MQ9R!1D}T`&_kUNk z1yUanIQyjvXP9zm8u7r;xQljLiKyQl715`{-S^+qUGARsQ8IR-`K%7C1QRb_TV1R$ zvDf%DMmDk?f4B4wu7U*|qMja&BW3IZDSMqg$1EjtkYj|7>ZUV}F34L|^1@mnvIeCcjpNnXi z4X%)0we{C62`HdaC`f`lmPB|$RGH5oKM75{6L)Snbd}GyD0mA7ZLCqmzJIUWvoc&* zj=(XtejB9^xDa_q`UrE9%}SJf{hlyih~wvz5ofLOB_{>f2|08)f}JtV>I z0;EFXPP>yUtvmE5#1IuHrM*O??Jb|QHbvKerr&rB1K~zhRr4+x!)iVpyO$?TdNU`L zpp8LmZb)guF|=o}wwXEVm46YoI7h55e{f0Ml_(^>kt5Qgs_JzxVZ39b}-pHsNhL2d0`%~M>TM`^28w=Uj4VK9G? zR8$L;Kbm>HBe7>7?H8VCB~0am+H-XD23UW>MLoqy&0Wi?=z4c%L?SXc>6 zhgk~uHnXd*h$s8TL{)_{O{qkgB5FaOntnQPpYCAny?R4+1e70;*jCx2_}c>-He z+9jX2>EFT zP@FLq_Px;fy??8Gz>F7gUEZahvA^N;NAjw+yErw-4ptf31l~y3*|sM`26y!078kEF zE94J;!`EMLN3QnGJ$4sFXzAbC$&>r25m(_!6?B3i+oiuYZ7n;8DmwqZ#qfR})K5&E z@6P?f-do5rAq%#><6^-h!bt|bgIGciY8nPGv0CV}7=J&}e}m*`MOca*dqX=;>W+NU z@Rv5+)7WvMc__~v@aBs)ru>>wfuWhP|0NdiA3?sx1$oDRK0#&KRxvMcI{4utN~`Y) zCoiwvv&ZJB_vcqg0&$O!h{I?-9bBr5#m>7RLh7Y^LwVUZvQwHmKZmf?7w_mnM58F; zcCjBz@qhMt$z693nAdG@^68d{K#YA8?c%Icmi#%z-OZ#x3D)d0Aq<8dh2sm)&MLH4%9ktw#~3_<-vcFDeYacGI$u~2j4u2~?0l?+3m)}>^K5&t zg+clgh$GdpIa(|m2k|~6Cb=Z~(Qd?h+khV59)GMA-<#xql;<-PY|ed-9%oA_`o(9B z6&IN?L*f2%O>ej0a)}q?p$-SeBRNnUwx?McTAR6*dooh2JbWruGB$7BJCaY|Q|xj@ zDhhAgf5Qhbxzp@9IsGF(!3U<}=5RwxqYY=ysIW$(c*Vjg;`>z)YD9b6rh*R%vomVH7eoBrs( zt0YOQV&S&{ETNzu!^yIVVIj@=78j&ue-GSHVMh_Jhx_vWAx8Fa!W@-3`gk=d1OX>F z*(qf%sjI^&cXJ|=L@e?u8=~}Ze{QY&koThcr9w6OJdyAC)85VY{!Z>;t=kGj6nC03%p+kIhUDYdy(mDcGY8qqm-k{z7UpYPFSY;Vtiup z)&?7Ohj$w-AZ`m(M4D(mBDw*P7rZBi5!GN`gDQrRGUgd`T&*E;T^P1^wnGBSHhzEeSE@q z^79_X@$N0v*Hx|n>VKr5Dr$1chsSf-665dW<390Z$>T-8J@e;H{czma+_US|l<%kZ zxfceqK5F$&4`Q8-Ug8hINc~6)49g~+x9UTGF=Ov14~RIX$wEs;c_%uzS~M=Y7Kjr3mE6YX&9DF|~hJSmH*U!ZlG_z6xEVD(0 zl%p?>7mWnq>fAiJDawKu2Ff1or#o(2)?=ifl}Bpt?$Y)N++t4B;5FtR%DmH=(cU{@ z^E{R4NZb_X+<$9x$2i*K@sJq5tNitxUykzUdk5|Zg*#~xt#@&eJUH-@&ceLK-RVE$ zZai<0xY)P#6P#=S4Pp{cul@V9>{VhnUa6qmg2?`a+}XcLigN;O3}^Tbz&Dy%fbY5y z$HMw#uw|mao`}CqdysFGL7Gbluc_DL4MZ1kCfrft9e<}Oc&z5bJ%J+6glov#%RFK{ zxl|}$i^4;FA*2IcXZ}6PAvCn%qa4j2ls%9g=xUcxr^{=|eqcv77SVz~2u;^#(jVwr zSlQOwV3jytC^$(}y$O){c4StSKI^U)9~D)%Z=bMc8A%7=0s*+dYn)kDQ^yC~w{M!_ z+q~BUGJkW!51Heif4=waO;07r{I{h7X!3pI3tQRycMzTcz1I)ULu@_%C{>t6Aesh` zq{XKgz+(c$)x`vXH00+DcPt3+QLH;#R)4;7eP})P%+%*+NlzT;5SgN1b2MZO7HyAw z*8%+m95^?k(Qy@W#?NdI+>jeC7nhSSE%W2=-G8#P{Pqc7hEPSmKmB>!^q=>zee4w{9S+Pc?g$mhODN zmfM{Q>ToVE>3+?F$`3q@^pr%jqwNR4j7;`$&p}!xlR6~r<;(a4*ZE|>N&A-G1m8zG ztAE*}>G3pzQ66zKS*7)^Cl<-3bqeenx+%-I9i)$rluL>ixewOJBh zfshzq)X99E0NQ@STI()M0tzCieY=|Czkf-yztj-Bc9{&5bcC4V;B&Ji_8jxWX8nc) z_K(*L#%SJMZ2aQ{4 zmDZ~9PSp@hL1JOz-@eLw-(RC3%*ivKx&4oyA}w4Ma0}iYhA(8V@1I|g(Lcn*1vDBP zDm=WTmAG-Y*OnRM5zV-WjiHzgEq@npIVE1#>U}$fJ4f6!ZL4Syw)3Fuk>G4?F}LrJ zmk~)(L%la@cRM!-Qe6_3zh2i%!)%n7F~?jv@Zl&E!|Gso{3;yrN8D-lczedonH8;>ex6TN$)2~0^J$kj}nd5d+%`+Kq9v5)P#XZycT0u|4|9)G!vhD|}t z6FG+{Wg+WNeWEAs#d>EKF8Q-MzfpSK@Y|aD#8fULrCtn~=?;_uDe-Fw$p9B4dSnc4 zQgz3R56GPLb=~iuklV5Oq|B^-%W@Ka)kkWnes<=VgSP_s&mhKjzWMfFDmEC;C*|OU}&K zUzN?tyxRxQuajb8v{NgOOEG`^j1LXvedGK-eX^zk-gHlqcV~J8sJ(t*3piDK{ya9UL^bN!3Ec6Hx- z%X9y`Paeu>JdIso*JsZ6xx4G_43_iKV&jFEHASzU9DT? zjj1zHYE8K17~Y03`#Glvbea8EkZbn$4HpQn8)iHY@d(~K7Jp1*wC%n5g$ieWs$Va+ zsanKZp=Q7A;7yZQASd|6mNcOI%BK@LQ~&Bd+qHo4_eel^xO~dyuAG^Ab0+HKN>$X#uTahDQ?5;_Mrm(*&vu0;x^Jx5NGxM^c);jf5$NKRzfq% zoo;`e$DRPkmVZy@vj@|fbN+3o`u=?E3w(uVD+|Nc#Z`P-chl+k7mcp%JF?A@yq!R1V8G*mj)cpPnOnrQaoB?(d)U3Sj|-4l_T$u)Dr}an zuvnA*2vMNqSW>?IQ10i?&^)*}?vw^tp|EP5CBpyEEAYO1J>ujM5#4QSRD#^|zfaI7 zZ~(JP)qhSOY~s#hx43hz@(anwSlM>(Fuh(LzlV%daoF8)LVID`17jL2J}4U@6!h_` zU6Ow_7vm!4^sugLb+t6x@$BVjOWs8S^klDm_~a_y&um9s{0$(6@g|+218ot1{zc)q zG8BsS^7fGBY_H~-t?ho+#E&5zEYTvf*vUYVuz&gW8~^Y(?K~L0%dPRN-F~I|dzp{} zgjhL?j$i z)PGhc*GB3*uDCl=W3ZR(KOS71D;Oe|5NETA_zuxV$N5g|%#;7J^77DH;z`J^TS=^! zPm6olwZrPCIYK;19!zWF#Dc&GC&a7bcU99E$Os{Ij?3p&Y$}tyYHPbCE*riIp&z2t zn_koKc|`Jr0WW7Hg7)Gd;FjlSZ%52?-6vQvmEh|+xF~1cNC)~YmKI2~D`t~jE z(K~sipI>(r+(&ia$_F7n%ppIa!A%#I$2_bP{BKtD{J`R_Q0(`aIxE}Gs2YC;q<^)V zr5X7~AyhXZ2Dl_=dbUsL`fvo9cy&XVHt$y+3qyy@hz5~=~N}#U&+@0?cP!K{(CTA`mRYH~) z`DV*LojFV`p%}1FJ|R&+3q=0rSALz5rK*&*az5M9UI6Nwi!Om;{0jVF(0}}PIJ^1q z4#;fuhJawt?x;+qchQdczNZau@yE4Y9QZCuqD4BjsXy*sGI$)8V9UEW;O zey?xfC$$$IwO5ZYMaAPDFLF6QFc_G-a1hlRlqjy;N$9$R`>EaM07#ErIVn`EEzyN7 z@6o`jMTIqK&^epc00g{rPza%eJHw*cK6^v144P|wT5M!(DnV_ zhl2)}I1a}2{<(8VBk_qJ9|Uq~5tB+(?hD|&_ng5EjVG2f`O&6VC7?U2uD1XchQM&@ zq0kHQ?nh*XgK_>=#jx0&zRupE9D40Qy~l1dnRAD9vB6LROKG6@r+*pmUW?!l+UCh~ zW)hj5G+Wkb-t=89>g+={NYYwT2-_~(_q1$6<{$gx6U zwRxrwYEU&?K`*xoc%4M!t$O&Jj{SERfnYjvYtk+O_I}P!;#97&)cG>!pAuOU|d_QeTRN<6nCwKMnR<-VlDuTq}v@tD*yOKX>SROgemAoy~2mgf|| zY$gK=@C?m%fqxn|D0Rfego!6!xa66Z*TrcaALBSZ1LjkqjD#@p;YlVId_G_U5o~^2 z7hiT4^>*3=qk8o~;C0UIcf4+7&zTDIbCoxZ?(5Y$y*^=yhF$?TZb|Dgp~KH1O=q@HPMJR)BBt2zU}X~Q&E#dNq=L*UheNh4v;49OfMqT&mU$7 zd@d*?mXpc|A(os=#ew}ceTSf%)vSV-JIK;+fi&%&n$j~<=##fiJM-lQbj{$V-S*io zrlfBoCOGdcH3zAP1 zHdXx>f{RJ*vb(r7!p4FAPWU?&nJiYmj=)6X(Hr+^;8s8BJ?uY4f*<#iigun>*fE2D4 zAb+OXo6jLVn$SyA3yGF;#rguk*G`v3s8eS?mkKOL?RMeYTiIpyLvR-j&jgsb3 zk;TVBARQ#J$d@NrwGbi`N8y%o!5#>4$m$n!3o!7W5EgiBs(zpm{+YRt=W7CqB1+gk zbwF1MQbuz>nV{>KU*pR$7hUVG^MA)*IezgbX*edrg~E#zZ_?#<<6I)!`12cm)dciS z0(T2SC5t4G#>72O3Ht8lV=&{5Jlt$G#(G)Sp4HAQe`}oUhirmA$79NUbu!B1NO4Z` zTmL@){gP)KUTo*`r0KMpz!tKGC1zHS2PukyBw3F(OC7IV%AcDWM06cTN`Dey=|swk zalbH_`t@TU$53rYkbBckQ-QK_PmBxS+`qd~c}k7?Na*y5GxhaQR`+9-Rjb4r#>p-R zkokJt-|hZo;RbDhfP=UU<~bX#cRmRtw*@DIZ6PHayEm&|eaqJ_U+=j)D1CFdWaU@6 zzwY!}wOy9je1zp(sTYud8GqN3Ha)TG(2P#oCvSrGdP9x)y>^DV(bD&!)pdxF2D)~o zN)Os!n8yo?Jp5A6cDgL}WpjAI)F9IXB{JjVHy&Y9XrWH?*6JC!wW8de5TTo*y7!Sh zC-O7_G3?|I>X&8ROlt46d)`Bw3-DQF-aqM8IK+JloeR_u668WN)_)}f1v)uJvO>hwJmai0uvs8uka0Y`ESWl)Kqj@#6n zKlR=LgqqR70^mQa>wi?jUPI@8TEhK#l`f+bYEBi~jzr?)jGP*z)R;~j+atA0G4Z-2~W zFp2^(CZsXl|EBL{6M}xhFFO>GX7l%W`qhVy7>lEq7X8N6AAc(OkQVXv=b}I=uz?km z@UjshEI?|?L`b7xUrq)28uD2oo`MNd1Qpqiq z<)f_pC_PFZu`JO2>xk2kcJBMb(Ur>VK;SE0me^a{Hp+@ve&o#mg-_N4({q?Cx zuzLqvAM3v~;Ch1lVfz_z5IP`!H=jt>Ls$Goe{*_Y9w*G0bX`BW*dK17LFgDSL<}yP z%B#u*J>s4zcAS60ueh+#gY^jQ&4A%eRFdBUz!`zy(1u4q9So-dN~zh9dkR; z9b}w?2c&-$jZ}#KQ`Wa~&N#!DaOHY%;_g6$oX>zR_2i)aJ|ggT>?>q}?7Q-d2iKIv za&Zpm8R@{>P*<%mv^d=HXBE;@IleuvN83OVPd?hwsQ;~1&as@IqKI)_G=alIpHfIH z$Hx=s;~;0C`KU?fKl!4?yt3hngK5}Zu;NA5Ch>oM`|(fsD8_% zx?P_J_x9&@9rtdQ>lf2h>Uj&Py?QL|sZh>eIuf3ztFXO%inh!0N4EUC@#GEfkSvv7 z^T6fu>w+S@_v|j^?Pjh7h+-)Mw1hNa=0j+o8amiwW)>LT38H5W)S?`!Qrq-GnG5M+AQh z_+d(6SG)3bQ^-sNA-5yY{A|@+lhH*<_yFbu7;`YXnB1C0T;=;JIQzbT_1t5>B-ec` zVDJn0H{?X>x97(8y|8qj`1$8NBwlE%%f3AYoEpEu(gwi(@THXAb-DaWl*=Xizz0+A4`XAwqmgmHUEsSwZ|Fka-F~%(&v1vhxNe~M5_;cz z-m}r6zlLVC^~dZWWqL>E`%6>Y6Z|Lw#r+eZJbeVg#__lg?yHxhtJ97(pQ3*Vg`4uF z<>WW5^5H}wJTjtP_14}`S@@_In@7mz2K+-=`Hs!*^A2|Fen<`t{ro)-$n~A<{c-^e zGZOZa%{^{JDkNvf_UBTf7VCPYjtNl>m2-=LpTn;~ctQD#c6^{OSMO7VbZ&Z>Urt(i z7LRN5X**tjUec(IFH2W28~}gPMe}m}nU{HQ=)a}?=q$OupZk_aK52OvEGKz&7PRde z_D=~E#`JvyT;@c)qe_LhcMF}k{%-vVbMjz#p50VYWBBgf4=Ef^29{`tHqsG|vXtdL zGr!-=_@FHolbBECDKYsSNgbg+px&a$#@>-g*Kxnpz@*~cuzPm<5?+5NRh@!w>AZ05 z{jk-=_El!Ul^we^jtN}(c-f055ge4Ap7gH|3Uxu zL(JxYg?0XJ=;I1(Dgs{?{G6TE=Px6+--`+hp^6Cw?od6FqZ1h3jrj7OsF ziXxwLqkYA{Mg2Xm?^I2E#%j1=xRFBFa2F6gDSwq6R^$`7(`b6bq*nO$q~|ZSmF_0; zI&b-4x6A+@LN0|zK=d01d2$zkXxD`Wwl+%1dYhSFB5j^yP;-BO>=AjyL71^d;LwiC z?c{TPDTJBTiL3h_xO+ul`Pc*15c)lb`1z-u)p zd`^bM7-brURJkbKoyB$xS8SlJSTVkJ?>IsT=iRqRY4v|B2!#FVyYw*^RZmaZz*a8W z{w>3xHHH^doZbM%i_6(Vv8o*9@VfVcoAmAISmvi*qtNfr&N5wDpg-Qjr~A`WL=Viq zoi>vrNCS_GFMREhN4G;#m<$y=cC{ortUwmN1O-26>`BAx`{ zoePs5;Q4 zYkRUS{0uBi$+o79WphYi`sV#Ib_d8;y|S0#<7b^&s^i?Pk!indJ>T&IJQ+nmxT*nz zMpwDJV}tQ^jj9&7;ak6JEh?of=h}qmhd2J&PshWv-7qb`{lt>GBiXvxO!|!TdsuxX zEXIGoKVwWUK;%X}lysuA^ZbZ+qx1CRUyrVqtJgXSgnwJ!i==Qf|1BwtspCEGT9xUIYBUtT)uuzANqHC*pnw5rXvS0vekc= z>u33D<&i9b^tj!w-|QMw%F{mlNH{D^U_!1XCZXl@_8=y?9g8!ErsHy3UVMa$L9gB2 z1>oiB`S5w1D$&h(zkE)O*r$POboZ;Cx=`CbbWonHZpF7exlO5Zp(9siHEb6HkZOSA9;*+2mSn_QK9ZRgA{Yyrd7{2u1 z$4xn4!tP+?{oDO6f9MSMy+(hIxO~8pEq7`2wmJi+VQKT35$}wo4i{JL7d4i4Qi8$Q z8`V;dcgMMhB}n>6;jk>jQ4-nvG0`wv%{LR z4E&L#X^aC&+8t8m^n9l;?e+9VxX5~qF0p2Dv6>w1^2;&mr##S8ek4s8M2AV8M$@dq^_%F{ z9cDD(j(AHx8RmwW0I8U4daO4l>cjZk#^L>RK+L4Nlu}cC#Rds*CNsC*OtPPsp4qap zsp))&r5ItycyHMeVwwGhrw^KK5;cb}y*a4^c&o(urVJ6FDOnwL)h@~%?))yb?YJ>-tXXpJcVe_WEwsrEY#6dXz*SWYn7@C24#|E9^yYm9Vy8@1T=yPT zBxKA>3Be7Jfh8-+2X$#^58^M=J3t}^7(e{ZC%_3M3qe8xpE2gI+Wy9}w!o43Cm zzc?kCT zacPw(@yxzOEKg6xOeK#~q|>v3xiW$enxn76YL( zyZhMLYQ^ z5$(J)(~}y{Py?OQr?~C9vp5|W>ewRPeYn*?U`RF42{4>b&-XV+Cl`B_vy>Y|^RHuZ+AqsHZCJW|^JC9ZwbvPJm1UFKbnUNJE0}Ex;_7$!NN5 z@$O=iho}n;qs+CQ-ljZ-%5OKkF?6NqcK&~C^(#ND%5q+0^Ku7*>|`6-wg&?_)Lzrk zY$KSFR}g<{VvDZXS#+;v;AD4`P}3MPGx2cq>o|30HSWae&}B$H3f`XHfvrJ2mnV)I zJ6AdsHhq6&!=C~0DKVTB>p(Da`CDq^!>=TEl8zB5G6pCQ9EUlN!Mwj+Plgv9N*bjR)cj~{bx-4gnQnZnol2jKregzKA?cO7DT>(8 z7a+xkOLT-Tp7!4B&JaaV%byNk&dqNA-Jdy~PH)3%n`>D-e%6QGxZ?7Q%gZM3UsYxu zUn@%{BG3_5b1kg*87ZP-ZZ_Q&xEP~xs+Cs<#1Hkm z(Pbf@0_L~|*BALqc0#Q8Rk_ypxi22yIvWM&Tb_qDEYF{xLFMRo^{{d6?!3><(2umf z{J9Y{AyGeV<{zqYRSr2RMY%6kuTKw%ouqu#QD^6Azn=GKkUDLdsi#dZV&H!Sq#s4p zdwE^ym)z~H_p_OQ?C12k=aavWy$GHJ>IM8x(H*JblViP!0m$H^SqVzD^|<7$v|03? ziJqqhHb}UKYZ7e+8Fv8GdcTK>BXX*2zjX`QkPDwhHq2z+5HCjEQEbO|+mm#bB^ zGtbXo*A*@CKFg_osqMEmsMLR1(pALpo)F3Cfh78k!$d&n=<0Q~ND2fIvr03xE?wnx z1kuadu9EwmUVpmY@4+rQ0$WCVB5}gajP?{5>jJh1{(yUh8~`q>G_Fauv45M!it!c` zmm_g#XH2P%XWku1Yy|Xhlh3A>U5@1ZG5KI5eR?A8c}7+Bmq~Q zze;|y4oF%aH6!alUn~S^_ZrRVr&ty#e6M}al!FECDFH#rH+e{_o_E0fdYWrnpmcD> zs)hF?Kbq_5K(Iu9%8uL*{YK?HAX~PL&fLNh{B5R0?RW^jxt-snC`FiQd1aY(Kop1A z0|gve6J=a*m4Efgt(Jel-njE;X7avg1g?oAVQHbTJ&1q=E@ZkMB1f@AM)!EK9qFsR z&)ECnMAh^8MWMTSsN<~R-2FEqza9f@-bP#s870*LLgxd+Gtcue|E7SA3Is-BZK;@V zSV|kqTqmfUr}360{Qc4?<|hj_hO$LgJ$|`K?w#qwI@52>2?Bo&b=V7tvR&iaWBm!| zvx5uwmb{k4MC{vFLlL8Lc*oz{5x7*w)I+C`ol&{r3V}X;Zd-5R%#YAF>iVr+oY^~m zVIb}rR6FCf3{j-?Z_gw4I@8@Zj_Meci=ummxePfk&Bul?2F)s;ak{IG<97i#?R4`D z4|@1+`0RaS!r6Zl42)Vb&P0HaSS#TG0z^GgF$4w=ruySc8H|dEM9MkucfS&o>0tkJ zNk;G4eDTlaNmv8qo_P{`{^xbR==nK?h*;eGdlnZTgEMB9u9Zi`U5C#B4CjQR?!-3S zA$Q6XH}z;Y&n=>wLoBH?q|3mjI2@G4Kv5YfH%~kzaN&Q*+P!8q&I?}BR>9j5880dA>T1?Vs?jXVFF0f&Wz?a7d(`IV5(f&$6d;L zy*`8qYcGH0kE6f$B373KM_=wd6VH5n=o5(-*GGt^_ebYepqD|T4zC$NkY@@-C_cU! zX{UIR3wu~6;aXINM zfI@il?D)Tr@hCU8Ob43W zg+G)8W7ALEL)&jpV-b_HQ})L7L+hrf)6Vu;!hAV>ZgJzL5T3)eG+hJ1C-v@xT6ZBAId-E!q&za`Q-3`BRuQ2&CI z8;O5`MPH*5htaG#fx)C=qMm@QJ|=ZC9mZ^^Zd#|5a!%wo@}8p!{W!W9d5@3f`*S&~ zOai+JZ&%4dB`R7n=r5uZ?mfS=E~qK~ZVi*Y=;fb+c07cH_r z_J{CpA%cwpKp`@Rb4Sybq;Fl7Lq&s{zIu~j)K7I9zLkgg`gmr&%$meflksI=ZzX@w zs+ZM+Hy`s;KPje+ZRhRNT=h=b@p4-0_8GT9r9Z2OTen9WuEm5-JN5@HppUeheBMTP zKZYW#c3-`@M_)a&Rqw|stab32Ie00B<1lvIafVXO05$t;1Q5bOESu-B_?K5Y8Az3g z^0L`J${|7vB78U)%8IW7Dra)v!A*b6Tplp~1P-UvApU=LpUM!0XBsu$yU2yd0ghr% z^ImL^0*%8Mw%$=?q>E@#q>S|I8Qe@q56-~LF?-!<$OLTaWo39AO)Z>m(%#@Jae=o& z30Q!qua}Qz@U~W89_b+7f4@Gv;LZ2D^VeSuYYD$Q_LuOqmP;emxhrzZiF$uzH^MTN z&?Msdb$<2dzCUH#@qFp+&b`(X#YzKY^tbgr5>FWEDc)9F^Eq%gNJad!5yKSS`wyCd z4J~LE;${vMLJL_60X9?JO#c-f7`JA2!SO?(-~;-?$Ob5P@>v;P(;zNLI@C0`Y5PrN4%N?CT=h1}qH zZIn3&4`6vFuNvzB6u_`qy_rUF)pzS`KK}wjyKWjo@NK$+ zJ*_>X)KHkqg*3NmNNc*(Df2jHFJVOb=ngnu47}U-)9Sk~-rQq71iK#iLzP@a*C-2>qRN3%k2xe}jK3;h7#L?UW*&1@ASrRhy!{f&%&URGV4TYwwBc{!RmrUCi!1z^w-zdTz)S<>Zoi8? zeB4`TxL0P!o}7OXI5X%Q-qh}##X|O7mX9FV?{RyNEGH2HSm2<1f+=CAix1nDHhnd%mi zbitOf(WieqVr(znmp@#xT|nAHQO6TCy6?C&YuNQ28nI?vcLeh8LUr}a^V7xg>DTGmtjU@CVqCMn?=)Jz zc^C=Z)NTa~K;6UUBOUhpGu+YxlM=lAYAyaE{#}1nrEeLMuhgk_zXJ;R?Y*|e1`PBW zr7o)QKZ}Wh@^pH~h%*rUs)H!DSUSh>_uk+ArVpg(ttxj3T3^Zz##mj3sluwdej zUOtr1e~Sz&?*5w$8;SUUiKpkkM20OEHT)kktd26%jlUri$=gy=%tDTTiOPqXRA73v zU@(98nu*&vJfF`?##;nWy#R+muPWQ$4#`=H3F;KnXHVT<=<6deQ^2C5=zCsuA>8ST ze$AzDE$^oU{Vq8@sq`9dRs{-0dIkff5lUh2uCl-)F)KmSSq)M_jj4?cBk=PdklY_+~L#Mt5!Z*^B)>_^w@(Vi5w9wtax^L#ND7At?+1j441b)&y#~*lfNgp3yE7+#bBH`;dbl4Za^F8gQ4oC*O;V}aH5T{Q zFrPHg=5NE_Jl&UuM>7pS>%%b7CaZrx8#B}3Rot%JCYpsXuafYt{CS(E`hBF1x{zw* zr*;pm^PpBwXjz6uA=732AW_$6UDGFx+C zggJ=fCu+BQLU^I?Nmt6XWZ}7M9l2}>(_6@oBXJ3ePY4FVHpK!Dn!AbI7<7M`KUDE9 zO?I-B2{j>{0JRkI!s(#j2)C;?PeI6d*-`I9&fAajo~ihjWQdpv69;y(;=UlCJwI~y zz7Ro)8us(zqIPx3MB`&+1-2*EFtESFZ(Fz}68LLBmK)7ZJDVPBYuaTE}Y%;V-@+UfHR?Ct)(FY5Y!R zOJA>_C-cn{3XH4V%e}Fn{qNxm5*6|NP(!;A&zX8H0c5J&b(h?S6U&qb{qz0K^K9cI z#qP<3xBBXm^>-z>{|TDJTNQtapkHX)yEsDAJBz~(CY06_2wvrs{%(K7E@g;fu41!3 z7j>7~q;%wg{n)r0LKSaDI(`5PQY^rEtpu1#c@wB zSUr91l9x_qsvQy%0jZ+;-Xa~V8OtPLk;15>IN&l0eU-~FrodJma-E9&^&n$>)Fi9MY!jz}+Z|*qE>|j6oMTJH;udJRw2GSSz!f>FLiQz$A9U z2_qPjA=GX2ex1DsnVPw_^SB&}8cY=4jwD)#wuG=;c({I zThWVQWch6ZGiJ$Gzy);%p-Z6C@YpxeUNn$pxpD2!2CSwpX80#*9D}YW(98u zOHy|Xhuv%GV8I(4R12~&4*i=0aGY6b&~;@Jw%8G!%A>jH;t|Gs?y~BP_6;Gz1o~9+ za*1IvDNeYK4LE-#z6+PbffCG=C#M^@568hju? zSMIt&vRV|oJDIxcw0e&M`DF6|t&OvPeqUes+FwK6Fvov=$pr8ZyJWi82>pt^y^11# z-Tu_^ zop{o$1khqtB>PvI0`X-uS9*fBPbdKzL zgXo-lQFRWl_EU=LhU` z*R?Ciz^&J@oo#(O3CAt(RAZ)g`{s?%<{*FVlrXHj(C5E`ZfO^9oIYky%cT9-3U_M^ z)o;M0TV4xoX(T5XVc`@80(g!k*Vo=i`KlpnP#}?iP&^gXRki+j7bG?CN|A*n+Ms$; z?DKR}ty^Ff*(9)5~iE#-q4HtJD}o>HgURiiv#Ujgac2YC^rn{qCYw<=ybT)ls`Ek(3o zfP7fsf9w4UUVB!(kRpph2`5;L5l%d5H~jgjkiM+1kfPI%gcs+x)OPRYa>r8tvwZg# zMy4-qOfU0CsP_zf6@|1r@!l0|Nt6aI!R?dXZ zAL&do;~(wI;fFW#g1EW$8-9Nr8dQ!pJ!ESriymFbBs*dP0F~tL@G^}{@y0o|3+HKy zKc7ry<5jA*+?CVVG*v|+z;9%cP|m(P2%RH==4*bHFq=?$&q;5*GW0Z86tZy4^zYfA zVG2L`od|O^fI5v5rW~vpoOXE62b5*4==0vdl>arC`0_a5MOXH|;VysN=VMl{vX9EA zu>*d_#!P3gj&(T%>%5E*Yj*XcM65)4EU)LP+<^bgdk3s^X)c^jkT{Br>vA8$h>y?j z6^o3UF49Zr4I_}{UW-?W>A^IAFifY~v*wajQ`yyZX`N#YH+3}34SSgj#iJRSFf5ISoV6ohy>hr6U{x}FDUWbuWNrkd8lT(hpA4SLP6>W zowHakP{Gcwp;3?Px_B-zLnQMx*v@I66{+OlYuX7m+x&Xqb-d8UD+ycgDNFV+pUF+0 zEkC32`8Mw**EIYm1};v}I_j(FP?Iv#U03-$in&_8KBR+>YQX1ojf^()4MGJlQvQbH z`Yq6%ySW97R^xvTKpIfWV!*|m4z!qPqL}spU-rowy4xFP>Qi>UQpd#Ue=H)v0GHpu z50A3|@$PAHj!GxVco|~huf8%}2W`&5$M{qDs6eft#urYMJ{pp4<7+Ay=Rb+z9j5i9 z_MS~imxsgQ_^2A*Gj808f9y&5tF!MPz_j)QtSY3Qpxu8SFEBHB(ARlDyGl!uqtJsaJpw#0ZPpb^KrMO-wUmmpZfOx7U6H%1214&;NqBG`S!1YxGn*XE&4lqTu-Fc zqB4IXDVRKO8W_U+J22SD9?qLJ1;&N8ZGZ=csMMW9Xuqs$mJVq`j{27kdWB7d| zd{ZX_?wq3Vi*HU%&x()APkeyvF271LOSM>E*Qfhy?5{AMN^=W+M+62AFm$N*m#)Yd z$q~qP^1d8u*~gs(q_SH?=#7m!+39~oqNeh_L=?3L=H)(C^;v&!4ElzOxBVo1c_Op4DelSSm#W#Xu?C;p<~>bL zqOzyN@3VIfK}ckQp*S<0`L>`B1eL0rHsyS}?&dwK@Vb)p{L+XBcYR36jilcb7%3#V zy$p9X7DUnP%+Y(~-`CHWtNXk4@=ueXju}10hg}9g@v6VbbIz!%iLO~IUa zWeoObtbn-Dnu>#4X_|~gOXSZKpE7SxjK$?PsB9MO3hSr8u@c1v_w+MP?m;B6xIH_c5PrvKZXR)JIHmZq^+$De%strnc5J>p zoF0+ddu}JWKMcarIrx)P>ruG&tTJz|mz_wbBmTlsdEaWJr;s%8;g?Kmd6Vhd>%b;%b@YI` z#2XeT$_JO$WV;i+rwjV`6lO^|yYA^NgA)`)VsMbB@rceJy?=katew2w?rpFx-NSQn zzAhhT^m$TfKAa5hOvv{i$Vq*7aeASkDJL?vV|#$3$6gMP9B<5LE)fuN+4K#$?;Ex@ zU*`chA|&xX3JYO!o|ey3C|F`RAOL+0HSM+LxRr>ONr_&TxnJROMz`KTzw`Xnc1JU@ z6yF>b^dnok=C2bFj^i1s*gyT?GU|w+dBVuJ!H2ki_uh~ML-l(iEWkfr+1Gj| z)>^U3&1rv8(^BWu`bE!Ux!46#-d8Q5NfIbXKLq6M$F$@@i>ICV-c1q^+TKm9E_aoW z4WHleC~N8^Cp4#=<(6*q%A^qFOa1kR>djZ{8Vl65PZJMDKXpfQ=u-K<$d_j#Te@qB;3^O^Ng#2$^4~7hupx<+VJwggeY=_L#0`QMQ;MJPjiED*Z zg7s)-a1<~tR6IRlJyR2ECyT~IQ2)MCB0GPNPiT40{$1AG^xlawJ>Cv~rP1vTvKSQNW6`@DR?eiQL53{a6Pgv-kB&+OMu8$C4Mfr|2oO0f2yYqY~=%=_aph z`}Jp4RkgYWBzJh9fBfic;vQ4CB79TL$9)Eob;XDNer^-{Wy3qiAHLMJ1lMb^nYDk( z#I+&aZ=yyA^&-U@0&WNR*$XGAPf|BgH( z2RIibHDT(TG#bS9KEg)BDe2{{EFk}{Pf9=KF?{~aCSd7!xQ}wdKF*srbXSD$8zHzo zPKEM5eOW`hK2x`1KibR+=uuN`^=p3-kS_1fceuwFnrsN-ND((kJ}{+8P9@+@4(YJZ zAR*=%qJq;137NxU{TVGx4|&qEj=TG1n(X)In4XcHo~n0$x~aa3t!A{kTY5UsELlgB zc|>^0g^y9W#zc-1QaSF_>wQylxK)=W92#?%lmi(MZ-?Z z!pQeKnFP~BjnkAuDrijxP^8*&U5Z%TgfnDbLS0Q}nf(jT$>mb;4k z;ruU-o!8}I>xW$UzMtaNcCCMD?xibnX5;IOSS|LnH2vhLcfowvHvY+qrP#L59T%7Q zL2>_!#)?kn_uv*+5(v6@e0ZPsU;#xFK+aR^ZL^9blm50-6E1C@UjBAZdW7*vfLxZV z4z~~%l~+|Pm_**0-|3S)xM(+*Zf?AdVfFk&XEbXlPSyG@o`}HDf+l}L14IMMhKKIP zR{9KdROh;=T})J}ULt0DD@Z=Xi@~K7Z%FdBIS0ZkR4yS9|rMJg!v=0-XsrI>1$JxrSzpZiC zk$s5{K4ZlGio&HK5$J!hpcYo>M8$zRaASTne*jfOeBeVc%GY^%isH~0^+MBd`rIjA zN8Yz_#^uht?=OVvO8@RKv#u@nGMYb*%=0Ik`Obyo$?FdFZx7npcW6_|v5Y61#_805 zv0v)tt@_(tjg$8X@R6+l>n=KoURc%Obz7y_xg1q-8r_q(i|27q^d$|dUHGWjp?Z#hEoZQQ9k8puL#s=_(qY^_sL)KnOPvm`@C+Iwwq8FVzi znC@9lM`!%tg%E#bOvDetdMZP8nK(3WO#iPVX`@VciN4gcZT8BUX2t`G+tc}>o(R%C zxMLAX?p~$03rJ+@ddv^8$gw9$dZX9#vCh9yy)Z0`WN>FkcConcyK>l6e9*QWU1h;$ z^8nlb@qX}LZzp=WTQyy?aPN^yJcHb9rnG&3YsnL|>;9%|zQnJ(SnKfmr4#g0`B)FK{&1D0JZ%p2gr*0BhwC<}Vj zP2<>MUsfeF=DDJOE?89L`ko)S!Mjb{Q}~i3>g*t|02n7Il-A&@PvJ7QS2OJ!{NB;@ zLRJz6DMg$JW4mI@5L~|YMx%j{`ZuB@YSP13oML|*6zmU25D#B2Cdd!!>z#&HA)%a1 zgsvbH3_4({c8y-fmDn|-!?F?C>p^^%q5Fwf^L_r*pyl?LQq4JTCtb*5zLYIY4CFBE z5BQ75NztWuk5_cxwv&i_r{Wh0PwY3OlF$2Jw`IrJr%oX8#iCw(DQ8dm5q%tl_~5-k zaNU2`sapGTl6W$gUYOjn&hqA+cDo~a3(}Vt%l;4%!v&8f02LChtx_7_sa%jx&87S# zySq~@SM2F}()2SDX6mNz{d(%u6Xjx1&yP=CZL0=yjqUzCO&nFwJMKOD(eHk8%4a&B zyhe%1E2HQ{c=b~(*+kT!e12@?FnOJKr{{mgX$SIi{5=zdQoxXaSXX1@2@+F_+)?eMmUN-NEOT+74{et(nkUs@Rh#r}sX6)EonV$l%0n@?G>OCR{4;mI(F_Hv8O8`{|P)7PPvS7}kH4 zonAAa`m*)@G!FT;x|b(d2MIUcq+i|-K+a8MK0Pph>J3-9t(t)p_~Qo&<+#CbcP6vh zhs8y>U{c#XmE_#nX?E$W&0a@|ptfch2bch#2VIA^beA62(Nx1;-2a{*P4~6?&IH2M z`Bp8n^lzT30cK#fFX&56e1&hp+Nys_)}AXSz^LB7G}>Q$=wJ8gM=PPuC0^_N7iKsc zhq?M3ja6xmw=5$?P@LG$re_(dYc!>VI=x#jvW_QVUh+7wXjRn5dQ$ z5t1Dw2ldIf*Xmvn<)jox_ZBhD`E2`f}`{O`$jV)8h=`Zdi||plqTbc<1jPv`+VG0RvKGg6yx)IaX=I88iuk2IyX#5z z(WOXMbk2M93`p_QMNA*_-ccg|j{4(lQ~E}|AA+EuBoF0gX3KSs{o6BbR4|_GT!eHS zz!A_Qdk2=3F|2|RAVbN!{K_LChM$B47UUlDrRkyT@g~?)l;6>d3FSl!R0ii^n8N)p zd(`i^-=U4>Q=@;79Q%1EcI=biUkD5>=9d5lS4M!=Q60~xakm=;8fED<#BDJ zFXvOcYuac|0m+fZnw*uZx{zg2qYPZjggrPF9v7IMSu>_I2E0oFolz$!; z1eP~;J7C-s@xQ(lB(2~>7{)krH4m?DTVRqW1vg41uo*=&cM_m~ZEaH9&9y({Dfc)(&P4W{6>Faymu|fqh;ysTPu7Aa zeG-4S&(o*b)93lAnTJQosgE&n#hxDA0Qyah_R~Ii;0;2-RpucH4Y0KN)059fJlF^0 zdeE2t(Dd(YXt)pgCmXj9>f=WTbmdlKcTTnoq2#C@#qZz3EXWHoXignVUWj+EN_i-P zG8f1FLhRG~79hOAP?r;dl687yyafWL`ICPf(&$1MTEOdC_7GcRKmfh^uu&f$6CFNv z(jewvq~DC^35V!kf!-@!afjo?Mh@)VB~kLSaF)=g13V;$WI4d$e3v3kav;eV6K^3E zxE(A9Z)de0VxR&gl0NRAK#Sgyo;miBGnXZJ?Aq{g*>ixeGUv;;!(O7(`3nIZPyK%h zAdL22gz3E4Ioq4Akzkt-u$P4gHO7<1GAzWdykG?Y%-#?nm>4nf6f_BUDlcQgbXsY+ zTii#4*1gJV04uB;5YO@?zj#95{;ZXU`->&M1GFM)f$sS&gu@Vns$0p1VFL^;|maBC%Ibv|>3P z2_2w6=*$ZIP5l6aX(4^^;)rULsYiD-ImnC?-tZ~t&fOg3*v*sk%)aK4dTMlkO@0H`;q9)z=B)-ucZyQY!RyP& z`mXOA`|y1I-LJv($e5eb(BH|4eL>T9cJli%$IX4juN@QIZ}^q64}^|Z%!$Zxx?!mE zZEQUh$BV2G`Vaeb=wz69uFikEEvcV}3m^$JwnvQ0g=_o>+a3EX_ku*qaqnkR2g+(7 z+%L}pqT||KQ1?DD%a1^nuEV0o#9+9_{W``)N-cxJeoqpMXXS5uz8_@y;QaD^UJhgb z{0#R70zOC<8zjfPh;;3dT>}0!a@EdjT>C@}y6MXJ!~@U9x09FSh@O9Bt1ZMMz}0i| zR+3{I`5A2vMpg$`VEFv272;$wUEw4c1#-3^BmN*YbYW5!EYmTqw)ZieiCg#Gr( z(Z%K5Z!d1Z4vx zzXosg_qbhMuyP!=?pemd3BCCc1?mgxh4{_9?a=kk%dE#Fsy|HhSj1z8qhK#Rd3$=gf6qG=AY zj&ot(BcNrJR(({&F5J314c&d9C_-&fbnotg7PLWlds~ z-TehZJ~~KbpUfI*!Q;;jkLx&C7;NW1L<%#IM-j*0r3PT%JN0IN25`C=q{7|2V4-iy zA4t}D6D>6+%}X#|DOxhZ5hOQ%t9@g1d!t)=2h?T@Z^{tgqp3F3YkwcYk<~${()Zm8 z2-PKixzho^3Vl5g55~pIII@|t&N8KbKIbX2we`SVi%@bOiF`U&o%~7`8pXp2Bh8D$+6jGa;j{ zUxhnB9^eefpxvzocz(kyG9&g9g!27U;|?v6>FqK~KG`SG4y`55mG* zzwaTlshEY3L*_yf`6q%6ve{l|?D{pr8NngZ2qIa`hEw%R@cBzPIhAhl zcB%Joe59p+J-ctD^%WUHEoYD2fG7YAIxDzOlC`3xb_-anAB(3N4SmC~Kx(V%&Z^G< z@v(Z3$j3h7fRg1FIlQ=Rq=u~09W2kBChn#^3F?Qt#qJ99U7l8whA2pF2S(L@=g*fo zT^1#;A|TQb>r~y$LuHjBiYR&R)(BU&)zdn(!iIT&_qe@0^;(w{U%p41vC?tUkw2MY5RF3av2LqbIziB3LQfFx+Oo2W!w@Q8C|vO9 zt>5r}o$FTQTjbsd#+Yyli9g)DS29}I0*Q4LVG;{P&G42)q@dF~t*;wX?j!Y*vfP8PS73vd9B0&g$G|B$LbA^$%$; zgO{p7mxdNU(FOK;mru|+5LRVE8mN5t77#gq1=ppbC)MgspWL4e{=e#!`@Z^pLI4S~ z+aT?6@^%AbnU8v-81(_0yL7MspggnyACH%e(Wx<k^2)`MPV4Cbaf$)gh3eYK98z zzSe~cPYmmP53g$r*^we+Wxh)4U4en%R?VePky1_VPX)0*V4*k!Guwqf%K0V^JY7G3 zE6G3U9_ePx^LBXKxd7Ocx}=pq7KlYpSTjgyhYyoq_HsBpuQ-1I3UqQ{D7bClQzdCC z$?kh7oBLqD2=2JD-Hvch(rgWi`=vh@>x4FJ`|YpGbBlW*{!zQTi%>69prua>+GRZ{rUKnhj>VZgpm6q%T`%vcf%_=`7sXnA{HiI=B&ZtKUB;E#?3><0qq2@sG+1Wk{RZ$ESX zV;ztCySEw7iHn?d5q6+>?>QYrAR+6wWcT<;_2kT*npy#|M6~^t+Q}?u=Cx#hPhpLA zc`!6LZ8`1^m-_m$ko($;R`nI1Hh?=e&HD?{D4(Z>^is_Yk1<}i9b+%2P*9Igpkm49LbMA#PvylH6jaJ~JR zE&?fCQ0<K>y4SeH#0z2iyecM1)Jru$tM@3i&mui%wK1ljc7L6#o;}=JAVCcie;EzM zo_ES>q{p&+KZ;=lD7ne!etvfpot>-K>PL?$?e13f!k}f;Aijky@59NspXJhgdYV5O zb6`whfAC)2b8r6$`{Lq%fwHx3+Uvz|>$iIV`EfEV=#lx?iV^~Bh268!Xu}OXTI_La zGcgalse-#W%R@9zXGwym@@Z>&$?(D9CcFVFM6{G_qOXU(8lsr4D~6lX6~gdC9$dq> z1OQ1N-%;>;Pq2hOQL&9Z#Jf2Kynv$V3y5IzjN9B*m3QkWPb{y0H^(1OA4SLq%t*7@ zVABc~iK?_#MfM&fqI%3bd>S8${8@pEaJ*IO%yw=fw`n_PQk?*j0>;$?po)Xqp_~N%WG%8n%Up5Z_@s$GVvnnT z`gpj=OFob@=R1!J7D@phu>Mc~$`6c$CI%V&NJai2&WZhPZT0P&9_G7v|4cRF746v*)aq?E{)fLP zqghZ@g2Buo!RSn9&3sm+TzIwR5rp~UM-ChK>WH((%OsfBEO+3A;zr@5>3{2ca71D* z??PJkYE3;?^kL0+#}oSHF7Pljm@jaVy(+z5-YnUFIKiBK@#F0BQ8)rrwVQamN85}aVFmZ8K1OX9);Ple^+`LjWqLdKCdQd` z_&(d6-gvT%T{>2DH zIBt1FSjZ4vDBCppDu`X!sXE(>FOoleF29X`%&e@sydj0YOx>k}L3a_ZCT%}F#^~`4 zGsNurew(j1`|J;xQB5k)>Znb=~iFoC=hKl^Uv30*YNTYPGO(FGl30qHW_Pue>M6wxf=f zx(12^-p{R+pPu>SH#4zPk@~0u3fTAj1bhp?htO-PVlF!( zsYw^LFgTA#3tRmBZbLOlpP#ccrK>|?jw37^`g$tqjR(8bRzV|xf-XHNSJ;RJceD3Q>b}=u z?zGx@Xr@fR7W4TS55I%g80U+BDcqNPAGQennzeWbYIqaWgfN$ed`1e@_+F7(U zi?qVz@BWh0bIni{RH^H36MoKq zue%R~L0J0mqbba+l3+J~r;jP?{lM(5n!?pTrc1r8Co0E#)rjNGvY>ai7Zqpr3aa5q zP0z>v`2$U7_p`N6DoUM_bZ|~lpf^$TX7|Ki^{Qi6k(U$0Qh7rHqU1V`M1Dr3nNM`X z6}wX&zT5E)Z_{~)UvjsQfBi+qY_*+#)u(~MN6qg0z1z0C?80JyW0;*jr(Zat=R3!> z4u=>cA8nkAal+W$35M`knerY8TVKS&(!BagZ$r2k;}>mnzX3e5j)ZBmT}i`k&t}aRQ#>8Cr_*$rHZL6Oy1?w);pG$77|+|1$T+Uw#9r!&k77(ceLLsG{bF9fSWvOQZ}XWR*&|wC z-(489ENg^+1ldgaiFqSOmtB5Pbd1GrCyAT%*sg~|bzN#z8XdrogNznuvwam2^fVfL zJU{!{(frPzVesEUc0T;V?RaobxNygwJ6>Q5lW3wEIwtMGy8aTTxWNwUs= z??5xqZcfHqH(UY)enkd@zS9<;t%Nr;x`}P5h=cn$5u$LmS?Ml1>bd?Hh?JFsx~Xbb z!Sz^fd{G;4^6Z#Pkp+)u4f|3mou%bs22G8#; z?ctP3yNd+zay?lEl-r2BUNX=PtNm}<9)kR>b8efNt508NjF)pDKM5;ToZaPfsX}(| zy+}ouVTO_eAD}43kn`y1V8-p2p~k5-dN00Wj`v4UU$V?T0m+3rgxHFRy=zr}hT+QC z00_s>L$;r6OQcZ6m#Zsc`*)E&>(0wnbjfKa5!q?}++N)* ziZ=WAynFI`f;jN5;-T|B3qtzvW+iZnS< zugl(S%gRwH;r_c!p@kB1?k+<@zAk*=9vDe1WInc#&CW9$#MzfI-fY>j(ad~84F)&sw$-J@B|$+&p)pQ%HC$V~NN{MZl9 ze*NY>rUeORl})tulYSlbKYW*0eg%5b( zRL4>C-VA zx`Fazo*e#sV-5WP!03acI^TglMgyF+LX*{--TKW9DGAl%g%cP>{UA6Li z-S1b;xzS3LE|It^yp(tvNK;$%Qo^_>5?qGcLmpU;5wF^STR*trpo-~#$}0!+8xA<7#v+kYn*`=9 z%lrM%R_0!FfIQh)PMYr?8mNXva`?s(8VOS}kip~qs8C-yNTBnjr#RpAX(R5NB%_{# zt>)}!gUmH|1F3a^F-Q?a^lf}XDOm8*4w5jFLRP9cIZs-<{P>G>=MiWWe%X)2bfa@b zL2KIY#WCxDg2(&`f~xdw^0k|i#I5l5p<47;%~vjQksnk6Z)-pHKgL+!&0I`0L`Za4 z4cN0S9iLnv48Odc*w@Tqu12Q zJriKuRmCGT8okD^x5M+f@|WeX<(e6K%k(`yjt&qaTEB^%ay8U05IrM4#%7xpTzUM- z#JT~0$L~22)?6kj-+3R@bIVV}XWeXx6 z*t5|M-hRo*N4JT#SrC}Q$*FF2s*6*dy3mK7k)XoOgeRPIyh}Sscan7{vQV zg|(Ll=N1g45b@O4dK$HDL@ixN&v*D2Fpk5x&>LlKY z#1T;H_x!lEC1lV{Dl}Q`)f|t@tAq83cS4Uuu zP9LA`4OLJPd%$yB>0-o}ff#c^$&kW-1Uw{Wxyu)_y({${kDtCdREZG>!o{%mUSrF} z?I6|X3t`&ke1JQ|I*3*7L(SC0(U^{TV+9wNev#R+R^vwJx2R)(V0X*z z<(X&=$ZY$4z&i9^$gtkx7~Xctb-Nz0iC{~?W0Qq zO3bW#Y)^W9?7QS^zr`d&Ic=A0u!OM`-?@Z*Kl=R* z3f=<2%r2d_B&BVIZk+P9u@u(vqJl1D+lFEP%Y$bi>Gclw7ckAl&n~n!oy8UoV8-6{ZS*Q#Kj?z;nfi%a7_Ezmj>q$`>(&BrdZ!sOfV3Cn|=NQ9Hym z?fVM8$@RPVyxzqXBAJ4m^!Zgir+IjBRgStGA_*|Sp4p) zb0Kekj`m{*Ce~wG>7}~*Arwb1@o6O--XkJhhN;Q*WNl_}X8b*W;o6r6f7iy@p}+n0uVJ9FBB?+i7t z=61LNosQLoy0%7t52m;)>S^Hpi00#GKOe}7!Cgza*T{Dy<>^_HBII($`yX9Fjger>|FKoz0)hlcQxgaENJt!n^17Y#fL5 zmB@3{yp{EThEJO?7ShFfM*9!?DhFt(g2G}x{@rkE`Dcxn9H%H|`qg z!#2GRIB0E;3~yy=lvm8oZm-*U(Trn(BskSQ&TJrY>sm>T!ZTk|x?wE7uf4B!kH^YL zx2L6Sv6#@If2E*AAj%>|A1EA-uxkr;n&`^dr_Ho~M_CLCU+%WVoI@?n=`LN@vo0(z>oZ@9l|hkg5+wzkzo z@1etgGC|HR(`ft!z!qE|;lfy{;V(u#gNw(U^H|G!aO;a`u>>WUdja&4yAhvT4Fu4; zkjj$tvJTT`PhU;11L+@azVoI+fiw0CM;rcKG!+)mZd0-BpkA9`tM&(XKHze*(_9_o zJfr-)wK>~vF$P$#W4b>@bG_KIS(#+4T=8XpSOlthJD1&Q*xx+NZocyoPV8@WSP#;D z?NAK5pIF-d%hn4Bu+yMxzS9^%h z{1BKQOphM9I3X?lEz?qs+JhLVv7Sb!b;cV#f5N;CF#!aOnQT)uwd zGrR3w3IR3AaG5ujQDa^*zt5B(AQ7_3>qhYn-369KsfZ0j>)X=hj8{bz1)QRpP^4eX^a=r zOI@-tZ*emJhRNXvxXSr2X~-Mn5`tW&d=P``e$i*~ja9cU2(M^FH9Ie!GvuX!kDP zqQEns3UC0x);ux3B>7dy`|f3I=}R0Z*iR%MFG=Q}*f)5Z+ zSF07sO+O!Z=MTyVZ#|LOeb9x%I+JJj>God!-F&4lWhqlT;7jklhJwj|@4W(ib=l4U zEPZ=;reOdMj_Z29^GU(EQs$&_dsI-E!@PiQ9-H-c7V6fv3CfH2Ga~EvJntraaKGng z36XROn+lEM!ho(m9O$sy_~3gHnn_R3t-VW+1ct&}ciBUd?sNY3#_4@Hf6ft`qQi%r zQA&^(Sdh4ELGr*p4{UUQRBPtc-v(>JKAr~0fDqw3<^0+Nl=q@DAPP~+Czd1rV}T5& zW_(gc(du8*(MXlYAXH%_+74A?E70~B8qrP7yiXEH^Ttk&uGUrA7tWGJ$%kT(80SVo zAqUm?t;7v!r$#pK-~_ran)|?3sVKu5lX*OmPrlQCuO-*BPdWB~8ka;JqI{UhxS-*_ zW@!UufDObi=D{{?z;+g1Wh@aeEy4vi-e3{I2lW=1;)vNO@Mnzs(2gJ15C~;*X8RUgazd0%s$8Kp(V;? z{3-HX+8nFuH05o7Qy62#%`6EIdW-k^BLC98iU(0*`=2Ql3nm8fx}E8&{_HwbO@L)a zw+zbF!pGIMXuX(1WMdR|q5z$@@9A^%UDy{;S}iy-d|hf&4*KYf5^AfzxszfsRJl+; z79Ftk3nxrd#%WID20v?0Q~>bsvp3(gM3hnb%3>*d>1 zX48%#CVv+FJH1V?2WxUa5=_3x{BS0eEgqUUE*bb*MWET!q^tp#`o78w7J|)kzjY^i-;FbNsZ`Wyxano|L{|gr;C3p(gWtt zOB=$zMrOAJ+-0|aFoV6w48}{r3E5$H*Q+o=Bya8xP>G&o!-X1t*(*c;QMxt&-wj{; z-4u^4jS+{sCFokChH^&8lb){?2Tw?lh2`dL5ULk{bjg8wH(krSoML~z5IH+O4y36f z6{rrXt>T68^@y?52>Ue2zPI?SbUpSNO(S!8ZixF+hf8P{wD%pK!6R%@bh%CwdeN1tU3QXs08Vo7^{l2nu(3)zd9IRJ)_+wF9C- z&hz?zsXUNut;-!ehyKSsYIf^gio*a>e#i^> zgWSb#497Fa(Y+CGccwo3;P^qVqgwkJ)dJS{A-T1Yb$&7U5)AL@mR$Q+nE6eSGw_a6 z-}cl&glTNQ)?ysYi?;QS&tgde9P_N3xdz^UDz2Ryx9SA>z>M)KO+A|dj&M1*q~J?7 z=s$M|Bsu&zM!N%P>6q9OW#6icoU=7CK!SjKGZ;%msBN-y`I&@#!1{KeJAhxmbAu7Y zSG)T8RWKnMWd;!>%Su`D+CM>D^k$DJC!FxjM*3IeJ_DL{E6v!+Cy5L;xu&6ve|(64 z%KW_Mvn?(O(rCwO6|k_wdJ=L+ea~TO4--nzA4X$$s<;bV)44~WdQoM@I9%K>!dT~( z6xW$(gq!j3$Ci~>W!@22SQWVYElygNhk|~xOu_-W?cr*{Rc^=K=@A<7UI487NW2cI z4pNHM28mWbhaYQl*75lP95`(hD7or?x3CDuvsgSYb|v4;AI0vkDqej2xoo442{@EW zhb8?66KeN(tktFcy2&lV30%DOCQKvBT0d_Cz^P7pWgmszoX+L)kl)`9*==;)zZj!% z@L+$c>lX{1H6UKV0|Su$$s6%j8~xsRQ+YBei;Gp`UU64+o7Y}v9VpJPU52WEnd%f< zneL%m5GDXNoZD@<3(3g7p>dp}RNqJskpTYq`(4*x;hne8mArd#`f*q{@IO%RY)Q3QlNT0t5?1cami z$6ITyN^Mppe`V!OR%R-5evQKO-1ivQ)s6Ih-<$XzAYnO59AV28uo)pVhr}!hXgs@h z!>^$a5O^te_UFCNE|5?{)ira=13`GOQ~KMIdU$sTZSp&_v(C)#zJJ&QW&jUSC6;?v za+DKzO!DE!KJ;DZm*MWaF$VnUzt@!X&lIuG6DHY9|L}{a(Ve;5^my^KUJnSGe65+7 zxHDkVwUE$dn_&twNW#cJE;pwC0kePLa}T|iE2$> zmjc(`_+$NsQk_fAhw?dh=b!M!81#-uww1m8bHtXrkG(2jcWc1x+{^oLwotIxV0_u# zkp;OGsx{L#cZTeYUy)Pi+Ke)i*rr2)eL$ptmk357paZg$?|@bv)OaR&Gw7FF`dyW9qJz~^Q| z25k-^khwJcKJRj85L{=ZH^-Z7wi_%{yVZP<0vq-%%=_NvsZX*IS^dKP{XDhgeb;?~ z;PLtd``seazi`bw4=9p%4zqo-LxUE%8X>V#@vkrG2V_-{^agb+cnm z983$f>0lLa`>sECsJzy7xoXlmYqAoI8Rx*PnI)mHYfU$Wc6g$QIc+>CyeZ=;7!dlr zSIhN0lT*RF{b#&Huf^G|dy15U6FVq#`%4+C-;J~(`F}~v1#h`}wl8>ZdR(cw^d*$9 z;-P54PC8EBJ55O320wO`7)D=h+}Yf}&O>JCjN;43^G!N`I_reKLk!ttT%v8<@Vm!Y zp?dG0TxqJ+{F2As%<7OYUFCz0P#cMCbP*Z((A{?*ARV^6~gA4SZA;E~N zw*kyv4}bol3C0&Z-RHFoQKSE}qh5Ax;0NwF7k2cL>c(B1tmus6^@FST`a75;j`cKN zKu{fe=2d6PpG8LzLS7G)hac)?_O0I4*O&e?^l^~wd39SP!JdH?AJIvPIzySR1#u+^ zAxPHZx!I3#{fbj#`gYE!sTX}yv9QxzLml%ehJWE7L<|2lkC!}$T%Yx!`=#VGU0BBm zaGt&Uafa2FLqA}6*Yf3Jo@c~J?~-840b9xI!@g+x?*(MWhuMq0OQwU+=cOQ3qkxvvzQ*Xyh_R=54`R?(9acoiSsc!5CNe6S91D`#< zTeoC-bi@1Lo&&HQoHcw$?1Y^Sn29X$9;DoT{}5d%O6j#Dfn<&3=9r#vko2VmNo1C9 zY?301o!!rh{VCt2buoMsEq8~R&9CHXOn+ivLR#H)-PeAbvKFNNa`)BPN5|xTxDD*? zW(vXdxP+=x25e22u89Mnd&9_O+}&!}Q*r)*a3ytOqCp?ej6Xd8vx7xTa@V5o2`XJv zQ6UKfGDGZ{2I}TCB&1KA)a(G-z)^U&j<@DVus4h%?rYv>C0V;g14G&f9VSkQJ z#D3q9SS{AcbSYsgwlSTh^Y~){w;fQtZrT-py>QxdOp>oXoOgPiJU(+2Ev0X%KTA^c zDzKi{AC*iUc2}|LaW8^ibMtrhZvsC$gK`mJM-j46Se_a_mot%?yF|Do_>CSc0t_?| zfurYyuHlu!P3LjEGsms;Tj_YcY=8IdoN6>Xo>Yj6e?C*cv1dA7=Hc~=-!b?uounxR zoL^{OUP534lEwDb{JKvLX2Rav$Nqk-vnMSMH3imrMEihp&cHawwz{nk~D@|*)-2aAM)QuJmMY9x}g@Zq*)F?>GqePrrK4IRio$sY{^s9JDO= zol)R0G1GOXy539sbo7k=VHJTtLicvkh6aTS)Ep7urJQ$FifBS(D4!$l;T7$!yuNaK zty4YyK)!AMQed#YZ@aX}N`EpZ1BWOTeH0)MHRruFk2Am2SM#8BWrJYk*!qTHGlzKxSKS$Urh*ez0!8to9ZuqU|6}b!4z6e50r(6|e7hJoB&3 zQ9FKjPl-Vb;Gtr2ZVS$te5jJDOuV8KAhcu{X@|l+(()cGS@9SBj(=^QUuQ)K?bpdT zDX^@d3ru~f0yu5F#fvT$qy0_GJdJjTLY1b+Dy$(4g_MVQbMbO z14+D1?gwCBXDnCNfc|-RatR|$XjhlQ(5GH*yp<7#b$UPiO!-R4ge+D_^T;IoV{_Ue z+4C!!{_!NV;mIB&c+0RWp!ETl?i|*(edAE3NrYws$AP;Npncqr*rC$#8lkc49h%0L@<7D+}a%v;^2Tn! zc^|ud&ze_@`&sIEV4W?GcVB@NnD6|%7GzdST8&D@L;R}o3Y$_};-z-%h~`YSyo1vI zfmaL#rdrhTy0JDy4o|?`hXaa=^*GEudX1_9l+4btQcImymD${D<1@5em`h*$9%m)3 zuI~`97k{|M3F(tRUg}FwE^tXY=IO@%s(G^&Tw+RH1dn4Wt~GluB8?`U$`d1mq5Hl( z0@;4Km(~4o6?I_E!qf7&lwyuLC)jO|_j0a)&Ohv^g$ptr12G=eksq<0HtF59YIfNXAcrG#^d6o7Bi=~-`F&-RtK z5IC_LkQExpeq8o3 zSE^0yo_6WeCe-&}JbTMdKq_sHC~^uSCwvNdC&tmwYlZGUM5#r3$Hp;^3q+urY9xZQ zIe$|&Jx5@{;Pki(xFDaeBj0@w%t^pM+j$4>>b(%<-^K=8x%2b*L0AS;m{t2)O*r)} zL4@vIkshv}o`u6r7xhMX;?WzXhce#~2>Jw*ETev}+8HKtSUUCJzepZOz=C(W1hF|E z@YFtjy63gm`ixAe>RZ|QImmKtAWpF$fPYkl64NT~C$qxPL7cBk>hh<~mkI$nz3Y3q z?(cGVB%|c9vf?il5DsIpyplNZnXg1iv<$^hFVBSYtz9G4G2ghQwUiLwR^g#NZ5*S~ zWGKC#%01y{L6h>aJ+7u-Q0K?BKiFa-zs}DyPu}Q!Q!YUG0y>3SHgHz=t4tN^E`LY{ z;%Tj#E=gB;bjM)>C(00CZOR4O85PBIWsIemXaNzw~GJgS&#R7>( z!mC0fGI&UG?eo1cGOdOkS9yJV{+S+jQ?Gf4R^S_(>&*r-x1*G<7P8gDxkfY!B3ED# z7B#u;dc|~~*=0`NpM8}zsX%06gMwSS0DL7X6DC|MMkw-5z~#P4Bg_d z9`2ub4bw7vKfdYiFdoouRE>A;LQ_~bs0KIj3;3p5pDL#`D!()#y|MMtacF)68yh*R00!yl8kT$#1Ie)0M^heq(qTmuv zcp#MS#efocVmPxFwmMUi^TiltM&2jVNmGDPQ`Nu}SC#U}Q>jjudVblCQMZ=>y&LZO zhXq#%7dvL!JN#K_Kf^ik?JkDA^X&My*?*z2eqK3jPp;3bk8K!wr8hh~5`X5UBa(x+ zy+8y<=Pe9aX@5DVn12i*IY1)$ph48QFZ1q0S`J}2BBS9#Hbs-Tha!oe?0r-kv#7^&qU<^A41bqrv%_+Pcu+%mIp%<{ zxkoL$-yfdfHI|Q1Rc2NfdB3boV!qrI3?uj9eKTz0KRO}ZK0+E)K&(nO8X=SlJ9b1h z5hed({qR^o9rXz4v){ri(#W916b+K27k7ZXp>ONQ37F0V7h-R{^``bVYS5Eo*xvO^ z5ZY*(i0pf3w14OR*O*qRg_I^9sv|;UPjNV&6w5hRqOEwDI4;>R;V(Zzfz*xjv`3f< zE=bv=4|oR~^l^}0`b{yppVH8wchrXK3=#71OnKz~`AqB{C*~=)P@vC_VLf0Old33= zzir;Wi}1KuXN6bxUnCTIxkw8H7RO=8kOG!17y(W?Nktcl+72foJEYi)65YcqCzCXSgG@5Q~rpZ2_gkQ znXl-WpMQfvWacCUD=`M$Aa!42)dr0S@o59IC18!=@!iAwc|Nw+=am0OFW$d*Cmvln zkU9~wK^_jE=!5S>MBmXIWXRRqfCa}AHfA`?4{C=F$)zGfPLdD_XE{SW0T$PC^v+zs z&SjNjET!pCTS?=yjScJ2=QrL2LuP2^B^X>;hkr_#TugwokC^$u5kB|$BkbW4-mW71 z6;pSFmyO5E$b>If$w%QuubFT{RmxAq9o7rKn(D6i=oj)jcU$i2N2o!R?s(Vr zTGUch33du}a*U-iRm@9|`WvZD!j%-(c-DM>t&jb)Z|4#Rfi9D{EG0h8Mb>Vqv$0n? zwtu3>n(;D@G~Iew*%xXwCPiZlKc7FpV1F|j#Ex|oF)1a6rS%#q5Uqtu@T?X+!(~zN zb=sP|T1TC0`u5DU_ZvaR6y)nE>AVqCv;^%@SsQZ*&MDi=8mQgju6(+<)UrlZ*K2ya0M*g z-PC(lsN7ZbB=aMW1LhOdH=+UWupgH+ID2*c?uqBGavRlTaZuU6f9A7A4d+C$WPk6v zm>!9bs6QW1hbLIe{VNR@3M-yN|LBk*(;o97ie1VJ_w3SM-t@bF+9_elpXd`9#>4Y_ z{X+G>TPcBmBg4vxgyKi~;aic6l?3$)*#}>A)y!L2f-`L$ao^tq;FKN0;%N zV`j)1c4#Y%Gc%RS1a}WHWH6P0AZ>_hCG)x2D4uUaZyQ_Y!UI3pVsaTYuAXO@?>) zUQd?;`vV?kf@HsP2ytOtT@yJ& z1*EED3IFYrm{P|sfPh40icaRe zdC+a*U%f{MC$XNnaDB7tpxi&StuT+^aO(jQoJtfa;e5L(>j!jWMDQ~vJc{)ys@HP5 z`{gb%MTal1vYnQ4e19~>Of2%_o*O^c^D?AMGu4~1J1EO>TdKK^5y@M<;}9R)pjVnZ zgv+J3e{{{sMX+!9%!hUq^!kB13jPAS8>Gj>poirkR6pMe-U?&xdMcu-y7c`YvM1;2 zni<#j#?IZ6rFX-`_jS_dWA#BD?zO_I$r~CkQM?_=*&FP7hJRV@P()}PJ?7fw0smOL#_@~Aj~Jc4+NZFsF8&l~+HZWMkcZ z@I{^$!Iwr_^KUh%JOUJl+F0K{<*KYbNlD{&^YpuTw1}v#7r< zP82t^F3bQ-RkgGFC52@;CGNT3TIsX&3fFDEZ5W(sGNs?cKxUM0&NCL>5SaJt%LfHb zWATO1b|#wf-OsMZYXW!~h2jHwxi0-Da1MtAIDg3Lnvi`GO=&h1lMph+nT*-?F_6I< zSfeJzv{EUn$^{sBXN}KXPlr`S=PyjL*19vyeDS9wxAA;YMXutX#Tvc*>jvS<190Y} z&fd`q@3cSOfRmIetgFYSZIm}6oT z&3~>VcYL%+!NfL0$s8m4?2xLw-KG7f9$5R)M*HEGRA8K|XiO&&Whm%!ZRW~+UMC6b z2mY}qdk=^!uaco!GBL$JpDn^%bh|8|ej^g2J;Uv`qa6ti$24_1L`_#KONOa| zimKpB$AWmQN4Mpvg6A}Yb_5r0b) zr4{mm7IYPVQgyFAQaw!RhyDl(U3o^dpvZB)a-~KkQ05ii07*c$zv+2b${UCV6V6tQ za!XWXU$W$f^r^!NBO*yoE!-jT@hZbVwylk$0bG18Hfu%r3c&)YdI)d_2xHy&_5q#-q!+0KHkPN5CLNYa{xG8_eheMfyR%D#*3DVaJhaA}qf3viHxA28cWvO-ZL*#B2y9*1w%IFc{>490eI`NLZ}7t}LHT!QTTG=890J01 z8Nal%;&kjS4lXU$r;cMDqgPc;U;2M*MlSmyR5a>G_?PpE5iM5&IA#4y3OL zhGK|%%k{7eL-v#4(|#xEV%q~8{1uYlYaHNr$_$dJ}$|lUdt^JJd@K2>oZa@O%iTUmCO7Win!B ze(BpRR4n^`hrAR!-hr zU~1TrNRjS&#B4d@bR6D|6VHD~1p5HGTJFDjCTB2J-cr#!oik_ig?|dZjivJGj}5cV z+6&`^3p8_aqw^~HB!wq!a2;LGWvEcb!MP<-WbF0WcGW)IebT*qh2~YceHwdmJijK` z_l!OByx@s>`gmzqtG^s2#UZiX2FdB$edmFfa?l`+g#d#$2_#d*vHE`y4CIQ3+v9Wy z_^U?hL;(=h1+jsGp0%HYXldK&fTjTBJSz%k`Bap##*d!Y``~(A_gAQB4pAdl>9=Co zWy^rLMlh8F(d74}11k`gw=m})DkAxrz?L3{70?8!#(2n})-Hu+ZxKl-XIb&Q17oM3 z9C46N>L_GtrBdn>u0((BV$bi+#ev;R2a?!`cFdLN{r;rX#=V}|+30lPpu94a#ZLUY z19fM8`f15PQ2>y7(fFwf!3j6$OB=Q*EEoF5r#-4`Ji+4murS51IsKF#f80V}Ubt^& zlfM!Rry|kKqSEqT#R>82LB|WXIFQ4QQ@_%0vR0B`1B!_YsgQrW?5X08mM9ZK@)28C_v z*FpaZqEjGDpMig6ei%l8OTH1fL+Ib$8>XJjOpq@h!e_Bi6WA?>Z&}&)8s!w``?)l* zTDdn-;bzgYMYR>g&}N^HuIi^WP^fuq+$V1k9JO9}922h=-PV+^4dvs!B5ffLd8Xf9 zFlrW$8l4a(?H56D68`gX_xp2uyxZ8UbbZ%T2Yi{(O(cKjTL{N;&-Pk1VyohQ7xXHY zj6uF*L(NZ%+z)6T>Vc!A3y4FjRR@QWw`te_AIx{Z9f>8sTa;flSYY4!ITk)IBWZfg z*pKs6K^J)b6A~TzvULcyQcGdFM@;z@Q7iB@CXraW(6|We-xMDu!%g6`^5P7!8 zJ$%StkS2e79A$Z*seZC9#RcPKbUX)-OGiH*b0$9tIDMqS17 zuJo>swGh3@t-|NK8D;?3`n|?L7zn*g(}V+-eWZf|k_kXC^S5p|!cv*&$@LWQkSM=X z@7*WI&f~~uXhEq*3tFyh0ENx5-e!tarjnW8ZgF4BrG)7)V8I%u+(S1rNj~IcZNG8nQw@U-6v4oS3cQwLE&dlql?%pVa zN;rMV*kW<_3O{;0BmiEQJ%_bOSw8RhgY#LQd5kY@G zM+bZCaM8VZH|{HlgmmCP_QC1P-QqJt{G?l0-MT7zcS68M9GCRW`i!@4_=->0iVfN7v!dpw?8z4povS z{i*)C?%h;=&@aqhb|OTrYAe!10lI$)Ik-SFHsPwXVv9fv90s@Al)v9uu~iLoPb4+C zHqXw=p9!dafi%B9{ckI;t?eCLIr?sb_GC@E@2F#Gt#>VuZ+1s5!Z(vuy%e`$u(x2% zpZXDrC#tSJJ*UP}69FYW>ON*_T&3!t=TRSSw`*g1VYI&NF!W8)4Y60;ZHj-SY>H8D zit3TA?D$k$3-EKW$7xMXW!jn2RG_(x(gAsvhwKBO)a9LN6W(o(_8`WI-(l~Aj|Y1L z4L?2m)foqsgUfI^fOxcu5CgI;6g~*IbpCej2!HXHo>;7$qIRzy2J3sVrmR03XJQPT z0EHA^-sBo(s~!JJrU@>}Ssj09^7PF4P=b*283yzG1g_!rlF#*1q+!5K+TZXJp3HX~ zd)>Nihu=fIJcB7DjGgf&GmC!0NaS~fKT?e)w`m~J0s)(XfG}EWm=1DE@Y4ra9sYMV zp3Hx?@w|oq+<4ypHlA1f^M7OG>HX`*6a8^awElPFnIGwY*?3mhe{6p|?KQpwX~IW2#-WmY>x{eEK-vyu|{EuWv?5eEiPTBA3*r zuXmT+fgZC{FF=WZB5GGbA#wg?llL&*l!n!EcDi1_$*h-ONbJK*Z9e1433oyTdC2;} zDu_N4yXq2=FSCC%Y8^%U)_98UFW#MsGm{0I(*yyzO186+>SOacrcsr@I-5*8;`^!}J4zp`Jx=l{*@N@tuvh23((1Se z2zNQc0g5}^sh2)Ol_)_j!uEEHyw+M|@vf79*4;sfr7M5&w$P+O42XZe_xBnV@H_7Y zbjyf565Km^j4q!_oi=(Jhuv(viJBh~DfVB_Lq1E`AO8eX!1gbv`c(Q}!u{-hy1h{W z;4OK;*zE7BK#ahHBmC zMfFj(+<8j3x$-VT`#XkYg8?lu^Lm-AQ(8^lEU15sS*=CruY9F9v^T=4)JgWj0OkFX zmhVECF=$lFJ!h&*jwfY-U-U-F{&=Iq_XCKI#)LGy3#;Pu{w&Er)R#*}YWi3-{=%8m~cfdY6$( zFF#%pQ@&ac>bfD8VPN1Xy*RoAeC2y{N?3oR{am$>`RhmD4V~(R-`yTcTmjKQY|3zYZ4PuM@fCRr}ycGbU2yJ>%$ zpkr45HsQv`khJ1C1lJhEE#~Fy%ow=azh?yk#-jK>Go2ouXTW?NpR_Ab1vo>v${F}Q z8}eTCMAv0}QtKHNQLToDcdFmUV!9#r(-) zUqO(tpYL+bs`_+COxWer;s94v)tO%6L);TCj(AKf0nAZm1_!kv>z;EZ8-=2JkV*LzknSMhO%r zA6I-mB+TXau#PPVD2giaV4Z)WIQQPx>Df{mMHTSXJHM{}7T4@HHRoq^bd^(vr5#3r zhGud=>&%U};gBtKP7i_OKDna-jw?^OVKF-UxJkN=NWNN4JJ=rTM9T2B_dFGE{+CdM z@!*ifGdnPs<*4o;@;nh(wz^&UT{-H_L2gn%ea{b2MD=_f7yg=VNl|}jiOcT3TrjO+ zF07BX6exT4GGV$y7HbWffqWVwowy{-z3Vdj6As_bgQ?V`o=O7F%B_!(lR7{x#g$A0 zCbbb14%sbMb7;u-HXm7k$8rx0^|1qay?@?EbfXGnlj9Wa%^sk4nw5eC7}KrS)Z68Q z7bP&GBDV7VN%u~I2RMJ>O>f?jDU0S2Z?HGT?ykCWe3`Ko11aXct}z0&*JZ4kcVNoH zse&G6;@?X}h182egqjM+7v$cRk4KcMY{IAS+kk(iXmX;-CtIqtKZ_D#srOENDvCvA z(i^l`hO+gWyZlzZEfJt<-_1eO@J4B6Cs7_LBM;3)c%Htgbo^$96mwzGg@+(}ZE!1m zlbG;dofy+Bie-zZwJ+}WnaO~v*Lvk|Ei4877h{dv+1<^Bc6zWkRz)G{cMw`S6tUTF zy;=#&TXQq1Lo0s^e?kpxDwpshD9Qw;4g+%->r8y57ItsXEG)vhzm;%j;_$ z9{>pQn`m(cro62HRUEE|_FSGlGeBOp;m6s?#=(E$Oo$A&xTV@Bw^H>>T}v5JRQLHh zk^oR6HBy%BccefCgx+PhT6zU|@M#s{)s6s@Ah3m-Ux|N~Jl^Ko1jX*=9^>k~4?baj1JGJHEX(tP(JDg&(FCh3oE3JtWz{F*!(0y(T(cT&%C z{iOf03_3E_u%^$T8z1Q-@FVZ5`aC^)dXkUwqsfdSLVI=1(3JLxDSCc)Z*N3f5VBy) zFr}6C`L2H+NG&DL)+}~pwmBSWwIPJT^qDj}YrG`I$$9a3dsQD-rc{p=UfjzYI&8!y z*WOw8efp>u_M+ou$9-V}#$+4*ey{rG!E|l|)5W|f>hEFMBqkc1i;x5_!TD9A`Wr+g z;t$4!E8@gIe<$(~S2~ZvC?iqnW16TOerr%a4!D05){QX^T(;1kp8>J$%{}b#6g1f3 za?)@{+mxjskX5XFu=??o!4A%~$SwXM0D;F_yfLo3OI$WK2Fw!;0oKA{(2%=6zh;%$ z?^Kn0&xwTdwL|&Awj&QG=R<7E9T>NcxKO9#mS2(TFx7O8nb9^2<5-(T`it3RVXfPl zsyKfjOTL}Ofq+yTPCD4vS&HH6Kz!)$x)iWTuS%XP3h~T{c?0vwH;BG&tsmf^FvLOF zEp#VqTF8BTFC8x%=&In}=I8wg@3JQxmYi|x>alAL!Aso>;b;~pZsw%>oIHf9P((FT zGtDfHLTC(GlPAL2zPnh{QS4k!!{>_c<)?r6rV5~zH<-95tl0bcyC6-(# z?XWs$@k@6py!2DZ3H66?C^|c!3=dp?N#AQT7SA*{D=AYL5o!VwaDVCko6!&;B^(*h z`e`sMF@1W?_1QdZ?Zwr-k0(=>R?@gTUtN#mKxxk23XHFG8cnR3&Sg`vE2%Z@kF|e1 z`M3p$Oy8U3%;2Rseu_bAr_;p#9b@4!3Xli)(x?0sbR5VlnN+sLGxiRv!1_cUz~#XH z32TIKr67!C@dYmK{O2sG;cKm<^cvGCA?{B!50J2vF@zvN@H^qJs4~0A?7Y{UF}v^H zIWd}fHxawsi~6!vK`Q*DFU_O)k-2}2p~Zxp|L*K<&9hP(ArvNN&Xbu3g$LPVi13{{ zT=fTD27}EK+uI~JJ_b=;?&r(-fkk)=sgZ%uE&@2Rr+aroCdLd*)n{SQ-ATDb8CIpS zkPBq!Oi$q;+WYslD7pC<%7d+QjWoLHP;g9YI5a%utzZilTI);DaX#)92 zKuIz(SF}$zCMZG`E+P+r-eYHSit{o2yt$ohX$%fV$~CmXRdDuq1rNQ%DxGFZNVJ&G z-H%Kq+DEneoeRYqK96&)uZWYPb@F5%V%V|e^wjL#mZkjp@;1?&q}9_rQ}i+u#V^2c zH(1UJI8;OnZ=7u14^LD*NWXv2*XRBG%t0yMxo+sOFm7B>_6(4YgB#@r-*YGyLewl! z56k@cX0}6j4-r1P9$(iNn-S1iUDdIWU;Bt>P7C0VE7mWsy>?GQ#*Q34k>l<}9JQYb zbbWBy(5@1$#`Eq)O6gkCdrt@t0>Jt*!RI-+2foC=1Gnia^76-T(g^ymen?(%SUrxGw|!M`FDyfpr5&|C2Xd~#jC6X-zHoz!z=S-=SO zl)L*K{d+_t1!&`VF_eFpPInl&vbi8;Ea5t9FQ2;CX*e8ikdnhisAk2)W>D^H*Cu1F zwZzW%%8h%!dPf%mw7`%QcBhsRSc3CNVivVSTgCx%D(UxDk%`f<^zj{?MoB>U{{Ph!<&bSmEV=koV4STX7SJ)I*pu zu-*t<=7EY!X_nwIRp0I5q=7BUK=BP{OTe8%RKYUe9GHLZT$ehiB29jcecIIaobaV_ zt1ozTt%%}X$Av{=tC{*{AXwen@2BUc;-2+zkeMpzMC)Q`Mtat>iR-Scsh)i zBUcaaFNuFV7VuGb!P(8wCtS`WkrzJt0UB_$nw({!&h69#jP#UH#)h+~PI|F(_B99@ z3VV$|`_W(X4fTQtF+WWi%NoG+;@hJM*x0*aY>mzsP)o(|VqKLBX5K(KUIAA;;hB%m z67O$5dgsG;B@f_SA2TR)W^zd#9WP;wizVecsb+tj%ZL0N(@5rZJirCJ^ZP!-ax#zn zy~}^r{RV*k=ecQWB!8ZuTe@66?GJy%pS#TCcg~Qha)vt5-;t-&jemW(Vcqu3wUn4y zJ|B3KS-UvxJalLd!ocm$N7EqiuLaO+*MqM}Z2A0c4{G^~RBSo9kIvqV;Pd-Mr?K9( zU)FysJ{jkY^YNij(C|-~I{l6vgSO;_-QtrRI?yN!hR>z8&y40!@QreQL8jMz^JKeS zKTgMu1>6jwkjLTfCIl;}@x}3;^u2xkUgHP`IK3=vK-*Rb|9(-=+#lo{O^C67lrGVv-4%|!MyCw0?maxSy&ZMNi+S z&-V{*RER!xkkv5e5vr7+-8XyD^Imh@BJMR7X5!^Mw!n= z+E0GoPA}ZO9@#sUYO3;-rq&yB7;-+UD%d`wo0EkHpHl8L-OWMk<)N(I5r zs7bx4-sisi4aBHq#o@-Uk6j@C8jslv`ZIw^*8|)nRRrYhz0hYiWd!s7^~lcinjwft zA4f!2h4He-0%mzC4TdY0iHBCf8MS|2ilYZ_;!I7; z%kPYOF4v8`XxenQu#6K*f2|1Q4Aq8C#-b=lo_hr$P}`PN0Qia`H@ zdJIAa84cgz&THH|l|A2)7;|84CA3=xvH!wVdK>XLO{wp#umyo#P+4{_4}%ke9!4t( zgOp$?6$wFgSs2fNOS^v{ML+O!*;RV6bM>R*>UaE@wW}xiIeDhOqtCasjc@$-kxW+B z=`C#e0$K1;4O(I^02oG>-P1q6)g9n^5`%NoE%j)I`tc2giv$_hz-9A8x*sr0CzM@R zfG|iQ39|hnocn=k_*$w%jW}%GWc5XybkU&4x4_YqxTs%~5k-FxUN>B%d>U58d1}K( zxV8i5?chOZXIj~V4jbPl0l8I48#d28Z|-lppx8`t^gEgZeY>AVj|Ex=<&yB`{TI|( z*vhg0(N<2}p+)vTTRAPkR!(H^|JGIxBC3CGQCjN~% zk!`5#Th?7Dy}p0l>ME3 zyqIpFIEwjtJoG2C)#uN%&i&I@xypjP!N7=#lJE-gzEegEBv9|B zF~)gk>u|$gsGWe$7vR0*BAh>Nh=HYfm(AWn7@$6$I>^I=4+2HQv(e_8+8R`x7?L5*7_D)CG+SXeJ2rb z&Ldc{-QxVGCGDkZIFKGB@GsDru+8JYCu9Yt+llxJ@Wz@BBOk=8M#++(0+d3&p^4+4 z*nP9XlRtmX`MlwP%(Xymm4}BcHS=2tccA^T%A-XUbJ2IL^rrtvOU0k;ygFJ*1>;IV zM&cf`aa^k~HjGZ$2{(nW)9t;~t_6|wypQ0N@AG(6&I>I%;y^un?ZD=QO;8hDBT1a3 z>|7^l_TAEgEUJ}&;Zk`O!jzE;@I2zfpt^du5%zxr{7yhJgVo>F5ai6glfu)CBkKO< z1Ra>xXOxL4F_USj#2>KqZQnO2GG_-mm8m_q`|%x}m{X0Crhk7kqtT`A+EcG9;ucuQ z$S_UBv65=zPlMPpKu7?PMPQh|%gy|zr+2-_Z=*WA!rRAYUJA-ws{OOC;bbIsIR)p- z)GB|*DwGx8H0_hy?4A@sNGP2XjZW2!-5zh;tq)&UoNqbpiFDQuV)m)o?I^tXx!<(5 znx{I_SRRQ^6m(i`m*ghh&zhK4HG7G3IPGDVW^HWw>>cBMoSdV(F+TkaA}AhHB90Ef zi{k|24A-FbN}(#`#VpU;9pP;#0IhZV>85|)+T$s?5R2Q39U@2ZF$`$`tgPb=%bBBM z(Y2>~f4G$yiiqY*(kV^9V4~rY#E$u0iUt{K(n_bne3n+12 zxI4S3cFH;*E_k(5$sKVU>GkE=UHX3*iygc9FUK2Dae01T`3b}e)c@m9G}Q^JuVYce zjv)?qvR|#Uo*bw7QQ8_q5;Zf|=f1vxbIJ*4`dFiSq@3q2*WcqSY^VFLDLtH)72`@) z!SI7fX6ak=^;z!K{RIEadpnEaP?H-{W?6u>irX6XwKoo?Ff9)7n`>*Krg?295>4fDy?2fy7w#a{f!X(PXn zw!Y{+F{i;uDE3sAXvdWTpvPNaY?X9vQ648oVt7U%X1pj1s~hBdv{ zWCbJYm-DuJt2hD^Nu3hh>z)1M?Y=qik&G6_lQe^bxKi+@XQtl{?A;EC+e3MN;45;) z;`~ryKTr46nL7(FR1Jy?h1gdQ+y@o4i?O3$qyz)&era#9A@RGeI=6q<&(;gM+gy*b zyv5r|&ismX*gbYtcr=5I?MdgJV7EJ#4!bysRk0;bZt2I5W;|sotA<;Y$~X?cKh>_b ze>i#p%H;eFfDm|>ygx>s=k)lzye@{w5F)MDAAvUAM<0Ip8N${ zT*kjD%QwiQvNYi)?Elxlzss-ePY=8h+rm{T7FWm@9i@X3YJ&RJHCVX zkHy!AR=gvR#N0H}-ZWCwG+LPIN*_jgfph@H(CLhq-q-fgr$$SxI`GZ?fYGuz%k6?a zP5j1p*Gqq-wtVFw=nrSmoa!PHpSml%vHYf8zsHwo6qQ=#CE}^XJzfLv=;;NI^roNG z2yg5snvrHrVVYP2OMemyEByMq%4OWvQm(3a+iq!x5`*Vbmfukv$}vzYAP~ULjQ*K1 zw%cJ0MuAiu*)@fsCB37BqxL2N_So(>O=fe~*tdVYybJ9*IybC+5XK>&#PLJ6Y(eml z2_Hm`iYrkup1G9U!8RSHO7IF#I_At>$CCDa$w-!*vYT|dR@pW3l-rgtq`yRGT7zx@ zK!SW>G$trM`(ZBpf-Q$do*_@IufDqOV8aD4b4NaACr6F+P_n25aKNcK1%=UnijH~J z)4YFjBP#Xzd{+NpEik(zK_^{!F`kA8?f_rh=sycE?sj0eTCV+aqeP?p8@bPH`4bws zsa1`6&)e^Q-q-Uscd)O2vf%rnPVX~`@P(UWZ0>}X*XR9D_!BDc_MYS6W%3lSF>#iA ztP1xA`*XmJ*S@hVQMM32fGiddZdeo~Nj!hO<9oJS-6Y{UQPWFJ>_RRAh33(m_FJA{ zbDo&MJgF5&&)x5S4JEItnU70?WaJ!qQNHnDfQ&as;+bqK&a!}7e>#?zH1z7?RpuXQ z{zQ1ORTFFYuxQpcFi12P-_P9o;MVN^{+6 zgFssIn@M(ix^;Mp2Ayg5yQky+n9QK=qn-&XJYrd1(z_+c4Wg$$f~}LJBFhav-em{W zqBwAx@Rnywq1|bR{(B!P;J&CQ`tg4hraPAuPJ{lWLfi2c*6-Z~m9;{%JDa^-9sCFj zjJuGg>MOktCm8SXA)>q4IVePzaUxWxm_GImRGsKoXP4o73%(Um)DlN_G_=0J(Qh=< zpXj>324hjt#kY~(NsI3r98mQBsMU$SKpx@5pWpZHv)Ay}6b5CgV~t;Jb|!yAfKb=l zxOKwc3rj+4!E2I5 za`t{KQG5MqKS6p)^o1gJXX^sJf#v>|3$m2w-OElcdMbnEXj*QycWP)}hn8UvhmNNX zg7ZKa=8&$3i>Y7`mGt?Srul#3hxmV7^xwSzb@`X~hSPSweh)F4gegK=9hVN}0woav z(klp^V?^3E=%E5Y-F6P!Tj{WbDyjvop;1yWz&Dxk7g1H`fibA za-YkMLd9-nn&kA>Si+zeSs`CG?Cs1to~Gi=@7_9UGo!PCx!*Jo5&`M(u#=xiPu>=-z_IwK@F^~hX-T?^uRw9G>-eX67CRe!Vwcl5*8s#&x(j9OKe!9>AJjG}dzQ1YN zIv^@=tu2X7rL<9XIr+~cn&8jd){m(zUM>qLf_K&^rx6sn$H{*^lI8EldJU+iOQ2yQ zWS04GInVfLxz!zyO5aQ0T++QNz9q@cIyjhi&^{>bdr#R@LP0$1&)!DAb2Zb$X5b7P zm)4jytH>4EwZ6Gvq2f%`Sqkb}sD&Fx-z7;VzS6cn)Qq=#j`E^hD1H=z=AqP(nL?n)om;IL&gD zY=30yGYnRJ$JDT~|5{o{@yEHWqALd()uKAc0LKs!L za;vmge12zgu(zIR^?8u3(;0d#on)`SOQjoAijGUU49=WBZspPDz1v9|^!6RR`WeBQ z9G>x+JvHoL6n1yE31H3Y>ZY!@%iYng!6hB(3>&u{IiY9fMA9r*99MD2?-#$qjmP@8 zds@RQ&6a<^P)4GvHpWNeX>c9 zcOsrj?H*gQq_0=v-YfB_M2tko{+S~JvI}0%so(Ez%7OPk@AVp;BXW_OgF|(9`g{r0 zs&SBV2!#XzlEm-G?wW9TF_rQ<=gC+~zRIu}C?tEQCmF04lLVTsv%hxT}nER*Avs z$#w(aK5WueNQ>onq69q%jsFXDR@0E|K7TmcO-qZ*c(%ai_>)d^2(jE!*h>T_g)!}r zxCaL9l6y8moR#0kJ5>LYq~j}hz1)8!Fh~A|baM|%aMq6rY|PhhpqyP3%zw-%{qL!i z(P-ROFV4(8!2aNjgtC42vuPZqca#KRnA_j_3tAy}isrAl$+4}hQvr~~_nZv-?>)N) zN8pBu+gH-~?k_iM2ndUd?- z7n(Mo;j`zVdOUr%SNDm${`h~T;K~f1Eca3D3Yh1JWs(vG*9(2LmH>mzhktqu8P88) zSRZZ&qzKPW&q-FxX5}3t&I5n@$gua}j&7FZYHw}+_L=UQS45Prib>ysnm_DeKybMKhSsz%!m3a2qZ)q=@1&+v{S_^) zt&}UMQI{+GGRK~AAr?lD;OYm$(V->BGIX;aFsNm3;>Vgmbz6Zxkp1mm%{P2e&QOkF zwb(PQ5tM@y+E)X%>vFJQ#s(Maxry)i4S&z-h5I(6(Z>wy8$Dx56o z<~P{aeH)G4P4@vsF+4*B1BWzFPLi0}W%oVYg4adYy^U3A-7;iEili0aUn4 zb`I96^ATd(3Ol~$sWy6P^~3_%q) zQ{0W)!ZfYnM^g+Qei( zvG(t>IiD56o9wW8x|~^-mxDj-{Az&W3o8&26?T8?b$%0(hQ)MI#*It*ZkqyoD;b0< zmY#pB^!klMd8AhFrc8%r)g4$5Pad82{>zrXJKfbOgIIqLn~cvn3mKwOs^2@)pKIn9 z-lmjeWbf-OFDkJ7FPI&j8U#pqoiFkC%| znw=J*DA{Ms8DSrD53fFF$-VfKtvJ5b$dBb9ZuGA+kY$x}sVJsfhg2kWU^ziBuXkap-oWH7JL8b1KzJX`H<>L*OjwS9V4hQn4O>G~1_ zae7^QIs^S80_qz10P1ueKc|O^p-Se}+)N!)eY%-`eDVq>k&?v%Y3r-(=i)8Z>lbBe z)`51v&XiA_+3wgHwG9;e8gC?u`6crRbSY!y?9#J@bQ6=$S0 z_oaV;@>(+E^JPOzKd#Ol386slB?XFof8V5m5_PzRmc3L3m~wN&d24{ce_yxqa&8Bg zTE2nEC_G~v#plw8hE8kxThzUmh`+R6yj-4XNT0h8x!J`i;P+cqi7ef$?%+x(3h_2Cl45BC;HND){m!YUn9t=8 z{4VRx>PFJ4Ed_2#wOonM`@{Z@Mex3F8ZTVe9YjA?WAj~8y@IfJ?iYNPaMXcS;O>R` z-7wli=5B}BcD}dU;Ut&jtg@htAOC+cc&h{`-aeqh`#0r{u~!x4-K(D0urMT7*37`) zfty0R!>fWDjguguQ#MEb+XQy-)V#`bt&V2fLo zwSDE9?C1XU5U6{;?V5Ai=C-Ez^q|}SOU^cbznuFuaLDcH`1jXWEaadqn00?Qxd>z0 zOo@s}%d#hUTDPama~wu5jjxI8fnztQUA$WSqUa_0JIx=ZK z?c*^>9wgIWdLPe{%Rk2V`!ar+#7*m6JrvK&kx;vv^qh;xOj=mq_*>28W5hk7cP8Jh@ zerAm4%vi?rLUe+^8yCPIQhkT+hTHW>d8|DAtrV259gba9{A5`9nV#o^nNzPufH*@LqUH(OoKRL?g%mi zIs&ykH1wVWw6@OF`~*5vN%wJc$fZ>xd?_G6|2pT5yNjPkv&FGiXYeUYr8e#r+`>Je z^Is}?nvRGp@X|rrDp7shMGGeuPV$}_N7H*3K>z2sOG;`LR=G4j+SO`31jxXiyD~5% z4xlkY@Kv1@DY>h-MlFAiwxNOnV-Sxpp8`A%v&Si5f8?w2gkA7^AoQZ;gFP47TmOt>ee~oS$!z#v*j9amn8xleB2 z{j=f7chk?S`o7&z=(t}>m&I3nU0`Gs_nrV)5&1hCRzHamA&h^V8s_&|{3UkpW4->u zYa%#isr#8_4SctEt7;`v|Dv~QZ;UzpZr8XZZ-)NU!;dzkZ;-FRzsFEuUz6SG>3`bu zTn%&)5F2-Od@u;jX&c@Wxm}+_h&|2V;uXX1q77QS*GTS00O3PNE@uwctVtz>A<(mK z3P}=?&%gCdMI?WyQ@j{tni6Rv?d7HHB9A?Q@I?Dk{ENsor`#fo0Ssjh#5F%?n@>|blte5}9yfIHS$ zy6**c^RBlyiB?>kt`b6)$7i0@{F%8N=H_ln{YvKhpw&L=c-p<=W+o5^is6=;WFb1>2jLC{E9W`{=>ZHCxvW-x(nP` zc<5Xdb3%V1Vopfhm2m5UrKImoZYCj^OW2e7&Xh2_UsAes0t7l*WE>eepP3kOkfLO9 zaEQ53VbQo>Hm0H8+tn}9*+z?J`I%MQjDRZ@=A#lA<3*mXZBR)yC&idMn&gE{4!?Jo z2VM5s714v$y&KCgmi}JfkTKK~2>PdR1-XJl>QR66IE@AhX`S9;Zf!^Ovj@3u1SkEF zM8n}I@o-RX&(16OTnBo~%Bl8Ad5_W)9HEWoKH6A2F0Ju8H0Q?Te5_~o6I7*{b`8!OVYyOLzIA%AY9WBynx|7U;9 zsNjFje>SMwv>pEb@sYUhtyAcLV(EP2jeje^dgbH!gRLB^K@4Dm-4}rJbZ;O> zlb^lMO6(5#)6wvNzkDt))K@=*MBxKy8>v{*Ntl?)=ScYYZcxvPd4E9GA~$k3I2BSp zZT5{XTJdV{)i8u2aVA+$xb0jB%$HBdx?F!p{xPzjWOhjzy!W>yKgJ-t_&NKt+$YN` zT*^QM+lBbhnL@ZisX#q$M!8=+{^$_y<9cS+=n5K}1!v(vzV6MaVI{hI%XVN=x$Z=3 zWKg|LIt6(&u_vm9lOu#enYA7apHNVc+T3s%xCLKv&|9*pe*?F){-3(g5-a1 z2QTTZtZ?r+>p$y76vK5*Lvk$6M%gOrH4r2CuTH~+0HzbPP?n*)Cqycj%+nDAcr;xC zxp4T?^~iZW*TO+^dH-HU$Evpom%HzhgJ+xYKck?7e8GKx5`>ekr(BJoxE)+b;q?v5II+4}(x zXif$X`b$3ixvj9z!=J`+5pa{bpmBbXUxb!+h?0z0QJ-2-*lxBn;y@~WF>Zfzz6J^{ zXX%b1Jw!TzlxvLk^Y?l{Xyd{k_BF6}?}J|y7j9RSfZu{f$z;D5IJU0vd&(aR8F}Ia zTLfx2-OfRkmq$RIy0a45HW;7gY?eZUGd3S+(dq*U318U^ zzANE}ADP5Q;DAv0=qEzfY%Sb-))D*30w$8y=hgLqLgGE+-Hp=2A~LJJX$h)+5I(o{M<(a5kgb2MGd|S!;67c)ci4Umd&CWRAC;BKefY^Yvc z)WMHG8Wfe8WbAo4v3ZnyvTp-_?#cucLV=22e zR1m$Pds)sh)l!@=d*c;?+d9^G(zn=Wu%dT5<`=q#1mJE9=FzcYpzLc?iy*R(JD2;4 zNEfMNHNh%7(EWdFB7@bYnj+Yn1NK3d7RdwSzm6!MExC$ZwLxL!H1$P3xllN-8Qi?f z1=RI8mACW9Uw#G^8Vx|~KtL%DVhEINXX1KZBWD0Ko*T|9S z?KL)V*+_q?J~rTHziBWQqcC>1fJMV6s;diEqeqHpsp?gC{51Z1?gn!BJO@i`5qv$x zupxE6Y6JOuPP~UlL%bYiaXO-H`i}s%Ddw_)0JdGujsJX%jQE|Ty&Er>EUU8rsq?|mzt5d$ zXp6PJh&zY;Q1V_r1j*owuMdv#_IG4bmphI`eA zgi%tHJcGkm)#Bd)_sK&fS0Pba6EBqZWtWT0jd_g_la%rOL$bM#k$#zNlX>>xpZ{g& zHyjdle~K}^!8%(XAJ!J}uQFwNp?tok%3R^#)_&)I*X~>H$Qf1BVs2xK%2nf5Qd(I; zd>31n;b=KBJ3!VVkb@Yj#(iXfwk~?%w21uocq;Yh$(PNquD~}%^6~tz7Z;~#Dtk*@*XIL+!UWf%H{yQH+&||yJhu7aV_+slZZWyg7X@>8EQ7yV}K#b z1p&IOFM1&Oo#x&ikz51Q48T1Cg%@u&Bj?8zHN9WWm_0Zg?Z;6Nh)3(9htFk|6V-Fx zO%U&fHJGi#ZO^ghF+ee219&%)@8ee%x^EkQ;EI`*PDUF6HCi{_1i{%`1`S9MV_t<0Pi?@{YF@53Lel{&zCzDj2A{n89Na~F#xvFgPl?=Dyy$m- zjwa7+sK4;-67RdbuwE=d-}&OXe@5_ofQb^vF$y;4hY356{Ita)7#-1IE4%Wv-VZP7 z-7dE=zV9zp&@|<9!i(L5k$J>Ml$V;F_}R$?Z$&??J@MPGGnw=d{jyFbvZnK3AO3YD zvGDsl(+PLp!TE`lG}dOYmQQ%jxR76eK9~!PHYilI&#yL|Av#=Hwz&9PM}EQ^W8P4j zCYhWF#L+TNRxYfcy%?#Yhhx}?z2*`7e{;RauCPby{Bawy%WV;+0+kmg1F|Q-kisU+yh%r8qr??G?tsnLKi1V}i- z&`H{B-#35&38s;#-r1e%{*(j|K2DrC{#XYt0<(2vu+77bx;N3wy@I3TY}9p7I_kQ? zBAIA>T`>&gTVjz*^wl6wSRcE0rNwXsV5qTHg#d_Oxk0SDmd4JFJ^7 z)egpJt!9c?B@4Mw!J!(((;UjwM$?w|%6vI%3H{tGUew36Qd-Xq%uP>j_T%OVvVMgd zlBnHNaRv{xBT`~!(hJ1s86ebXv#Au+d~@K+@hZaT6v}dWQ7RRHP#bxFXWH(A`M2Ve zbZc;uYdms>R!`3CuwFHds%%P1DP5_RI*6Bpbe2Y?2^aj#t_a_(GF*^Lom#@KZw_{y z?LyIRBGamkbQ*P{h0GQl1d1Q0t-=W5(zmjsB3;E{V2!5*v$$#H2J9v~SMBOb?$&bE zMFIA=TscyQ#%X6K$Aw0JDzRU;(@2$4v^oxyD+1(&_Hx(mH+E*5O$-{a`>M}diwWB; zle?r1C6x68l8A zQ`Ll;#C6=3KB$$CbEk+5IipqFnCuR?AZ;7LTqX#8y%)`vvR`z6?KlhH(`oro+c>*D zpN7&Akk*ERZ*7(;N@)!VSf;-&_8dFeXzhn(-EOH`U2HUtGhu_+p2z{aDl3gctfkaW zVo9;Ha9BMcp!E@aCj5U@aok(N)x$(^Yh2VwWeC&Ya*hK5zt9V%;cnDua7DH0| zv{i&Q-Pek9uHUzR%BKdz#w({^1$$^z=jx)4VT4-2Le|t{X*@^P zi0-&zG?BAcG@FBg*(_#JJ+OBjDi5A?} zitQ%IC~oc!q0`vZBF6rB+74uH*4V7u$=Q^hG%NhZM4I{L!04O9j6OvKz$$`Ulncv- zwS^tTV0hYpb?vsJ4%2l2bR$-u3~}mni#8Gt&-A<_!dtioro01F-f7#F^9<5CxApqT zibLnW9UM|ptF=KIFr>0*)L?619ZS{nG2%}85w6l{l_DLruMQ7Lj8ZK&5dv`CLPUbG znogfqIRwIju12>9yH@UW`QD7kxd(JVa36rOg%yIIEAn>cQDmcNr<$1h-}6d6YYA28|TYly9SP# zZ7gg+yRd#ijc3(d)D-b*V}7;esT@NU|4^bL}j z!D7wMEwmATgwxboDzw2wSOeILi1YMhiR__B4mvkW;;xphStl*Q?*wKyWLij0UdR}K zg^Zf7$yRZ0*fL~a2uWFPb>qUQ$MFYV;}-Ezk=4uQ#47XU1srQ?Ef}>_YHh7`oE+9$ zd$@+ZT0w&ZIg1Dlh3Rw~x5tCt1Rmz46>j8Q$I_rZLCOyVdzhZa>(r@mTyA=`EWbY1 z7mXCG+D?kOHgI&o2hWek-O(CVX-mi8VY# z+5Jg33rl2U$W(Fp6?HSqw>PB`n=2s(D}0}nS*>48F)|`i%KB75fV+MXqWxkTi8fCX zj5ONE{Gm}#CyYuJ|AS9yv9wPp1Gwxd<(%QH7R_9nouzSAYq@L{is;_BQ?=xO{&F;2 zr56Zlv7bqLHk%TWGi{wK@ySDcU?EdgJhofQvAS!|)23m`<-C?`Hs-}f6^2UC{*6~m zJc%&B;|^2c;CjZ&qe7Rj*ii6FtCU?<>;_K=`_@oz6-uLpHgir{#oRO+Ojq8dirrDZ zP-5X&&*x8FwHr^x4o# z*n}>0HL5MDjb>Fk4(4WRzO*`xF*B?rHr$w7rI_MzS=m6jKAa)#S#vE^i<}loCgWwq zdMs~Sab#~@R2p;TAt{c@vhORLdPOR*p`bQVc|`f_W?c9EXG%}F5@tM{mXXVeDI6IiyGhj|LNAS6S!HwST6R$}JF~ehpL%g5FQ2Yb z<%~EkqG;l58a_mg;J-^F!{W zX{sEn6(PZQC4D?{3PP--7EhB74CRLVd18D_@457f5ymipLUeOxRLJb=>ULNaPGctp z1`_I`QY*y_O8icYBab-Z=#P$#Wnqg|OfbXodU+^HppnY?o@=>?Kd7var^>`Z)=(~% zTLc0!O;rn$v!IKUR!ZWtK>>z#I)$=F5~ z?TvOo8kn`|F7~ITu|0|lm+Uvu0 zd^+s**HW3ymkU)_9}7cOIAj`#OFf#qktLU9>#bU;J*cOK^Hv?yy~6i%W3HLiPM}u{ zRe7)*rH|Wx)l4@zIFGSK-KY#<=fMx>dSW(T7^$^3=_;;>j7Z25rNFU3G*3f*X`Mgn-1*LR*l1_WthgpMV7MXeeq?O9~RZT7!ncfUB$HD&zsUf#ms;f4TBF7GTT{fp4TI|foFF^FK zSR@kKBx32lVt3u-$mXQ_9Jw=*BsRH$QPX~HjB-Lu8nY>@>k5n|=JHH4Ze|*_R%(&R z7LOH}Y-ihP6cfLw5fOrQU+T^6ED|~Gip~@y zV1AaW#zgsu_%@C8Z)7pr|W>zJ`zfD zAeb}Uu_$CA>(|oNu3NIVazPqL)>|3zF-zGhTv6=7$rxCB1O7Y6rdLv0#<(T!s%k{( z_uI<6XGF%ZaTQ0sq#4QQXZvG}m!X<}pYJT8Kdj8kt#UdM$rgk@6DxNU%1W|lBMafV zjpNDO>D|VWv2hsfQ3ZlqzSFGkP~;2i}!@-IGNaGgcA&&iyMPCbKQ9pAyG7eSMtsxxtkYfhSHu3HUlt>3v%r{czPU~w|x^fXFcqv?&V+$cXv{iLhh?VP=al2S-50QHH*d@tTt9`*$ z26h~gl9?1YMk@R!!m4a=VdUW186WA=y4B`*SZ|2q)3&ys&dNx#W>tEBDZLCQD2S$< z@oK7IulQJYS7#~)JQ^)YLx@_goil`71Ws~Q80;C+qT5O*9Yt4?NDJFxkiM@Rw=2Wp zQa^1bhnQNG*g>~4G3&dU=B)T0VfzQ-Bxv}#sEY_t>e zUG|t0T=wWTgalWK&*B0&tPZkR!hy8ii}e+DkC?|pr&;dG9VqQfGv0QkTx{6r8OZ`z z%~|(2HEh>`sPtIjVARuQYwh@ay)W9xRJ7h9^j~quKp3!!z(8q#F=%wH8mux*1T%wb z&Y9O@&3-pIPIhbg{BCmWX-RW1+*OCjjG3vAN9GomAH~6tk9GOXAUn)%x0|9JV?_RB z>zn<&*Ba*dNhE`~jU6Ny+U?3vcy5lhZJWysAij5*?skSaF8h>%l(1$(c1}YzV-{F2 z()-OyM!4GCo*5N?&5qmABG3sZmVqpC=wag(&xkp6R%oU z(wVJdT4`aMNN?thS;Pz5Y&W^nR%use8OEyaM?G`CN)M)H5ihH4zBoA6Vx_6D5T@3? zXQVgcu`-!WN=T{H@4Jm-zF!+BrBS+BRWlB9>N#+IFRhS+)`AXn$>m@rx?QV?L~?>V z{e~G=)53axrd9?;!0UmPy}g8lPMOeWp^QMxGCqBoH4>n9>&Fkd&(gD^O0K| zkteY=T9l5NBLn#aEOG5Z@d%R6$?o=32y^nL)k?<@!ekRkS91+TNFoPK4VmhY?-_Yc zr!7R6)~c0qb14XMM719cb5LDxA`V{?20ga1QYFZLYUN5fZt@kFgjQP!?4}=T{iX(b zuc_xUW|uiCGD6YrVFW$v$cPl)L=bwT2yy5fiGmep&LZx0M_M#1{TKozk9U<;u8=)2 zGq_^f<7I6%&Y1c>(>T?JSr9(WK0+aFwo?J7sv!TSo!Y9^ox>=@>D7_S@|o#ynOKcF#lBT9w{!U^^!=>LH#*3F487oHKS1PE zO+t!k2##Yjtr9`_lx#ym@~7B7$(5w;HWr72yEDri_)WKObevfQ{913bZ|4(nNGCuh zc2d<*O_BIh6ItMt{H)n1HBQnfQg6AlWNx{C)thTG1Bra2w1X_K3hUzyGB=CK)7(wg zr^x%zQ{uY{VspW)zO1#_0rn@?;cC_LKAkPP+mj&1mg_WID(?YagB^3MDzo)cD2h3! zcQ_y}RgZV8NFk^e$Ju<<!#M-Wtp{`De;tAz-DCyYay88Z@V&ov)Ngx z1p)y$$VIpqOuDNj(qlpLg9xB7`8`#)r47O?3-g^!a+}gPaX1nY!%}Rz zrrCBSD~%)1Zn=CRzljWL!**tz>Wp*As@BaPd8w8|2$uD1V=!vfiWrAc+DOA~WYj$( zZ2#0StzoOI?6rIX6!?~L*G(9Ia~_73j>u9^aY`T42EVax?177MArVdJwot4Uq zTu#e_AEm*(+FrC8l=xLO3ste2$(SIF#lDlt_*BrD@=B@1QGkV|Gd zvm~x;PDe(o+-9!VxZWUPuwp+8ACvet+terevN=DRwRzQD@5`NIk#VJeG&kF&1$E&r z&E3E}l2CSC4aqID@ywu_%Qp%&wlZ_!xV_Y!Ua7^fC3rNcf~Le;wOMV&3*~#qk%)Z@Al~xE*+w4~kMOokmMykk9b_KSN=)A5oUAG6z zTtgVQwB=S!^ont3oW%-%CkmTpM<$#s zIJRin1HG$^*=35az^YE08~fZo4ga7XGAWpFyPES|LG5>j$5yjhwS;OXEp-RYbF%B{9s*in@w$)FL;lFKgnwJA>L`D5j7$lw%voS}Ow|%65My zp^02))hx}pLoL349wx<+5i3ruq%LfFiHch&3AJW7gBS=EWHb{;42*ZU=E)JJ+f|!a z+iERQVrH=D%}cfNPHO9?l%O)o0NxsLC=e38Q=yzYB_eCKd*Y1a#FX|!iO~y;c(mf1 zEP~te%S6}CfDg9d$>Of_X8oY8;J95O05jUBs}`r^ma|lUn-d|httr;Yi0em=gGn-< za0+Rp@?y4d1U)+7Q@nV6v^_N?6Fb1cGs= z+->(TTu6#ohvf_6Idq1wV@ONWYGclD2(=-{DiPC#x@x#YoKAPUcDs4ABUrWNTu#po zB&0}ZU|tA+!Pl&Q$Ssx-iVOV#KY$ivu%FlW;}yb6O->NWl?&;_qTb5KYwe1>R1w5{ z{7QL`b85)v!D-7ZK2~3X^+b+>AL;r7@_s z-OmkcB0#FxZCFO$N*a4v(#D`BYVEdRb<O(e)(~rSAnwX-xzic7B{jZ+^;|-&4N8gACMy+Ykwvoy zv*2QX!;Qftrp%NZ+F(|m>yiaC08_Bl*=jROIpzAcj|6?aSh6;5NS$LoC(dSKttZ1P)aTZID(vrq+j#pXBI&r)<1i?W|%2q1Q1h5~wZ{mYPhO9X3_u zj2=n*EtxZ zt{}yZjgDF-lH0B$y%XPdYRMI3bA45BN+)%u7y7OJ@ql=3ll4Y0yX_SWUzbcQi@?Z# zDR4?cD!DL=bGEPX&B=Ox%BJB&YK>#dZDAcdIZVRcBkAglgTgBkXDUc)dOSpsbSD|H zl2e3jgWug$SM|BUT8o;K8%z#JP9VV~GCQ#lMYdBZKp9ei`Y$CrwRk;;2x0jhQb3k= zNe^IR4dfbc z$cnK=RJk!WebVd?OX&pM&iQ4Jt@S0*DXk>fDfW=#zXnz07B~0hXbEb$y+w z?Ix{53k7Yd9XW`iXeae}ksIRla+D_R6 zk}n?E-B!ugNj&{*M_A3$@#;Py!0{weUd9pQeAG7%Tw+m3wVw;YIgQ6mQbvG|4Q$pD_H33| zrQ*ZJVUeGtk?KGiBYaeD0u&-f_A2~Gp;X}~wGtF&!#lR3hCZQI3WJUQvc%vonTgKcJ^$JIO89;YvmJbbWp4-7)r93se`bI96jdFdoe zTsDcUV8!fAGuH5ak>t&PVl$|3L6jFHZP#BoH5<_=bTg+nYBZZB=Iys*w$*2w>4of%p=_AL>L~|jZrEx7b*&~Df0+_)dUrpC2`aFp$BtM zr?iQ*${9Y_Dk?q$g=Mo%Z z=XKOHa?#J*(}=mR$T25Bt4X6`7GbZO2=g`E!z%Y^L-3>R_;uM{w_W5XoE7@QRO%w6 z?joNNN(%|jAJW2q*fbMeqXaH>Y89I>23V!j8wdW%RvZaR+vUQvl$Kxv3=I^rG0C;~ z3`(eUGO~sPG-I}snSm))(~A_cd<|m#$tItH$$I3J+wt>0Z(Fz`ww>n8u=@!2pI3*= zQl>YxnurZ!_N$_ph?V=j4R6HujdXXo6P!r8JZ_)LxaFCD9pX|56RyatwZ>knWgJWaivdV%1Eyx(teA}XWQ%$QMcf+ zo9-Z8%$~DZA%`YEYc~au1=(KbG@5V*hz-r1r55Wc3`)m?S!PflRr4L!DzA`4 zW*iafuw6!!^}%ANW!c=4fg93vkw5NX%_Y^ln-aYIdZUbMu8$d2PjmJ(ellj;qpkK> zRhqP8)ppU95zWQk9yCrq6g#HOw`2C9sSny^q?%2C_t$(qX=4*LDN~Beon`xkY=`ys zGLcuzRi)k9R^_EQ(O5`_6Ir&JFWXh*b9OS3M5$5OBf7`IY;5_3G}F>+m}-yV4!nwu zD_S$V?UbfmhCyEARxtv5f5lqHkhZqku_oEl$&M5w-3H<{4Nld)jo6;BM$_Se$+YGQ zC{?F_+gGPnf0@Ox%w;#RLZ!AlS%XNs&7BZ+=#<^TB`OPF$b^Uh*U2KhzqV-L^vrPl z*9!d9Rc1-40k@9BVBAZVT5%@Qw)Qz2uJ=%N#v8&iJ?j?SQF>}xW4OFdas%kkY^4Nk zT9IGaY7H_gBXyMOi+$5h4S7{H+Le-1clSq#3s22h+CJ=gYr(?VK&@>v{8ENCS#-*O zyUJ0K5X4DAFydmvP8x~GavYEKTIH#fWVa zJyb-y(fyCM-sl@@CWO>s-CnH&b#;h)*UpWPQ?h zf>4(Cv3|AZ4EI|nw*sGeifNTNLo(hb((b5zIziB57!e7{O7bRKMf`EIJqM#J&eTz4 zq{|a!;@IU(N=_?VAzPntuPfD|Vxy82fX%(8Eg=D6XwxYH{N(AWzp8Zm)80i)gBFx-KX8Z3oFJom_gR!ed};8LfDBQ{nZQaO~)lW<5DDI+j@* z$4=RWGU%K(T<>5=$av?*R_j%Nt;39L z%qC*sFZd=qgoJWAKJ7bPyeVX6Is|l@7Ln=}GQ=T!^LAb8GQD^S0z)3@KZe^(M<{0I zqj9p5ttQ|OlZYi-v23I@a+b&vvxLPyFIxJpiQG%w!8R6=5~p>sZRAsbrG6J7=ZdnL zm>`1F7HOC(Z@lY?m9M7NhD6Qh?C9>14iV`ZDi`6%#&SC zR1~gwfa|^1nrBR5uJQAKDq1LTx)ARcbT(<4+iH9%^QWA?$h!y^!NSF9oD{~hDkB_s z&_dyAA$fHSv)6Utt%Fp2%T9JbKPHu220G9}Da+)fYMf6NLrc$6%1rBgJ+1g8_l5`9as=2tP(bIZZPl&+6|^GU)k=u+k&!jj*Dpw$&?g` z_9w8ZKxS>@v@GU-#im?J+K~y%OybKa+$K)MnI=6R6eZZaW+W&Ac!ssyeTS_by8S7% zxXo$3Q=0dO#(2(X+qyby$Z2uiIJMhbryEg_`$;XEL#rA=KB#((9Sl^qI0fCS!@&W0 z*3*?EyGz<|=ij+|QOIYUEVJNBjt%&)jLW_0s*#jjXv@KWp=9IrS+zOs0b&dLPFL)f z5zoEgirwY0UxxX53K4|19Z)SvPKG#N&BDBKtB=Gc0u-fksotu2ny=ZIb3l@eBS^MX zPEF?zIm_;xhWr#lw1hrfY|7nQX`9YkNcdoh{gb}xRS-V;;54^OxPUhoNVk0`rjaVW z#5qbI*`KX{4&w5R5aZglPn?yla)JrbQ(Bd0+O9V56c+0mOwA$T&y?Em7~OFR4%Rr% zD%&y#Q}_W74A(kUwqv%`KEjBoZ6eKDLy?YQ&ED+uvz!LY2-9+_1pa;T0W z#XF@YvYkL&vJDKxa1**JIK*vBHRlJZ++`2tVkQfJO>cFbmX6Y?Gu$R36V)x5uG)JYisR`7nE}{IN+=+3r-HW2wP_z=$RY?07dP|8e4|u6&9scuJs=EY zZ=uZ7)5&oM6R{cO#_Mab~O8(P)HZ23dhaw1&2d zh*rseiP=fX{4fGPo#eLf^3Z6sTY7QbL%{DuscRvuGcsf4yTg)Ps7&&3T#IGqu`)8R z=p!Vw8(CH=5~*uye2gH|Fu$`3${{07;9V*pYioeqRLLhjtvM~)V5pTAQ&Ni{`9D1{j22DzLk&~h_7VWYQ4CgD_uyHXUK|; z7){FwQ|(FRh1!dy;Ce4Ft?p);Ur(jXQB+07>7?S0(2}yaw-9|OpWakcHF#U;he8I1 zKht?K5_89y!emoN)qV|0IhIL%KkXHrtaVBy*`v6gwqwa|1tFFUgR`0tObo_PdDZTDhgd z<>qm|zMkuDevK4pO2(dSwfUyEKorHAXdoW%UfvCo>|pL92|l8G9?V=kUc+eDcDvjx z?gzR%bm3)Jsk)J7!CoV*^S+dSZbn8sgbrW9M?gK)k+~8XQk%1=X?7d69f2@^Vv3j|MT?zSTRxvmrSd#HVwYQEha^5qPJ!DWtSDN#9)ryS zF4i%w|LL+f>?1|vT4Yz*3{qmvY*(C!Vk{|-5S8D`fH+2+qN+2il@6*shL5u$=3xGY zm@w0wbtu57$*tI{2?O8tzJ?ruOB@qnycW4d=Gb)V$j(-nSGq`lT9-Y+L6ObI+sR#j zV<68Yl-6!CnbOC|i^my|#O6lB65?sb)`PND(vDmanU&n!iNzIADx3L4mqFMEB&hB< z+Q8P12*6+7B&IP0O0v^KH8n}YTw9j+!gQHl9S{WD-ge*)iu`>`CA~r{Dd4e`l6LBe zgxgH-#fa8CZP(_1*oh~k+_qk8swd=BND5B5YPZw7$ihV`3m8Z5j8m$l@vX%iivDd% z9ZI?eha@>6fIv&0x>Lx;w5>9(#v7?4BG@xVHQ7642X?jTxQ&H0jt^V2*}jZCQu)rh z(}Sp09L0CgJv?0t@o|9^SLIokYfB+Fs;)FERQk^|b z%VqGag(kvq4F*y@>1s|Y2XP%@#{$zKs%4pNB&LZ%tX6L#;`Rp8{;A+1XSsez>;=(b zcDX7$XifKpp{U0#8?wmVf+=XZT&)5+We23xX}Jo7&xuYgnM4wP1OT3Hce%tM3sB}) zQ!SA$mXJArch|#!WlloO!JcF%wE41rO!F(%?6aA1y}wApP#@0h?52NQcXXpy6L}>o zyBYovTQ{|%0dtLhGLc^+jK7I6w$+wxnXycz+%HX%PBNQI@A~U}x*to85R0u-8}DGz zo9@hpV!y<4YFp{2wLxC&4iNf_WuX_FPUKAw$sFu|oty4EE!e70MmnSBm)%&UX_Ybu z1fMP-ru*2~#!q0{nCeO!W~AoaHd5l)8ARrrc(yt*jeV)XrS!FdTw)VCd5fKQ5&syWu+_lD$Ahv-_Ew8+}*)fx>k>z>@L5E ztg`H8QkkwyG1F2zV!!9^P8l#CjX@c~^Bem^#A+kJ0SEQayg5ViOhjxbw&oRAPAbDO zaa&%MBzeCk8g5scwBxf(mFqfSD7oUQFD|x`bxTQDHVn{WLs1)6G{`syaO@XbovGb_ zNXCnmV_(^Fg^p;;h!&DN2nKxG#NtwD!!3KC=^Tt)Z=2Lz1ejqX(sW%r!Jr|5Y&$$O zQMuh_kOsFoaJC3P*ac%&Wb3Ew0f@3~h_n8F*6Q#HXgM@zKg?HZQja+xzel1xF}f`z z60LT%qO_YHjwKnUVEO4N2E$xd@8Y0;Fic`DiDuG8iWMYTW%BUDRt6aa+KLr3)~?>* z#{&dB$RD5^X%^?3RZ55B9)!oO1&VB=vlR}k|E6yRdjg*%vtDPigoDkZ7)8SYDcm@&FnsT&r1;nbeVBB_?tmJSg>ke6iRZ z##7My89sItmy+14=k#1|B;;3iDeY#JL0>yAaOFe&5$hoVNIu0bSGYPI2vO{<5iypA zh)kMDq@avuFydOztF>;W@3awr{p?sRRw4(L5x3lU2X_1fK0?=PCLEM_wy|)r^OY0S0u@%^vp5?7(E`vN+xGy;+5F0!Df+7!pOv$ zYOkmO*}1iJZ)A!KChsILmUd*hJ8mY^raRd(v&OtxfZuR^BsHvdY(9lx1s*-=LZ{Sd zZX&fpTUt(&qd2nHX3hG4u(-9apH#^Ta>$cW|}YVkfgr1Lq^^<;<6)ue#35@n`I~Ej5}0R zq{z`boXAGn#~32t3q9x=N;WbkF4^KXrB__`V8^NlE0a(L!;cC5>_l@Y+8$ zXZ;2rf#Ypuk}ywyTy|x|xd_tQwK9|J)?Uu52iPg}9C3(1vS4yF5&*WDC>WBwXpf)> ztSJK|cIYmUpv&&2s*|j^(Yr{a2Yq{d0u-63<^*Y2hs*_@pV}ZU+SS5FLr8w7-z{}l zQhYDKF+@zw$80`b8Q0r&ICqqWMva?xiglxe#F;JFzMVRMt7NTxWa^7agdMNeTBB&m z6(hx!=hb40GpEB@c5S5KNjuQj&0}T2cR@TE2sEADHjbU#wyz$w$~ZDd+NEtBxvX~j z`qbYZRtB_;Y*Caf1~Jr;y75q+&yBGLkH&JMFig}Vwy|wn>mmFqgqK+3L_3?jWdgl*WX!%82=0>^F^wn}C~=(`IV1oV9C= zV%10o&XbThED-)|F_&veRj~WBK>=h%yi(fYjuK#n-iCwj5V{hU>CCnnq%>9JRmDLx z#KN{}WVC*P6Eaf>K2D8vlP`8Em0IVx;hXDpxxdPPcLn*Vm<70E<`BclX_gS8xV0PZ zG#IM8+;L+GP!!~o%BEGd+*4{d*beNr>ZlIG3gURdx7tN`j`!Tkwp;2~8nRkgG)s+A z3c;iGeWVPp2WHrAH8$I(R#%i%pErdS2WzFVajYa*If=08WsO(U8F(TV@mpH*585ZYldlereNL_x|Z6}Lkp=3-O zmCb56nQvi%RkY0E*j^ zlwNtOxMtnNYHmh5qyj}IV?VzC! zo3Q*qXya*Za2U3VHH3a&caVue#zwXppasp!F*QL#sAFeS8BO8dnOw|aJXf2FRleaU z2&{pC9eq`G+Obtdslv(DG8?7-KCv-iKPA8|*{ZAxT2~yTyD3q@Jwri zn=qII2eXxV)v9-d&e9RaNZEy;1Shyn6)NRp-P*(pY>5?w{!&7G8!eyPIxHMal|rU_ za8?zYUv^6-zuXiNM0=Y`BC(%gbl8->U4Q{GH%RHej>~;+wy)It5T~(6?r^R9L3Ipk7ySb^D4!0Oa)Z%C!nKC0ao0zv^@q#$g)ShwJ=0;LKRUS2K z+Z>|u?Tg34c2L}`ky;^z6l^RM6Yi01yGZ;z^%p&bH>hNyo)giKMYB2JI$F<&QZ|0@?csmz`d2YNDZ6p!uHP&Su(9I!UODwal z!|?^)D4!xD*qjUv#GP4xZ%6!zFV@udEM>UONdu>8JAoU8F>Vl*#l8}+R$`Hfz*|Ll zT&G6mk+w@G6U~G%p2eK?dXK<=Qs-366*diJE+cB&|QS7W3gYEQORr$5okn>?4Tc9R<$NeU6?NI9Nl_@`$NwS;8y z`_?vdJe*b>(p=Rc2zF9Tq|PKtImAtvLOqeNk+5BhPjqX|rx^tjEjznBA!>tKgUu?E zEou3VKB(GUS6`%mnxzdZ_4JWy>?0!7VG+cr*=@&G>bR>Ti5uJ9rg!oAF2Yn1RZ7vf zr{qdumhQL#Uqc+<7wt5P`JnB2o_)3jeJzIS)v=A|AXDIgcOW4~e*_ zeeh%CbT~zijucI_Kd|Ed!@$ruJqmM2MS4;dUHmNj&7#f|T5vuqx*(zv#(%OzJX(sr zdgNTkpxu0b_`kk=*6hzRDt_kCqs7_IXHHnVwuABL;vb3z-&u##ou{Q?p*~8fhV{t1 z7TR-4Z|WO9N)Ccx0a;72fL^YFA+1V{FNei;~p1VDO}6#+}|qG#FB)W05d zaZeWQn}9f$DtCNbss_I~mn5-7 z-5ni@rs&?HV*clbZO3w*bEn~U&PB*>EhRrj5`~m3!(4q<9RITqIEurm3V&6=(%y)% zMBwLts+3K8xz5$W>9A}CP+b*uXpip%Z911F+v)@In*(sRSe}#e^ZmEh--oKym+HjpmNjZo@2<@w!X^W4+j~5ME=LY>YEMtFN;>CAfRMjVc zplL?|P=6*6tUoRd$1$|0S7`UTp}&A>^=q^p+ycx^b*~$E69tC~KbStsesQNz6o1)p zx~_?D8fUG5_$_ZlpA+WcMG^bjMf-Y{MvB|kine?MPc{nxkoc{Ty)`