From b7feacf7f39d79518e6ca48a9fcf697c5244b585 Mon Sep 17 00:00:00 2001 From: Kevin Pouget Date: Wed, 28 Jan 2026 10:49:40 +0100 Subject: [PATCH 01/49] 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 02/49] 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 03/49] 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 04/49] 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 05/49] 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 06/49] 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 07/49] =?UTF-8?q?spec=20:=20add=20self=E2=80=91speculative?= =?UTF-8?q?=20decoding=20(no=20draft=20model=20required)=20+=20refactor=20?= =?UTF-8?q?(#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 08/49] 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 09/49] 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 10/49] 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 11/49] 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 12/49] 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 13/49] 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 14/49] 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 15/49] 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 16/49] 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= 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

e``<*s(U`-Q@ntf4aB1sBX%! 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 ?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 z&Jm19WN}Tb?0*;9t^5`9m$1$+ePxv-+m7?hz(e>>aGb(3>5sq|X}CpMfC4S(nyE)W z{Y1voih{j@JzVqITbPgB_s=O^sNWy;%~#b>|Ht}os((js_|J>8+@I`4;m-^D?3n&! zS8~g5zvd5rR@)H&dHo;y|KGP4_n6e*XL%**7eYf%sbuY+3|vp?t851NmgkqRvT|=v-~7hETp|C--TW{8^V{L| zn_#_i_N)HL>}SuaM)SXZ(*FOS-@2GH?DBOe!G5~(^X!waCqPyW5@dE}_xTQP*v2*U z!Gl(J4S$A;*83Nq5lbyAPVVMy(``!_*(ti{J848t$>o_I7rt}oHsWH5#hd~U- z1Vt5}l9!0{RD4B@01%C^do&CU?KTi&Px~Qf-l)Qo1-G{bGNqozK z#&$|_Cl|fYqDq^< zfPY;iVS;#4BF-Uk6ACmxG_%*pon~Gmn<2$-_!6F@rZuuvyuB4)dKy>{HpCL>?E5ev zPl^Wh20C#ciXf;G3?tQj2)2Y8Xraa(UHi_?4wz$PklrfaAd&+t z25A?-uHXZ);qacOTYdGGuV5z9=>V_^t03UqT2f9#^;{!|1MBHzr89JzWE8T>BzVUD>K>`v~1e-1a7H=%;W16Z=YtYjIVq zf$<1>!{a!T(TsW{x$jqfaWhme35(#%q56s-#O@vhpdP*K3H0E5EFrXRPPlAvdin4<)_-pv5Tr;2c*qw3nH+GWX0OK4s8fr#2wO{izaW-$l3q`t zQJ2INP3KDTcj^13b6j5r5#)y`@i{9Is013NT3*(dQMH_icNqe*wa(9*XTi)zG81^J zg-z#%gK+fJ)5cp02PJRv<>Zd|W0TqgF_U71Zv|Z$%q|xQcBV?&w|@;H4$p!RHrDu^ zL~%IuU@MDj|8I@&u4BJ(=EqX;%h>mIjjw}n@uk5{Awa3$c&8i29jeyFp8G$0KP=2G zdBwAvP~!)5(LDbCauKEru=N6@Um(qg>o^Sb05G`Hq0ADQG1PD+`N|Ez=q0^82;}qQ zm7nV@Co3xWd}sUjsDI>TO(iBRi#4;>v+No(4eLt~?v$HK|2E!6pQ)5R$H?CzuV+XM zq32dTweEPLpCXH*J-4s?m?xg6RzA^Frm98yvXHV=6sOL#icV?j?F|W4-UI{G8I3>{ zQ>%K8pHfzf#wllBpf8WTF!f>|8Wwn%Latqx%V#r9@p;w4pnpPDfGw;L3%Hf-P-(l7 z{PL-7WW4DxFXDf&E)vaZ#)NV1qC<`qfM~gUs`Y>CU=83){?2})8 zZ=%pzb>%x=b@&?A%(R$~S!FdPj~Qzf9xq~~z){Ok)loz+Tv-9jaM4PvF~ggLA`a$; zR#+Kkcoh?0Q-48e9tw5jrgTLo?y4s@QH6SV&pn&M2HBb_*@*H~L!|EHda}KZBL|Kl zoSM*DO9G!lBL$#YtrrUxv7+74e2O-YUgC#|Ps`WFt)^%mvo?-Hdwo_6u++UOaO>L5I)A;#+^O0s;ghcqYqqMsGSsaO z-lJM9;d@P}%KB%c9sLAXF%;*yJzfjLTo%M^U+KE;3A;k3!@7Fz1G9>BhIQ557gj$) z7()58aDWJ2z4RW zqcr%hIrE3XVy3EK%3Eqsm+FUGR@dCHeyzqf@x9MP5lK1qPztIWIG{6~tagM4=tV`5q-G6g~);$eI^$QbYtP#oZBW-P+Z#10F zMQ3Zwp_3qo<0yO&#C0F0mAU*7$Xq8}6>JLZynP{IQBEhGKqYp!M z+gy?zi;Beoo6=w$!qP7{b*an(0?Wh>qJNY<@W9^#IN<3QQnia3LcZ10K)gQ53c%}U z)1Uwtx1Ad^UFj0}8LhUEsF2!H?I1W=Rwq&)rAs`A94A^^)3dgSY0e_dnMZS`*YP5k zK9Z`2T_l1Fr3)(>ACwdr3Q00x?*twsO@0hgSi`8K8wiN;b3&hfge{D1uGBn(JAWKU zt$@@41Lw4eUA}=a*497IpKko);^yJ|dK13=IrGY00uo<*VIVR6oV3QjgqG&?&{0W)v05QBFps-+FDJswjw6p4A7sN`q1 ziJIQZTeO3=#xT&5$$?g8OJU|)**W%0L>uB&_Y$*`#phDYhdzRR$)qsT2?#RjR{kN!`N?e~tBMlPYkOB^wdb6yB+!dru8nF%O4}pJG6=z$c#RkUeQLr|w7pE~> zpg)&B4pSK}McgEGIFt}PEPKbSG1{XcN(B1XJS;VJ2xD@1xWl^Kz4aKUYcWD2zTwVM zG%>-9h~hvBPLKv_x_>|)sOd40d3X1Acb;?~@9ytHNw)W}`*?5v$@U{eO6+zYZg-(B z>+U}4?iaipU`Z;m5=qOA08Ffhfj9H|WbI9Oo2(Dlo`>w+e9+y$Mcj+S?jwG^kk=!6 zJ@_YLjttxZ%Iw|_sLT`G?ynCzyN@4Y>Fji$Jk+Urx&FwFq<{WM>c>6TA4&c6n(L3G z{^>tm904vu2BUri2B!L_sDEnL4+!a)zoZnG$h*lu-SiwVhVeH(eyGFun#Wx{eyk(> z>Ze~l{_a|QL@?-~qlv^Q$9@`^{WD!o{4c{`Oz1V2(F@b4!Uka)eKb$?LzA%ko;=>$+uoI`QS*~0y6WBC?e62pJG&1bs;YOpJKKA^j~+kSy}N3`PtcJZBK}rR zfenYiA)@HOEB~?6L`+Hq9=f}bWw`*WWDpA+eEyA>Ab%E*P0VPrB3Q>lAsPb92deMK z>|SIc9tyMowfsZ#y!+6+DDFSdA6iT8Z3WnB@s?C>{De#xAjtq`*N51rGk8_gHltK* z6JW9lw%Gi9B0)b@On}Kc;<{ypLM{XqTdv5oy*{&I9R~dchtYP2ojJk{A}HaQ@SBe~ zXUi-)wttBi&Je2%fDed*BjGsuU`fb~o}%scNJsA^Gr+h9lW<})_*xPpqZmOSK@U)9 zJ{%Py!1p3&T$S^r2imqGom6kC1MYJ#05FZlJPw^kdVUq-lBA=|ktuEIkdXhv4#GyK zXnP3f2_lP(IYvI{Iy@Y#5Ybjx%mt^*#u<~ZkALGv!W)mO)`=b|Iw847{N?@MRLI|6 z>*k6QsQ0{0{&glI*Yh^z!XfvxD1@t60y$?$FW}-p&TEN7v4;>SnQpiQ-W4A$-M`Gg z@H9$9MZSC=Q@DmSfGQE8?NsbJ%9btpGcmUSn_j`-Lg;GgGTWWe#eIma7CGJPo_V?#<>T14=6@`pUph+^NUqvbEpPQKgG zlU4>aj4-l6!$?H}g{l>ZMC*_Mp-FUjtbZTAV(BOgUYHswxumFWf*w^@q~Nb8CEev> za><4O>Km|FBT(P!4esDsBFsWlZ*b&XARWV)c?Is~mh?+<;$SOqDI#JVME1m!7>}X; zwBBLEQC248all{@AXOUgk8vd}%kiz3RLR|Hw6-=nBuA6d8))LkhX}b&X+FR!s((Z$ z2p_KqbW-*ic%IRcXfCzUa6cv<=qq7@-9$k~xMqg~@$$Mv_^{*`1{DE< z^y>r+yRT|e`(z$R;K{vHQ@IoxK-Mkta`FK$>vXJRPMFZgdOe*`vi$6^iB6$UJyVYC zB+Xe!;nc~lN&;3ObC@oM4MCOgTYrxBjlLEaJ zrdM@SM|CuSr8t%<*V32;5Vl}S5GO@usKX_LN zV0}shweHPPV}-DN@E~B9B+2$(LTC^gWw;9aFL3D)5U@P=KZBb8@ZGbg6n|znmrlM^ zPrL3z`OajeFbGyi)h-U);&P)-fslr1RE`# zP@+}S$0cSF5Y6Ti@&^`EsF=N*5FM(V6&mnvHV5CQ!Bj`22ImZUXGVlT^)~=1LV+8Y z#Q0sv3KNA#ka?kJ=7mX)Uw@uMS(l~f`cr{{8%kJny>sHEzAt0d$Di;(|)c9NL0G1jC% zHF1yWSO}SDuRfs=`hWDkBfZ~1Lwlf#D}j*lcO0@%6DMOxs_DoQvOphPj3A>$+SoFK zq>RQ{=201i4gv2a*Wo~7V$=_*$b?mlC8!xoSUr{m{FM$_?kNE}<5)x~&s>l-yCpNn zG!Tf~MeeCQ>`#s+)eGPVKHNQl*!Q716dGGxo06MRMz{rOOn<7YfH`u3Sv#7#i>gZV zb>`x`tXwmZy=H{P9SC<@dFp&Uu=CR`3ILW?+(-u~>m0cxwl2!(MjaUj4}>S>9N8;`LyCk4Zh)*`};~e;N*doWL9Z zEF$u&bwd*NsY8C@mb;8>#Iz%T64d^ zz`OU^A>N^?1&iW`npYd*%76;Xf`<%Vil+c(H!0ciHg^yw5o#N)TjEwZdn6}8xaZKZ zt%(i%hVfG{$TVxzgJ>E-pVSQVpc%QW9yf_RNHPF*I#Ns|kZ_+xTqoEC%6n&g?H5>B znbWw7}t~+os(&Pr#*x~`=6v@$N^(`*9zc#gu~do;%%J;P&45XG8WRwhydun>B;Ra zcx`>sWY0JoDpx9Kp{`aX<*}=kM}>OL!}d~W8Glik*diLusnN=`iD61ORHA`Mu~JEfX*MZK&%|sL+hI&Js;C@0mn9h?6xATC0bT$f=w2-Ml`6>hDx;1`N zhZV0W3)1AD59}OGG2Fm9^lUw#)HKMah&|Wo@HA#DK^0_Z9FKV%CNNkoP`^yE0+*T@ z1%D?4Od$7l;5ZE$(sWeHxRE2PTEMd~=BN_- z!BHWW)EypV(yfihYuH)=E(a3%e#p5V7m!fHxeR)h^WlZNI6Qo`)}?EZ)O7by-R z|5G0K0_vq()ixLoWVqA{z>SpQ98lL0?*_qxk(sa;973lJ*#i&`!wLd_$$uHs#D5?i zn-TLTOCdA}dEsCk1gS{?N>N}@L#PCQpb_;hk@QaGGj{;x zMBlseko8xbj7VIe5CpWkb9>yX-A~A0dC)*i~Ed8kYRpInabJF zw}?)CM-oq(ri{+*ljgK?jOjY154H0G8~H{yBos13l8tQiSDrh8kX}0e54CGhlh3rvc)b8uv`ko!y4@U(wywo$3ctxU%X^&=fi{kt-cqAy8xdf)8 zOMFMx{5m-^fV{uIvdg^4> znzD?Tz}{XDVLm|Y2oNsz+-e?yGd&wgG0(pibIG+WiLDX2kvxX_?|wGhDPVtU*%hRr zb9V~8%8XI8o~-XVHyL-39!-vFIfTFg@C9btM~{i#&y2H?wJD%oL&?yY#O&Kr;F>-Q zKQ=h>T^LVi;$ZR(ttfqa`xtKqu<0tu=YY!~u$4?|8g3Op^w1VWfwB07n@C_8bpG&1 zu~g#IL^I|Yl~E7IDFcxiLiK;y3OEXZJ&?twIjwuH(4~;K*4V3NMA>9g;5=Rtz#_5| zn3yZoa07KacrU=vb$@Y;4ywqg^%`eJ;iip<#+cj$@&qf{9#S81W4X+mSsp3y9l#Kj zI!f~$nj+xklc`GV^Ybrrf2{eW+Ub?++`y!H%ny$nMa=O5L97;;Z{ z59Ajl!In}sTe3ZbI^Ws_hOI8b`U^?ZZ(BMeA!%;)X*^(-k&Yz*nMvL1^PL-m1F?)U z^oON{DG;Oq@uIcMYql^F*9#5v)sWdOful5bwG@x_Qv6Nh$qi=}$|9tc@#L#_FmJOE zrtVZZF%P#3oeXul9&dj|FhJ9vS{#$g*9m8DN=NKmJ6G0Plazu*@d(fIr8_H$NBWdq zuz2us=_~h|!L~Fwo^YMQguEBjHC=+Hq2_@VuWE=c;>PwM3a^cBM=NRifv7MoomFOsD>fa2S7hA#67vA;0AI_T%jy znM+cqm*{j?R7}=>N63(jJ6Du3qK6ijF||k3(iLM#8Q_3yqM*E0RpdxC0s`enHM4q| z7bRV<6eU@RT?vn7b;6_7m>*Nm8|Ui2>ptVJEKZ@w;M>YX%KwX8k<|+E557kZM2ztp zjPe_ltr2FVqFaB>RN|xszpsRVh$RvZr0anYOOW-}ZPIu>EN)UofaP~2Y<^gT;xN`{ zfiH!=#e%Fn{n!Yf*a>9C?sNvA(;+yC@MojD#`LbH?MsEoEEkN`z({WHvmilUNME%6 zf@tOzvB&{fWZ~mVElt*`nPuUSSIJWK2~mY=h`At+pp1WNSQNup1OWPsVHdFyzg0q8EvHok4T)>9r$}5|vPTrn-X!f)yPRrbIUO zic>SSPfdS#Y#AzmRdePL4d~8nC|H<~3db6cHpH_YnKoP;1KH*-7Lle&$Y9GWtwN?t zFl$j+d-5;X+(nzlRzce04232xTR|`#uewkoDQ)4qrnZv4qJ(q8n@m3G{Pbr-9OuB_ zLmY)n$JgY>_(iipW@MW`{W+)T%UShm^5j{l6D)s^uz`OCp8$C`H*pI5-a{mrVUWzKr5uV6jPdtMp_5=hN?FEIYQ$9SqDh!F}k( zL#ls<=GVNqLS6a>xc>tJPdRTx7(u)UU33NJS-fN;xZq;Z8slr@to4je^EYJhL6O}^ zkWjL*C1uSBIY@)~ z6ePVWf~*PhK;9#91r||Of!xZwcc^Ac+<`63hwC0Bps zc|Zr3k7>!ql0A|#FTM<>u-!y1EL{XC9Mlul7fQ{idx2}!JQ2Vg!XRrudt?nXKS&M5 z1%iu52y&iH!8Cg$OsDM;xoVN}@)R?!nl)-R7t(vM0fAVCyqohu6kYy&0+Rq|6yorq zlInb1V*E(3%;==k5pIK?_``pLLI*aB zHCq|it?T3v7sKiLTJ3YFhfC3Rv$u#fB?~TxirJp@t6&LI6}}pw^}- zu)iK6dkwpVkA1diBjRPK?N5kT4^uHN2^=yWN>9RL;CyX{QbhC04yDFyMcYB~YS1Q7 zi8*eR^^;mp=1?n`Nu)I7V z_>~EVQZ*_#g;_7Np=r;n!uVhlpmHIK2Ll-VXR2)?GIpsT{6Rpi(+20~9}!7`x1Civ z5g-U7QFyG%vs(#ePf#O#Mww5A$tu2rH8z-I$=63}`;TQSq)dOGOuT;~7ABQ;niVCH zOF;~viZ#f3Gt*ciaBPU+7|*?2LVra)Bhy{5uH@v%Kr-EWAR@yY^souQM^f-Raz-}H zvLeld4bs`=%v9vP@$+T59wAXxaf)PUvWo!?8ghao=8Bbi!BPYkRhj}26IrD5BPUgSG7ST6(KMUn8yP7CM|93sVa$9GSo2Hz z9sJ+e@}G{IQvZ!Sn0*+OvAYT>2)e6i9fMBuLwIn|0NZV?ZR)4-^$jUEctzsP63J{y zTnRz8j0znHM^Woj4z_TqU}~9!7^bhi2E3rtWfK<6r+Rwd*|ThY?Kxx%(ZWP#&+OUEY)K()6Py2cYXlX&xwUAofRW4AJB6c4g+nQ57}!XJ9KCH+ znrGOKZiroDC6Msq(ljU7V;-EMNZ6k%?v4YqY+eo^+V}(+3tR|ioT7(0)1|7*K9^zC z2ID`NCo6^y-jn&35YmXyb+1V+kW3OiG)D-%eby(DYc=M5o0!7a%vMzb<-$81w;O(S@ zt2MKCzd5U5yg5kAr}l4}sA9Edx*(bMdCCw6Mxg)zof(ttfMhyu#RSNtLPJu9KEhd8 zrt2ikR%n02_P-__K+bM?utb!4`067P)nX3&xj6XJ8d&DX@`wzU`CLatZ!RfF_5;;! zmwxsvGG%$X$XID0j->C7n-ttPrkEzGtdhE1RqRB$^9?t3 z&H4>|yZ8-tPk=)%aRp0{k1WI16tuK$+~*LHm?$#Wvk`Ju`bZ-#sYw>GRhb9GOJ~*5 zCOLn33;}cS4v1e=^a6{=m+-UIWpHkb<;^Sq3(h(H7$WJVo|GRkDMN%JmywL!bJ)kR zZUxa)j947&=m9)XCl#+I01N>gItEqazf#gvY3F@4zxJ_|SD;90zbJkkAb0~MK)}`j z*Os!6yye0+FP>yaFmnb&m3_^o3COnx3Y&jPr_cc||4cNq7?`X6y~2noZd|r7e-#*1 zF4~V=8c~OUPEKZHEznh27mQid(K$kju!tP;Tw957!Q#Lizg#5u;eITRZZ_&_L3%Qy z=$w~7Hywmu5`Uj2!Y~1u2v?CWt_$Yb#{73SzIpFK$jdJ^)&bL@fel{@R+m8!rk#H} zXuw5q4+zEm)hBNb_S&$x-@BY<^1@>{kJy6Z!78Ef6bR5}Rs=0h2rW`b113|T9j|aL zH~!{D*YXFTg-WSni9UjBcr z4p?LeIW}A$9U4m?czsKa5XV8M1c`qaKoratP+?A|@ZTRcNRQgUq{DkELClUBWL?8e zj?RYAS4C%298vkBN@BkERg?gQ+~Hw;H*!}{GsvCYoynSjy-@1CrpfVHsxO%A*ls(t z#Omi-Tg?>rj94?xfx=6!FJ#pK>z+$;Y2;mOBy?o|0MsPTfg0#HkOIy`3V456k^;hQ zF61K|F$9S#24bj_TW~Rn9Eg(2X2@6!75fh*y_+SDkqpcH^1JEve4n_#MuF(HeTq&^MS zTX4)&bIwLvCV2>Dc-?qR=GuP+Uk);uWl};Jb?228V)A6H#C^mrXx~iE5qAZKt!w@f z8&Tjfn~Aeuin0$Ut4~UMinuIrc!V$&wjnU3Wp*UObp(@e*nu;IsF0Lp6WZ`Rf{q%` zj&^$T5t`!^ELMdmvSTVFTjm6YVC234GxG!%TCj|Uhk#VRF;&&`m!y9Hr^>s%$6SF7 zkvnm;*V{%o9{J?xF>ZL+x&ERkhPxxh&|mu-y5+AZ>>fyJZmxr_(v3Zma;K=28uK2P zBwPC8l0oL&DW;ed`(}JLP%tzZ)4iaawYjH2Q2}QzRNo^*8M3}VQ_W)$2M)A*+s;Nn zT6J2^Sht{9E)YewH+O$7v5g1V!^7USc{$3zAb(5zsUh)ue=UqUI|LZAi0yOWqg2`1`jy)RvX5H+HS$i z*m;S;=Km=mpTPcD`0T`U<}fP0T#q_e&J0)AxI(I7ZPF>9!C8NRDjr6L;~SlW;KIG% zfid{igwnHfZT6!dN)}i?Vvc{n~za9WlT5`1zWP%bi<90^3<~ zZ(;lIZw0s8y2nvXkLlyv+l`H(>dt_fL*xNT6e>IqJ?FecK91Y)11~n`tc6sE3HjQM}07`xw*2m!)9k3f;oW(NdPXLPW$4dvN`Yw$aeBiOb?1$X3322XCuRTONMAF}kl{GvwB zQ?D$krFUV#C`3?DGE#z>0jQ+H)cjp9%uME>CkXmbGO%c*QA2FDz!TBXv~e4xjXp^m zYe+)O7Vm$PY%U19T)Cfu+4#-{?|dN!;M8!~)npASD^+9%Z)H^m+PcCH(n4goJ1^Qd zUzDj_LDvL1ezcg15*J~F^V|(D6Xda0Rxyb0Yfu1{2d$g~5KsYCKII@xclDI}2yd{$ zHov01`4`@sS7dlvxv`vU-Lq4@sc;^x+Ehl{eC>abTP`z2+v37q2^ACCO-r!6wBD0<Y{-g|Y8|sA(c^mtR;tb1WU`F*gNQQABqYYPpQ6cnbnW zT`ij#s>%+Ks_qol_^OVmWsJTQ8N9FDfCZM1LLsVEdMDSHM@OfW^hzTg!AKh%>DENJ z{fvPTlsKsEo%?{iW@YQ~nVFXoXR%0>vh065FzW+Ev|n7Zm|H!CB$9P(h>t9?K>gww znERy;OVMhcQI0#7qgpy|$N@93)@=%{RwkWtDK_!`Lkh7_BKVY9u?ka+*u*F((TP3c z^WrUL2{|SL{sUGN><7=*>Gdu2gvM+Z$`nw<_A)66*HaD$&wwMDJxo$WqfQ=2`D%s~j9Vb@FbOz_aml?^41q5lc6*=T_xNQ@r*=C%T@-(mQ zAslAM*d+8PY=@G3r;x_r#6pyF7Iu>o57fKJ`Hd>F+(o0sw|Oz;W4L0nQwoAoHQC}- zTQ}Jf=7A=g9IkF6nrxpZJA|t*A`5@eWGBR~&}7qVOtu;dna_f`RJ|pE8ltD{(GTJ& zkWIbVA$ocek;_8}l^X2|MeiX4bxXpD?LdO&&6yupoFF826l=+IHeb&Pxxu^?{F&-R z-7sY5ps$vwo9u)vIqSfj4_aab0};J!SiXMp0fr7S!mOtOZ?xB_Qu+T~(lUzfp$Y)H7JmS$#YCKps#ee+{4`%O3+}HTTm?NcCWT=ri&a zmAr`ejDd_L1y0*O6%ydk!8~-uYY(ot(@68x%XXrH^?z8*3s(s!-=|hsoxwwRTs$kg**|uktAO=O=y1;wwt6Pc9GbTadNBe z9$G6n!!zP6K%ou@34^AjDJo%d@@_6mlCmy9qn98~0y13zqk*=yx&!MitFINt|3%P< zsDRHdnoae5%u&>Zb3Q4wJqu1Bh}Q zTJ>RLW1~TI!VDdv;NTI)BXLRT+Jh*77ddBKqDByl;r6yfBj|6~k_tm*Ehs8ZZl~UP?=5n~KyBMD<$bH6x-A zxr;b274|V=l-5sp;p6hmS51L31oNRT59WXsETb^|2?S~`A`rScY>g$yT^_Lv1Liwr zRBrOwF`%AOLOnl$Sy6?BIE(98g=fr8akt4y_^2h48)9mzXGcpXv&XO)<>qiw0BWmt zl+J(oj@F>8C&)fmj;94twaErXT08Em>79#>2^R}`BsEB#DquogMcUhPL<#S*WNss{ zcR&4^L_1BXtZ5`VAdBJ{kegn&X|02f8M1FB0Y~DZ=O7@_TqLcMS(@%AeFYgb<-@A@ zE-Q@+mIz&9F!BE*?pxQI%C>D^1ygIYK!ShV)N+B5PeH1z5_Jhxx;C;kBmq)FLM1_E zLC(MPHs>AAuk$?T6?SXA_i>$b2DDbKUG+(lImaAh%yI3bUs}6XtL=02W=|PfCq*4( zY-^dY^v9*^!ruvNxd`de322tH$C*R;oZQifZN^?OU_8v30)V<&^n|aC59`!$(TacL z7Sw*Fy2xnOC2w6a=UQSh{;Jna_c>r>gRp%_Fg4!{qLuXYG3I_n?z{+G>yq@9+ua`G zS&1%<9~zL4lQr$nDqk;NIRePHU_AD!`8%z13_F~uz;8Bs3z8)Woy4n+FaHCVfwzUN zk$77GCfHjc>{e$E=Y>XZuD?d53Fd!3Kld6bLKf(N+*Dy+#)%Le+zwBFsH z;H%v$_-e<``NlAj7&o!?px#z4IsmMTy%(B`5gXpQ z3UPp5nu*MW_54t+wS#|CwyPTWdrL_a4y7nkVrUD1%u4Ge%1UiC$Ud(<V=G>RzdoIPJv3_^J5IZvVrR4%8-ikh0@Iyj7l#Oo%{h}3`Wo_R0r@@se4JwQ8; zE}njocsc~$P6UIs!0L`_+qP8MQ&{-u zA}>d90JCK)kL5E6dQRxywGzny!tA75PEsO%5wlCnHE9Vb^V^uoEQ*i zy8c|f>gZ>Ew4B<-BYGnZFkd$h0Ckiw%mzg6;E@-#_)TXW&)GS}DL1`>?5Hx=czM7$s=f%GJYgX>6CrN}AC|s^_ zwLt%2yP>wu+eWF80+O7UxX-23;L@lPwX&JW)m+%tCxVj3>P(N_Do!pq-zL0#RSTh%sI$7~hy|NuBqF9MAc7}`@gG%6H7M{MM14|)# z0$_g`+@*${R}f@Taj3_UN$2IO9UkLiMCDQA^POQ65o%Hac&nZXw(>|^eOz?qYnZ9L z451uT=1b}=q+BR@+c4(4#x;pCev>F78UausVc@AD;nuLE2 zAbXKY(*Qqv3OdZgiPkYe`4Gg8?0qPl^f2yEO1(3)Bn9_M9s;R*hAf?Vl}~6K51EOx zDGVn964Ddl{#GT0-*s)HUhd))3R^E9@p$D#H;owN)SuJ5Qd0B0;_%(9q+?7?l*LED zGaBUyJL=$+&<=n$Wq!P*{@dZ2pu>N>+KH}Iit>6WYCA*}R~FqmJc65=yoC&~Bqhp` zMpqFK`nPMNm*IF|G=^32%AX4H%ID>$DPT0|`oUqYmYNG$)@Tka`j$3v-jltQ@U%!+ z>0XLmv}9qr;IhK?6uI+_Wf6)j8nM^N4c+TbZsJ=vVRw#^Y=Uc@n*mCQ3mbok8>$_u z%4M}U$sA%t>6>0X!otxOSj|W4pH)7;bLUP{$q{_~XIBd>=+N@n z1ME1y8er}lZN%w>*Esst*Knin+~qx?+44fq{uPC~?@bPWhipa_p;OCb*T1%s7>urh z1@BLpPI2PTBWHP`gKBQhP=7arqc6ug;W}rnk+_k401K3X%>GIQ~-dlQV`{>P}E-~KLzoNoFyk4LK;Zjxm!f~9P4Bhp{u)&CHASyKF>7ACH^>W$Fdk7XryJX`Js1SiRS4#0LY*Ly+nXm&OKz)imTPUS zm)OIvXlKH?E$o;98oO54uer3*M%lSh&ZzF%_ALvi2@HC_ex^TwO_xRnO z_|ZP!*e4JOV> z6%=|lhG2Qao`bcBs}KpFFqMzkvbl*9ICMvg4GdglrVcF`{-!lu90ttmY;wO9x;?$p zj7n!xf+zU{OraRS5q(=o=pUWG744F^dzH6IJj;J6qxkly^L=vwN?y|)V0!~z;OY|M zq*Wi!1LZR=3mlRdNOoWx`51`ScOH@&679K@=Rdo)15*iS1JXEeh6%6j7HPca9F&z| zNA$V`tOBB^?$1i^K82@^M$(j9bW{oX=Z5u8cpq`@9!|B-d;R=YWt=)nQ0v;5N6gozcY!a?o&hs66YR zx}DGP4F#0tNfQDWT&$VbX`G3`RVx#OqfSzk-tIqzQ)Ts>g?xmE%A4aZU^&EPvCV7V zQVaW{RuRJ45UT?^AGXEVczc!^ZrpE@T1!f`^-LE{oFaXMUuMscW3UPfl1 zO+JPN6nuPQ04IwvA%oHRe0J0yHBWRGhNY4}jErp2khVZW?=Fx*t_#_PkF()5=n#J$ zrPh8b%pSKtaW3o-Tny*a%VN0QPq@p!6xzaNFs1j?nL)w4<3$ zHY3DWJ=U(5p9*y0OQ$|j9HitII`HYs=Y&IsnRl-?1xU`Rn#S>dA*O^gsnUS)yg3|g zAQ(KxmzwzktjGUY21Ey*!;1BJ@5_HaK)e#(dmv z%ZNQ2Qp@GZEReJ;TPt)w>IC3#B_|fE_i_e~e7@8!mA9lRpBl&^JIkJ%K~>_RB}{OG+Jgu+fxau&hVU% zzJ?xgqSM$`FaaQz=r_Uz-QE_(@sBbC1e-D3lOLj1#$im{c9Mu7O!biVVPlDsAb|Ms zw!|ifOC1nOM8JCb`+4)k(yD)ZB8)UqG};{^g(IkC-oC*QCA>>BOiiX)50jcqyG z^?lG>pWQDf0m$xL?s(RaN4J`%-IEKT_c(7JiAQP|0pPI(OVx zaTeS0n{^3&9@(z~*$*Qdg9~X?Gq?asN1h)Hfje`~?9eUggA9)>N%uSiuoa$&04~O1 zcBqD3s&ElHicZJn<5vfsduM9yWuEY1zZvM^>-gfV4|}EP|1pZddTfYVF0HXgF5-sE zkHpz#9WKe1DND0R%0qux7KbX!3)wDtXTT_}jz*p&Z8W2*g=<7dg+eBN3Ikh{@{7J% zzI`>ij`~%GnE=uCI54G=lTE8}XK8Wyb`N*_9@V(BxT06Gy{s{RN0X*|W5^=iA{%$^ z%T-;Xh&PbTCE`@L=@e$-`59nLI`PZsG=%Z3I1g>`U^)ASW=(%OuGp-%MH?`}PFHMS zTNvVT7!8OyJYnc<#Ye*+@?$NGF+QpIZ>10Fpj^cKDRelF*_ZyJ6Zms4LFO z(csQ+2#}hoVGlY7d3SKX3LKWd^twcBbIO`iIAotT8w)dg@7|p+E;bkC zqjRu=4}g3w&g*|?Q$Cgt`LVQoA0LMYdJ~^_^+T^N+tn5Qx$?k%w)BJ9A0FJbM0c0; zW5s@IPIvF?&!*mO-nE~9(~pk+JkYysd$z3wwC!%^d;MtY&%+1$(XyXyezfcjTKDwl zeJ!YUC^@$d@5#^hirj5KkSyAVQpfh8X52nJ;78|sd8B{yy_DMdUTWI;-tM*c=Vq^F zw2|)3%`P0BuN^4h8u@qj_G90}LLR=mFClEw#?ImXb=7!$@Qmq6H01 zR`EJ7*q?v>hz56w3NZOyohq1xUaY~5q9~=tcG(t9(ve_vd@;V{DL;I3=$7DQXeduR z0pf}9PKbP%UE7YMu6xlB+!6F91#z-px_a2P=nA}?Beu#j1S3FK$iv)gys9a!Ly&N~ z4Mba%VJyp~+nqUHygiy-7}RB7kt+~_cqNjviIaZ}&H_fYQ`&w-E>6?5I;pC9I~5mt zgvQ?NuiDakmx*jcWgqM2QB61t>>RYJG)zx6GgDXq?hAY_cJZ+Rigl$TSe|hPZq~e4xTx>ZC3ZL1P9i6J%VyY^2N@>nHa$%pB}0SVx8?nH zMpu6??mt=tiv7}q#nt$3cwzTLQL*0u zs!el$4LZ&qzV{F&7F%0bB9k#T47cZ-_4xt8(&u|gGL+_W-xy~1%l?FTRON-8Uu`dlm2aRX+Mhh;6ut(lgHMHjV&9J zf5PBG3D;!bf7pfbQBvaKCa9KKWK)*R?%E5=s8Ft(1rb!^?F7D+eC$kK+s zerWlvR4i?I!b<^L#33Ko2Ti^kZSQ};1M!DvT?l0ti+J2|kidhM9t;!cN<=WZ)p8w2 z5(iJh5-oZYW~ zF{gk%c3207IUmUbbK2lE4*5A6;EV>0k$94RX)C|#L#X)jTb7xm+jg(n;&tNYgNXs*v~cJ0@OauU}{(-3qViX@9tKi+NC?+PO%mwPKZ2mr@^;MU}hX*X_C3 zEpiDDafqSOadf*uy90kWrDWeNuVSI`rl+N?IE4HVzq#TKKCL%Yv?U|2piBccVXnud zVl&7yX!F>x07kp>&c^Y14_N;Z-Q);5cP+;DRU_DfyaLNS0QepP`~ZQ5>xeRtEM^XP zPP2z-A9FhUGMqmbp}koe1o{<`nm$@Pjnu?kNZ#xgmc%4<6PSNX>t7SQ2{xMm7-zAY zxQ30tJa%(4i`_hQv72yEtzXb^y6-|aj~bhC=;r6(Hgu>_oCq?ZAEbtGV)3F9UmP(Sp)DSuftDyDCE z4kncFP~%YJwo-px7|>Y6c{uTW>tiN+i=Nao)-Md)UEK-f{=(AYVw|SSG$&{@$UlV) z5N(!iF+u%4!^CwqhwQO_`>`!MBy`?hamG+*gi`0FP5+#NKuHYYv^f}bh3|$fmnPs^ zNXN5i|McbI4=h2S3D5VLI;zjmNwE%=ysV1lkCfR%;!1yvq?SR1E_6hb2_i|gkl^p! z4x_f&f_m3lBX6eoUNN-HF>z>k)J`Eh%I+5=%%euGO9BZa$PA;y$O8BU5q&0APvg_S zgmZ~TrTg{ui;?FQ!_sCqLX?@EUCUz8WH}B8x{Y8s*$8XM*PIz|A3?&PnD3qk)W*Lq zdx|enr&xbX;n#P{q#|Xo=B1W|=Y4&tWmD~sRK!B|zNI3C$&ybnS#rLzx|rINstYWD zik1G;`no~Pl>(7FUjGAB#wNaXW@aBpo+;$m7|Jn zOizD_d~7zHM7HZ%B4&+GghrS0Wy1-R&=(;bN__mB)GMPRe_7?0O5(#qXU0oRzjo9-4E?RRq*)Grm@r{;P( zJ^eEAJ}r2imN}eO_?i|RO@o)|X&C|0%dAzet|~^6isOGMpd&aZP4*xXxuZcQpx+T33b=3S5qK>*2#=Jqx5D`N6#yFdu_R62!QaJ1{Yka z1yew_Vq`=O>(Y_PL^-yZANGo3mPm+*SGi#=RNR){qV$uE9^&+iR1}9%oYpt^@IPCxv@`MQ{(pihY0D63}?_;r@mucz;b3n7PVY!d40U zH9ueaisbD{`X(*$H6TPJP)fW@+<~9InSK_;S^#%Lrc10YxVoxPo|0!f(JVb`5YsK$ z0GBY>kGO+sY#N_A%A!dsnkC!7|1E!^B^6Vx5Lwc!iY&R&yF_GjBB-}yr-f{I-onIH z9dJa(=6uza@6j)`a-DL-Zr^#)5fjk98_ptaIkew+Ya!qwb?#v5?1vDKIVTINS&U4k7Iix+&>N?P(7kr;Tw5WF*_Q{Y5d}6cH}_Fz+ZMD_%HC-EZ{sgTQ(} zEKZV}mb=+y>?MP7AU6jsfn|T2+?A@+lR1F$3$z!o$f!2gO_PfJi$s{q1W zU@XSO;DP|Q@BSK9@ZDb#%SeVzWB6F>?TzN<5P_o875_OUOc4i-?I=Q9#1++P`1beI zMS4C$kK-$Qpmrm=zx+ioKV?us{ftvi>vjLM+4G%;lU5(`F1XGZPAq?D*^M{d-s9e| zn_UKQpep1YFXb)aUBvQDPD$=`1AyI8(jjeccV>1^ z`E7BgLuur}$zO2DYhgS!fUPfB-Y$XcjeT6CAsJ5j3J#s7XTx0zt{C9aa_lJm zZS@B9dSC-pZBAIkv5-X%9>N*`6$t>_?uKsZ8NXN~66v~cl2Bu&;>aOYq=p>NTI zrx?@MBb&qhl}gka{gF_Bj1Ml{B=e=k#ymi_1~H%H6oC__V5So&O}K}^bCK%}1I7Be z`^RvvFLyunv3`G0;o2fyG+YsNOS*H2gBUH88*Hdnq^1)ZFRXcHd?Br{!E%EIaD_!# z-;2YD1VCf9!7Bwy6y5p2VO(FjpRzF?)mHC)>$8rsvL)n4MOlKA!TZRg8Z=9GoHvwRVp8;G$v)ut2KY z1h_|M*XGI5%r)QyJ(YQxx~{N(IDCI>EpqrCsOZY2$ZOKS{n%T*_8#u+u`3KE(i6sg zogkQOY3VNhmAotQaOmfYWazXxKWsb6nuth0E@85ec2G1OW~xRQhhtogLP8`Gei@YQ z@tvC{HfDcI2DV?3A)cx7C*0v;K`(gwxgHiNCw7!QGJ6>>3_KS^%N>tkK8VaeWsKjY zy&hJjs4Ai$jY{#PAv7XKby4<^%8cbTqN?&2o{}{c(O?_+E>>>28t?gz?3^h`SNyo$ zKj;XgK`Qgow5$>>GOzvcWT_<09Vh4_pN$tg*Cl`Xsd?7yU6<%*ND$45i7?{~N5f0y zAdqk(cXOOSh_#z5vPgBLHyO|495bH(Wn*Ua>Y)AF;VMo&FVHjHhqp&FeTPI;1e+uP#iRx?g=>ENXEBC5&MR0h*9`#RQx`)tB z+3bJ*y*eI9=0_=8JV5210+Cm#zvN#{8mmt;y>}hL!{f?9YDB9QQF< zVy^3C_o{yUGNthpIPYc1h1FB0XjbOtlZ{Kir+5xcl0i!D|FL|l!RY5v0}ghJwK=44 z9$@C+ViSh5#7`JbmWVb!pDj3gWRr!hbno8s-|pXP%-mnO`{2PeqQZa$qqGY#xDkJ{ z4!Vw;dwxweeYw|RJI8wD`wS%xe7YAKZ}7ZnZ>bAAzaKf z3Z)EW@wNPXkSLX+E*)SEr08y4I(XP!8wBSD+}Xp=eKtA1F$8Mx=+V-ec#r{`LykhE zc9Fn&h%f--^1_N~OvDe)dp5dJmFj=By4)Ok7+p@%H$6#Ty?YCKEUyCEe1k>5*C-DE zb@3i-b-E`Q?W^$Wu&lvhsZa930x1Z{$J5QBRq*;y9SCTLgPxV9bANH#cYX zE1;D{_=KU!&_?i2m4@naruCq7$^GEt4m3;e=9^{HE@9_R;3!A+%@xpsmgd z)D?|A#w*qlLDNGx7!+x+D+>rLW--0wpo~< zNq%TbRs|##H@LV@Xw0My0W*J3wGK5OHyRYEXErF(>NIs!q$N+fCbma;xabeVLjXe6Edl!J*gda`UzVe_k)Q>YD^4>j{)Vn(#E ztwb?Wq4E`}zut#0PC`X*Z$XJA*fSF$B9_(clto3hJ+LhSDWo$uJW_v6A;&`}gzjq8 z1jI;jLk4FuYv7=$%EexVp551v{YH(OEF4ApMR1xsSkC1#rjke2zu(w zh99?m9)6SVx;ua>;P=NI!XW+GRA z_NG1J85iS$6pb&}CDhAPgN86R9%C2ONLG#MRxicRJ?RnsE%;)gx@t!Sf-_u-OI(v<$p?^mkC!@}CFctd2JbPoF5 zjhuEhNrLLeDWdA8>0&RADE(Qd^U*tVn7#pGk6X9l*(!e0ojUE2!dW@0`(d%#t&9JZ zuB{w(e>fmRvh5x~Y4w&0ILAW8al8OQK)$~^K!uMxU)tRxm$GvdF@FjLk)DGE;0K@% z+~KF>gz*&~7xH8x5X2G*(f7pNG_tTQ?A71zFC5h&gS)vmsyw&|GC)CU#~DObX0gcJ zon3!AK&(E1#O`>Jb{(e*UJ`$X?*96#!77{$K)k6gayVlOv{MY5h~UW(kefmWs&}8s z$Rl@NO2z5q)B>`uoqz5r5N#1ExW%IlNxS5X17GSJ^y(K6Bim}8`R`rCj&@s*dq;u} z8)09r9*@BuYF+9UV1)bOH#|WhyA1?$N<59RgiDa3_cB7B~ zfrG=*_*Q-uL4~nW6S{CUHHo+@aq4N?vXcBBqd00Ohjfakntu}S>rYn<$822RUk2dM z1!X!EkT%xN;&&`}uWQzo1U_AZ+v&2eCz#k_K`4R|S6xtGCJK)d%>f-aIy}$7#f6HO zGk4I1mYdsw|6P4}_k$6R)scGI5XKmZ8aETR`3OQ;glb?b1PPY|1OvwprD%01gs`2n zFN5Xq91UGagMWDGnRZBnmh`c*=So8j3fp!dq&}WKgd`s2%I|%Hf^}E zP*@rg^#YRs=wRL9&!m<26N>w5eho%gX&&{O0?1*bt$&d}=ihc3VguP(6KuYq!a;no z_&w5$@4FBDMICrCxUb96_Z3~>6{7prOk(oBK>(7=raS_P8DqLU<)FGY2Xu{$KDcgv zo4aMQtHLBAlg#{Y&z=9Rv>LtKV#^2!k!b)?7;6Oh>?rE_N52$m^PGvFR+#kqJ3rhO zc1m>ksef&Ia7#&^QYn22PhFH;r)v6h$#wKua7>KA&5-2nVbhN_eP?xfASGZx^=;rR z68|30ziJ=;v@`#9>+uJWwK%O=$9;ph8XIBDYeo(cd|XHy z04YCNQjM&7O;XUzOYZSTD8M4qxowu$rY9@+G(A4RJ& z)ql<=RXdw5{cD&0S&*d43VDq}Uh^UCx)-U`Xq{`JkgI?SVbV*CV`R8 zW{C`mp!M%~7<0H<3maA+PeL?>u??vktmVcYO z28tJ7T72>F*?KJ?ooi*D-bAE)0og9PZ#HkT7(XqFY&Nvc>Q6JdjnSN4^Y3Fyk};X( zybeFt6hBUwn*0XV%MEOB#4-z)ZW_{(K?Jat6x&!Ufm zcW)RM6eE|RAvAhPT%-IT0z^!UQ(+Alv+nNnbkum^nXzko#_Kx&M!&0tvCTf@C8$*x z6c}XZx|e2STMpGPl1{wdqcmI2g@01S44=#i9@nSzvnxuPM+O9E7BczuKg+IHujQ|Y zPNkHFgGXcwj^(jyqu`V1lhPB%3e?{kAT6RVLG4k6S2#-mw8@i#IO=ydqy58C z4P^9-9HPp2EFDnTj#+7G2$g$0Jea=luZi3BcfZDL5rEsxn{~B2mQ&`MMF4OQ^{pI- z0LaBG0)U1YBd3oiw=jahv41ln3W5UCWy*+fTN*|1l?Yn+8Ewg>@or9J1uzrMd zyfB8;&l-pG=U_-Wnr{P*Ap+XQ*)5JzkhQAClE8sTl_g@cEI@t+n1AWsnjuN35>qQu z%yZ>;5GILlc)$RRq#Q8dB;#T9Vfj+3`Ow4fp(lc+4{Mk@z)Y6W^fQ7=4ifN?)6wby zT1f8xgz&EMF+Cz=CwTTc3C)m~9za_b2H$K~=t&6ITa26b+=pT01qxQ(5xhzAQ?q-* z8E0Ik-d{3lF{zoz&3~*JLoTrz+AK-ie;}@e92{{5h`e#L>^-}iCWb&XBa{*{49xYN zUt>>SD`|{IWYi6!D1wS#$YMN9z6t&W_;MX#F*VBwi^LHNh%WPj-3}*h64r?KQ!gHH zFid+IMA(@40dWjFqIRw5SCJn$3%PyxlH%+Bs3xG}S67nzfPaG1Om6`Y$_+SE>Y697 z3aFS862vumvjJX6L@sPWXev5Zg3>oMq@2u$aIK(q$sC{rL2dZ357;ytn7;OV!)Rbe zV-a-hj$q#LkvsNdM{w>apdAaiBOQ0-(~jiYv1&UKZ$~Grzl9qhZOLIpOUm^=;d&aBhkvSPY@#jbSrNBI^Wgw(p-(XeY7fBcu4OFjW%sps0*XV~Gk?C%eSZGFr09Dk`>dH&(_t9e>CIo#G@D`GLEwkI?=Kc5Wo} zg%o*Wv+?Ge!8;IzUKLY7q_#?f-M zGTc7<8Giu`f{(#n5kSI42$V6ho}IQxix8lvvpTO0Nio;K2T0~d_*lkXgO3$#hWNM( zKWKd1qw8W3hi`HLA>mgPQi|eTKoN-Q-{j+-{R5OABYfP2CoS_6IuOSJf{%OqX#wfG zloS%Z!`Bv+gPrLhttuXCMcmub0CJ8@a{4Km3VnQ%YkXN|8I+?YiiYfj zQjs{G4C&r4*`!@7~2KrOd$t1ZA>4^bZm|uJuOyc$h}(K zDvaz%$5D2AyZpR*3Fw~<=<3f;A43*dU4N>7YGSFuIYNGt1@$LM^J!w5-z3e}#5CKI z=GnwFZAr5m(kvI#47!r&<;09M&Gy7J_+X;ViHUxfG*3brklE&G{w`@=PfXJ~l|(N> zqWi@}n&#=m*FTXouO_BxNt)*q%laf~ehX>t7Smivn)ega97~#CCcgXtjP^+Mc7I|< zJCf%2i5Y2+{Wvkrp`>{;G0oNu($o%b*CZL}S0^NUB5D3IIjbj@)ejSs9Y~sACuenF zS^YdQSx?gZG%?K^N%N1%#l5lO{&R98>`J1)PfYYw6M@)!LZV$AyQ7e(WK!a;NfI4Q zY>5qBf-WXjtEFA|d19iS4N3GRB+3^&fS~SdypU8o(d*^!hh#&Y5sxS4HGgdBjQ=<} zuOD>3pIG-J-R~!+d94|3P3)L~=Jaf0qMvoguYNhC`KTNI#58b5l^uU#wVyoG9e?6L zf2K3*$;3oYHK*4Ti`(q$oyxvc2 zg(q)y^Pk*Qn&|E1oVL}^^nb~wp-BQ0%h>sw?(@Wd8HR6`s(0=_EfxQmRoh#Tw;#WK z|Ln!DkDou=eE;h4?vL+ZzS@BbH?iP}9-@HBY=;U#_fbOxj9K^!gJ0(hFouN#pWpC& zspt-CHW3f%bd4l?S)>uOBAnH)*Y8p5j;A_pHjf-AxJok?)b z#%bglih%XgHq`YK+J})V5)|v~9>4TH(zlQ-tB43})8;WyD|kj?KnUD!8wNLc*6S!U zTNsA`V==+OtFO0e=YM72oMd6HYEA2>(Dc1Wji=B@f_3O8@!IU(iHGuR{}G(4)Jt>2 zs>~X%0@D&6;;E!UDth5j`G6^#%-10#8Umt@t(}kEvom$GP+UYC zDS|BLP;p{3Djo8^4%Wel*(Q+%wET!R(8&V5WXwO=MDu=bCVabA7Hk0}&F^481gzA+ zsa961oJ)86{eLOcE{So-D`gB~wp2YS&EH1kv=zHcsH?7L$1e zenO>CmNL@EvvR8A*wmnb$KW+<;(p6Tu>wXC`Z%cLs?;FKdX0BFhlNsb!!=+={dpNk zH*B_OSb~k5-}Xf(bGZ^dm;W(PV+?Ok7~79)AkaWg92W(=$#tDsfgojzsq% zw=8PM2QVe?hGC1TVFx&tDQTc=kq$xs=C06#;aaLX0B%*FIidk6ra9W{fX^7p?=p8X z_2p4#6Z0i2i{Wn)>&+626$7I$>QWd3a}DR<=s=>Ljt&IPmtlG4H^hXb=!>3*aj{H8 zdh-lmeSgd|Xq{esoSXs2nRC9<884%uFzSk+#xX{1P|O92uF`B+Oyts5J-CrjH%`&E zb0UO9I&{Bj9yoV6oeja}#tfZ3uj8_LslIj2?nJ4?$sfw{5t>_^Z!o-UG@BoVAXtKJ zq2MZV&6KkclFP_>5<==XPeQt%Ms+P6W@F;6I)5{*>SrfUTwt%3&0Rk$yZSc0WLDDC z)7DeNTuR;%yK(px-ZxCS@Zw?4Mhy@RZI3OQy}KaW#>)A^0uG-P+0fyvk`ZYo)dP2D z@S-60KL`Lw;T1g+tvy|s+P-=10lYysUwgW@liDQZ!mS~H&4Teo2jC^n=~8!AZgJ zp8Wg`*6zs}++gjVoB^1$9L<^IxN;OznAnJ?C|&0BHFfeTAFY+1*|6QgT7|Hwcrb>G zX@3NWVIIFq`?SJVQ<}C`mjh+V9RX&UDt{T1RoNF)YUY5Q&vUrUrV65(Xki85Je)v5 z3sky=F!m`<#p8C^D(MW}K9qOxKBFBP@NopennG|BnDO~z8U9TA0t69|Wn$L_K=X+O zB2$bZtB=+R6AYN)@dvj#tG5w>>re<;5c22cVffc6#Tyu1=kRB423ZZ5*Xtj!Z-41l zOww78ybD*~Y>PELfb5sHr&^d|ncs!QC^Ts83l?aLR2rrJdWVMy>jNRt zMiZx&;mi^pk<6t1WxLZPfttGT37rB+BWla-8ccZ@kgu^}Z4El$Rp^aQE`(BdEqf!_ zWo=b{2D%|w#4GPMT)BQ34^XM@gnzcV^_zr5h(kU8OvnyLNK7=bFekB#3=mbf<)R#@y+tFxfPWdgGZ?~U z6GK4}@!V{=J}c=Z4VZCYJ=#mxwtnpTU)HcCz2n-#-SW=`Xt$=G@v`PSi1S=8| z8sN=}#zu#jx)wI2jce%OnO8c z0((-i)xuANdc^6h_NctaHiaIeq{&qy3$TwS=SDN=@lj;P{pJ z2~Qfz9H4}c_@5e@rDHM#pZKL3nPgWof0{i${25DtTuW%25p*0>{F;cLUJtuV3NMLJ@(~;dBI=7&`VwIJ_9| zPTgs%0E0XLsFUh@2!Eb{U}UL39r_doB;d6U^l96ZEhn~hlk+%}JmfLZb>n8f{G|ek zCTt=mH(Lh1;v+dFMe$&=!oFg#CImfBU{OK1fX6-1E7tq<7F{)!E22N&Lkvl4ez-RJ zkEI9Dg7Mh5cTzvzZ|oh{PZakb&2SDTf1vFud`+tlCsrs97JuuGD`om60yi7fi5Y5axM(O% zApD>|dN9!B^?w4a-3^8xw2#%p&sK=*ho2=3!*4u3zTN1Ncv{;n1R9ML3L?ZAt#zXT zg)k!wsMGox1{BjBz_t1K5$p>yfF)Q!{dw`iyX}9*XzPK5b%4J+jnB7FoMB|=5jnCh z8m9|8uIGT2aNEBbU?@n_x>x(XR{yX#wTRUzJ9V7NaepPdc#4ZaF?=)C`v9+?T|B#l zXBVgVx0rYizWh_Wr?|J>GONQ6`*j?%oC@TV1-@ZG zkXQr^9Yugv(5F0N)Am6H0yA=GG$>jy?o%-4@!YJ@pVKEMsT;Wp``o{*Rq6 z?j$)oel)fF8>~gH4W6P8Yk&7`u^m3rE3%fY6 z7k~BfCgcqIeWAYcssmHIzh}QUniS9o5|&D46o-Np2|2i+Rwpl*7$d40RUK%cDWcVV zw5U86RNwxZ!s#Jc&vV~|he!-YNX=WaWp%`v&rg-9S?VV=F1}HqRNgMXp>=f(PYZXn$m~Qlf_>eBSTJ)=n~}b6*11H#}Z~j0JEL zhr+3mYL4tog4CMifY5a+Y0e%Z*03aIm*${d_X3wV!xK#~4(5*gKLnk}L%{9!3EHiH z6!lYq1uq@-kVdG@%?%zgkkQQI5RF>LIR3*VId#%K1;zvBH&l;=V;WR9Ys9jU(tjRT zcRL`}<9AY=+eLBW(6*dk(n`bKf}Ra-9QWpipj$wsWb(FMc#ja9wr@B>th$v;c8&zV zA6lB(VPk;&Bf`Z;St9ld_(A})tq9(r0hn77KZxF=VO;an>Gyl{#W_Nxnxp~!d3*k?o zP7`Ykhc8dQx6-?CFkvu=zx}LR7UMp~(J+5-z`+Ht7XRp%QfTnCo$||%OMfqy6l5oV zU(6=LvUwe*V+F z!y9fB?>w?K<~Ykr{94#zZGY=^FM{G+Fe&g7+&kearAkTi8gDo~ElVLpCc*p=EHwx5 ziA{!PkAOw)3?GC6heF-)*0Rks+#N5mxT+bx==bJ37|w0PhTb$+jA;wY>QJ)BAW#s~ zTFq|)g}#pVemE8tpb3>SyhuPi;+Y~L27G7#K>(7E;@t(@S}3`$mwzjuR_t9MP=eL% zyvOf&Q+ZGB#n{8mBw#I=Y!h}m*K}B(05DkH0Op{;?$D#3h1Piow2)7x9x7b~z`J4`_vgv><}&c=z9#1FVNnhI~E)YqLqmT5;%hE^K19P!OUTF3>Tv* z`iA)|fk}sSL$!^_ip`n{JmHI5r6O3-+$om-`4z!+#S9-2C|tz z^rj)g#6h)If?bkI8B7bFAN^Mz$nEP$zS>gxcKf+HB6Ij%zBj;^r_>SC%n+^l2^ul< zB>%OxKR3GuNMevDpf1WBU;FM0bH@SPH{T+thTQZkRWy0V)A*@n<7bsTi&>%rzB)@% zzAhq5^SEL25r4Mf1l*?9bPq9dg+(@8dSsX2G~};M+qK`%`#zz>npjc*(D}5uo+v{5 zJszW76BDDH_HJN`p~A*)U*Hr|3(qJFgdrSH-*7kAGuT7tj7uohWQagrHVffgeRtz@ zz+uf2VoE+DKQO`n@qNL4mkc}~Q#>z5%-&VSj)PGV<$u}X`+CUw(m$?VU2xgza{ahj zeH&3mqdEP?xAmEF@c2Z@7QlD%$vh5|d5=q9;;A0Wz;}KtIXZFo@7ki!t0P0@l7G0E z($pnQHXsGB!O36hf`mv0z*3njPd@!X`$kI~L~mbPhs!Qc!;x%+oZ%%6U0ky+qX+?O z^KdrQA%A5)-YEN-$v~dn(2jfV*ihZp&1h^iqYjks*0F$5!8mDpML{}Fpx+H*X*zi0 zf(zwJo|IGl@u*nanNS_9Zmya<5NnO%<{DUI$F)Nf&bo$cvfH3ZX2P;Mq%-C=Yp58J^d5p;@S{@-_n^+<&-1efgS{B`|JO`0V#oCGo~vGu62W z*L&@!Y6Hcd6y5-a7p!Wi3`R*r1HG=rCAiv?2Zh$8wyupBmoNvNhcr<=e4WFxp4Rx6 zLXBT_q5qK$b$~DjG(GA$M<+tdA+GN&q1~>{&nrD|T>27v%k--#P#x;yf4;-cz0Pn9%S{9 z9d+~N#_m5}JuUW$uSZ~sS?QusTLj;`yWmdZZ5d5oC|mcAc=1Dl+2;B=V%PMX4XG}Pejknd!_xT1MUoAs9&vH3M=1k;S;a=aqy1!+Wnci>e*alZL-`vru<3TM0? zZpCn#{4HRSSl>;{f)NJH87!Po7g1`HBM2HCB{O4q&*{#hR2Kta0OJTE?sInb7V{;* zDziX3V6UIFnZt1X4s?o=xJO*6?tj6FFt?;pTcO10NnL#TEjp%Km|A)F} z51WMpx0XU_qIPqovWnSn*j>-aoc2hOdhBuUB?-k$+ML**YkEXy7I>4&lCG}c=?^uC zG?`qP&~DBG0XP>bo_RH*Jok}mF{EdJT;st>%mYHW60sHF)B(9C?D_Lc34bPNS{8|t zqwoM-U8NuwCE&~8;^Rl0T&L#&WWqio;~dyvR%MYSom&KfAr;ol0RJL`$AAWpUer4D z`SRsrD~`(@3eO(PwPIkZDZCZo>YNI=czf(N8IrCRACBYHJlUWyOOxzW){t@sUksMD(q zoF|ZJoleDsv2iUbCYx@)ZrI9VqjxAc8f91@^<_OR)Ksg(O3j{Xkt*t@xi2GLL_6@)(;v_~FB+P(XjmB?1yOb2_HY|hyMCF1YRz!g< zs6@Qif!W;h(tT*SmVfPk7E6wfMM3xJlVN24<_^i`ZiDGoTBi57Tfc1gTM}?;dpN?{ z-If$Ke{$E9DZs*;Ma-y}*#3-0{7h1$Do1jrISaA0KF*egsca7w7ll}Wa1)u{Ri!WI zOvABU^DoJ*OaLnBdr_j2sP4JDO2fN1dlqVdl8MvnCUO`6$$vOQu7hZu0Wa~S`l=%2 zmam`;tq9RGf2wL`#1*5AnF@R5&m<*kq#9l+^V-ZR-5kweb2ld0d^3r0@#7T_3yhb= ze6%*AcOnrqpGh8e5HxK~4h~&d@?d0#5eRi_vnz3!#R243CE~@$OAaMYovO*~w-yFd zjTB6VhQwj^J%6uqH8Iu~Jv(vag=!QO!7~g0wfA2S_vaSs5cLx6@FUu9R=&TlAKyb) zjAXM^6?$SC%OTFD-vR zJ$+xCWbwJIpDPdKG-1+GSr1^Pb=5&!l9Qxhn?T!pH1|IR9~#ei5Lho5M5+> zw2`DIUDX13xy@+bv;5q9`mpM-_uyZ?*`IsTisFJW)1NY?%T~F>VH1x*iPWP&jaz%IlV8{)wR4;L{+8U9Ny5}#4`!Q*n>t-(5aZxigf!UokM;e#v#lEo;>D*3nn+r7}1kDf^`rv?}L4S68 z-SGo4Ac|3!xHRDVjwLmk9AE?yg$5qL2Ezh%6$UnScXt1by_MKB^>bxLfe1^+OoA(= zaU`WaG5*_yr2!fu6~a;w5V)j;43H9-bdkxz01?VT$XILK+jK0kbwJjaA+D4LQsP|H z1=Dwp`}xww9is?A_<=D5jUw1Y+J7rbTT~EG5U{a$+DVWkXj$G3;nZ=)?Ybw?R^(zW zi;6=HFImK1XJKj>2*Gs4KS(a?IiWPm*62*`3rxcn?>70I*G+isvk8+?SG5l4}%V#3BP?`7(pp9kvjRCj@tOVbMPMcjL_H8Vw!b%uI@RDvbUW zwzG&l2S0|{Za>Ut{S;!FiGM0FgU-3q+i!7tAnyG}NX~1CIG(0p?c6m8o4T&YD8N}W)7UB_EE>eTmbB3R=n}eOd{`pD z)lMt@sDwxCGK3_RT-RzzFvcRMwDRlVENe)nrLAj92r)jbn$KUa`hQeZxIlDQq@rpw zh9T6Tn#9)IU0-wfQ9`T_(qAd1TBCXlCqrErN;qei!mVJVFuIE0u=o7`e$G#-aj9)|)$3AY4UU9_ODkcD2!*ndo*IT6d#H5@>qG?}z} zcY5lU(s-i!v#kfABOD>Df!3TJ4_R}@jg3(v0nglE7CS0ibAH%{Z$@m=AwpHPM=>bJ z;l;(opM>#Lg&(gh=5qah$e9R(tNcuqDUdVKKwfbyj%4}VGZAo7P~#;bi$U*~0CyV_AKBKFdD`q=k!7JG>WCcW%MJ`QnPBe(SY z{x>fyf;zmR;l1qo1gBcPhQtevPMch;ga-8yCxTTU0PhUp{XpZg^^wXtuTTuMkU8Ov z>$Wsv1ebex_iTy6u+&JZp;8nQRKOv6;SNxu*B6l5oBSfb%V zyKb@gGZ$!H^@2ZRY!*)+*bxVMir9RU(Fg(rwJ4Y&%Ke=~SwnpWq>Lw!T1w;86UdI_ z&}W-xigIjEmiq!;AXpZ_S~b$4Yl=`{34wHx9HtixLKu9Qg|<`(1KgS;*9t;ZQ{kx? zG&+X03x85sog73_Jdi`>l+4|$uG}O}YS(ax5K5n~Ksv{1aaxNJeBLz-5q^yIhO6~U z&+udS!E@VQeFtC-jJo~8Jgm|~wI{=M(mKVE>&5jeAI1dt1OZ0VNN0oGvFhzmKK z!@{GB=+TIoJZ(Xmh#dw9TL7iPl5pGtB-WxkqJI{Plmn-sURvB8L~OkPU}f!H<#34c zJHm?(htH?tIeh;ifgbJvbS0wB5Fex=DOis?K*Y18_aNbHN(m0`4(wY))Z4~%@KU@3 z{ZA+{cB(PMETU!Sj7GdmMg{|Sy~JQ3jAry74YH%k2`_lInudY7^SIC=|@TMPJKP+6GQR=u4f#HR8o7H7B|_%ZbR<#0lq z6}hI!N0lt1TC~(jg$m9)x}9pA*5LN31Akh>d9P>V23iM7tBekf?{cObse@8vDA7~V zsKN=dzM3J9fxI5r3ZtHc#CxSTGZfF_gm3Q48fzMGV2Bx+fr5hYTasshG-~X2*&gk; z76bus#yQjyV(=eEh((ZRgt%MFIAw%5G7pg#lCx3RQe*qT0IbP6>fxBjDP#bzet)H2 zTujwGV?sDsBg#&4GYZF?&I{gi3`dx-2x;w%G!NSF}b&A z7A;!4xtUeH*z@IvIPJNEoe)8KdL`9k6#G?#Kt_A=NybTBkVY4aH5;S=M}JfC0n{@; zj&4}jYT1_c#uY_t+)5_mp!@2C)>eo{G<8w_Oq}h*39M1TX$`D8(8R$80;9~%@8i}{ zk0F)h>;~Ti7MyIQP{3@6l>%0MWk}z%i77?#GBMqniHR~9rJdz+%0BAS3j0>5EUoiW zT=$0FU(w)~b7HDEWbV2#`hRrHi;9j-RYB%DruR-akT$lS{NozP4#=(R&*%YJ-79CLOvJeEeu(;N;v(|@;UIU%2ptcP5Vx#Ty&Lw|SQ!aRqDQ-w`> zj6)*3Nt*pZ@>!1hKP?;VdxZgOgaQef8U)aFARTNbM*44aflt!Jl^8HQ* zj5}713>aa%J>8uvhZV`-Heystm(MZ63 zZ<^N_?^BRGUN*vYr+)_yJSTx*%_>l@fbUeUYSo!gW97bBW+W&pWBZ{KgRi5AJSx(% zC@!Mg3)e&je9ZV(%D-HIudG7 z3<-#b*owPdH93Adct04~=uk64ml?|4#lkdf zyl|_{=4;5&G;e_$(b0Bl-VLzOEpMYTGb#(P8T%Jz3>A`8@-UQex{++d(U-nvFbb({ zQ?>bJ=RM3LzI6#sXThVVTLd&EL`}Lv1Zutd17SAhDrPSpD^z$*Bn?;%4d~Qa`M`rwLTp$~ z0vSl!OkOU!!lxdJgtBI|)Qp_+(wgCd*szL+Dt{Z@+3>~f4!%F_aOL=MhpAhV5Rrhk zfW5Z7zmG`=?8m2L*skX5MVZgl0C&;?+xhb`-Dx7HxP<(WFUUqBf`BXg>&D`+-)K6> z(rD|fET+%;Jt$a1UQr>7^2b`!-~VOy6HqPyJk=fjH0%>PKNX4=g=r~c@9Uy514-L2 zx_^nT@d;o0D5GweS+r2u0{==12lP)F%t zP+_F(%iD=qMzwbfXy|Z&>#ED6NW|(C^BHNr0lA%f6IN_Q+tVn2psi*YsxG!>9s1*c z{wr?jvoCL7T+Hr%p2~5a>yL&sAhoCa!GD%pG(+$-wD*r)68HSQdyQvSbvJk#R%&@6 z3H~PG{9+QcJ){eM&`}^;XP9&4(`GDp-bEiqU%hZ2NY!iiQFMt_Lb zztT8fsw=odf#YaEvtlN+DzRqYynOyGxpJf!?hAlR2IME#L$i51{{)dXggSjPw1;;K z*p@#TKL9_jaj}xJ1Ho(J8*d6wA5V*^44f|iV(A6ftxTF;-T_e5ee8h#Gj4CxWj&7Uc#doWov^@uan?|)AF5+MOYm5;NUGgs~dYHgT2OK4Z12Yzibz#Pjg(EW> z5Jc9(Z@nk>zJO_Emm4ONrT)Esudxn}e!UMMtdU)!t3Ix8kDg`KK>BQ3Lx1g+LYPbJ zfoPFyN$GrI(9kKUU45B~MabUpuy5>&@d+#vHWV-y?ti3*r#--~qDWiB&_WSdKbYwWAzeuoE7bXg@IWcLdmwB4S%4km`l4MJ3-E% zr53vK3ih_svtyXF*h6SZHO_MaKSV51xl1(PkMw&co1n_r>7EP^T|vrKmN9_VHI4(J zrsVAuxaiNGdZ1|s+x|aBUPK$6^b*Qa$f1<^aWX2Wzb$9sLqB}Ars%@Ka5z*~6I`@m z=CEI6k#wiON_>sVj(-fRMUJ13YpmY!Uys>kUhC=OA~m9f{Ylft2~CoXBh@$1>1QEf z-QsOhHz7PI^T7@WKKZXPDF)mE&>FsZxggplY*KQQ1un>FR4a%$Ch)A1eVF5{%>e`f z)l7=-D&mq%M%Fyw8oTw654emrMm?|h(xK0j>I7u*Rx1Rg6o33dnouib4SqJ)R0-w= zb247Z3|VfLT`0lnBo-CJ3RP1wSB;BDQe3if8W_F61)-u%sYy(=X9c5IH@20g#e*Su zUp`;V;Uk$qcq=Po@+WV_Q1Qw{Yi?Q=MFVwRurb!qd}J-vWrORd-0pg^nk4Mcm1j}D zo5fsK0&c@H>wg>!I4!T$q-DN*OYHn~d7*cn6OkJlm@Fz)fYgNn4$$_MXa@A5wg3hK zEAMsr6r*}jv01YH(GX3muV^GlyBD3Bu&`_@R@g1@A3ffb;GH7!&*1!YzL+YeH8Ew) zmj^b5B-V}-!B@i$!7|_6$SO#kXHv~QqDbxDHckzb~ z?}R|T^M4k{e6odqTZ{3myDtNU-{F}yQ$IiuGC9H9_}qey<@p1R9fSAoml=sxE-}5D zOH6N_Mls;05v#e6zZk6DifC)GzPB)ll-9e+2}=oH5$Az4H~HPfLoevzkLFf+JBB)`ci2Q|FMOJM*FhkIcq%$I~Af} z?QMufu!58Rh-4BAp_$CmPV3Jkv#!!63hR<6b!8j!lS@w2`LqidYIDItNI-JV*QB$V zRLoR-LE0D99JvY~z`3_?-u(P_JeDC8_F_ZuL??+SI)VBfwn*TAY~m6Fq=)lF#)?8I z5r3fL&;F3N@M~QKpFc>9T4`^P4P|XD;ii(=zeM3+vOf6GlA;L`wspNbT$DI}aM`My z_p-4Vr7`{Ce3i9&1o?(6Af zajYCfoKA_}Tcf8Ub8nb=RWeNrdxQ6L2Oa6N9B!qXB+e{EO&t&cs!NP$dr{rd-I5VP{1;OMA_9rD7$r=a@7fj$M}HEB z=xMcr$AGHgl_$@?HRZ1b{^6!^ zv9!YM_kknwsxM!4;?h}Ci6QUe*mXoT9fY9J%KnmVmOTQhse*pi|F zjHgQ*QPaFv17lS=YAi`l(APGC z1rzCsWyk&(LxG5wK8%apw@&T7?2sp>j?uo03saMN;y_o%h$ik~)`cP<5-5D$=*k*u zEXLBeHdxedY|QThltB;uGS$jv3~fb=pKl+&eD(0FpPoMa{^8S?rNvJ;OnN0OtBb};dlmu?MdKyOv~nUe zYqtIobEOL;3L~ksQMwSD zrB^F9p;@HQ&2OodLe;sDsFuqx?!*+#s77#`Rqu-w@T+3N@4TSIab9+_h3SNUv}=Ya z+8(eHkWaoEpjJ+RS{W@`iE2>>AP1dB+;zDIRj)CZ(OBtylMx3mMJB-&MWO`75sjf; zh=NUYED6ixDs2L?kff)|o9bjV!SV)%cQq0qy*pk}@oavErF2Qn1WlIfj*v^8R@WTJ zk*XI$lP#6ZCk+2DZwwUb`@_?J%UXkQM>Q56+BR8hZlJ^py&S11EUP(nY2(^P(2XmH z3~>N1Ya}dQwMAIMOS@q51mTtPtJU2x4F8G)FGk|pCC zOC;E{+&j%QS$Yw4@q9&pleaBW(DW zVA}>^c$noudUm>@YxG!JANos?3ia;+eyz$pM$5J`<<&Cp-2AMPziPRXxIW-47;23i zKEe1m?BT~l+B#3*03Q%w`R3VRyvX0E2I%#ZWW}p*?Dqo<*Xf=mh3D&0btP+|8MQ$uAX+$n}v+#a0HIA*B>V z1cv0HKnu-eeV&?;*!3Is^md?{FK$1*tU@OAm2n;2!%xf2pASYuV0P<3Q~2mU%WwUD z?WR2&^oL#gVb~;pgK3*REJG>O-G3`y&kT%R@vYe%OyhIemEw^FL_vJ`GG|dm zaL+yI8-^kuOpd9;s%mhhO=iv*cXH^Z8Q~s`Cp^w2mTxeXCSoLy+zOSX>ZQBnsT(D* zo;jvB+}>X8)m#jijE&Kn@8hZ=_C7(yqhIJ!kk)s_Z%jFw0WI3i-^<0QX<^GLca9u3wc|1*dn1x)d;~gTZy1^t^fDWF5<54b`k1 zpSWr12&lX&w`J)x%tg~0fjBf%4Aqi!N>v-m_35ZE%x;dqP-b5%g62ZArDQ${A*Hh^ zwf3}53?dC{9|L}=*g9Pl)I4~Pr)DsH*_9)I6j7sVw?b^JYy|_qCP%+O07pQ$zoaxc z?V$_!H8m$LY7rTXS{hmF@&!L3B+rv1hc5dXV*OOTu=4D=6Ibm|I29KXa&4GB0Sy?dNrUVM&#v`=Uyn-o8|bN8OH7ehUi!}EUu&JpiX^#bS@>vk zV{oNPe`(TI>eMTF-a_Nw;_CYU( ztu7)VianDCkSxiafb}LQHU+a5NMGQNefC*zWAr5%%H9U>d_A|>HOqy|K%jf#F757V)lCQqegCUAfcK z0K5jyYDx%%5AcIqi}`+;^3drB;Xt3pcjXw7l;)U+i9wBvL>fgZ%NUK1X^ROkrO^`5 ze;JCiCnukbV^C^lL#_j9bCnO|p$=r_8gvMz_D~^qAzRl`9O0dg;)o#>IA9xxVZj}` zablwuu2DJ}cS0vQ) zhegjH7JGj0BmP3^3_MZs&TjCd@Oz?{5i^O+9DXO2+?W?D)*u9^Vvb$h6Kd4&(WoOZ z`VfRoM(-(p$}#T*W7Z;h1*!-qk@mcO*I5Z-#oZrZ_YV{Cyw2mhiTQek0555s z^(WXm+{?1yxZb)e+r`o}wSNJO*d*X+sFqW`alA-ZL?jo0_6)Z&|486wN32I=a*ZgZUBa1Cr+uqCZB)8cX1f6!*Mz%@9#r4$Pc zQb-Ub3DTpR+ANc^m5RU(^*#B3VPunt!qhmBCKEC)eQ&rCe1YuEF7V+nrXo_h0Z^yr zYSKcEd>Q2*>X-HAuQNHd+}!zF{y20MXmfWF%YXV7HR8XtTe0Oem{$OC$*D|;v{)bq zf;&){x(y&eMZ{Tze+h?)ZL-pmH)iH&{*8??$k#8PG{sqTv1OxKYi{)7AcT@nf(VfW z^6K6@kU@mYX8nw%1iivJ4hj$wXrSis>zedYibQNSAh#MBl68PMEr*oU)eBu?s*(v# z{+==Jr+7-3NLdbLnrz$xB7CtV%Js;+YFC+{gB2!G{$;;4C8VU-NKSi(l|l zw^g-830vZ7Q?AR#t2882>0VbNYYFamphSl`)7@VK88&RMZm(__5}YsK>&dH$n0F=L zLihD)7qtD*wA)Nd69yAxB|qr~kyS))^a?HpZp5~ue_;I_L4WyPZ0d30Wk{B!yFvuf zxp2;vVT3CT`lCW634>6gsll9cQG>LkXqX6sqES;mS%qi|PA409+CTsVEv+B=g$M^` z=2C~3(H9kF^q6iVeo`^055q|9M;CL`4IPM>5)ql2hiu=RD@0dpKj2z$Ct<(96TPO3 z+~x=Ee`$?=P@vy%4Mo)l#FI@*!1h55?NBq20uJL+^F8D|PRah}uQi(+7w5%TtR|QV z-b6Mgz!PGMtv7$ojegLpei*RhI0fkOaUK3$&@CTV*E7T#!C5_&cNFQAI&rk#g%{A} zW68aT7f-Dh?2-BJAB8)r4{&l;Lo1GiR)2)Qf1X;_Ob%e3S-cYtlE2(4>c|I+2R<%P`J>|)FO$7?Eaq};pinn zblo9d&xpZK?+QkY5qx+PH#;YAt@8==h2X+kO}v?IA&e4QAUqgGD6Du1TOrC^g(3&Y3F4rLbt81ztkwwixA)m%Y3c zDgiW?=)4pie?MF6zA7xM)fl0+Wfvdb; zbu2f;(GLz6<6pUIjTcUTAja88o9lY=bR@DR>z@DZo)Il2KF{5A*F8_&^Uyty-SaFyM__PVk= z6>Rlff0j}D3VFnopAX&Vg?mPft@ym}o)6sfv3ovp&+ptbNLYM6anGmj`K5cl=bnFc z&kx-5d-wdvJwI{JuiW!<_x#K~f90O?o< zPE*2Dc}ByUCw)xJ5AFk`YwAJ(SrxQ zUtydLpb{Zmvmb`@!?o4J`TTfyd;8?%WDE9yTa)R*_6$jny4$C{;Wos&Xv%o3E&-q` ze^S`3k0@-vyO|2w1iLO}b2s97CdJd{DaWjzkOV3 zT1f0EBz;oa-&1L!0KiZ|K==+ePLreU)Bf=`(r%MMA1qrl=+3*0Y%ZDqQO(TSPd=B* zZ}05vZ0~%reR>4(%JATmP{d?0?Zw{wfAiydqlLuYh6` z+#0UWgp@JY;rwW%+1!e48bC=MavmKMIac$!^;ut~Cbn9!585da(CQt@T;J{6 zTYvxC&41o*9fjY2-;&>Cz1nyGdHW{t-cIGyvUN0RZ?APWHs9{OdDGu`^Ja^GZ?3Ox z-CW;Jb`ZQQ9shd)d5a*3M75Ehj5mL!)G>R9R}i28pTclYT9;VB6d`}PU|XVHz`Kr| zObkOjkQl=jMS;?&Zx!DM|L!5ieAa|V;BOEw@6T(178qRyuBso_mnT5mxK<0o$g`+a zJp(u7W$KkyEpYUvYB{g050b`ICDsU-XO-x3=D`*FTAmHMGf*>$H;78wt2?V|*^7tV zxxGm2G}NIF;FWo$IkJDCvQabJkh6mTGtf!FY{iec8cphW$KcO3MIaFcW)ZO`sKo)- zGockn#O5IY6M&0+r(Y0Rq11++Ltc-Qv_BZ{0@^rfuuO)#yV|N%X zku7!tQ`nLb05Zl-3#O#;Mxs%>#7`>RK^hw(meeuQl_cm&f~kL#Y_Man34Y(@RHk)? zy=&8>J=uQqX11}Nx`H_4r?NWwyQ`Z*lVttC14*Ri7=Xn)m9(JARDco*PNfHrUp;#Y zeF#>bi1=`Wq2dr87EfQlc$nZ(GJTtUg@Y-sEUADsU`va*KK>J9p-Z6;pMCf0KMh67 zw`zeq)dDN>3@Cp}^};?|^x$R%&6bJ~NZW%@LjpHh%u5l_X=pTL z=EoOqRxay2_Ne8wM#;uhAfATo5>v`zN7&rZQu`521gCj~P3tes#1Y6RxUTS(*pcV2 zC~+77aMtjj44Xt~4a+z14vR=95*hx9t*u5jw4~ql_nCj6`?$PD$Hr}mHyyoYXcluo zyD1<7#%JtI1#abmMLgH=SKk@}rb^W{5JGJ*Nv%pn^!@#BUT!|J(A}H*6aGRFHCOKX zE^i8SpZev5O*r#sGrlAeJLFD?p3a%+9t}rlX3#I+Om&2toMiw0ON@E_-^~3J3D(2;sqj<8~o)yV?cj#XFxzLvaZVdBL-XAhgq=B0+Djs z-fmrNUi@^ia*>8#9xv=U?3dwu`(PM@_&L`p1aA=VlA;Y7%|A$awIN}BClEzyHs_P4 z6S$~8z-=+|P9^xDh9GrSFkA>+du>bSjmb;&Ea=c|+a+#yJom$ynd)mP+F?_5G9t1- z_C8*&a-EH=a>yZvzOe1%+0p#sh@&n8{Qr3{D8Q^AjB60nKRy(pTB5?7-vYr%0FuxS ztF#*Q6XI#WK_ITh_-v(jIKeeSOh^yV9z4MCuQ!3+B@B4k(tw8RjwD-wW0z3G6ea{S zuvR^ndc+hRe@*Em&Y{eaJIi@|l(DiM|3cgejZc}vb5Fa7q;MGHVd;n#c{{PXI7w3$&VDH z6QEn6N0kL1u2}k!%GD*hVxK(2g7cr}* z6%~__&YjBSSBjI~xfHRN>2g<-Cv;aX37C`8sy0g<2dC0N+9anbWx|c@g{}=&5^eo5 ze;G%Pc3EGk+)->93N_YP>S3atBWy^Nt!R3BMZ!1+dz4ny#l@|y+w|ee-U+(eQTKF> zAIIxAyTn=FG#?2Zj#|Rk-Q&Hj+q>}x%_vjO)`a=sMzVct@Hqmh3s!CT zPhkzr6UMHrig8_Yt}K!i(tl~e#l>N8OlKb5K%M!`(Z;kjYxQ8j3=22b2!ap8x@uBJ zmELIq4*`DvH^3(4No2=~g{zqcw47^tN@}#)`mN+ixAUdwc!e1=l=`7pG~B!OxW7e25so0f53;`{)i^h$|EX zk7!YZ%RQ#O!g%BGF6qIwvP%Hve^>^rt7E347R(}HJ$`3QC*FB`6l<{xVqti-Ne-M& zKN5`IRg9|}D-QK(E!CzSE{ldprA2FCLtkWM6E;dZ6$F*Cx_57F?cBaOZ5`_QK7^^j z{psXaNG~TbdciyBF#fmmzgwNR8{4fj{qg3_TmCwkV0up{ZN#3Nv~RcWe@)t-w|SQdDm#0e{MSVB87rVf>;mb)r=u1fh zZ(ZV8$ItScUvAV4oa6wBe@~zIrt;#`_;ddDEsP#?QhtEQQzA2G5cY^<4hv9;(JO~% z6oycmr^oG zXGrQmi58gmlgTo;JK;!CY9Z!evoD=NSPa}H7Ly&ls*$|kgTXTBe+qYa(2UK3`r|D2 zz#J0v${9Qm)N30q2rr*MTN%UwDFPmhjSGUr3d!56H(B@Eg#StOf~YmRwY{SV?^Kyh zs4|1d6R@F@%zCmRk=xbNRp@2#X-J*n=|-E|ErEhdk%MIP(bYSn_UXhM=YE37AM*NT z_PQhaal-ko=RHmCf3RI~o#O03(*4e*I5`|5%B=bGCVN-ns*NWnWpId5`(D-t=xRQs z4aq9^54Pgh(28L5J8EN@)vS=T#x=bzZOmC*iY8{MF7i-T541R~X1Z)#vh1Pqqs`|e zw%1EFy3^jFDkqdH#-7A+%Z-`Ih~3r|)|u_EkCyR30Y@mIe=!SQuDJ=0Y#e^@@mW8Y zb7s))h+<PVY-dLgTTngVc3{G)*HjvylNH z$GFpb3pOD$IW@I}`qRO{4r@gv?#ZN603cd|jRnENxcy$cr;$pos|dFKcxOPBX}w}Mwrvv1IXyKgV`+cCc}TookYso7%h zivz4@W{$hK_0b4YQ3Ax~F_1UnC?5J~GL-lq+Q*BF3CIXu^kCLJoZ%9P5Hj${-UAMD zQgMzVt%T|`hFt&r!f8{MFHjk#ow39LfL__AW61LdZ|#hTPTrV) z85j-?Q^MPWegw ze=18-K(%*u??yRiI2zt;YZr4d&6Cvd0*l#=YlejkaHZ`?cXPR zo3~)OgI~Px;XwKEXk^V7Z|-^L-(ynzC8%Z!tk(GyyDywyHhw_CkjJm(lWj8C)km2F z$D2YPCYtMRDBx_e;UQ9&2K52(pk(^5f1W*7K$u0gFBwejsByiWFE;085@r3Nj+Xo5 zu)jBL|GcsW8#<_B?A3DpXGI(0a6_&sDP-tF8o^T!KMqyVgdH@hfV?ffTZs81DRweTI%cPG+08*eLLdx6~@ zZnpACRdJS5WW>lXmH4sYMvVEEonML${Z#zcMR7im4bS{>!$)1?jRDKFrpXfqoZCIT zKr^@~3jh`=L-yx$i53^%QJRI5e_;-<+-2ug+5SpQAz4x|0O$;LsFt1YwX$XBP%|JwV#f(p*p|0_lQW*nW68oVPaGh>NM_5e$QraWxL9U#1cwoe=vzbPD(o5 zc`hXeN@$iY1k|BpAyp~pu&gmvPHz1K*Wl^!9b|;$p`!%Vy{-vVC-TcwwwqVM(A5ew ze4|}G*!lses6Eut#Y;ab(F}gDW*1clJ@I@3!LIMrvhz@~my*N1!wm{4 zl%2N1xtZj5wtTQgmYoNcf7hB(1Y04n_#DWn=xV8hVY-izDh<5V7 zB+No+Lhit>#%rV23i>y|U*JgaYKZHpMHp5T37R~q;dLzMU@+DTPD3B+nj5;M%)50h z8FIrH6DFI1K|#y)e?ZULSadpmSJa_PWH}kChn4O)V&Vflp-e5F< zNRa~!UXlT*53GQMDcTnep0OTu)Iyc@%NwL+z1#WG26!2tfAYQmFib#K3DYC|rmATU z2x%cyF@H#Dm+8ffVj=uX&vRHxD?t^@bcWHd1b>HGTx@Xl4-ONN7~?uZApxaUFrCQU zB|d@RV2vL3K+KG$gX_S&VJHH5ex%` z(rOWbg+Rc@k*A<$cG@S{EVA|!3CrQ>5rr!xd=_0)XkbwyRfsU0X7s;UEDMu-%N69b zdxHF~sX$jV1uL0A;0%l#qIk}+Yajq7lvgNywt}%Le}w~j>PPs}9tI&U;vRx4%MylG zm%oQ`{bK(skz&pmWLeUBXW(Gr_Hhkd>fKNdYOrO>651Qw4CSZ}WCGE6&2+9fyd{Is z43dU$x#LZc2X!DBM#%6a#bARLuKw5J$^tE_xY~R8Z=lFy+YazYL~xhfWy>>pC`4!= zq(>a4f5QcSib+e%EvbR~d1w0N3`lD69?!b*74>(9QN9@>eXrXoFmAfwQ2QDiU=SXO zAH}w@A2hIZP)Al(d2fQBh+WA24J!3eE5MfEx|1#gtX7xgSPfc&J9_6UJr-;&mhcr2 zGY1Ag4zgt-B9&r-W{6bQiNT)DJY+@ird&H;2tqCmxvqAoftJ%0D1VJQ;lr0TvEHOH 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�x=TbQJ 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≷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 zd1jaWZ*YKU#_mw5rReVF^1gkvH6z|0oomi9e@&kJPHF0jSHOkmy>)Bd!Bph z(ny}*n*9>wCvpM?A0h_SFHn7a2e=~~JC&Q|)vV-ak@1t)tLH(*b-YuT$S8I*fl2e67aEgG z?&oIZ_nYx?TSaMV8BF2(Cf(Bm7yW*j;f0oYlVitJ`t|ef(F{hUp8gm{h5CQo2QTc> z>gpr-%I;ONc%^(aue#OmYW;;&_}eqLf9r*;-j!}#(ia_s>`Nc=WfxDk76J9Uda9@I z{=WWk0HclV=0{rZMCAS~>xBg;uZ!$UeWQBCN;a@un>+ zMq~SskV}E4F-+VRuzEaSJ#!)CWvV#S98z%P=ecJs;{1{su=-!+Lo{R5a8N7Oe>>b< ztj@RKHvi4p(2} z9c;xXIx^U1NtxnKKWARhb`^$Dg#XM{%@26;6y(znL1Q~^*PnrDuTROW*0^3~c$Mo> zcGZkbHb9RXuA@APUVZi6^7pIbe?cl?^~n{_4>rEzH&@;29}Lz10C?s974Z7!uBo#B zIp7s^*Z&8+4)}kVT>ck;R}$F0TVDPfz^iWj6Ywg&&#JNZ^x+Gjf++|V{*2KQ(~n*22)RQxGuUc@^v{ef5#^7?>_Z| z!rke$g5r!pWj8ItNre;do*v~@iO9)Lg{&#lZP}LE+=w3PN_+9ha41(Isi$LI{pieC-{^3HGxhLKakJIsM z9aNl)7Eg$&pL@&hROO2}aGf3GTB7d7(_FC%mP~n}3rY3!kYqa#pfE;Na7bz?AhyQX zsCF-PIzPYh0GkkTAle-Tk6JT_+**&atm}@Gf%zTG&y0;^Y!?l`qwGVAydzomjgm?(d}pVNFVF1W$C`m*|RL&}5D zgLjn=n1SNne<1QEam>V9b`cBb8aV@fRF(}4WeA-%jv^s09;7r~z^_;ZQj1!8v*=CK zq8`KKW#RpHcmbn4)zpQ2C!R(B;EEyj)2S&wK0v7J7OTzc#}*_E$uF&W|FT)`muJxv zrOxbW-C>{leHp%%STGifz&3Td1sh}Bi@j00q7K&UfBV1##>%oP!TaR%aP!5k`Tn#s zmdWpQ<&!@cD~~$w?(lVMP5r3{-P{M>ABnN+m)# zcTM3-iM79gyd?aMVv@@jG};M_Zw_QmRx|wb{LycZld>~#r@9>Rbpu-LBaKbX#fno- zTPMB`e{iz^u&%xSCR+PC!S!8z{hIpq;q78s??Z40m80Fg3f;CxeDO!`uHFnX*@Z%( zc-h)SnE5W{DfG`%b%@<{F9j(5n!~L$8a6rVSFe@btKL3U3vSz8ktFjx25YfrN!8fd z?@=8AID9Y3leihyvL5suI@(xrW#thw<79LTf40?!mG)Hn&TZ3GL$dHvX9i9V4sCzj zM&-@&gEQUq)iYT7_Mkl*t%6y@eSOq>Ex2BrQoJJA+{Gp*B^q26zy9us((vqTB!-XL;e@CG>5w2M58SR(F31J(jQ;_eGATb}(i9*7> zyUU-#9!o?_e$pt%FXhu3KG=81E~LM7C2O~#YmY!-A0QlwhaCHN1-7jQvMqzUR`=yx zJ8qIAt6)7*=NVFrg4H_Hn>VZ@$Leg+H@$jV)A6DLXL@+vTbawU%{XKXh`{grfBQ7# z5uhtr2!8MJI9s?wOTp2IZ-=jR4$cz(5ar!_eKd(g^)5Rq)Nkh+pKpyqgKz?%`C~cL z_v=W+gTCCnnM@&vPjJ^D2>#dWW%N!{HRy2f1*!ohWwM6$D_PumzVSSUgDR`b^&1}3z9U){aHIK z$G8XH;M#>?pr`c7Iqx#UEiAQ|t`89W%~Qo-;d0F2G&zo4>Fy;Ha60M(S0sC!xrVpG ziubQsTEMVh;-aQDw}YD_6P1#&f5S$bNT0hj*y9L2u3;EqfBs$Xgw9h5 zir#ko+{~8hJRCgf@708h0QfP4?Qi6jNP#|f zr$@5K1hu~S+3gEHe94kie{Vex+un80f4U*?9>J*9o7{7(@A0ARz*+V`8LuZd@?hWk zAB1CO+HuiM4U;K`!eKpGZqCNYKKJbHdv;G=y@I876JCt=*~h{DGax(xsH75NDb0&t zN84r)=G%wWwOh4`LGHP4+)jrgWA2*ME#3a`kZeC_&)izJY=6h=e>}Ofj~QMVFucj% zrffy-q84Z)WKurEyG=eYWLr&vOZ;VYgZww`9l1i!lra6Mvb)NbQm*r%r3y005_D+cu!rV`Wlb#XiukmY)Y-BtBZs{Fd1q(PtJv|yn%Gd`|_BwlxSxV+0#|RzO zO=lcqw(RzX$w}5x`?PNP>k#*Z!tWsO!t@TNm$4pA;+3e&e*u4Y!rOh6N=g*9l7A!Y z%BIkl*IdHq$faP{=#b=>?D&#Oz@~oaQGJ z`s(-#=G#zm@(|-c7tt^qTp_(`>#ti9P(Yc(Sfhx2e_y$0Ww@{$fn#j_HcB6GA@Yv&5#}VDl_>f8Jz>5O$ImAt&RXM1(sPHJ zewvm1lcO2|qzL(XNP^u3NQK0mb|+U_cj!-uAu3Kvdx=QfTRv%Rimv}mzwsCb!i}n` z=3O#|)qFU1FHf5EW=<+W8-v!|kkW)>XwP76Gjr4{eaL7?1+=U-tE<{=)_D?p5S*rW#k zW6X`^8C1^V?c(0KUBrRzMQ>;RXq>atNfX6Hy6C2&+DM>hUb~hT=b*Q!NoP|T&rfd; zs{!$eSu>;jvhkfXsl8V6w8VAcxNbGVqE!m$f9R*?L}O&ih0i>;27`HDqu4A>C6u|(P zUDo%MM_ivLWv(4CTwMB|;G^Qv2PW8kgqxU+Y_ro}v8@g@4)nzXtahioKk{t67H#P| zf6MvHYQQcVy0>7luo9RKvlQ-aW>;SkQ@}D&rCj=~0Ri(y{Z1iY{;Ll&*SIT7a?xI? zUS#Ado=@vf{?^v>1h%5aRbAM8z9*|RG%fGW$9K%MNa!E4hkr)9I9fxOYz@4;=%EII zcds8?5Gh92*TZ=c^3x8WIAbjAd!g}re^>c{886_vyh}Y}f5YjI_?&!rWE?#9;$RGTMufN`oT@JAV(!aBlC-+e!uELWl=mbHwOMh+J zT6PXqbpCyd;r%?QpO`w|o%@5mw~%E*7HoUR#ezqKlMH$Xv4kAdGz?&3wa{lVe}1C> z2FcNiuoOG?hIX9P9r>i;FKxJ|vExMZP@X&B%@=J<`8A^gLo;LlODy0&f_#k&@{a#} zg37Y3VqV^K@WVxvR^Jm&US7LrkIhl<&##aK;vOLphtYaExKtO5op(Wm)Jyk<^0IGa zr!;kb4q>S;-qC}IMp4A=Vn3GRf9>;E;3_=!u{o%-fqF=5--L>9S)2~a-cYDPqQ+#HghZYWTaSm z_*AN7Y~H$eB%i*g*yV~;6yCP~h7VwJr`dCI`bT_%4@}3+;f9t*8_t|jVU0%diiK0e z_p2b(i1xNk1s@V-XYiEcf5#~4Z$~?$3Xsa9YiF_MR%%JiB^is8#^ghk^>oi|w^63y$&VMgqfBycOa0N6*a%pxp zgN-M*WCH`$|A3@7{n39{Ns?B@!fydsLP0-Wf=T{BILj{p=c+N^&t?Fs)BY#i+D)UtAMO9~y zSM9`I>J|!BJjc8DRqA(b4RC$DoE&o|9kg(ntP~c4*C+cOCQQ-Er0klVm&Tb-KV! z9t`HCbw2WQRX9O=5z@-~b;l|Y&>gtvoP6LEzaJJfVB>TyV!j~e=Dqwu$P$E&eff#4Kk(3D)FXIoUW`&*wnylv^%ANIcRTGT+7 z%pw)Stvc^9f2mpuwYR~0<&q#zsHLFUjumgjA>0QUf$kv}c)t#EE;GgUBGcFGs>cXN zDMyukAuP|FuuS#E_{8F^g|rwSD4<*4k2myv{pJY}z&1XgW_jZRQW)7QkR{UAn|YZI z?>1UM+!nN~GM9xLPSYFRr?YAklZe*Sg^Gdg6?o7ge-|A>4tcCk)dsMyu8{|v3|==5 zIQiF+)m~yXEa0|4g8zY2%Mp9QV30AyttHobl7BG2j<)|Q+b0FbujG)+KgoIT%$XzCBNzZ>_nn6Mh*tUj0LRWMMn~kw{fFDDEpG>zK z)-G(he>(BLKWAJzx_P-Lr?W=~kQAKl<=fk*#-3DHI2U`q>oIzY0r;RiooP2c-D~aT z*0x-w%~hCK3#!3gAiW%I-RbHVvqRmZi?C8EgYTA|AmVlsIS7UH=>pxUHkE|*0V<`# zJ7}BetGCFnghluJ_=NA|=RJ($-CL@!t6Txpe@Q`A)Z~&6kLR)_#^1@ued5WI$BTY@ z=Fgk@;kdE6XVAkKe+Tqw!4%TX~kIA16 zfA=1*pNlVOW~BmHW{V0bM_(K-8VSJFxp{I^lm#ygls(!{cigtD$4EabkJR4XrR@{A z#hj$Yafe1PF@2-#(3!dQaG_`VxO-!Hvdfk*?(Ch1r9Q|G9I+c)9$7V22$V{-Fr0!v z(}3mE7wKY@d8ad@y?4Uqc`DJ7xGB!Lf7j-YakR(dAu)be`Rh5q9OcjV4%`n4chVwS z@8TkPaNs4Kg?Wp+(|^X@c-|m!v2W`qIN1Oi#3Y_x`}b+ttHf@+QbD-|k^Kp|vwxEm z=LFgq&hQ<8Z#1(2-*qF7h4sl`%S3@a5r3QZAm1p1G?x%wQ?JJxh%VqvxTC~7e@;{I zSj~rf0!5w)*O0fDdBk{fsZhQag@^h=NC&#k{Cku`XlTPnIhsExdmuZ|)h?kaJzq6L2tny$~JKhU+XvaPqlDsj9}aFVEc6Cm^L$gC=T)?F<=DynYZK4Hx=k`BNH z0&s!XIJ2y#jt{tR-!#Ryd9Md#f98fCGRHsveDB+vo=TAUZ%YNxSPtlDy^J#3^^yQ4w3# zHR%y=-9S{IYW6BE-T8hkw>uTo;apzQ{h9}rA9xt)DT!!D+Yf*lne5@7gS1K}bx7LF zm+=X%^T~db_AR{$zK?WPf3ru^<7pgs@0xz?{4+7_Mn~f{lw3 z9U<2Wq#=CVxnU52x@rj4GwBA=mSW?f27h7Bx4uJB{3t*v(D6wzn(C;^cNe+(;uq|g zvj?uL;ls&^G(P`ovn0L(Au+zFlleLUwEcv&)?Jtc6hu(_b~VL+f0Jf^sUddlG8rc6 z2rgZzvRG&l% zB$o#)pbY8Rhg*dnpKsC9^{)ow=g> zNYdxYx-q}@Nlm7Ff0!yC;2THV6Dx_ZFn@JvJaNW7!W1L-n9OP?K*4W+KXG&i>XS$f z&RNSIRU3=wK=3zoskquJtySZlsv($y#KOeCeUj-Ba)(qdT-S3c5V=)x+E-ry{?yr*(fh#j=6H+!%-%N)xq%i zRXF00xYO+M_KcY`D_Xl>T9gMF>m9z>3&?XPdiO*Vn36t_tC=?Q7VC`n_hP?eAKP`$ z_J5xQDxQHoe{vZOn}V1pat=|-Le`)9L{Hp{_0BF_@@I8^qx8Drw>9;Nsa!@%y%;jn z9Vi1*;@1+A0WL=L$QazD>W&v5kU8t?y5Bz`w`223nOXgo7F9* z&h!XSd;P!`aH{sm^`^lMSlSC_2kk0fu1Ax6os~J7PPoe|togel`p4OJW(se#-ks(F zi{cgIe|b*3(e~4R0ZcD|lmXeUZ65M7^+tWkJL4Gqg*@fKp11?g;V|H%TKyil_1q!| z6<<-{w5nX@`WJWY>c01u=l*w}Je1LR8oR)*&z$dbch}GPHurji_1Wpwb~AO#FVf3c zF7WM;i>kf^W^kq(L5S6%uMYO5=Psr4pbayJe}l=I7^K>MHeRy{!r<@%z$m$_?C~tP z^iGd=%wrJ6V%rN4#LLM${$BG=64`DN^@S+=kihLk0S?K`=4IZKR(d z&g%Q=IXJ5Rj$z`hgl3dG-TpX_Jpqm_f1l2052iKe{M%0T{rT7z_zKTf7KW{htN66; zrql5+A`jQk3wh5cov7;Vqt&FiH*$JAur=fX4wH36~!;w}@-wum?f* zuzP7A7a+6j$Ehh**eqRPu_pTwqCm;9q!qI#zoBOVO`hiYH7CP*~`(Eyo&_r$zJ*J$yL0c*^avS z8$b->O*%sd+9Lk^i^6ebC=~1E?IFwAUd=OG+x@JGA457=qD5x0lYt^(fAi}%{^4)h zc`$mHTjN)|{Yv%sG9d>FyEN9vAGf%@V)^m5QfyG^+ z*zYrSR<@l{HU11pe`_^MGxCi>sBS_Ga7oVeY@gEg;RrJE>V|}~bTGX$1Z)=Jij^@} z>f?Yk#PFDtbM)QLE)67Vf*S3^V~X~8Df3V!lgl|qv7%8*3)3O^Z^tNa#> zA1Oaajir$*63DA*v|MAJ>cF?Ed8Y~RVu0QYNUbxtdjRXVe@F0o1P8G)gWc`(3x8Kc zi*xd4nINuvwSM7P3wLs_-{n069J_(&?{th2X`Lo+3F;ME{o=_<2h=fr2dL4MKwbN} zJKrOqAcU4o&RjmKge)!c&6a&SbC_B}F<_s3LZW~ci2Tj3{5m5`RVi!be72*#0Ms`Z zT>{1U75KrRfBEfjcJtvKklE-B0l}W#QJG5bq8;&lS8ul3;c0K(dWM--Z~+(ExT-N2 zyk8D_cTkIyKcAqwyt%0TUf;k^YA-x$uO4BFipM=(-)bC2MsQ99E|DxbLWso;uAkU2;|ZtCY7k%7r=S%IfEM-Pb_Eh zqfM_$KzCMMZviR{f#K9cp%>!akH`!M2{_7Qr91&6DTMBr-c`wye{<>APCg*@tY9q_w0Fwq3UGY1xF#KlaBfuoee@ z5S2LewqcB(e)*)|ZzCXT^GqMqplY~+UTzieI*G5NaI~Ivf9&+y?TZ@-w;9QC8-0PI<9$04TzQ&> zd!@neJ!e}T-jbjiy4BG?BTMt<!3|+#J&jzOB&W-UBb6hcw?$8d zk8%FNxVBjP4js20prNAXPmEubKFsBx);rDV5?p>9ii*^kz1_|#!X_fDJHcB&6>l$M ze?PBxwH!&*LVA`H%u)xGhI~El5>b8NO|G7|5Hqx1!~6>lIu)YOYCVQPx0Z+7KtXwL zGn>(yzH3MI(|IimHQ%wZsn(VF{Asgr^uL8@hN=9Ocy32(XYR?%eMyI3r99i?F{x#i z)-Lg=&L?X@@a60*&nbS{Oa>I-8Jg_^e>HAU>WGU86HmNw$uljli_zvu|c-_dJGZp6NDsLLy*Q<4UeZmqA zy#j9BlGbBFho94G*&zw=uR0SyiZOy_Jn~fu3P|Z|q7iMT_czyl+uv`eq9%!wf5wKr z+~0>BAWhtvUPP#$KgQ4ffWw(T^wP_a#xb+8a%zd!k5eWc3^aM-U@q1~5c%8zq) z8?IS=5x3&HdIYj>WzS^^i5p2-fAT`HZl~~z3{}IW(eWnIGL4`~LGaBBV3*@$2`RHi z8QNggxwX=ljBt$?B%dg3s`@Vk7n9m$cX4ZkjRXCi@OLUQS*&~=fr-SUH}2EGt$xyb zmg&#o3ps5voEd zBF53>F#Wjie(Qn^E~16lQ;PZpKkg+LGrKC7J=M?JScM!dQ(E|Hen}5UZBf?n?A<)> ze7H5Mli%C!%TLR8C3Hv}+NaKEeV&`ohcOLXhJA_l-3^J%f==h5k~5v{eYMHAFhazU z?k#{NnNNubff4QjDO@c;e@wN<`GZ9MiI{6p3b2v!#@s z2Tta1+JgixDqM7Vzz_9>d##+Soc~3qwXGv#YTmdgrcCgWU0k|%jgFN~?~W8{cz+Bu zyi{-=yWQWZs5h|^D`nOL_uB3+c58&k1&^LByK{P$?#Sg+)FJBrf9L#5d@ci%t(bh5 zs$c7+2|j4%I;<{~3`sxP@Oy+9!5qxhnzN`s?PL^TmnD*)`Q2xb5h{j3)z#oW{brhZ z(3q8+d2~S-42LlkoNihK?84$-66y1F|B8;k4-N|M0yYXUT@$$JafIuiD_&NyJaxz#_ZHjAl1`e|wInvR6oO=llDC*?#QEoP#%pC>HtvH)#fWXKFZ3JrLrM)i352VBkF=Eb!P= z{Xir9Gjku$*8~zpl(2p3fUXjxjOKnaLDwH_ zq|5EbxkR?{=QsMQ3Fw;y?iPef7D*tDiF=+B^xe(JV8$DHxY=rq^|GuztDRZ?);QM> z*#v!#$CUf(WR%B|;+*8S{(b)YCC@m#*v{oi(`hw&HHhq1uih_okhu0%hf%7#F^|e|Mwulp6Js(CHIr z>g%Db?#C*tR*5x?lU)uV^YysD+x^SJ4cY(!2XPt9b2eP>d=f@(3r+^xLP|DvZ&tnf zmakpD-g9?Q`sQ%S%CB;N-RZSzyDYK!2+O%rFCYOkf378MdSca~8J)II-URLSh8ppE z?F@6HrSC(l>kuIgbnQx&9<;wOj~5ns_@$ohbXn@l=J0^2L8b>vWX8vDJi?^VLY?NV z)iZEwMY%g6LN`Tq?<09me7pNg5 z$c1LCe@g}mbbu!z)!Op|ed@57r;{$+=(F)W6=3^6D6V4N*I8}^=JlpXHXApa{VH0y zWn`R6;;4_1E*=$W-fb~_^-b!?36I)jyRM(`1=NArm65V?Dx0&aMO`@5>3b&PJ{jUr zt6)F_j^r51pb|eFx2ZXQ>b(O9HKTzAz<*fRf2oAMhR*%8g!}UPet*&n3&Q@*efc-*QgC-iOLO8R`n zubm^r?kxI{Jq$~dsl(}B$-c`g!_)!i8_bh_(~**hZBRY>Tt|fP`XRw9b z^qwiP@}tLh7;?*(Z~AbVp{FDA<+*I#K}g@ez`GZVudc7dslPhbmdM&zYE6Eqe;3gO znrb+6xA)CIe2m}xlPq}FM^rYiDJNmt!|p8kqPze(K*qoABcy8V2vL)u{QSiKrgX7G zjp&!2YlIuVpGD#O>r;_n_YSr`)_-Zh^#u3B_A}xjbU^%WK9Q`4uK0`o=JdWiPM9(2 zx_)x8Kioir&@ok-@#t`2BvHKolygfTj}4NsKE=gMZ3; z0W|2!wbJQ~j-vDd5|THq&~Bt{D1v%X5#zdO0*8k_rI1*Tk0;Q_LC!$)QIpPp@#fz*>;(z`2?a%Ex?%gccFQ%!~^A=Kj^;p_dp`5>TBs@=7VSD)$ zZI|VbZ25QN$s67wSt`Hgfy?FB1x0x8*FD9j-WokMUJhqeS)?poOQAky;fhp|eYZU% zM>-7%>f%z1vL>HAiolQy<2`~AxyOD}6m3dQe_C#d}o)9wa@#vOjhM92TanBU&5`z2)E`Qd50z;}V((1pCa z{b~)L;SOpR)|V^FZ15ee@pw(S#o_p z_brcn((*7^PV(w3XxlaHpAsmH>H7w_%!znMl?rd~7CLeL-TD*e)F`vp)V)8qZIzoLwy+x6Yy(5vX<9?}uNyWQi z_w4p1ynjxrItAa-dEwgoVXKSntIU8aJ9cXv6S(s6vKLPxI4HRt=fu6Um4uZ_?~Mf6 zEm3W^N6{QW_Sa|sgZ}M@n9TtT>-^o&#}(LA1h|Gav0vs)N`f~dU4~N1FgDJzvrNP{ z%;#J*t~SW^*_cabqHBU1l?DSxS>NL1piAFkGk;_7?#-sywa9WOcma`br8|@N{dC+X zL>e^nBvXb6UbUkbk3`!QMLy?7`-*>y`g>mAshaqV)o{UZBZaQvE+BeR{wh1H$R}{8 z(e#E%t?=zh&tGaQ-A&|m-txh2nE^b6TndkX=r;`Vm{{~+45V}`wY>HFmSmQj-8ShbpcfJ4olopR;d#^9gXO-x2 z`$c+qNYoW=dx7VH`f z2>a7_>0>Uco}RLStz5MITZTbv3@@lSy#b0Bm$QdrRXNJxb?*f?>D$q<%ul^Wq2HmM zWxBFJf4qlJ_ot_b9+-VQZ6-&M1|Ah(_}U|nZil2W8zACUR6F;3f1ZcnrsdO;w?N_h z!Qt|3b<8Zd`J4PiJPE=(7bZQx^M7YJ@)sT?v7Q!ZXP0!3eWQUFhv9Mrisg$686oV6*VQJ9#Q(S)Tl=t z5ETkH8q1y-x3rk;$Y1>IUWiP|W&pNYI$GKZ0 z(|*}{zT*dYGKzq3RRac%u5x$B2IK1*RV{GCw|>`JR7zRSwF%J=Z~U{Lj)!NvVOoCs zi6wPMvURbU^cm;(u=+|^jDLTB#+Y7!$c=g^=|pGe`4R6%=jq449$hV0uXPd#|F*mr zN#SPxTT&Ls>*XoC+T@XwIq{;c%GG%vzJma=n}eGxCNM0|^^|0@+U*6N^t!gAK@@rU zxzg#aM{l_PE&^#!Isl>d8d`h;_$?*Uz796=Se(~_$?{c|W+I%S+FRri=6V6FiyiNwtL93!XE&(s@((S6 zNBjq4y-C|#@ws=8o^Eu}Ic7*ws`?|XI;lV@WA3jNxSvedwGw?~vO7L=f?ycAeEpn0 z^zZbrCr>y`M-EQx z7H1Ak$K|%X_y`w+Uc0*sz{}I~;qy3EqMP%6`J5WDPXpKJ?pHl^p|*YKpgddMif?&z zfpYLP0}n0?lR5jQj*F&UO&h)UbZ8_)lv?Oc{s)zU2dKsHc7z$RDaE+8QE z01>$;cLATi#(&C)tcvPXWj3;TA~MfedoP7K|9_0{({7`5Z+~t%v9irM?#;dUf-YX= zLU=i4r%m!rPHqS*zEB-8!V9}!hg;1Wm-<4A0tSC-g*NT>89D`i--qj5R)RPS^SD|F z3!aZUmRLXgmy9kkeCfZBn{vQ}-NDHFxBFfG&>8G|jei_*`G6%`?$YLMbp}qu(&jTG z-Wf?9F0R@yYAo%f1cR|RD5Wp1hqoI+I$7R7Tg3Z*J~TAJxA62h=RqggnHa+Fj&l#m z`7*i1(Cui5U<1${k#SNI3lI9sTYsm_M4h~NFUJ|14d!U?menV$e5QBf*T+MOIDH(>eA32#9yX&fJ6*1e)#Fd{sNh8+q(A+ zrAHEf0v?+jLQ;Z%=wGf!e}OrBIhao-pL(oSFp)n5AMz1Xfmf;n>x`VU!eyrG*ZcnX zjEi6nh+j!}8B&=yZ+|;}Z>H_A-hbZOPE&a}vB3z-4iYeVFIxU{|KRTTtNJlXk2H}w z3U>G5p$i4f-`nKbQAixg36qGQv?lTG3kJZ$?aX9X7tbjdQ$;Op<@4HnT`i(0tY7nv zJ4o4L`EVYPJNNP}20~|c_p=*3y{%HPqRj7Wm*E}^Ia@_?j44^8Y2EP+>VLCZ^@&iu zG^r-KeUvGh`NrXPy<+6NICtl^-Q?W|Dfe4{OC4mHg%=o#J3Q@A(NM1G{d~)(A8ZZ6 zlH)naUcpdoZy~N3aI1m95SW#dns@jC z(z|%W*_qS5C%?f(IET-ftbc;Ph8d0W(M9-c6yUf` z7R(oS9<4I!a4-hhpa4nVm+_e&Go+x+Q?aY=K?}#Jj_eNVINFDL$;S>$V@mr@S0`^? z)~W`Ph6LYRfLSh+(RAD5-NhykQ5PCUnQJ}0O?e8H-)?wg=t|M;{D0Z%SAJNP<-Ew| z7D`u@mr-iFmS*Rpv0 ztPi_!#pM^5mrdTks?0jRR+daepd+m2T3GKhQbfhvY`Qs$s(-wOOueAUwG)H=;9s9m zKlG__F-GH5E3XcSAL@6b%R)W{%yA8_FY=e{gjnyZa;@)kUp&5bHVV$SJP&PHo z%F*xYVdL7}d7qo1A8CF0b0cU%qJG-UKUCwY9CA{Ma$l-mpB@l9N%^Xy&d$?*J@3&V zb=ophPn%xEz<&uyKZ>aL^19M5x!YauXEXoU&*^i|Cx0J%5j+Xh3;3O)J5s|Z$9fY3 zkikc@5|nD|amiU}v*j6kZ=#zB-#uz?f|Iueh(8zlU&h7e0$@n8~~$ zYzkCO`uB$E5^DM`SF37go}a(2D_Y`xmQ(#w+iz`9seiMitBBz}A(GJpN%R|siGa}2 z)$3}J6bK?_m1byNy2|MYqL;N@CHFhM{&c0EMc03-3vOG}qICV2S*c9l0O+jmmjIwrm@nxrHV8+f0et@eq7- zJHJU$iZIji$};PKC=Rg)3OKSR%DCVv|LT)lEq{T%ap%v>D?s^{~ILU;2}$63R<`)@>kJqFmkjkpvtN~!~d&Ig8P zp66r!O#vGf2#mtoQZe7Kls1;RPEa{d<1I`0`=wLNPZn$pWs9tO{Bo1rJJW}Crr(+q z1b-UpuonF*tf5SB1Yx#j=#4faH))`hfX0oqjJL)0)714 zw%)>-AE9s5^;^3*vv>T$K-@K`cE)QNqDblAo=5C;rn_$()iEd+MfVJI8FF5lj}2iA znpHmIbXOb4?*eez>E;<8^zhyA+55(XvwtTT7`0@ai2xz7R>A=Uhd|hVTSPU7SW;(5mw`=jI4FyOqB2r$o_I>&!heyq zd(CQ`7rdmcg2@3no=bgNpX$}$bw3#WKgIKN^5yCdo&)|6Z;KYP3HUcDGM@;E>1%PO zxoTP%oE&tRf&w=E!e4=ny5+8}rYN{V`pXA(38~=3dFL}9wBeXTzGL3R><-t$1dybi z8O?7lcqsqCRJpW|yOi~MeFziQUVq9TM}O}{tS$+TzT9~xp85FDClW8Nj}T4okIt8`5E=Gj3*_`e9FfTVj92UG^MCN~%PB|37giYQ zp&&eAcSpZ=Ohr(WpS2P?n!u&gg_b?OUz+u;9-v%OU2ZoA!ENs853rIC;NY$L{v(i^ zmj>eINH?2LhNsvrT4a6f58>TH1RDi_LSzo-j;1Y1-?}P?iUu`(^(MinpXxMxD-ZGY z@yvReHHoDrQcM}!&fBNC>YcLV<+RrAGj4-Qe^w8-ZjUxx ziwT`}>-j7pQ>)n}3+OJYf6@98Rf0{QvAe zl_3hxG-|wekqeIl9L1jIz1SWF8iz4#y`#!V7tx|f8R^$ExS5U~oPn2P_PW!M3E0%j z%J4XvS~%ULy}?)F0&j&9umDeAFCWd|ZLPjM(m}lcetmYqo9}n$ufH1B5`K5=FX3q| zmqw~{SLBux^?%52gk>tBNyPK({OZqrf6BJw`O@2+d#xvml?KS@Z|i#`o-oo=ysft8 zbKq`}iuh+EhAF!DA2b6STF@-S%^WC%7P1rqY^J)I{wq2#Zq4k1-~0}%zr%QDF0{tOk>ZRgxP|uNme^2 zj(0;>;nKX8y{@@r1DD#Jg`Z0-vpsqiUU4p;D)bcC=0w+xBd`27qq-wH>^W6^mrsmJ zzADz9cuyRZvh1`Axxw+;D02=T!17F9HP!(rfMK(GGmYY^@7CFX)|chqg~?{SR&{{K zFQ5q327j-bERP+B*T=OY<>v`6pyLFCMTE30E|+S(q3*k#AfsAOX4d+rvz|NWa+jIqcT6;#Rp)i*VX>QYy)^w>;=5fqk!ielWx}lB>~?Er4mQO5D?dN^hU?>7xQhe^ZQ0c*KaBHKDOa+JXdkM_mDR9vagy< z$g8Cgqq}i@5sHGxRifarRaa#m*A}%@W!Y0@Qx+BJ<gt#0r;Fp$ zuhX+xlQZ|lxMqFdX|#OvFcP|{-3l0hx`)k2I_&pnxTOasC3yMOTKq-)yML-m-!dd$ zsZ;HK2Ndwzdu@vi80a%fT~y(J783*I>GX~fXCU}h2T^RXbdKFgB}Eb=VeuV7f9@1> zaYTpb|8FQP{qI9z!NeWCd?=s)78zFD{Wlpl67c~OPtSje3|lN}_&;P=9c88)e?umc zx22?*g&hA9l@B$k!1QRrV1Mp46Ss4CKA)G2w+Nnk0S6%Vt$eiR zKQ!*>u?I&IIZTdv1PZY`ez5zxku8?f1cAHW?wK5E93-HIXtLy0okivW%Qf6-gOWJ< zH5RX*jkwnA^P4$n>KOyjLELl`M$^XqatA?hRy~|R=Jl%`ULL!JN36TvZ;I;VXjC$g z6gKf4J{g+$o~{iOYk!DlQ{kKRcskX8(3;c6c%uLEjlzi{xaZ?{*^t|lJimaPo3DuA za6R4G&*^eHy%8)gpxG7b!j#9~j80zP4+s$%{y2$y4W2gv+w$OdXHNX)5P8bijBJu6hc?(LY^3H|G6( z6%L*&#`6X7OTutuw&uVHa}dQ()Nc2L@Iv2{u9R!Z!gJR;a@i23w~!x4;t~{}5DbEC ziUl4tcN4iW=zlVQsN!9k>|`kuYC<>xYANJ}(?P!xZdYxdf{^jDquz&{w;$y_Q}Hdy z5HS-b4(w#beL+5Ze&p_bA%YS$?B~Tr?dp<=#>dJEY)`6TV1I|-ws1=%@YjAY7aqgY z7Jd90UFh~Ce}hZlCf*5bW2-$ezc`K}bW`JTIV#NHiGRdPyavxNB5u>2X10yBj@J^x zUwlKnvQvLg!emm@_?^s_zFt31=9?!J7+1NMdt*WS-@_LqD&qU0hIS#IGxb^m$W*!O zF1ZgUmMIVV=lh-K*~UkT-IED#_0=Wo?@Dn06EumpD*h5dztFaKafGIK7Ka^7D6JMpfO>Bs~7v2izqD&CBA{48{ztFUa#*Wgzc?UlS043eVW zLAWrTfaefeFtHkoMLJe9mPx`Qg;7Uwz-1KrDwknQ zfvq~mIRST>FxrKv(&)rVpNj%9H-L#e=A@aE&wuqfq)pj@yHOUgF=1gCgD!A(ic?N` zLV}F3R%SWV)1O0tN$i9ZMldErsN3fKI(rW?HFIs}aXAzTwr0y6FyVugef;Tv*7Gz-@`ZovQIJ45A>&hf-u_HQ_M|07| zBaHXlWz`w&8$yH$^r__K62oFroNyf*aDPgC7cPebC73BsPB(BLj)Q;30jn;2bOHKa zbOPleQ;BWA+BDzuTkF0}X7eouHJFmF!vp*Z*qb^`<#5ZU6eUKsw+xw9W%D8i1K54e zV66P&3rveI9_dyxZs-oL+;xLwwJ3IXGIiH!^&SQC$>srC8)yIgzP|9azlOSDj(_`- z3E&@g$#ky~`W1V76-EBK{iT!nO^@v0wR>}$1xG7QRO7=XMd|@`MyU@CF-6RPUp~G3 zC|voeoo{eImfzPI=!p_K@uXP^pv9_4&X<)^^0CEm! zJvhv!qgMhCo*6_@tq2~>r8&>SK!0;=c`{wmN^w6nA8o~W>Mg0?Olsf5EthZ2;d~a< zm*!UWO*Fwg7LoVq9NF~-(K+{`>KtC}rxeu<*{4(y)APv~MD`oXip_|Y$7sTkY^4jJ z;`QCESS8Y@XmigOe*aikrSEnRr^9COfgNey|Drl@r-q+Hf7*?t82@O>7BQ%h%!SlL*yN3=K8W);Qur!vvyJvTZz;k|n znqEF21EmGyMKbLV!r|?u?5Qs>b-x`L#WTy|$UKYWRihC1ahh7&iL?IlCpY!UTZntA1`1KYJcyCIyzDFNUy7@DO3GBS}opip3a6w2736wKV$w+;PV#h zO&;76M1(sFZR>HW$5 zB4C}Y!BEZ*SloN-C0i@5YgdqgTd!j~+xm18j$7WT#!T(@%^RW3L4VpQVOV#e&wmBo z(k|XOeaxViN&B%C?$#Kp-+)QCycXKhNKP)o!YK>{@El97uf37-RYTUGKqCL3cq*u? zYW?vpNNV7fA`45jLG`5A=jop@b4XaPirGFtO+t6O>F=glEnM4=qmCZL5=Xi98Z%D19>3=-UWMC0$b&8b8 zR9+)LZnkF<)xC>_%R4uaAPdT-F8m!JA>Ub0wC`%9lRa&=q#h<`Hz(WprnhC+68v;JxQ z>gly?YR${d*SwOtqT2D3DZq;I4vV0)P#L2P;1-9vd1hmB#IDPM$xY+N5gLQnMyl-3 za~!3_Ki`UK?QeBRD_|`zx8~>+cWL%K{1mlX$_FuQ)T0(XrB1c0MtQ!z0@Ak+@*+kz za`|7$Ms<#E7^ zuIzooU4OXG$E;puAC*sI2mFkUna*Av>v9Ozc^M(r?CM8}Sc&pjUe8sz0sooz4p`~Z zTsWN|aTFQX#Dr z>S&lBK6D2@SwN{kgS6{*cD$-_defWKI%pf(g@5^>Cv%wd>h1AYNZ-Fd+2P}IUxi0j z&1kaL=7BQ=oMGUvyLF%L)QdxY(j56izC9KktsYIUUNtwc>>XR%(Of}LGMqaN3F@myktNaky>ozp%mQpv&Bv=eN$`Srl- zc%h3|61Lt`mh53ZlbbwSen#W-ZQe_+Y4}eJT%4eF)K}4=CS|6(uJU;lbG3YZNCzL) zfY0d~8ExhpgbHA!{0+zTTcA64a|;-)#(y1vG@z8lfQvaDXfe@5G3^7s?2|Qgw>Qqz zr|f*Cj)~L%SVVvUF28{v9%ljK-P7V6l}?iJGQ`4PePy~1+MI)r@u%=nfm%V0FPtcS zG$h@|*Hkdhe-gtxOzTPQJ)4p)4~N6?Q8m10+_)3}*pu>CXWu`7Y3&DCRY*NSyMH}i zZXhr?uhljMQtG6Ye(wojwOXZ}OArM$yTh(QHnqHJE4o&-+lWwAv;N^=H zA4o|Np|Wjo7yuV-FYdiy`??Vz!lES2ar;K8%?(SGC1pivQo-yyLE?AIFeeL#sB$+e z{D2Ab=Yg>zTh)A{gCjbze0OpMMoJ1_}e+4P<( z#Ujx0<{9_zMUS3e&(~nswSP5^=;S4>O+qkxPeXX0*SAl9bk@u{joFSvDSyyB5HI`% zd;*a;4le`y9t`g?a!iOKlRgUrj(E*d85aK^=Uy>0i^mq2So=B@jWq(9cFnQiIFogGaV6c%roHuIaevwhrEYv3RmvPQEEMo#BVO2{htZ^{=Dc*p{McXQ~zj@9n1E4 zQ7*ZRdwB^ytalRfS${~SNa-M}v2UJ_2;F|r_>APRUvxFVW5oAm*wwIHJJ+X*iZY~O zRj{OZj9gCmGaRqS@cTyircMUjIYr?Y-<+DB6(5zK_yE~mewAdFYO%hqPxsf@Utv6z z<`(*n2n-xx=uq!3U6C=8BarLleL2*!k2?uSWw(gX8yj`9(|?IXP33!uC~6PP%YCfs zv;N)~`m3CZycxixCKT8+_saTXO9Rj5=-wiFaGP%RgzgfTZoA#4(B=};aq3%7bVw+I zUDXwG;7_eG-@r(k-1|i9#{>B(zUtS+F7?p0h^;;`K&UD3z7sd^F0}1Yj*spW7i*Tj z=BIQ!uPnD0k$;FzC=620gAy^mW6k^HCW_J6w#+9NEP>gZ;}Dw($Z>AIgp;SB$N(f0 zXm4|Tk#Clgbt7O9pyv$oK2oDock`0=#eMR}uP?5`47}tVVL-nHAW^rl#6&`$_onL}qDI z+>^;KRkL4X4L-Ncdzzd?WlxFUXYU+>kjMf6$iJ{G#QDO$e$@bW!|0`i_2|L*(}%<)=z)O z&r$78T0o?P3L9T(1dkIJ+^MU1dm_1CO;tZ*C5j8~>1UkWgGgd=dv-n{{EpGwJmS=F zO7UgukLv1}d$95C*nD|7JtDRD+)i?T7=)vBVt*gsU;KSV@-AE!a?3fN-c!nNeAoM1 z`9Wv4kWQSdx9NxP$@aRlIb9mwk!QKqr961oqj2q6W!_vbJCROD{Dq_PzST%iA!*>l zFPYTxCeyXoflb`%=mB+!H!Mz+4=%0Ab|-pI7xeEb%#w0;-P2nJCn$)-;2=-q5uHDJ z|9^N{J9)d^+hAR~hv(vaT|Ug{^Q6#xI2qiTkncZ`llt!B^g=;XPGoGy_5eqZy&N7n z-k8r^A|T|l=^Jw2H*9Ub&I52nNaB4I7Q*B_EuW`Qu*7gc0Qwqg+H1{mD-kV|61^;Q zzry8=ZoPqi=lQGcj%H#hzBwxBN49j)-+#?B?xEJ%`9_FO8iuY3(HD+x;d+>H-^K?G zKr>`WZ)a=uOnqz)BBf7JKuvh$=y*%b;waeBv3a25b$&oe=4P2$Ve6GLuDzy${CrEv*?#;v^1Z9)Dfm z(eJMU`;Qw2g7Tezb=CMyHZm`pnlrBRZhOv&k;^mRAnfKRnqm+8tAmi0xgfPcKQuk}oFW`s)qVo3GY27N~2VCLWA_ z>W=2nrxt>m{O-%0&hG67KRmrB$ISxRc2{O^>fP2yr~CG&>RCR?cAW|xoqt+)>*YQe zmlZLbFz)qR*{4;M$Q zJsPnuw>;tFbwwhx1xM{yv-i2LY_HzENfUu)Mt^<2mtq|O@7Qb9?oo|}Q3D%rTE%fSW6hX_#qIad2cF3>hpzzvlpZgcOq4 z4w(R{MC}3KsczVKmrY6)*7LA9X{(YrHc7Gn9(DI!9yR5nC zy%S}6ydCHe$+O~fq0e^N=gM_u-!^BXfE8!qA)H$ixrwj)u?|FL@9USeUtLL#B`(8pHYIO@p?(jbU_|ezIJ*I9&_@*uGeBSYk!l8YeTxGk;i`+tKCRBZ z71W5x)?6;nh*+Zj9eG9$a4tw{!qhiuG>GecgpGz%(#u;}K>lB!lzz%%`23koz|!$> zALW95oHuXit_a^ZLU4PW3gvzJvW9kjrf$W4w3!vqqo&&G*MA})UEZJXaE~uE*$~8$ zB5sg;U`msmO2C~Q(qW%LLd-Kn1*Z`bGKaBnU_HAKFHM&I}BO^0P`Q z&k*6p%5^-J_wfdbhMks$k?(gh38sk}rzwS0(3%XONVVn45r`&CMU&gFavsUwl>Fc^ z=cjl8__g${cWcv zT-rRn{Oz9f2;-3exhz*5ZXqlxuc}xuiM%tv(iLJxXx31is`Xtw z5rLltO@D+2hz6Do58aKe^cm==&UI0{n5a~}M9lV9MBGCbx?!CmZ)Q$?`Xg@PJB`KG zaM!K$emi&CwHD^5OHvZbI$Me$gaQ*Ai=?68$uEB7Q;XJ>og;a!MBES^PS>_eZ;#z* zA0|Fi?Q^4!vz1?eTjQ=H`w|^|#)$nDg-b&s(0^k=Ev(RqiUW1v#{6jh0IG)gz=vRz zuk-X2#i1|ig{I;3xl_E3yl>--%bj=MUkKHe{@r0_U0dvBG=ChK=TA2CoeRg4*B$EL z9<;OX(58}O8BaEi)2aVrztqcH^|!kkC+`u+BU$p{MW%wUP|^dz#ygmqRq@i#s|SV? zB!4%|`_ZuLC;iAd#|HE_^{DlUo8GOKA0FqQ3?OSNfUpM5|E0q5KK-IF1X6bk7DfZ_ zcUd_N0Pp;iOY)_<^d^}gI+dln@KLct^&A0P&S3vKU{`&IR+oOI!?=A=p_zb}Ivrf$ z88k+0y?#J`;T+;eQ<7>h-LssI&iKI#A%Du4h#!LWREFv@acJI{{$EGZMw#vseW_>L z?3FXkj0Y6Ar}INS5u|%?$0Cy4y-IHvkjT{am>*)1V^5OwMz7~%oqwZxVOSQ);LeWh zVsYPh<*=#vplvz2%7V@20k;3+{ouXcPV{oOYPx30J#dC#e@3#J?=R;VaRfU9z<&y) zBd&YH!_+jibXR1L{@@1myGAzv@ryfvgmC6O2Kq&R9y9&h`GcRbxQRTK;`ZEafG(S9 zW=N_shop!{1mQY|!}rzWJ=oEMiwE9Tb*w-=Uhobaah9fd34^WkeH?&v&!NwzUEy_= z8HLuG>*>NT=B#4ydQT7%`vNtR#eb0W&4anY=WupC)W!!gUAn=4e%&pK9jh3qMLYxt zEW22kH^76fV-ZqO7WAl_#<9b`tV(Fib4CALu&BuOJwI@Rcbm4S@Fhvq*+E_bFiub? zt-)8H!ewl)X4*ISy`$-ctRxIliZ~I*cEy$mkRR07I}NQuLOGcTT|p)obih>Y8oi7wv1>+$Wh1iJgZM5(_Y<$?`~0av%k3|v znseMvx{$?uDO;Er$YIzY@E47fqD$`{ujsyQClUEh#V-<`*l$QBpZC9R%Z{;6oj~G? zMZNe^&Ytum`Zx&j!Fz+?x__@zwf5yC@nkN&Fu7%&<;^?oc1Q9Sq%SX){UIWT3m#1X zDkNN6r8K@%xgejKOZiE5cc)se*wgi->1QO&)J@;}_0*{+%Eh3bAD_C~Rt@AD+x>Z( zII5s`+Ze$;iKs#O{Mg80@;dKM&wq>44&>+jYafyn zQa7#M74w2~F!eR0`Wv{-E%>+xcD~a|z;K5{UVOfk@B7`+{hmy4m!*@R+|5~mWdzy0Dr=AzEwiksa;-Fu_sYZ?|u5HIR*fc!HL`CyXa9&xK!XR5$qpq z_PL$*(w7>Y! zzwXnIRzjUiyw>?I%y2dibM-kItI`~ASw@PWII*8i&oWfkXi5ondbeI=9Z$l_g>u`1 zMA&ThO@x|<^~%Uqcy3rN3+(#0b4CmXN!9x+IQ!y3G$(2QRGyx7`|SvX_;6s(Vi^MB z;7aaKk9)j>zke8zed-1oM4it!9~P1LV;~TS_`z4dCt=zrl?~Q#8#ico4!a*>xc6$# zM;OS03cMVRgvH*F*l4E`$A=}!B}o%Q%+!bp!5BgKZqs;u#ymX*$Oq!dNeI;+%6oL% zC*OCt`e|-2)T=pApF7782CgdVRSR4jmK{vg>L=JN0)Kw2@L+bGeW@TR#Z&7zcjfJH zd3BHMnoL>nq00V^(1=RIpYp5=j9`Nh#S4mT0UH<;&+1Ri9mo10`OUfy@fxLkJETi~ zCrWRkQvGa7dR2?{^J`5^R-*97amRyFJ`Yw2iq8E8NIeLdhYVh_mvXQcqxyJdA1ZRa z4%K{#et&UWC7N+CQ7tDTBs)kB>XUD;)x99f-|>AdzP0uaU(@^{_nA=Mjd#jP>UT|? zSa$h(8*Aiuty2P-`RB6qRV~K(x!j-gv>sESx)relX&o6W7Dl_FTE^y0q%W4eQgg(G zNJzZD?Fu#`oR$79jz2cr4P*RcZH~2m#h%jG9e-|h^?nyu!sbf^N9X(Zlbk&E1i||7 zo%s_9fLiV~j7}P5KaWJA*n@lmKB{dHF2;Ssn_pyKi4b{xNa3%XL}3q`-&nvk(kY%P z&e(^+bUq>+dEI`l;rq;HL_m~FKU}rf2_g;<5ih3~;iGIty{qF1iW5+@;T4HxEspDW zzkj>Z$P^0{@k@Pn*OTm{OOdSTocHJ%km9F{m_FvcqeT84^~c$!^o@Ey1VKSb9?H$k zmg^k*w`ba@U_9Bm2$ah5KLjsNZqFLmSPfMt>nW_VZ5c*eAcg5Exp_F98g$i~y~pI-XDC zZZ`-t%F=6y+hTT7K+v#;EATwuynHV4uJB#R?mu(BHOU|dtO#`sh35hCSLr)t9=n=h zQgkpuDq%k@XBaNv%xKkK&Zl~z_=&ke|;%PTET}fjB(~_9$wwHz$8x!lC`bGw+SU9 zs<*FS0wZ+k?~CzU=6A3!QZmUzCx6_(?Q6o1=FL7r?7&~yyxtlcFxSVMPEu>1qJlOD z6BZmUSpT(1=K!PaB?EQ}kg_KotsI;mPsUb$?|Nm#h=UNxj)ZBpaXm*rFL$_JyG*w9 z&%;e{sBGlm;%U7?L+ML1rgp?<-GtKVOw6DhKCepF-bR6|j=ZKoEMPLtrGG<^<8X4h z0#*)*cg0f(YK-KH6z*S|tsVV4FOB>$LIdDgo8k4?GDrs-JX&Y!8$;vY?LLc#7?Kjb zp)Y2*%V0`4)?e%Ez79>@TM^a2r5yj(>q?(sGm2*JBtZY#+N8FdYk$U5?s0yciR?Km z);>8d-Fi0==T?=UtOZT_B!6z7r%$t|&+}6=508>lA7kQ*Jw3Pq^qU&(r+x6i8-#+Z z%tI0yU}^KGC!ddaun)%dpfCNQ>EGGVa3AtdHf|r($Bz!^%B{xkoNO0D$x%Iu-@k=f zkQZdooH~}g5bs`<@=ye2E{^+!*r)d`KzM_pE++yd>-5NY3j|E_Cx1Dl(ST!az8ewb2ii{*Y zcYRLkxpde?Vy~WP#d16nIzWHWnHBh(`T+*hLi*sv5!EPDkM3x6V2_sG$0m#I^X_IX z4}uf=?}`nD40>5u0OzDB8VXC?Y@C27!n{1cHax6EupUn<0tXo4TOW$pkHu?_Ty%kp zEgH@6;pO-J^?yKggVVD+2pz4M6OrR|!%*kj*m@|A7g-_nANJ|c$uRL;oqu;*Qa=wDKoV$dj~JB;*Z2{( zJN8-b1&Ng7-p`~Cl+{4EU!Da-$F;kl?tNmGAAu@eheeNx!ElZHb&QLYS_Xyvo+K8} z%HQ^UKgjaI`Q`h(9LE0n8SV`Pe2^?QNRD|C>DnW^1pI5{s-4%k_K6sD)0Odw2cC^@ zCojhlJ%7noTZl)1tLNmcB*!-LGuj-CtPZZg@cCCO#K~s5!gb&mcO5*fF+QcA29zh~ z{cd)~1?0k=c8%YjHO|+$zgJjh ze2t7h2qrfkk0T=Pkk8}G-|QtMlbh+`d!5pHY-D)8ap`~F8KIWxSR=#BjyZmEb>Qm* zTTEi(pS!f6Xu-|D_XB}p*8Z)2fflHidl=FCb5c+F3iFO5O=wKh2^llH8xALwG@6RX zjF+w~-Qq^v4B7t(`|XppJq!WZgag8*{t%)K$llD0buo|0eo3Fqo<@J%+J0yd@Zn|7*Kx2g*v@~56lNfgB96aH4Zyy4 z>dk));B+%cg}ZsdLf@1>kgW42T53$1mtee7v}A-MNN)aC`^M<@Mz{11sLdAMlp(%H zQ*Ef%{yu~wtAkLb@4FQcs!RNGrvrW!`g$N9jEk3XWHV)*WlH^g&QoM->w&u#q2xXi z`E;&4gDPYkP0Gj}VnD+}X*j-KpY4fZDENP|3uG|2%KW-siIP1=7qy1HOnE;(cJZt* zYpd@8(|ZR&Fw)3%L<1AgvfBl0S}hju;?#`4}?)!_*p>)uC*M%lN;{+ECL z;_<2lML$*a zwpMo@4lJCnXz!UGgoU?$-$Q0oF$*Dw%!MTKPXrrev%SvP^=pJPf8&y&K|n~Q2-cpR&bvrYeh@#7O+@9 z7Ed)A`i5bF)K=AxcyZZC4Oyi-Se`je+)aBD)DL%y-4*D& zJgp=RQIOgWjH>_6pD%H`EJ|KQK%^nosk)hm$|^+^QS#ia5w2{jr*&wB4fB8QaeH~{ zyZqgC?WcLWp0{+uKHoze75&<`vKN{b)mm;ewLq0Mr~BNqLr4g^2jI8Q4ckM8Khj5G zF?O+Qw2T~ijD;rx7<#o+gSC>Azq4xD3lajpe2+F`rQ@U{e=@}&8im|r-Bz=7f}q2M zo*>+{Wn~qIAymFlxZu%Szu|v7*R9C6$h{GaG2s*vf4F(CWVEma66+|!Bo>OA;Vp?s zL8o_GUpJ=QNd&qCYK?qsAT8$$SZ?n@hdcqhJl}VL=_>bkk`<#f*W0hztQM6sq6dFu zkq20u)w#_`CYQJCAJSe1FI9ss4K0463+(kSpP+LftjdHmQ2FjHAaZ{Su1iHvs@0u7 zxjz~Ff7L1Xef9f<01{@mLE7Ww?FPm&AN58t>H{`+>0kjsd1wJX9xoZAQ(r2!DaYtqT{P7}oh7Ue^|~BSpr_e3jI@0t3OVnoFM|rJCBG3Sxi2 zLU9OYwhMoh^GzIhx_*CFl7G@Y(#@FX?eMm90k9`^Nh^OW5R0C$W{}VhA11%-<#2dj zasB`l=;XjqaNEGAO43x4-S<#7_rZP<+;L^Q9pRj$*%}o0OMfob32oTO_G9}b2^AXLe_7|?(vc8$(cJfwE|*^ zX!|R*lUdHpYsr6}!W!-JU}$dIa@-v*_4Q>T_q7+T>MK5N0C#Mf_ZO0H*Npd`xDjvn z5D$1IVl~F~Uf2D3T;IY)q?Uv__bwaA5Zh9XU+0vq^Rj^i@!{4B3pN4x>Ys;w+zs87 z6Yp}S-IlLx{TV_QWi>W}aoYay;I7VZ_e7>nUv=c7k0*ar*)OEbVf1{sTShNATobe^ z|HKA}urCUD)6nMOdiyh71X8-7+C57Z6X5IRrt%7Ltjs<+touli6el#D0Re%^>2}hO zF*@_h(EB%Ldpi-s$uGA83MUwfP<^>UVB^Cefwpy4vTQ56#dTT6w}%wDl9<;44lQbQ zI?q~OI=X*m^j!CN{FqYruJ?ptMS9L^V@yBo z{yJAZd$_egf*L0NG8&3K@08U@k7fCO6vGHma+A;f{O%|^J6EsOj~-Ln-L2|{LCdH? zd<$FNhm&zX%cc4BG=DPYz?i`P;Jv!%-u@Bx#l?REWozBE*NfrSZ}$N5<78OSBlE8n zB?Q^(?C^_X|~G(HshvjP|4c&pTz?c79e({ec7 zb!HaB1(?c3%qyn$Hr%3^SY`4&tcVS?2D#(WAHlA9-y9?t70Ei@6jjA31~m&LzL%h5 zCPR0BaKy+r+elWxj6oiTbN5=J#dB86HQ0YV)2f}bAG-OaIsqgFjH?Gg6$iCLISKs9 zT4aTmx#GO>NfUj<9#{YL@o$jfkA0N6fUe$7K~f1Lx%y;qr znQFu<+OsF9)!S_R4}Vccv!JR3gPB8u(V5Pg`K(I0@M_B=2=m8}95(RP5oe8;NieTj z?!XJhjlxOO|JL{5h{Rmpg|zI|ntHD2!96#U*UnfW^)x+itZ$B;~o;frDtsU?iyFWgPvr?0T z|J-{C^b(VTB7U0nu|lSUJGXyg_!LQW2q_^wA>ZYv`%stCv!aWSwi!Rd3hq;VjM^@& zafSivlXhgw^mgz~j5F!*eYQKj@njjhbgW=M0YRkDrVy&!)WF!SWLoZw;?_!Sx;%eo zb~ApAxU&irL|T4*a*p_M-13O9kRiHIwrTWL5WBEbb+#8@B!Bo^ej9(8Sy^>?LkfMF zx=ROx?jl@G+J1P9(c>Fth}rf1HeYY{*&i^YnpB|GQJZ>Sxp#mB8e9Kux<_U&d?q}^ zN!Gi!bQtJI&C)&P^m$2;bsxZBNu~f^^|?BbX{-;<&L#&FoKPkQhNTYEt-j7tAlhi= zpRdWT;pHQo!a|QRmxuY89evD|J`9wHlFW(n_~js0T10%gQLv#pA|kS0 zjL1tx+r~>?c~6dQM;$A54HO5wpIa$EJ@dzJW@@QG-D-`$$1#7wu@y19PY1W#zwc@z z29TDYvU>#|nJzldGvtCV9{@_te@A7TRWiVcA^sVW^m}VT>U}3mf7DsFTjM1sF)K0Z9_vC9QHTn>_|Z==j5UtM_4xW^;FUu4|b`of<^!Z zU3yZkun`OHX78EQeXqmZX|?mvOqqTy=JPQgeh05H&KG}ExG(oUY!fPAkTvt2WBjD}p%v=r_qkzq zihwTO+$DcvD#QljtHaja`B(c7_EuH)t9}XA%4A#3ILDIs{3^0ong>cOM9Yu=L?aQp)caCcv4lzbP+Bg^Egt5C54B@dd)FWTmQ z19kC|1$QX{> z`n0l>P`0|E%F2lT!cfSn4y8V)aKx#fSeSp^C^Yxqkj-K<7}n~8jvQQJpm)+@v@ql8u0!so({5ek3w zk?%_f`t<9v03k77ioewTW{c#uBta|m`@(GsH7HOD;%_vs10FzP5=3h7!+qN`7=l#v znO@)YwIV9>zFtPn+`i>{(Y}C7P%Q3ZNvjN=^pk0#h>z#=&rNL7YelLb#h7~fcFu|W z#k_v8pkjaD<}*FAN3_1ayD(;1)(C$IvYGM|^G1#?yZoT&7>nIb5;y6wT@Q!qy40#P zI)EPs87-(7S6Nnc#Gi#~OHQUVcKq7GPq6MVm~g4Z6i zGt`zJvNjzYUB-l1Wvt0@I-nQ#;Ua1++DEOqJZ(?M_k33QY#*agw*be6MV5cD7qEo= z_OIK`ys_OTpgJxCpx{!s!&qznw>g*hpFD0eTTiEdcJYB%){0QL}1pRPf z_f>ld?!`}5?W;SyvTS-^t}jh{YUp~q!!6D;SVpf3?SLM+V2MP^^O=A0h9Y)*MygcB zEr}O_EI|74_@uj9nHb|t7y?)Njill%j_%95ilT-5;vbk9rS}b+pG9`0Q$1K#aX6%#SJ!hPoBwzo2Pe=a)JpFoNi z>_RVA;RDm-Dqho*WSxKCfo7oHoQ$__xC99NiVOyQr!78P32$h06WdS`2lsIzMB!|+ z(p_}abNw+8DJutcQ`M}3>#^MUqBh{<*)f+Q3m(rJ^sU~}Xsmfea-xBWSofGRzT1VL zFGPt#N4;=1juY{$RpM^sN$;-ai(YDPV6+ZN>CWKLS2HNvLkxc}BDfcO-gqw$t^dYX z1y>T-w^$`%MUNy5p5I&A!zq(?7YX9!da?>Aw-I^0WS|>X``@%Z1o>O%+%_{;pT5o* zFXuph5>}`UDv2 z?rl({x5I7za=cv?X>y`om%Z7Rm7`L^{dbu{3nk>-U512wUHHH~Fp^lvd~6|`oo6

(so`y$wVTvYO`0nNqFa4ywAlYyXyD%&Y2(a_$%kw8uzmJ*nZ5d2YyYvN3)od zaq;FqQ-^<$nd-y%u^*iM`ptVx3lhvKn`rAN{W|J@_%5&f4A5926r8F~eFLqIl=-dk zQ@MwQ7g87J<2_H-c_(AZcQ@Mm`I{fWE^l=;SBpA|RkQfq$?Bz2XjVo13lD-FuI;4Ot6Pw>fhG9_>yKta$H}J6m#hO4gh_Om-=@mD()N*ZGpB_Q0n>xO%rFW7x?a zasu90irhk2C6^CbAi}RQ_mc`W_BfHyi=EyX()9`)KgV8N^pRKnwfQZwfs0zgECS06 zx_E!??&b-2ZAALKb-?_{B6c38M3r)v@(aKcu!p~VvJ0SjcrHnsnbC`PaZL+S=uP2d zpV7yZ@jhzJ(7g=Pr(-sB1Lem&IsEy?8v0>~Qi=Pk7#0^n^Y!zyi7qbGm-M6K+_d3N zP#K5zPZ2PG07Fb@Elb?mF%p45Gc`^1cE^8d6$)W(x4Vq+1O71QiNB=@!-s*=cx)@R z^7(gVR)`RnNk!4SYUTI3->;f;qm?LKB5_xEDe*Lrrncy%gmF!Rq5O0Yd0l{TjA|Pwdk*!uUz6HKd1uU z)_&}NjIq9(xtM5(km#@)uxDF3KFI{iEkNhg{PA*hXaniqDqfEHwn^)U--d^o@ibrTPdW~Oihv#$UFUw)eH8b><>3e(}9Uw%seiJ+8 zYN%ZxdPaPV%{D8z^7xa9bpwBn-*Y0YxlD>G70EmV^|Q}2ufeK0Y;bpky9)M`q;9(p zr5~~H?y3xdyuIX)HL^YCclF&PU(gDAD1H&fNws$)t=>EHnOlebHoPRJHaS{WyGtVj z!&PU$jgCHCipWLEi&=RdKj)g>Yd>;YT?%kcIhk>j8x&NH-Ss?tqJw{IT^{|p5N^R$ z4X%E&*YV7APO^B*7DPO-XQLau{gRQ7ZWC>@ATWiKQ{C!R7pFRPp$|PHL4}(MPdMp# zmv)fuBo`UHz9;iAi1&>OYcCJZEf`24;;FCoG-}(3TDp*)@9-~R9EWkCH_F<`r9*H< zUHYx^{JTf`HCsO7`&oZ;8C6A2xHu2n`WAb@1CkO_$@228Or`a4->}}w`-*fe*X*75 z5k+vb@FJb*f2c4=@dL7nBcRmp`EhGY$e@{2W`K;(v~779X@IYTWL!1^f{Il^;O;xv z&px39FQt`23bOXEj=&t9K0ezUs-PnFfakW-#fUEhG3J7jA%%Ylcu350moH>{SL!<+ zKYeqk5+e?Ti(&1(#+HlQL8{Le!nDo#0C$LW5UbpWnyHDSF&*>93N9}FBC}(yX2Gwk z^GDLO`gJ}mu?xH6qTFUVHz+OEb*}bv3y94uFZq07A2MPs@Z_7@ zz%r-Uc~CBHQOAG4?v~xlGtnB5+4lQ@cM`lz@Ab(aj5*Kas6 zvh;AXR`_UNq_tAxX{)TNTygt1>2WflC)f@rqbVHGC%S*#^uZ0%it_jQ4kqL48MyOr zyZ0(s2P^IaI(+^O4|zEIOS_&DXil~1zpIt4a5GI2hTv#>mBSb zV48`aU1)7OnT4zxqT90UI@J_Ocj5oY%=_T=ZX)PAJsd4CG&cfFJcHu zTxM}l)8+b4R17Jjc8F=(_Z57T^`Qk7ay|-&L{>OqO~P>o-jcb+Sj{KTDxMlKbzJ)u zzh`ttcEavtT$)L+_}x|KLf-xy?Z*yGtjDy{OLg@_D2`s@(@HqJM?|;`Qu6p?+wNl%ejQd4L7BdacI~;jjUXK$I zjD~Od`Y>CqK*R$DI>(QcX&By_+xWJnueabhBz<;HU$4qKn?IE& zN6T>F5YzsIchBqDI1cG6k>{v+E9-v^pEhAEq>J^8_8;_B4$x8sg~fdQyYmFU9mZ<# z5VPSPSHBl>y@(%f+%?jNZF(JW(Apju-pbM_ub7?PUbpk28OH)iaH@Np*+AmfwUQcz zXTGF#!&rP@dtdDykCl;bPfOWiF`+~MNUEUeNg`2=ICo}g*-zkCR^_Aj!w?hIZdWP(C#bmjz5P{miJQNs=dJ3xWLgt?Y z^i*r#aDUYf`}Q?$ZL5jiLx+E5f}CBZ(fA91Ex10yg|Sk@UyOPN7mqpTv6lDX))&!Y z2}&^c0_Y`oBR;np2%vW%l_lq89j48mzM5VK(m&dK=S_tIXY3b_HvGG2DlDMgrefJa zy*9yC?GNsJz~yGAxjM*sM)`SbbGF@L46t6ubbpHGda-4*GRauE;>&-q2vqZSF1ypP zzj>J5eCH#a*x%}~9;Ex;O&)A;ra!ue9&m6p;AuvCf9zF8C+WS658DY{^n|ca`+m=t0j7a1%2HRAO5=4Z@ z@>b#wiVplMJ3b=K;oN`S^s3;Jexpu()(ceHv-|h)_6ujz^!N_l$#4%0B_j{806X~a z%3ws5X6);Pd1BJJeEq~{cH6rY0&0@sGH)!S#=K;HpD91cm%}4?0h_*O9!RO0%+)42 z7WbIkbMDUr4Kh~O=tkxjJ452!`^3KwStXH(09WVJck2=vG){juA0V87aOfo+lUd&n z;p}aCxe50_L!X4w7%!xkx@2SC;$;2}lfw^imGfW9Z$!vVnMw=4EcHcw4k%2$O>Nyz z-C=yU+5P$`sE#~E9XWg+X{o|friF9j~*Desu22{^=<9w?ApKkJtC^ zsz9daeZW)wb{~h)?p?k`foDDy-~fQFd18D?@~e>d-OJe0mpD$y>vf&Rdh2aINBsQ} zo6uPuadO<>&lkhV-^>Cb%1&j!o9!^)!L1sYHr^n=r>}p@{9vFqgwvTCzan&@i(k)x z@CTKSgw(GTek)#83kn_YmwLV&CdED+taA|Sw>-d&_`ccLC`9}1nxi4A1{^;itFY@$ zbPT-`*9U@V0Bd0cA0VEtRx6O3em?HbACwW^dLpy?pbLd{CeQBE?Y;cF`AT2PQl@sm zm)?5~1(Sc@dj&!#HtX#y)U9n3 zlo#)3MAq+l-c9)6e$USmBIyz~6&l5b0bPAK&|$an!S^CGlb)VidzT&w428GuvWFzy z=lt!B)BAA#oFg_xhYvZUlprs#AaU7(Rjcne*33OjH_kpcaQHC`p^LQeke5e0jORi_1 za_oOKE{Qrs`7n`jLBoB`(gw-^8;D=bgKgS??JT^?SR$g}CUO{lQjdo=T5e(`%lW}7 z+wb)~;BEF*cGou)i|P5iWrI|OR}KOB{1*=w2^qg|GL~8kjFSVK0QZtq@iwRjn4DFv z%hx{$3&_oxeU8^dOO(s_Q{=m}Iabwa%G-aYFvg0TSrQ)f7Vq^%{-t{r52D2OKT|3e zObp_6JJVJD*>$Lz0LzSS8I-GqkE?6ZdNGB_#whGW0XlEr)92>9urHvrT5x3ey40o| z^wAk5)K-6UC&gl@a-n`KI$-G+PMD^Q)11Z)e%79-0N~+gZ^Cg!UxU3iJW=KCd;Y=u9e(w2sJ)bW3*bUMX z!x0;jo+ZvlLds@aR^#bK-BTHP@dOENo_??nc|X5xIKoI|21cgY5wB-bbj)+vdlg!u z?(L*Mikz4)SX@!;)A)KNq%uIe#LIuK1MlpGu`R5P@2@#%bGe-&!S2Wx5ig#S8qvXc zxdkl$;in)^7ynkI2h5+BHiUhR%x(#|%WnT*278eijF*BFvcvAKS7Cxk-rOCa58@~3tDIQxIBMx;-(6vSl<&2OgJzpyho{%65%gx&$R4;$%k^}W_ zx|Vl2#r}LDa&~+iNK-{BP#siT#S7!>5o4(l_GyxRZ}C~_dh9crM&|O|5cj9X?=h># z|LI1PEp>asCs3xiJUghJiZEQiSr(1TYc1O=^2SkIM=kz)d})} z8RJ!&dNuC_3c1+0Kb0c1|x{CcJ=eCU_vy?3?fLDm9pfue}cH^%^p!sIN_U(^smT$1~ltd znz55l5*ciAO+y*~_z-`U`FYJ}TU-*P(T>$BU}1;#B;=0zp2N}}CX}E*jK=O%aTm6x zbB{pvqRNbMxVT@0vCbX1`BQ)Z@09f~tcpXw5q!gDH{z`}`n~a{@?=sL7pum-;;!g6 zuf5JXP@G@83{`(K)hV_z-9xt^OaN>+x7%NlA<%@Pw`$%U#sar}H$7 z`z8dt;sho+@j9MuH%x8m=UsZxnHr9K%}y^TkNj&f$M0t^c=#~3r@at2 z!j>suGeT$%iCGZPcy{ZCUqc@t@KWsT&wHO;Afbe+Yvz^*g79Fc^tUDT@a_=W63 zQWum;wyxHNV%d%o)tbI81+KmE$NCMWI+vUe<#X=NKjDip=pB!2D|`Frh%I*?dsV>h z)_~c$m-pdppaE5;6df+YgiwDJupraN1>baib>jAdo z4DdfJs^pP(xee%m&&`Gm+8jh6b7}Z}-sR39xXws#jyKtCH&~{2tN9=WHtbuN_r1+i zpJXGl`i1@bd1}e~uKNPPG%t`&0wJ(f1(hX2+a3m=MBBLGcaO0`_1-uJ1zpgQ!-tIm`^i;g0MydEeIKh(?YTfM8VFa2le;~?Af>b6LN zJp(H~qLUJJhB93X;z|%gkgUaXvmfL76{p7Z?VM3lFZ!lpVW+uhwvyL}ebMya3&@NQ zvn84JC&s_<2Z4EKn84oBrAQC{IeC6hz{T~!>9GW1{MhGex3}Aq`o2E~W0P{h*>h#S z02FUFlWO3Id}==SjUc$KfAiVDJ2mJr7+2({5W>XoKJNA+pD2)~-j0{-r9X=E-Qx%2 z*rM1|-PjM34(2omK6`w(ZprlMhWEie2VgrmYxs`X2|F7w6ItRtNV)s|A-YnO(rZTo z$r{PcF+JfR=}QZe$SmL3Bt;ZEyPp;NQ@%^-LS8`#~=6oTn-300>I*qSa~69+)|hLOv-yVbC#;`{^QO6tT!gFc=a ze|Y|92aA^Eu0`JyRJx|3LNriY!zV9O7)1Ye9HNSw%a}9e@VJ(&;~xLZ>AO`>U6}k# zS?Y!ZRQOyQ9;(>Ge;l2N{k|cwTC9`lQo>ejV>(Oc@y7ygJD_;ov@8C4;k4(NBwu?t z@ANu(eC8-xO5aj{mZauYU_GxtDw#U$u42{WUIe}7=I`v^1b%b|GaZu9v=RDp-JL;mDb{V*18s05X$-ZpX`YQfR~Mf&FS(>@|mT3m)kAUgNgtGSp}%G4^}y zE(}KU>D1#>mq6<|Xj$$%qrhQert3^~y_fds=o$UPDgu9m?(L)v4GI;gIU>MIIq#|z z(S*iOK1bZcE81OoedYFAr+WHR48P|J&%(mW;fn>h?VBLOM?JZJ7+d-P@ z$Y4$QMo~*DUf=C_=3kqmcKq(15`z}NL&fCW7MwHrP$gBFcts~bXvr|r4uyN9|8?;tre>S0kXmgyBd^0^CQ#Hdhszai3 z$YC7AlRZZ8mVf2yoC9o;xAX4xL~P2i0otD`IhRD6(5&h4Mr4=`rhvvZsiQid%d(oL zH4Zpql|xW^D9%p09}y>h6ZaIuw7o)oH{S=3m?O$*YdZbH5?%BaP34t;+l#jcRLeBp ze@KiboSr%_V9@g43zm)<@zZ~c%-#O6{ zSJqt0Ph={ryWW!ACl>K}fZKE3G`y5o7RU#QeDMmhpZjLjesWk!f)py(=m=LG%Q-$* zR8#k%!UGs5>2YYL6e{0!Z|oLDP`>vve?FhxL`nxj<#*v8%Czl_rPq6o_MjGL2c!z3 zf(Fvko`8WEGRgbKAm_p0vbQ3hL^NJn{By^#GSdQN6{-vP(>ABsqJv;)1w@P?g!+N` z3_oTY_eFsBiG_F~IW#QmptJr%ZaVt(Y)Ut`56X=ITYaYw@!*sw4Q~!aVVU+Uf1QWV z0MW=I=}?Jpc{*<7jopCrK6d+_HLn);v()jxI$Iv^z5*#Q-}!ef$gGyM8kLHN_*LT- zHl?=2OYPVZ&6#R>2c`W3uNVqUwW#BDV{M2Wo`AUz2NV_SahQAb8dU=*nVn;$mO8B} zv$@yCXK1-Fm%jKt&PrNc-yvQve{hWx(kFks)R&-K;F5IA(~bRA^JXi!#FV-S9>-E# zYxZ138cjNtCq@WE_kDQ;vi))|tNY_B>cE(^$dbso+EJ;vmkz6eb#5>G%8OW&KwdVW zSK0e+>>TQ2*l2A1xa?!DRGZj6?b4@BsPDme_LiN1RN5R-2VcsK|WtczWW}SlYoD=^A6nAdm+ldjSaSP z=jZW*uneX!tM;{;aOzuv2;I9PJzPIM3x}I7>W%Qkqc=L zbn3r;H>UfnJU&@e~=8s(^@rMlCJXTj>85{lp(&_lnb;oDvIaG+ic_G{$z(@)IS9I zrFvZYo_E!Kb-#*Kj*%6AS%Bv#m3Mf`glCxE9tCe7(8~Epfu^bBeYp>I$)5he#Sq(#NWP zDM>7U(ZKh>Yd6X}4}y0EPg>n1px;c+i~2Sz)MLD zWNfzM4=vtge*zwh1rm>hSA|Ao@Q~!%=X+yhS`9m{^7{7tGd=94Uh@vEz&AG6n+;@c zM=4z`WUGgBjc61^uD~EHYI584is?SH%bdJF`zmWvfyhdi!VWA6KHok|56?tsE=*9J zxAA&Njy53?+A!CTx2(XwpSd>;K$rtFq8*~1{A6gdfAAEKs&!l@qO8j(ZeEzKKJtUi z%#S6DjB2+crW;Key2W2T+&}Rere*eieAC@wJfPjE8t>eNrm${M4Q}EW@J+QoVWRZS zqHn35J~(a4Q}>?G4SX{QIR_yhPt;z$K6~`kO={tX#~xw+=TW-so`3i zZFZ+~e^6=ZkF;4t!6lsVKq%dd0VVLnaAqxRb*3cei!sWKyicT)rU0X+s(~r4D&>)< zQk^dK{IVURZZ83PH{A6P3$73@cFeSQ__NS{hI8WET?~2W+3|0)|3YK^ymHu{T%TDV z+c5M>Z+Lbj{>)29BnNMMfe4PyTNtp?{&G$+e;Gn@fJE{^gQ#&|=G}+19Kvu&&@F~f zf(pqY*}fCc2xoTs1P72GrzyaH0k<|`X3nHP@4t9-Jn!YDIcFgTQ*?ni%jNBlIlzz ze=g5vhvf+Ipoa2t%mHC@k6L)YKRm%}EFYn&%&ac*ep#8se7PwYM()G=X4u4kbV9m) zgfystSe0xvLMRn>?1*Y2O8&+A;jw@^>JiXqzlB$%kwJ+m8YD+A?f`j1-`0;4Fr5i5 z#NK-AP3>*epeM($z3Z1Cw9zyX+4s(9f6x7|F|ASyDNQ_7M})?n;&41EmUFH|Tk$e+ zT(V)pUw(uFsT=2Mk1!Qnkg`c1@D4WU;~>5Cn__Z5rJ+Obs14T{BIMzj^2q)3nbCf3a{+HNGSAjkroInj>C}2eLxjoYC~^le=kF; z_(jg*@{XZfd50#UOTg6x6??qyj5@|`Uiuw#eUUySW~>DD)Kz7^Sr&Ek`~qzn=v9GD z)lk15?{8@Nc9-=)A7aV841t^n28FK;echMV88WX1$e_>LsUZ9)n=f8Dix_*SnIk?# zg-C?4Qs>F0{1H17L<)W~U(qo?e+Pre%t;7VVhp-L>b}IP4H^;R(*|Zsz#7BjyNCDl zd~C1JDgTXLynpXbJi2lqbs}biJRCsL2j7W^zN0zFkgK-=3yvjh%y5_=)D9hzOGSj7 zBq0*ca)x*UEUx9~ow=fwa7)xcUn3o>)H&UB~D=Dn;toi<0ANyzD&Ls{4 zT_$l^N_?7&tld&)W3O~orm!S__rnSuJ{o%cA1zv^9CPjyl)$?U`xsH-d~Q$k$WSc_XN33EHEwHs%nVQ?{2i zP`krj`E+rqWsUYkz}fgCTeQKg3Wn|zXVK|=rilH?ckHT@E=d#af2`~$9N2Vc=QV9U zt`FF^>On}h;lc0qic9iZR4rVvC>WRz#XB^Pjg}A30fi;Gc?ze%s>AkK9HRy)mblu- zdsc^d_6BfbC)9~3`(MwysrRfFP(IG>oJ?29cyObC1*`>X_ z>39FMQ^Jxz(I+sBhv)bDh3bE|QUd=*hLsZu#gFvEw;~xU3F;NH55DNCnYXe8WnO(g zFv#A0k5^3dzx{K|!&(hSnhWaPSAXB&ywxuLJ?H}9dt6)vf1#Hy5S=mmEDq^qR33FR z0DGK=WKCmRAAW_7F5@@H%#bte&{h~{W-65l?jB;uZuA-8eVDcLwA#>Asg1|bU!&$? z@5Afqiy(T4has~=Q)gj|uXORI%Vl?@wqN=EdY_HGK(Gm#lsDS$!+2b8O@}SKSgXhH zCEDH>Z0Lu!f2QS{4Day0o-POWH3{FCKv^>X&>=554eA(60eCn<3 z{Iz-l!$M1n-~6xWX74~<)Wh3Pk`!$a+Q`6CvBg8!NxNP%&oPe4JNFSJ;^fE6ujTmH z=?voq$$sS!;=;JPCUS-fNL9xY{@W)prH)+y0k{4Pe}3TVfe_ywsg*eeXs$-S5TjPN>pT-)9*P0M%5-_Vm`VD!he~b9*zw?{j)5?ltKJDj%;54m)Az%S^feRwte`j7fqz zIbN9Ie|R~|_@4oM6(|R_0yOpoDc|!K%3%Z>q=B&oc)lZlGArWYRwaIV{51Ia;^&1Q z7=_k@bZOd?VA*ihh4ESPpxea1dXElHVm))=`exNZxqoO|VIINZ)&nFsl_*le`F2y* z59r2-;Ac#D6zf$~ujO?2%UxoM4qsknJ1yn-e`t!CSmeh&H-4_?Wk{E1syAbIP?qDi zRC668lDB%tAwIT2uQYcEmrHN|=$ey@VBheW5A7)E^#gSj`~`M5NRNj>56eNQe!dmF z6~^54R76#E>H9xqPtMgfGp_B8ox3GV?}mx*>!i)c>VrDmYlT&lH#Ar&yK~NPQhVa%2Geoki9!HlAozVNR@>UapDP<_him2d0L+2QE>oy1o0H#EH`bF z^3sxFPVGD^uYN+w#=869i##oYFPYSbe}`QVy9Z`08!OhxxfT!{Yb0;QbWZs+ zBL^HuJ#wT8{+A~y++dRvXrLO6Owj?BmX3A|o9WABBI+gP-)c~K1Sk&2i>c+8jb6_6 zp0tE?U!&xhv}kKpyf9HNGs8U$f5rH) zUKydyZ1lzLgi36|dpMNqEIq>`)O-H$?eM%+UK|ng0t?+-U%h)la?W&0gF8FEHX>;o z`%jF__yYCu;T1j?n!0)+-eC-;XkDEMS?XLca~5Zsgg?(mI~6(*4n|7}(S z0tq9N5f@#yca0uLhrd6k=+*_Xe}IHs$5|mIytW{*2KaaF&S;wURgO(61m4QGZ*UC~jz7m;sooYG?IJ3d?Xx+;hLR(r4)vuG@UuFgVj>O23DJ z%qZWSXDqrQFz?rw4+@&b;tQeeOf=)WpIwdD1n@En#Ru|oUHVVp91aO^e~{BPA^Rkn z(rhRuA!Ld(8MEzUAcHrsMoo%orBYUv3o!7`8lSnI4y%gJUzlR8b!V9Q;!jC#8CzD{)ErmTX_{ zh>nFU4H8~n+6Rp>$HXX_e_coJ_-K)WiEW0GIY#u^Ays+1OZ!hfu=b;k_QNfyz&KaY zm`)A+{9{k{9uQYvB}27jVv2vt!Q9tATZFmjc3D9EMkGdihTCmN zI}#d>Y3g){nyyxs3{wLYRl${x1@TyqZp%{z-5<)gaf?2VY`3Vof1tqyhWhC3P5sSz zK_3?;sCXZPU|bFqVNGl>MK*+WpErao-@gZSFRD#zdf0ianE93<&=qmoC>Rx-KdYIA={Sg$p@{DLfk>h;jN{vdO%qzar z^RARP5Dg}rtr+E&sK@|4K*GPiWXTWdQ->8sM3S6ZxS@tzfFz26KZ0V?A5h#@J z3*`NzkGgwG!nVKkFMV(C9qIZyI;!xHY2xtobtqA1wQ9W^REX=KM}OfIaqr+Z*t)W9vscvoi+`f}OoFuE z;D=v=^6$>Jm`Wiy1cd7{eradL>DXHwTw1J89mhOIud159^ncfkT=qk(WXrto<`1~i z^E)p;Wq1%G_8~+ZNM8{Q#SrzD>tPp$>?gse{Z7)wwg)))Dp3-_-mt5hhXI&IcjYgjcsbzD(NmEXnT| zb~BeFam)ub!+afCj2%hv$hL&sFxfN z`p<0P`4CROG-k8QWW>z;(zjWtSn^5XS1hG-Y>iHK6K+4_xp$ym<5Q-2aDPmy$7Xzz z&N>W?sGA$=MbBxhoV>Zf)UYFwBHic3`IJ_Gto_~)B_5pOY+<)^-&S0v%rJ{E_ zXU^se{}g;1OXbra8)lug7sd$}Xy)QZ=T-7a3QyYLI=Y_AP@#;2b4#Mg*z2+Fs(rZo zqqBuLt?uPlGC^Q&I2#ypg|f70S0dp zNT!Hm^?xB4$Q2K_$LSF8SB=z(0wAgjVgm&|Yd;6k(zeq9O##MvRusdyM~(~^Or03h|E@lzFo6K>F#Hf&K?F7%C0dsNqWg2nS; zVTxaK`YApBxP`vFaNo=(eK=19i#BlEf30{4WA$arJB zlD!4v!RAf2aR;V1lN7CnS?V3-9@}3lbuJ9|{fLP6D6f}I+(P5FO&O*n+rj;wq8+$U z&y_`e%4|8zp|r;h3ft7LgZ>pnr$CrK1Aoi>FpL0~d?Rp&(7(MmOg)*IAYVR&&tjn_ zuv-q_va;l1;=v6EkgM7z^nx7WAAJ9D114l_05QkQ)4h|!4)35jLKO@H<{%JM!_{bXH=3&zXncn%(yj($AmOnwq@28$Xz zR%sGg%X_t8Gq@tc_c@sZ*)0AvUO%b`iv;`*MD=`IHuhYR97o!UfeCqm*70>TGN?XH zGKZ!ZBo&4+0KRbA$pTrh0k|0%mA?UdyRoG5PF%W2?s3uNCyQZ6M$gm zZ{2W&r83cz>nY$NQGTc1yHAdt$C1y_f>Mtbv|QN$3Y%lS%@nCjB{RR>?w*<2=KiFc zr_wyF-W7R%`3Yc6e{matVt+ZgJLrTepIJ$K7q5H$u0DJ8n8i!hMqlH=!4!Eg&sCXr zpX-d4E^n?ZEU{0-R3D2wEK~BnRPQ&^&&mC0jJ%98C?67|`;<@~F#<`EOqjiImj+a0 z2`3%zYJ`)Vnb%LA@`mto*7TcJ$#=eU{1_QSg>tc&)A6~&s$wc0K6`H4r`IJeBSW~>E+r;yGL8{ zZG9O(E$@ccS1U;)f`5FD4))mLqI>af+*c3@>A-*NgVUG0#b<{2Nw=`Nbyf84gsSm_ zhP^MWx>KE8P7nG{0%*}afW?kwc7{I|X_Pe4zvqd^6QA7w1=bvg_keg37u>63@7{)w z>fxb|uEU{0t*MM1sw7SNQ~h<_yQ%!3Uzok@M2K3|R-}glbbk|aaDilO!c}L*7J(Kx z3~se4f4{S0s~YB>NNR9xo}HCH6HxmCX?}hB-&S5*+dH^&^xXvQ$(nTEQOD9+?^+<= z?2cN5ZzijHDQ?4HZ^4>B^&=8bR9$;|PK~7|0!nz)eazIjO4UElqdwej*T(e1XnomX z=$oP&Vz0Q{6n{zC6r!`=rU5B3HcetPz+GY%>Tm*H{%@n{tx24q_(d=PHw{O#Hi{^Bn^u~<1p z?Or_$*7ssfS${Up#27dM3Msz4$u-JWJN}hS6I_(DI)BjQ>6!DP1R>`$4CeU>T*K=n zpX;Yc!+@K#zu_f3neRCEx^>$QzlV5v22)5FJL64e7X5^g$nOY$q#8?Z(?FsH0yYH! zVYJjR9pseYrw_0?{O@c$ng49#c?og1`^}q46!Y+>=tRsQgXcV|bQ>#um1FG(x)*8xMA$0>3Pgh;WTemgtu zq^H7618E_DY~MJ6@m^P1!uGR@gA|Xi1|^;R+JAG0%csPZkqU%2)T~p0oIp2-7(s_f zP;sb=xY9A;F#}A*IDv$GfQ zx%IPK#yE8L1Yp*8a^^i)UJX;;{3}d?_sZdW`AkaI*RtK@f6)(ygNHT?Orv}43gkG1Vrm> zE3AP3@nNBpCJQ#F2?BDJY-c0Y$L4cPqbh%OHko$B_fpmcis)?mJxX*xOegxT|SjMZS*t_yV-aXH9sO!?7yCee3r03{t2dl z?O#sysr0>s``P<+d!qutTk?Rh+27G;+z++i?|48r2!V4i<0l`*VuL?_sX!%vR{qqs z@k>A>XV%92wQcV_{JL+W{0x_>?|+rgwH=fD^QXWJ8OeY~JPf}DDv$BYXil%;2YY34 z+-bJXip4V=0Fp7rx7YTl{NRRo{rv>;Z5GA^OSCLJhrUW4ZJE+ds*e!L>4e6=3bbwez}z`#>_adZjz%J=4!uzyDTxoRQv*N?s% zI@JrmyFJ=cKRiaM^F4Xt(OG*~2*Fqo-!dgMar*gAI5nScVnb`v0zx2BmzhqA&+KOr z!#6$|kcrtqk&k6*LMe%)RIz2qk zfcZK;X;+{MaE5S|Gw^#hgpdm0<&7?JIUbm09>Z8LeSdgOE|!_e^H-X?op)ml zWLSA5vfu9R3+hj^9vSaYJs~K`qV+;tzw7mK1JvmXUpx$;(g0@9!a3z?>R0+A-z79L zdd@Jej%aZ$0c(O>Azya!#vSHRN7hPnI%^Za|G^cD^>hK-FGC`nELTw%&@7pfieG5$ zlQPUT=$mHL?|)8;`IE)If*@f(-{qQB_34h7u*<2%0j{X3J#W=^EryQ;P+2{VDDFZ{cQQbl0c_OfEb-VJra@3oH+@yZ`o*$ry>iIe@ z{59Q@qJPj5m)(82U|PdmSRZXEQ1ka*Jbu69KM|gQ>jNi zl?0rXTOT1Ob%0umE13pNY9lBdvRka?(2(zKKC=Ffs?+h zBY$SErF2e~J@-Kaa2q}TA{4en=AxACCG|Dv>Z{SMWDmdQ$>_oy-JgBHJeu(EJbhE? z_{|I{=E9;24?*_Y;8yr1G2y>DF{W7*%N9>-U)=38lL1w)^~&E`SPJ?t#u~S?yPFH` z^k8qSibB%wAhdKSVzb|RwGx)M=4MidR(}jae-U@sb)3dPv88!ZF~dS`GlIOCzqbH% zy??t?b(AY*=Z^}O*Vj5e01)Ii(c%nDd0PRhI9w0yxjcJjfV^zOkF$}Dga5>t5E*Q7 zOSMmKrRtZumNKHK?(=md0iZ@|q%7I*NP!9ny~}R3^a}9c(<;KN9RVgmU<)_D5`Qgu zyv?-@h>E@E(Ne>iVo?_;zlj`R+qh23WsM(jVOv z8fcCAHF-1ya#*+Sq@LyaN&jUTbY!eyO`kzGKGH|vN8VTUd3yBpBp>BRlNm*X_Uf9U zDeV(e^!)DL-iWp!WWknUN-OL0U4K20T1uX+S?tJcb2!p!LkNTEGii3#cu9(r^WyRL zsy?nvsU9o5xR*C{*oaN8y|eE7^iePDMaRpI`@#f_$u|7`UiHm`>D&gUi+NGh-@~#= zOf)zbAqifB^Q%VnH;78aAB+oE#EF0YPUIo3bRLCKMxxTkG*LPH)}VeIaDOSR8)F=} zY@t6t17h2od)VVCXt2ZOq~VOVDN8{ht62G9_2Vgn9h_^CTl_-+0*|+NV_bKaxNK|; zm?s(ntcAm%A$NU#%__6ssVeuL6A9;Qhw_7MM;=bjhuD@oFm4@jp-#swzarIPs_7at zqiq((u{MkJ7qiR4TDLP*aeqLTd^?K+0jW5gbg-|p6vNel_|V^VDPWOal{{Az;+YZi z2IiA*5PjWRKfpm@h=Z_O=uXzOko)*vI$k!=Rl&W@&-)SHWluOPIpfyVW7isjm%10i z(JWBh%t`k-c?egbh-#*0npqr$&=|5NPlU65cd@3U*twjB&lTUxPk-@E6+kU-FmX>< zvG?pm+n${>8Fqr>JQ;ibap@)9=QIJzSm|fo@s7YQl>B> z)C45p{?h$7qai>_I5MF1(_mO)`t+LXvw7Isi>rGdPo^xbq;Yq?x*o@Y(ww~&7+>i$ znpiWP%cf#iQft~DYkzt2aSITczBkL6!Ao)c6ob@Gr-}VL#=>J1AP?@PPx&e6IFMH| zsceg9>>XBt^@%)y%Ypq9)(GKBK^V#63tZg!&skE#*IGyEHKtQS+@EM3AYmtC2tk72 zcfwy$Wpnn&>?bAK5_iwQaZ-PzlkXQebk zC``NU53>JPjO2Ad_ew@Ge%45GT+&zJK9i|`gwBLksb1aM?e_wIyD zj2W1!&%&U)lX8hNtV&}c7s$|=p29)2_wQ>_a`Q2i2U|ti$=3_hq230|&g`ngAKeci z&RrsYF$6Jm41dSd1oDr7l4NAAXrFFOP=qR6L>>UW$Ij#w=VSPJb35767#xh0YiNV3 z;Oy@T9(svYI?a@jXfdC=ADK$Dk81Th7m7E09_LzL5hq3KVsoA?NOZoHV zZK63ztEYLU=w&8~Ux49mu$&cesE8KcIN7=%o~U||et(~@&-?kAgHpV6-OyuU+_<3Z z86X`8H_8pZ=TIz!s9B&Mmih6`Y=`b1B7Af`zOFAeBcQXos$(I)_7TsV7Qi1@tY2Px z?Vf^+9XWa;$K8oIYCjX``rxvmT_s$N=iQ5x(zT@bo)8`cfc0g9&vS4Oe2IStZqrrd z^+W!!Z-11nBv8?|yxhP{3?QBTyp}-`UA#k4`ApA+cR>EX1tAP!QImTExK*w%D}A(| z`&H}Sm!gFl7UJ;Bp4vI2ray>Q_g_6Lj&OhJ(F;c1<>Bm3C1B8ke?=&GY5diox8eu* zF^xhykhzb7D*?TpW@?<$iq3d!vY^o5W#kNWq(YeAP5(zKrk9 z2jY_XF!5)9wRvDIOrfcAx#uRL7aMlhdw-R1BOLDqi{kvvLw_*NdFKEUH$#QDd&BHj zEb;>B+)>dd;O5pnOO&&J|K=}kc`W4ffZZ`pGW5r?_Sf&tuqL+rp-<7(`w&nOFVf<$ z!pr|4@15Va;wBKOhcIPey%D&~0~MFjEWu-{zT3k|16!1V;v3GEfIEe#f@QurFn`^- zE_F~vn*193w5jbm;Y;IIU-0N!5yiWX3yZ{7Gxg0tu)4M1PtQ%oJ?r5hGgZ*ZWkD)0 z@IFzO4>b(VxaeIQOoJ8kTl-}(^zu3Q@FYykEVk2}?l+7#-sKuXnEkDBR-bkv;k`-K zRpKV|dwDU`^@Wn~bQmv3t{&cB5`TFt;G^z>vzwt$xSU5KFMRX^G~j48Im<$w+o=Z_ z=_#R%4QElE^kV1iYY;LN_8Ncoqrc`G>IDyCews3tHGt{Gw?`AOv3JAR8l5qqmWtuU zx+)jUyn%AO0BRiW>DzNK8|D0hOt1Uq$#%PboQ@j{xEVqrkHg(f2v$(zi{m}%d;9vm#t{r~dRf?jwyhBU z{i2?^Kgc(l5M%!+-Mx7xzPHEtyPk*>)$Z)WF-yA{meL1 z;ou*QnWhh$>0C|icTkhjlvijpV`MLiePR|=2Dx#nF1aD|7uUEw*d9%3-G>qH>XUFT z%|_BEzo%g?&j1fjYkyxibtD*P=gZ!MdD*+20J|fJ2y8zkYpv{~2P0(TW7#lkvzW`1 zBM%+hnve2ueb^_gw!X>XB4qg?w;Bx>$>l~)K^@WB#Osbr7R!ggM`2HMC+m7#M5sgG z(~rIev-ket4Z0e^fqvU3X91hMGKT4eIchAP$ehVsWy?ilUVq-mIb*-WA7xweBFOKA zE~qvGyOeEf)8(n$6`6^2In5-6C zfPxw%6M28g#?pI~3WA+clX_FV&wckBh*8Ok!;N1byFmOk9WiNm1A0VzMer4K`l{h{woIJdn~nBFsHrKzHg;7S3|A}@ z53PbTYJa^HM-Se_nVOcD>Ax{|9c-L)@iwNO6m~RXTfd_Hgsx2|++IxoU3`y4FQ#$>PN-Z@AxrmS5NSB z@=Se4pKog$-}vt%nXIhSTiEgivf!f{w8UNjFpMs{r+d_4K;~NSW z2{NvM%jSo4KVX(lD7&rzVUR)+Wcx)p_XE@LwN!^1aoD=a>Wet(qCt;ufukvLQNJc5 zihm%yZn#MKG^~pA)P{|4Z3oWV!GqAww6X^sHoi>)a;uUyY@T`E+~0ITv6?+i|l{4a$16|oXFn)t*snHRR7${p^i|!{&y=! z@1W5X6vRVY6{f;k%W*%J$<2B+`$^xEg3KL;>f zggH(0v_*9F){pFbOdnZzG2K9M6!RHD)6!$`HU9L6_Z%pB=uc*=&!1IDgy_155KRo4tiFKz%&PDSuef zugJQlEjt5?>;=N3h}rK`)HYz7`u+SoGON7%^PnIjf_N{~7uI3S*B)P{1{#7k>I%wk zxhr9;^)0wc=Fva;P9ol%N3deM#raQ5+Dp}NAU#OnU!XH#o5z1o$O=ri6Y&+`jWr!c zK8RP1k|jX}D204O6URTX`(}eDe}A0wdBXvjYk}G-4-Z*t=C=^;K>K5rM~f=vqVHPi zP5+UWia*(Tb+nQS#+8DM#64!?xK?3o7@e{cZVF$g+k2^93nJ-xAHgZ#=kchV7g}`0 zfqM4Zfz1hIxmAHJ?Q-*Va$ z>8u^Z>{GMbQF!rlziDkXPj#fRJQAHK=(O4{$xXVSH8HJf_7dlC+QTl*+Su~hJI4Ds zIY)P6eEJzgP&}qY936fa#|g$6u0iXSLRH9%S)R8$!rM>)TI=@HO@F<$$5V147Pl8W zM2_NP7|{M%S;rfeGe^auYftt5a4Rzu5zUvRQ<{FkM8hSC9rL>s4KmcEm1belj=yN* zrCIQ-zuIgg-jI>1)N2xlP^;Q1)BMEXeR(2+_r_Vrc~1{sTfb+$u*#t~z7J^!fVN+G zI&vsd^nWoHJ9hJ5jyIs<^8CE= z6Nne6|Hq+dsuNUS$D)QELmcd6zglNKIZpGVv^9n#YG$s_eSHDvloQVMu}1YsInQ0L zzsFbDPWN9^dN?gB#+9ss;Rlh-(zoX8v)rru3I3V)b{4~-CO4$avH)upw>9c(Z!9b_ zT;^kc{a9ZPEPo+;=vzm;qIhiXaZTJb4+<^nsVNlX2vlX(Z=h>D{BEPx$9L!17e%%j z=98@te!GE+z4(vQMt&b{ebIYjPJ@w9?5Ql#jw=N~kGH_sD(TvyJa}?-wY}zNA$*nj#rQl7^ zOurr2yB!d>hw}WuSLBMt`Juvop6;nLcNSi#8Wa}_v9BJu4=QRGV@JP82?o~v(%xc2 z;&)wjZhxTCZg(slc5xD`VoRLd(vKg_ zc*;~(4Yw$jaU6bss$FgWaQbWn7!{*_tLN$~qQy7mgh2IRXr<=uXEhw?K^ODb`sDBS zZqBAV4Bju@qm_J7?yY*MtSIWgP&W0cS&17^RDZmqVC-=1lZ$;$?eVs|-56=4QWMQs zx5Xz>O}qFrES|M%CF_43W90)(X|y*Jjgi`X|Aq+zy2 zT0jP;c!)Ge(9U~Tu-O;Vu`M5V?6$bK$y3|$lIe@zb@cHBLb6PTJrYRBdJGKeJ!(r1;7Sr zO;LGKqCW{g=EpWY`3ttVjDJ;@Z;(f2X~Ip||F3_4mti%TI+g$CW41#E?}*uhL}dv@ zZID^X2tiWyR3~$!2j~6E3)DOEz(<67Jb&ld@?Ig|)u@lo?~WcU^_R11 z@1xefe72%YO#-ADBEx%oZ%#IW-b!Avf- z{G?vr+h-sYEU%h(dUqM(-|+lukE8x zjh0w-;G6paqh)cH+XZ`?_>J$bmw!lY`N~7kAI_jT)kP#ebys#{`Axfik1x?EDz(Z> z#8ZiTyawLU(+eKyO+Tp--q=qxBh8w^G_eMj{v;Gu`1N;{%ebwjTvhS5-O>&v2G6A| zzoR&mW1v<*Ab_12{WD{1x5F5W0;xE%YYIb4dPfOI?M(vgvE6T)%;v7KZ-04t7ut1n zZdm&uj6*(&ce?Z9re zT>IrliAMQ1a-Z4qCp2-h-JTZZJQY((0yWjm9N?uhnAD0Bl$T{+&eB;3Y8E=lnGuc+0 zWdXJRbSy7v=+(um%s!gMSI6=@i)J9K(SEj$JPgbh|bNPoZ;9QxX(=DO7efwbl~lkE0%>+lo}I@9iVPsjZ+nL*u0Jrh=V#In4kcT0{N zL{EJLTPI0HmK%J$%MPeTao{xJEzg!hyVDN+_dZm>eNj*J<9{hkcP=TM2K`Bew&N|V z-@6McYlUWaHha4|_z@NucOgyHS9%>zFy7-sM0c}uP>3$$M5s_Pee4^kI?=DrF2na0 zd@G`;C64T9XnldB-)N>k(RF_f#-gH&ZzH{v7T-5Gpy>Tks}p^JJi>`Tzwg~=ui>pJ z49Zl;8o%1?On-&|p{}>d%?{&PW8({j;okFE?X2u+Oxy(%SK{ z0^YB1>x91-mW0-V*CdPN?EP4x_WIL)g7lK;3q|bC)&+V4%l$1EWGTGLm5^MAz;@&CB!zk31d@-OcVr|o?G z9%3{JQ-riSE*;7RN+JTJR}ebMKY0wQumcpsn$T(Mn`RRk_K3PdR z?})|9rhl&=%_I`^-6F~4K9?JXirvaI$?2`Jgh4N|LcVO++nIGdO~skty>--PMrQ+a zziA#M0@C4OCqI#%x}n2~ATP=U)Q^=rB(OzEwQ0^mYVQSAdK10~Ly1nwbPH3_2KPX% zoinrSgKW1)Bjo7^S4?|%&8m~Py-9{3G2jY`c7KU;L*A3{F4E~p0cNe zf_T=Sy^Vh7YNm(Hz!^3!tubp>kt?!meRIJ=#hIwH6x6j)3pb9&`$+*zH|KqT&ld&u zq}gMSusav67_9n^sbORPwX}}nk8@c`_pW#@2m z%A?JDx05vJ?K^n&GlDZYJmWKaYS_Uj?Cxw6z?#+7OJ zq*<;wuHug0FMfp^kM(c&w1!ujEq{NZj6_v$C<&if?jqK*4=TV-jt=nv6$jQ~L&P-w zoqvZCb6hdY%l7^x{*b+^#Ic)REGo(;!osfUQC)9xZnKZ@(RkJjQ5ol};qkvRRone% zS@-kbWbGgSuW6!=BU!`0HC4O+Yt~)7HZ1NZ|H!(l_L0HA{Qt7<>-!&B_kVMB0r5Hd z`0v!cCDISXlb4hFWRo86L_C$+J+@>?U$4ZySK?8L7>SPkGe-nu7rdTRzu(=I1Mh#{ z>oqz@tPAWddx zQs`YEE(4sAc*8CB)gcz8nt$nKT4zpSZ#o@nwpVE7{crVpZ+B*z0DtxK4jnS)iM28C z1l$~(zV#sdJ&fl2bf%)q@0k9uF6AM*x7K|mRg3*8_6Job3_}*?>UWqv%+Os`<#bCh5B~;K{0xIIdoVJPQ#a+(+LOUgMX&N$t7ohqC}Is z$)#tFutjVkby+m!{WPAhhl#gE55SR%v!l1DcgspaGCLevS7vWn3x4mK*9i0O}+C<(wYx4-olv_kF_&0leo zV_R9L0w9U+IT`lfdv*_|9^U1EN1lz#p>wI^#h>Fw3)${xGIlJjK1~2kJU3A9cn%Oo_2>16eZ;M z)9Lt?NAq`ip4iB~cAffGd#tkNAI8}J=?#O0vZxyEw7a15y|Z-Ls)zr(Q`f`cb30r< zH;$!l4*xXo*J3&J>UiHTG;Kb^XU{|Rc=~Ry?h|?a@qbIfl^Hx)?xWZhFwYUoBqa>4 z7y4)|0S227|MVC#o}a?7KHLsS5uTl%ldP7_$~#7!2mbbvVei8o-7Lw~-rD@_Gu<_> zm@q8uGKr2~w5trgZ{eD35VI$v5Cr(G2}Y)?9Mt6AN)v+=lfDHtf7ru-;Bfy9t!ZC` zRiEBRHGdl3NlmBvD_UGzDOXUVE?4$tjy>Z-EQ}t()enTDLracj=w?4)P|M!Lk2Qhn zwgP=1``f*mZ}_5|p&Y|%v1eK%C z_Jbmg;RP%HWPXqx8Oc=*C5uUaF17#R$zPe9dSBUljvKibxeyq}0|TN}I9bxoZ?LcXHX6H|?gNTqc!=~^x42Z9kkR*}eKE}TOY7>11Q(|S~^igDNO(sQ>U?a+nDU|yj$egMXKw%Xm) zPneu*`}C{~hpj}?^(6-4^t$$R2Kq$=)HU(})ag8aP7f7BmCUQTnL4KWbTj?<qlj#apV^FUr)c1MQyi@`YP5q;x3dptxI~$QWnA3{BschGYI(DSv!;yk*Yc z1uQj<>TR3x<%-3Mk@dnZBPf5&+J7wNv}GU~SzZel`vovRk5jbPxCPWF11injP1{YU zSi$PmmN}&&!}|X99l5>X^xpY4azEe#9!_y0E8#TXR;9cWo1hGB11v8*PLVfJNLp?2 zUcP?WDy9;Ne|cOh&PZwQOMe07wPeQU%Z8SIT%9`-LV?^%3KaYPzDWZm>TnA!d#MUA z<>rR-)&PP3zHa5^+zu|ad;^hDc*Z!2&!rCyo!0cXsCzFF^HdF}j^t@w?ed*L#C3e0 z06>O>T)Ck0I|I86XNgF@_qynP#Y>+PYzyO5NX+e|PmI z-pYwTFVl5Cstmg#dLmAgW;BZ6fuiFS%3h3Pv3VcaJ9odRdnhBzoUjI|nCk1{7RAio zCK9|Ya()R9Y#WB;YkxiwevJ#+-Q#e1xjfU5K6f8-vx`x{@3*QFS-M%>!Ie@J;%#0e z#nJ}APg`>Ool{RSpUWTkUDln|jigmu3fz)vxe}lEhy5Lk;Ccb=DVhP z1!3>pFZe9sr~|9O-3#@*VYG+L-43zsd~dhINiNA*WkDG~{(oigRtZqNeL#ixZ^|2E zuPVyBS3R#`VMwm5nSs9pH-&bGR|Pj3CqY7|Y>xc53GCphd6nl{p|6LhMCedz7)FB+ zbQR_|DKTnwyOM0c7Pl&E`^q)h&;98kQ1^V>HRrU=ZB6m%LAU>xoNfMoIrnSeklWMo z@2{^|$U$2$>wj)?5yrHc5*3k_Wl!+5ZcmrzIE-EzV?}f-NEiJsMIeRtE{pfq3xAt5 zZ#%L=@br|uVmEnpWYT=v$77H@NT$E^KAt6)e~j<|gnySk96 zn`8vRME&e^S_}`scnrL`W3^xWl#}zhr$x=bvBr1M(|^vk9?9o$eZi;+lo^pm%hL56 zeLuvr-JHE5Ogi_SEG7W`%oxv^v5e=1=mdW^E`UFz`VQR@^)4FYUiSNTdm5KZR~y9x zPH`s%B}r;~X%H}g?5@{G^3>9cykqcnsW|D>lcx$oOzPer&Nm}H@SoE2rk_{!eY>I1ale!Jpr&H@^?0@ei9=> z7=Jl6%!RMQ_#K7<2mFu5n4;4E?8vA8knA zAYXxhkD9U=W(qHoPTryFP~ydz!(;D~8`i8?<<@k=%^{ z!iSDr&K#~;lS&Fhpl96_k|ZLZf9siwNPlX5kG`;ee!*e!q%X@wncqH#cn4JoMgH>I2T8MgwG zJRMnwK{mG2Q2C;!L_k9Xt!yVA0r-?BTmy3~(4-qe(5YtG?Z=Fh9u47(6}^O0U4I2* zDx?(Hzt*VvSbzHgcdW5=-wW*KU2ks^t++T{C4?-G&pfI5Gjlo2&E1sxmCW}+t9{h* zw0pd1|TGzy5mg+F4weU0ydvxT!xS$)L9WyTZIHG_hk4CU3fTsA7r3$T(77n)gnvTBoRGLH;no97N#C2?OhPc1uqX4KDPeZMq;%;7 z2z0c_I5KiRGcn>IMakme5OblzqH(`$Ohdi5t6!wEjTX=HGpn{40aq%_M6{k^^+W2h$(^iSamas`Lfqkrge8VwZE zI=#i*+K%XF4|3fIPWmBIo_%Upk&D0V<`czd$G0x_ZfYk0W{BDU71@C_5(u{vX?LwQR-|Wl zCCO+*{@h5%{IOR4&;FQE!GE3qY*4ppJN*6QBXQkZr_ce#()q?4|5kwY%E$8uWydpn z;d&Z_7{CO(F97A~-aw8fKYO2**d6kxqu~L6`CMM8uYL%L!UxbcQn93yFfo(Qk?`@| zpq>@;{(!7SZscxoDx`ec>>FRS;?>@(VF*RyOtPME+qn>!FQ1TgxqpuQV`M+c?2lz|Ag3-O^dg>Z#ZfqLAGa=&=|(IMQ&^~|i%6*M*r&ccCw z-J4OvN_6*@?ZBjR-HF!7pn98h3i4>iowX6y;n>bPcAwY%hEn0<#Pdw?oV9(K&(@P> zn23Y?r{tD=uy;GS(TN{UL~tlODzi1csek$30evvP9R3irJinf zraS$tM~+!M7xC)hY+NA>kpvG-f-@Q79bArb{&G2XR#S()M1q$ji{k0@T-vAK&fab1 zkCwEX#D7puy4~}K3fdCY(GPWJe5miieY%eCu>BbJh#T-eDplzSu{puz_MJU1CLUTT zHHWoOozzyO>-OzWg;3nKM{p`pUd58AxDMkCg2qsDE|%qwEdQYQZ}@$${?e zrGFR&Tfc(fdidqoq=^srq^+P;9gXm1*5R)_26A`*QSuvZ@C1r9=;bswsS4yYvw&+W z8de?Ffo{=?-R{xHQg&;oAbLahvYchAr8r^s#w!H3b*%BEZ?Vr{MelUXFLVtFz}*(i zqhrND+1I8PL1Z6yF839YE>g#8f>m~)`+wI&2CGdqMX)yq?1L;Vk_X0r9Z^18auvC1 zgTl&b>Wh4Gp>SR^xOtZgsOxbmZ|9G{{0u5I8hVtEM#K8<=9I{hMjc!&PjBw=L2sXr z+IO%c{7oo4Y1lPc4*d3XpeDC!7x>mmZ@bQXX&TlC9z2eL8SeHJBMsSDnD9PgzPI*W)<$jmvS!7 zSFXOc-xtx?;$0iG$LUp{ChfBvI2k?j3*O_WGj z6Ui=?K>x;?$Y1o}pW*A%D|4uwcn^<;csa`AbVS?q9|3Gr%w+=sY`dHr|M?gh@jFR- zH(oGVR%QQF=YyetpF7de7HfSG^Ll?<^ctNRS_TDO^hyKFNO^dj>|aHHC1j+=ylBF) z6^k$T>dYWw;@3$G_o@#GqogKz28XYz#lHjYlZQyILZY-LUMTI$E*F^_^BN&0DdYQx zWOE-Q{W9Ao^X$Vv|I5yAI3(!)6k~dWb+$e}tS#bSWyBFjCE_)MC2%j%2bTIfY5 z5qla1=QVUQ)NHQD07H}u0(4nl^g!@C&AmM$xdx^gfO`ZAFWziM&W|fJI-4ngLKFaVec`B@Qy_9u_0v7&{Pv(4d>_v0B$d^$U%^L&#-_S?PMGyo1ak}lI z*sJqVpUvq$z0%s;MmM+LSyrloHWIg>IXu9|yb2wj+JL9kyj*RBrUO=dg`T+#K6&*y zxQq6TXRHaH61lH<(eHm8O`h3Mf8pCD-gkLny;y?2^Tl)jjNtbG6D5vg6l~596Luc? zX^TZLI-7rO@|^N5WoFEu;yvy%(nihf#q;siy5F<3xPLA`nJ~R{_J!rBWZ_!A9KtNe zTl~~U85_!894~**3|>+Ec?BYXy|@D%-0A-j_nz%-Bip**=W~CBT6;BrB)OF~p)1^VH?Ia78y*^wisXSK6L@rctsCxc5gEF;Nx5S-1TTB~#FEfqiwNa&z z)G~cz-IeOSs4;}BUuFj+YWGB#!UOGql$fdH95H(O2sK)-%Q+=m?>kboj4(R6qEwt0 z3OOLuTGoG_G<#tF&FDDU=pUsDhn%71qdncPmUX=>8KPWBmMVo7;^iQnrCzGT1wXaT z!#Ar47vw^#60@r7y;W^@plCOcY1KkHjVjSXrgJs|#gCF^ZisN{8_8CXu43OeN0Xe9 zUpF%S_BuUNtnyOoR5Imx4)(WfF;s=dX=}wtxmtfBwp%rmNR^T|TQ-y{JmiJeV%zN1 zwnnoZ>(^lSRh>2F<94S=?yB-)#e|k%aOx?-Dt+j1IOzfwHR>^w5$43|-Tyxrr1v@8U386))dPB0qs zZr*>fqHXw|PKx`=+TQNCB$SSTv?dgME2B`73oA&#QoU8aYg_SJV>c*jRzp#%Lala~ z@@vHQL=MPD&9_T^$V(7GTR~{kT_rzbdp&=%c&tHeytI2|u!nkirp#OQ96!n-vt1zr zx13^T$!QLVR~@l&cky0lmdy@|IL@`M(1A+_j1MNE)v`r0i4=;P-V!nfWzw1C$67Ws z$&Y$thOgvIWKBI3Ml)oM=!{Bw9XWdiqu%cu^?Z6TkYIMdMe;gMhmQ=1zl-S#4vX{Jj;3ih}ixEK}m_b&AkBQe zulI~WN}C`8U>U(Jin&G2+`tZ^KRADGJ66+H2FWS_x)!O92RQYac@qhTr&`t);4NGM zQ{I9p@1*HSSqABxn_Bf~MxpcH^!Ev|(O4r57*bi(DzG&$4~25^5OT)75L;?B3Za(L zQwDn^Mk(j(2m!ciAR@s?NhXiW3<6<6SEE_|Z6k9$aFwyW?!@Oltd7xHv{l}B8nfME#MJc()Xgn0vQ9zXR!hmw+D=SUY`b^JXNOtmFbK&k zq!R7fZjOY_&DK!KEY_=KZ)txmk(~!2@eVMsPga?sG^}{`B<}>Vn^8`*si{9q-%2v&@L`=leUEfw+%$|D{RxPBs+GZ;Jbf;Y+|`+&u(w} zS$J?I(uXI6(R?F4L z%UL%mPhhw?&A_{9-O|=bVg`#fD>GMz+yPEgD>2su6JhpYFCxs6;{~#ZB01>HCYz(O~F2B5Hq`Bt0Fl=WEh`|cqCwW@wM!%Oo4QP^=gSCXj&bhQy zGG>ttb6D?7qiJ)d)nO*xW0a8rUFdRHnU`zzvUupvjKpkVwrV40P>QYD5xYz<`NN{L zhH`x{McT9aiZAC`H589Wi-`4D+%%%d-nuBMnSEZj<^6Om=!4NP)dMXtnpd{<`GBp# zF@4!i!cTw7PK#5x>>#*dXI9F$1~cS78nB_>Xw$2#cM_)0mKBie+ioeP@S=psRfxK^ zVH)y$et^Mx2QnEaU(Pnz^a_-=!cNj{#X2NPlSE}Nm9!e0n(piU;xsyIB4Ah_c{;*=RK)$#DXt$EuaK=cT-e84o5!JQaQ~G3fq3R78(^MyLzT3By79Os}1B>lqUnI zBnp4)%wdKkTk(>qI4bP?kUMFTC`KxINbns|8x8FoA89H1r9w_pYfy`@E!cFs+Nczo z{c2(`Yg9qq%UmxrV(V%32zoVFmim9&Ve+t9PBnvt^H@8t>7@beJh;J3i%n;9J+V^9 z9oZ3(5eZqMWH=TG#?h`L+c6UlDe!O0M2$(aR9!W5`(-sV&8$^v*m8vBJiQCW*9~~# za7bO)0?j^8j2eApT%A-){S0DsmP$Eilb>aqP^j?9Xd~52O`Qt-bi1wnVl#gzA_)%i zlq?{ex5vvyyIM&!>$z^K)wDEe#ie+zId(ewx?=G#c`r5OmYr_QGD4ofjNw@E)~^E=cZKfEN+XfeHg8Wr0%oU)azv00h;LI{jrUo^&W~1$rd1xcGGkj5x5+|_ zn|Fq~xX{@c*zBFFzc_zLT#!g$>L(`K-TnYq`nyE&8?d-PT^3`-sE5`Rs zt;(;>Sbc9z8-3_d^K5?}E??GqqcZ(Go8r@x#&(3Db8BRrj4!vzZGV24%8j1dW{w>$ zvYL$sFb%A1Hk#t(d&w%`w1*}EqY+Qw5H*SQo+3A1o5aA@K=4V@z?+r@R zVxyRhh0-~`$3%*qn7kCN>Ci-YZvAjHwpyolU@RO)YgmHdmTT3^TPe5DE1mLQHz(Ud zXviP?2+Adfm|8AQe5Ig!TO+JLG<)s#G_Nd*wGx8El&W@bmWg)x$tWJ%ruZWap7U#+ zGcui79U)Ovo>_lM>JjxXWQ>`?T60+5mix#xn?!um*|gPJ^_GL)zE>1NN` zZAMy2=0|CSu^c23RBTjhH~W2rp4}~rogq?LEkKWKAfSI2W6ENfhJkkz0Y;=s3J2nl z)$&{DWs9}JJ|(rrd`;UY>{y*!k5W~qmq&g-gwrecrX%Li$#tYWOz;x8GDjvtc&N+r zG#4pWOQU8!-y9(I>Y+oDtCoAbBloQ+A|*2kc7#;;b%a$}#8sooam_lV*_yE- zBE%NQ(;8RPx)3ZT9X`F18uel*Q$cEy>O7g557K{?=6JHKr}xDrLfSAXNU&Owd}X$e zABBmsU>i{+)2o_IY22uoHKEpw&9>=7hIiTrr^d(FQgj;S!C|$K#S#vr&2FS8w|9tn zJh1D>mTZI10 zZyA3G1C}8eD9!t|j#+_KhJj#aP|ex1N~GTF#7FT?C7a!j4_!5G^atDW0GTmU)zQ${ z!15#CA8?Tlm+Gen>CI-Hw<3(d9W8CWn{^w53^xv?5Vx^~1Vh_x5em=sp|WYRsXoN_ z4%6985yxehkdYGBh)MQwprnjk8;taBy_A0tt~Rq{hIymqwA2uE!m&kvmDvc^4v}wT z8X|8dGouu8N$)1H9U@KustvK}G!V#;>D9_cx}=VZnG!3?&TwdEGhI11vn#y{6k)x3 zyWDG-hSG%9Kuy>8q64NcX&sPkWYv#n_R+f0(`J*r+3)fQ|COk1AZr|y4r zh%X|j;#65=b_nbi!e!E9g)tK?n`YdeE+cATZW%~#W{=v47q;H4GslhGEKO64S>6r1 z#%!7FPmDZXmYZC@f2c$X6MoK5%w1Pcu7yKsJRKL1QmNN-YKLsEGK!1CWWB7UY~<9l z;rd=!A_uJr9q5A1z)EzpQV@yc2zP(_H8UzF`PEb@_4B$pT_tUqnWv!$Qsp|6&y|bL zTwJpg)+yK{gqPfp@_Xl)LiXnaJ3k;#Vq-Wj98w1c@(EbtTDklIB%Ph!?j{iCWDT>C zj39)`I+QGDYBC>34w?!w)gj+A@|;c@h%T*`OU3$v=c9;fKOAJBx?YEDuE2lyyY1Ri z5h1IUO2w$bm0%KDZXmFmwy*T+D(JnsmPr{M<{(Q5MZ1F$^t2@*Qg|If==D6rp)({3 zmhD*^aj#qAyk6=>5GZ-HEj2Q^^q!f*71J6mD$7yI&~~ZXu`)=5@TvC@3TeHW@Gw;c z`8R1*mW|E~Mj3Xudf;?JZ&ZJ$(e)-boU&@tUS%7V87zTd%2+<;*~o!QO$LkDa@flE z%xbZj$xfi}Z!27_h5X0R3$Ay4L{3#jq?m@_I5JgBA%ss!*JLDritOTSLF{ZIQ8>8U z)6||@cY1ouo|eF`b=SLQHWr0+0%T$$O7dC=P!^)rK>TXBHc+ zzA{pf$kz&6$nwgtK3*epvk*VdoOpGDyboPDx-B6#7tHF5YNOr9{$yHgrCi)4(|Koe zpUd(BZrZO%yD`bB{x>YaBkn-E{Lo?Tm4YpDzm0u$Iax61Ln$kQXy_tGH8SB*2 z_7?h;aR<}7Z zi}mVKtM(T4@uaXtSeNLGS(->lafCf)v0l`qVLDdKx5_X)v~qvx%(@ve;xVNiu@FcW zhcB9eP4a?mhqjYeJ9ij0(}hK9Yb2S&!9ZjUWK)6N1Y3k@(@O5HM{EHBxM%%Vd7RiI z#UXOnj1?u?oI-G`<%YR(DOHD)O=8|jW%fEWP~~`kC>9XxrCMN0*^DAYdWUJ+Nvt}H zV%w@Ggkxe3o0Wehtc75Tzv)QKdTS=;2n1jw7va1=?kpEbj|IsOB7nl=_gLN()(EqZ zm0LXr<|COj%y&}pO+sab!B9X9OQG%PqM2!PljG3coVHO>i^5xB%t%Q)w zdQph6xzui}5L5MiyfjLe(opsc*m$ZnjpNE@HDt8PtY=z)Kdb z)Mp2yGAn;Ot6i~m$TN$_%Cxd%27TlY8>_W+F3p*xD2Le2$|~PtOGCM|Xr;DUX4mW{3QL5j zt@ld%yu`D8J(1_e+g!Vc=)8_SSvC8MOpPBk)Wv^BiFNZ)dz8is$8zgzg8`_wi z9fD772pIt^7#kuI4x(Vx;%rVBbNhvn5jMzjnTT)NFzM}Z2$#TBRlbayjzqjpO|u2xU%L8(`B@-AZ}+M~Q4DYoKvc{yRaOVu14 z7T4Z&)LtaG60GXfnZC>HlJF1eB9npv zx2qY~;gw!%aA?%)Ws@(rl47S{Usd$Ru{%y#1+(9Wc&OwopnL)HlVgL_G_NTLM=h|^ z>Y^gdI#Z|}20{X9L)msMUTLJ@L)q+2MKphrX)Wu8DZ8&kSA)1P)Fb(c8Q1uAH&$|T z1-?@6q!0t4gp6jwkb&_ITR+i!C3d|H1y;-qR+=@-@nBWyg?!#Ln3I#%} zd(0Ix$5?39?i^YDFgC>9KxDKWBOJ`=I*s7A+#=SoQs9G4c(ORFtWn*oOE_+q2*7^~ zcgeEJ%9+J9(PRY(Y%8*P)T7#gWnq%c#q3-Xsl1pC96=8@_|!O(bF8cI%gVv@y;|Co ztrY{sc~8qC-)_1&&Kd2-Vad;>Obo%e6V9fyAIwErsKW9E@f=zM*fAus^=y=W9*`CNV{(SX2Ac;!G1wm;o5PrA(LW zX~Hg6H$5ci>qg?0QB7Ai(B?g;&LFm}^wv0D)w0 z!(FXfNA`eiQE69(H6&Hj<6r?qqP}${JL?MAg)m(q=C*_u*_Tb|u z+S)N4?UY-~NRIEejFJed%YdaOlWY&_3UWq|kQK9CO05>-r7j|_MgtM*;#v%;jS(3s zG;Jh7^Hvivjcw^Btl;W<_&y19NU2vD7^E&C#f}UQYATf3tU}!**R(6~C1i6wMXQTP zWvbwS18Jqkks_B4cv2-^m~yNRY~GreujD|V(o-Xl4I2$RV4 z*hCcBRw)N%NDk`1gk)Eu)eItpWw%HHS=h?eC{kBMM#Xv!g6e;eTmi$-&R1*6UcZu) zSBp6>D|~0VcjoE%z}|>@Qy-OAhPc24Ck652!-i-g$Mj}R=5Ht|Vc9GBVY zQMVYWTb>jkH0ghXlxVM7Ju|V$!7{X}tx}ckxUp}bpd~g#dqEJaxE9T`BisS=em6CS zJl)2&q)SG6Ga73g?#c?>m(p4zgs@wiNqdjvi~II=Bd4n*o_@N;FQ>_9c^Bj1coHiv zqKI)m?CEL$&dsBfop&o;z1m-~2yU7=mf~hDJ=>YboU%5!t+<{! zmeZd*1^5mm*7h(BGr1Ip5O+=uiPGz0eV3WT5uz}dnp*@(5{_epZ7s(+OXd56EW&+` z`N4l-RU0NkGrlA<>mr9xO;C}UB0HJwyD;~(3+qs$nBp?sBBF07(8DwatHq?22cgqT zuQ*_RuCDhH{7KmE5g)0&<>J{qvi<7COpHbByq1zgF8Wz>5;ArrDPm`*6>*qPBkXk@ zVZH`CSmhop2!7Npw<=nzri1*1(_D|Ah#h}~)SYKjd|@ua`9qxR>w2uC7r>=X%zPcj z0Lx@@ZNp#Lj3Pm4vzVI{k|Jz?p@Bj+CaDsgLJ5_OhgNWaW{gHW)i=a)a-KkzuYROA zUT0G9kF4IURe-gkz%jA=Jd#}mh68F zw!9rm7Dvrv5w|?EMO+Gg%oggJVZhk+AeXfCVIwvX;jM^}Xvdj7#l6s9B2(m)A6Aue zD4}Qhb}L(*w?_kcx-GTgkljqji|Ph4@IyM?Tx8YZw7aPa+<365fGz1F$l1tFS1K?F ztwQ*jnkK7qeyL3&@=&WH(td-@rkj850itffV>j7Cx|khn!7^r;K@LrB+N|>+3)0=z zaX4mm5F4s9P0Uvl7?h6s(^S7YEN5GeSzIEC%qYZHVY`ed>;3swO}8@(25v}`dG@e_ zHJ4cJtPAk+>kdaWIL=j7qP5tEKAMCrYtRlvD$`oIF@dgvqh_n ze9m?%6f4wnJ4E-`8?_BL7pH1+1yk)2+<}*oQAw?*H?6{iO)@CtbmYMWAk}FlVN3$Pl zHrXSh4jt25xJ0Gl3mFp-;5wd%7g%>2jX4X1teV3fPg@J2jCKgwot(lXleIEuRhT-* zYsa~g*2~pIBLtQIA)zDJ^w@rLxR*%Wg2P?y0(Y}E^&WUjUOXP`1U#V z^4h6oxr5d!GL4B;UXAAvM#a{3c{NW|k)9cj|7wn#IPx?u*5KB$?~l6iLL1ya5hjXn-sT@piLI+;;t)2zc9CAWYY%oCJF^6zd5ox~C_^&d z#*)skc|1bUqw66N$x52-6)bzHOEy)Gi-ofBEEmX#JW zgvJd{Rh44X=$f-yA=IezxoKn((+lv$n>n3kyJgf71Aord+XF}_7o+2@#YXFVYN|m% zr>Y^bY9d1%vNvy5g$~n=79cR>kp5$^NwxTVYBn6jOX+e9?l7@Pyb(!<8bf=5EHMjM z>~n&tZR>x?z0~P%A|Ww$T;-d3Hc{wx5OOXrDX}pkIF0v zEhPHb3zKcjLMn;aaT>CdS-#H*tg#7AoTG8Him`u^%;xuSy;mEvl)=wbZdOJMIacGN zot)N=8^)#_T}a$9qs_Ap!bP;<;xvl$qiLDp4_j!VaJ7)UI=a#A*zndtD!xT4y_+54 zawY{GXs(cEGGaN}W^kFuk!`CEI_`K}N$Z9%u5UAaxaeBo zbTNV3#F04DBuD+c2%FcG2t@$Lv`uH%YFGB1-UM3Q`lQ+_%z6WTG-K3FRhibLq_Co|R5jA>_my^j0=id&g9GxcCrgL+Hg3V4f9vc7KAW=B%$$EM z*cRZwG%9u{%UWD?pe+Z7l8#oV<@%%xh|TR<9idZ1JolU4wptzz?{uJLa*p8MO<|1B{58 z2GXq6WT_sNdq#7m%(!O0gb?2*49iN*p;2Z+`|=1=A~sJC|q4$@s8^iP#i!{aOqo>>Z1+J`jZI`ab|zZ>EUpQWCm%TMYM*df{0e}vC&FM+#m!$o%p8baL{Np z8(MzVMZoV^p<^PfGcsdkJA;ChD~+>oT#KY;ks>m$XhS5l8=7V!6soF9bc7(&FuyZ% z@;)Vw;bFqo3(&R;x)~b{cJk2Z?9|ZgsP#*eV=vn|*htZJ%x{K^jcI=}$o7(f*0dk0 zWWoF{B8PNqKezU9RYo{ZKAwxKaE#0fe9?jCpb}l0yQ8R&^Akzs#qB;J%(tV#qHat& z+ioqn&1x$_;8Jj?2&HSC)vRikQhYttMhdFF&`FNxkx69QL5!{KFxo7Ywmd9e$Lz7K z6pKu(or9x&M$cx4(`0|%M8tv-7@kraO7tnm%?`6wo@Iu^rZz>+CIo^PN^3)BW6^q3 zZ*5|$*1kJkt1xv=LMnx@P^09&VjGf$xZT5JCk1mln9t8ReaeLpouEI9&a-xWk(dp{ zenb;0&Y@V}Iz}s-{cRb^9?bLdkfKrvdMKhQGvIWw$G(t_%oTsLlI|`%8l1mRP9xelw%Rs zc9U-2PMgO>ynTNVR+DBV-YFr(lCHC69fFDe2-o;{CdIaFwH-5?DaLBD$SZqjcGEC% zLu7~XJiduCTy={SKHNTLONs%v09KGowQ9V*7R<~-W;3%WS6$6CC%ZxlG&yCBH|lKN zog<23MbHtCcPDN8@pgaaAPGLAd+v=)G+M!ES5~uF&+mWwnlo_VWmhUYp?c0*A*}PR zkgSJ>TZ9f@!bd>aSCP3A8B^uRuCtBRVcsDO5w1~FkQtd9RFW+?y{5b8fV$H2xOt%GC z{n2yR zo0CSfJw((jH7ORkc(hWit&w}DsT+N^DRyUt%ziZz0dvo2&{{)U(^ldZYW!Kle8S<5j4-}Rn~ z9D#oe920)D64-g_P`9hd&X${%I!IcVKEgqC<})bzHwk4RYAPI(q!qq*@_QHQ$ z6la;K-PSVoXlT4k>ikUMSh2#F5RwZB5b-3ANJA}F+s8?<2%a@pM;NYtU#!L*)lOs} zu0!ltU^+y#EVgU0Nh}wsRO^Viy@s@Z!aK-WuI*zxUa*;Mrrho~CcE4~(4wXVS>$%k z2QUaZ_1yX7?92vsrSgR6`BME;$0sv1o+f1yV1}JmOi5g4h3&@lhX?nLJaB^C5QrteWs;dVb<{G_tEW1J& ze* z(?{s9b{l%J$yi!*jAIp!!7pGC|(;`$@~5zyjhFkP<7PAb`sY$2p(A`$qY?YHszVKq8($W1@j;Jq+e zuA=E?BUxvzV9KGJ`qX10gwQaL1| z$pf6M4l^O$jEbXeYdS$@E4UuaHq(tDb++)8u2e%utHaGh%XE7^E=`t(kZLF`q1Sb` z#}t^4TEB?k`L*3XWHu4tfQ5Q!R-YnyCL%WE8?%xl#pS_>xGgUWqO@BP4Y#9?o6%{i z%yw)rlx%+46Xu)Hsv&>JObZ5Rk%6ENN-AWWeK__Djn>4f#iRMsp(k(HTuZPdL<`C6 zc^y7&LVm$F;g-Eiwf1_ZyNPQK0?f2S;$&4h!k{6BY&#q@QJL+!p9Htrw>Jns*a2gf zZ$JrHG67pA@4w9(>X&~m8uZjdci#4fW(evepjtalnnBwBy&sCjWa*&hlLOu@2~ zVFZS`ZLNcY!Z5L!C>U`EDOQkVmC3>nTkfY2Xe*LWncHfO8}$+JAiIZdq@JIxmkAAy zd$>yD=}s*JN50uUB*&ozp238=EIB&2+ieq2cFgSh*2=dKHav-7I5l+@K|tG(4IM?L zok}&T%g!#!w|0MPn4ILwj8wAskxi($P}=HIv_~<%IjL_1VbDNm_^G(8$IWO6u_zVb zzj7yJwabI02+K<&R_sF~g=;k}Fykr`tV9I1g$KFXi_Yik{b&MuKgC53!a@|f)r^+O z4EgNRDkPn>-0!J}Ij(%DKO$Wu0LdoWizTj38$uLoqlbU=g)ShICK4&g!zqloR%!N zC^wO^H8!bb`m1EMx@uM0@T%Lw&l-f;R?5Uvm2^#I+i=*-n95#WB@xMLu9kb9TDfu5 z)9qm-1Y3WnUT7LZe7xl`i{Lh+ecFWlZyH&3B9%yB zhOsn5i|t`Op46T3hMCr8^&I?$t3$D7HY2kM1S@~==t<^Ug<5?bs^psDViF%lk-au; zR0sKGs+S`=9$_`=6{Muyua4zIw zL$_Y)B5r%Pn-K?lJv#0Tj`hW;WOR^F@UTIccL@SQ1TuxTA~NT+B?>#y&4yS<85giGmdO} zsYlrm(%LmrLkkJ zw6NAXNTUaRdvpvG87pUaaZrWK1)iU3KPp(|+*(CQe!JHxbe3Xt$HOs1NX$m?WjWE~41USNT4|&oO0j>o6i3+fqRJ`B6g&}gS-v1c7c?4->PQdYtR|wlim@pr zn+*#lCUvPZfKz5u)6(NjU&ySp!%<)8It3A`%6Vd@X#?gk%bIpJwP@Co2#l_-OF4)+ zdiCPE*BTkOo^4=(l{byS z$Xdqx{em=;OvKXeI6Wa%F1HcILN1IN`E+`+7c2!CIT76!iNmTXHJz{Sj94k%LaIOn zopp|?COfG{2GKS7hN-s7%(^n_Sx04686beZ-9R+V@xIWs;DEEh@o#0|^`Xci$8L|h z8+9ciKVz?!DrfaZF|mJk=9!Vv$iXqFkr+-8Ue@XLYQ27DTa}Tyy0U@UwbC9KKQet(L=%$g8&1hSF)kvquNX{OrMJKa#y}aRzn`MvP^lQqX4$BXOHl9@a`#~dL zLFo5Y3z--sY-FPbTF@vR5@RHUI<(fM;RNoT@%aqKbCrou=4!T#z#0hH(Nh$=8CjO( zGMsEpqgLqcVrzdL_ES9ElFiaGr*?#XGCIoeFa<+Cz0T+W&$K4E37y%qFk6|G&1#Ep zEo^>-lwAl)aD>}bu2ei!&2==_F0^^Rw-6EEM$Kk6b{h_+axT@`+sl&0Ejk5*Tdea4 zqPuP^FKOOVqVQft5S(f8Et43k) z3Ipjyv%W4FHaj1Ll>BfOnlM8p9h)^G(VQ?;m9D6NgTzdq}lwjmli92?+j=5T*Tof|)1nS{2^y zoH9U`O%+C-@VM4$&GoEM9c^X;Kg*1^f`ueP-P(Vuhy%LbM=P;K+Ob(K$LYmmXb78= zfsVK{tId!*a`}qVoF;UqKCa<3ZN_k;&_^|*ve=cPNM|{()YaK!G-#HP94i7{ zvSxqmBcf@IHhg0(X5-O0b3jIF<&d1hsw6a&5$01t^s?;;hON25xS3m^^Hd zNqW5Dh2;n-h??U~+3taY-E)ND5+GjZ5fk;JXt*(A5o**3(K5midoHplo+_ zp=?%{t&UZm4dbyiFGbq+bcPf*`VJP&#X_enwEA0aUeC(NG`Lx?N89Np7DK6;)sao7 z$*d1u9a_ah6}j`KIv@gR)di#;%;o-DVR9ajaz)tF5IK)G(T7-6P;cBAIW1P!!b4dV ztedv5yXosHtA%0iD2q>utO;Kww^@JGc|r^JS6Sl)G{U$~rhrFN)|QW~W9wcwH~-i7 zud4M`LdCBfdNf(f{>t(z$FeaVP547r;X7-yn*FrUP1HvzMK>Qg$3%N}fjsz4x&M6K z!v0d$wMSM&FrV+FQ8I|z+gHV~Dw3*vhj}tWFp=U5OII9Qc;Xbh2AWDF`mWgk#6|nolbJC!NnZ7cUKkp2V{RZ3mDR?C4mL# z`l1i=;+^`i2wubM=W?|$_c!(ZmmjzB;aZY5e+Pst&b;Uv&+maMXUfL;Y|)D1WxeYl z+@JER+U~2*TKIIrNG@hy?758bTy#KQ{JQxMfF8b4AD!|Kua%pJts(=(zd=DZyHJED z`uA77)*bs%l=lK3K>L3RYgodg|KnAI=BYuq4O8D;mU#7@6BOkMXxf$m)L#h%YmW=v zwsrOC4cfhI=r3Se?GkPKw*Yfh-OC2vMZtl>4~C1fU)?Dlia&3-x3018Dr+u*_)R*Z zuQ6l)s)%*{O1QfSelKvpp}{9|v7DaH%`f!*>uHIKuzw z1`a(i5*OIlKsgQ7ECCA|6d%=`}BQ+S4^Uk#9eR-ky`lM7wm z;ikpDCIKTCryVcOJ(2x+7s5Q+l|s_ZXDj@F2#Ed7Pme?6GG zZeJ|tLoDt6$q4G@x_*5~`hQY_dTvNQf*W`+1xs+zWR$!TqNnK-{7K$?6*S8+1@moD zk7%SQ_SY@Pu5UROZ22Mf>$c<9w;jJ|JMrtb6W6z$xM=%|)lOdDcJiWa?DDVLPF>%2 zD$w>7tDS$ozU6eV{*3{s!jp4$M`!!7uw7_gua5*P#f%>?;&>O*irDF@;w&h$+(1L@blU-=CfWx8hZp z!Yg`#jY#{nmtXgB70&RAUW<*~;#VOGujnN<@>VF8{dFf-AqubPB}H{wq+fS(6~^$2 zUXp)SelMS1J#NjbFosw3qLbf&sH>2NSM=h5Grs{+S78ya=p}|qUB6t{VH3aXMK{^h z_3(8aHu1||AgyE^U1d}p%@SSQ-QC>-A-EIV-6aqR1PKygk-k`zx73)Y|g96SJfJ!JEx*D`XhVr!aIq<(Ccea4HXw zqFa7ml<`IyTpO?K5O<?koO<_wp5c% z_TR655~`Tes1EXCt>{4xSd7_ATy)fjiimBbw09v)X>9WOKp*a+ks(u_)>yCT?Ymyl zf2g4MU5z%#LwHqOiWcb{@b{0NVfX8R+p}a&zW?jA`_~rN-j^7QFp9SPl+^v}ePBMz zG>oAwABIIeR_;So^J*3kp&N&37-w5PiIbh=Zf+Za$7}a1-WZ|8^B2>pu`|k}jgmNV zT9;m;)xrt|s#n0X7so#G()0O$eHi9bmNPlll#S1N-v5~~ z@Sho&KwJJiM%F62!RBk$Fxhz^*;s@jzS>5q^)I@;4IAU$mM4vF2mRjjsnea82Lf!l ze^GvXbU!1)>ap%2x%CGptwbBpy*~T5shhG^*XJjY?77e_kzKoGbv_G_$cDfhxa1sXQRBYDP&NEdRlDeAt}M6Z~oxo*Ib~(t~`*ZDIqPKTAcl*&{OV3wDvk@<0t8M zR@;C3B--*jA^ER9{V#pb3RwSJzwb3#(UWnl9`2GbQ;fQ#>iF35;40A%+mJH9G>Z(D`DA_iVQ@>- z(gSCMpOYh9x##&_-+U1xlt_c6fRFj18F+x0T!=VwRQ{7^(R|ncMwR{Xknh^T+|FzF zM|+pig-{%Q$knU!=8Y_0R~~9G6zJzYoFIxbA3OeC-BweHOM)vl`TUmlYnEB^tDd81 z2HbldMa@?|$j0W227?^waYgw#3_P%0GrQtll8&X(sj_nuyBGXMxmv}p%t)X}l7%L} z^F!&woPHwh@Mm^(7~KOk%a4-Nb$!Or0OP9_E4xNIA(BUdB}arJGmC za=SPQ(`;4SzroYsO`Cu~&qzHx>W};)5q$b}P#-+hc;@L+8gH{`Px7T6s|l|T-yZ&L z!)|V?zhPwMr0y?)Wq!GGFpmIC*NpwOmpIgDH=@-mdbwQ6CDD*ow$N4Z?4~VfhL2rG zMD=qKBj|=HFr_MllMSrXynaiE)NX7x<%7)-C;N&diF{yISZ9NsC3sI&;a-00vyp&d zuV}Q31LInGo=Egb`kRod;(HPb7i6AH`@^(aSV z&dV9VU1j}O)!*NunWx<*vT_WEVLTJ~AtoqZn>BiSc)rHxs?{L8=`TuzH2ITqTi9Sq zf#p%1PuJU#q1#QqqxutS4g%GdYkDGsz&XH)Oq;7ZV4xHHp@&lylAS^rsLnAco?Z-GKeZ1<@$2hP+JHc|7 zC(jiv$BTocjHl&{qAlJ2qW>q-bzOQm`TCid;nfXnP% zr zeWxhu_tlZ`lOom@cMNRMR*gOL`QWyra{~b({c&%a2Y`Hd+l14Zt#|(MRv9;C9AjNx z`=CB?6=@0?#}$^^>51vLySJZ!sOkzebSm)^$*XK|j#moO@UYwM^onr5*tO2Z!DTZe z4N9mm=juMD?|J`JDqI?Y=Xy<5V-gwPlNPKT58^UdvUh?WhLW5*yR-#+?N8jjYrL}y z%_|+A2P_)C$Ocfh4b(Tn2^);U#in!G%K79gQuy*>*JSQ zq^0K1TWaNAJ*{o)@pm{_JXd&57Y>pVpEfH|fDE&MSW=6(=eZ!%8=Q;_+%}VUxX^uF zDv1Y*P!U&>oxdHAT3)7o(yoX_9{#+)GL1LxSMEVj0s#tVonFF*nyRNGotj^4&6`X% zV?~0*oQ>w`_KA1&m~?~*;qojyvoi_dZ|ENkKk#hzT>3ig$UxlFu*i z?pIn+jpg?}mj(aY1XFy1?(CkFy?KYc3;dua!q1LQj3+)@>l|OK$LWAM-eit;i6b}?>0U7g}<0!PQa zQ|1eHz}#GAMvFiVxYe=qFS!*&z||$?W}So0H1y|X&wZN?whST3-6j05kQf%biEm>J za3!2YEICBJik${olvZG6*Vw~e=pDZdc%^1zDV;{%tk9uo0qQfH?O+DA@~j z!~V5d-OG4{-9N;wT<8QZ^qT@M!F}!IPK#a$y1KT`amKp7dLV_U*s&A|MBkvc4L&6C zwAYL2o)cfR&(rQWyO7KI1w<~sJUOvna{NBFf?%L;%JvluLLfWp-u3J*pmXT1k4u=) z;tp;-dthZdT>HD>JCeh8&mM71Av+>jYZy%(*6@h2EMrK6QhbpVPY2^p8wLw{uWwtv z_=+BUBeUr?lRF_L164iX8@=wBur@-W(1?^XQ_#+WY59&kb6}PB&IH7x`CIDCMVaH4 zQ&WvaZaM^amScEWLHZZ4ZbqwYiiq^CQsGXEl|KhNSo3-{suOZ=9>cIkkw7Td{k>=f z$f0+b?s9_JTeC$fOKtA|(7Fqvs6yTVK?eN@_j`oJ( zJz;G0J{oAP+qX0Deh1C&p5zFHz)x1pUyKe(n>)e`|6!V}V46odlw1x`Ns|8XH3X?K z`Qx8|%LaxbR1;>_Vh~1K5=g_ByiZAUxB;rGIkBj{v5NpjuiLD46B*e{I_Y3!EO?Yx zQs07wP0y&>_-?N25o``IQX zAHN^7vsklEn_rn#=)KOk4LW9E{7*fDjxqaUB2VZRyIB%D_iTcy9BLG`%6RZq^wDV7OD}SEPkU%fUM)zN* zOtCJ1B;_{>%;U$n7>vxkz=9JWL4<2laDGeUpK4e-MhhlD^fWbUc7)169?d4U)YT~; zj)$kVX|ur`u=cVq`bZ|zMUVZ<*XrqW0O;Mo(Dwd{c|55Pi&M9P$JsH_H(w604@ZFJ z6R_>e`989a_GWa$o32C{d&!ah(L-PeqM@;YKuh^vNrB3Es_ZQ_q)_R!5bs`Xnx6GX zr?uJ|8J*cKKT5o9E-UK7r;SAeBEKHLzQJLpA@YE4$hdl2{%DU(kR4CC(9c17bY0yt zSjvxmx@S_s+GGksuB~A_2ZtLeGjA!}d4R>T@f@3uYOIG1R@@n6F!mtiZk#F#o01t= zeIh5Vv61-QX-zMY_zrjV>}e~PHs&!s{2ob^822EcFY~!Y=j>7xPfwbD7bt<>q&Xe8 z^h{I+iJVGH!<6&fip+ODNW;nwQfY`i{s2S-drIVM=z8iac|7@#a@3?NRT%QUz&t47 zE*;e~%#8&7Pwm6(rz~lgXvMazVb%^~Th zs7!2YEmrmCYSdcvJ(44ovc~|4^=a`I`9;`0K?d3?LArOx4G$(}-`~t>eAorccUxL6 zWGIwo{cs(2ak5-;=rR?OPrf&H_3iFNQt=x0hk~)Mnd~OR3-)lHvq=$%Vs`z6V%<_K zUG{7#oyoDnX9YTLH@VoKfw=;?z(|KQzPrqNftC3_<>gg(;*Vw@5nz(ghqbx?xh1e6 z!~CS#MFMt{#oF@q9V3$>+5p#{8I9pV6ro{X&IPWs!zQ^e?Abtvfl>6~d0V0KtCxx8 zThgGMNl0Ox?FvIFuu^DV4j^Dl*h?+0SF=>a)0&7{*0)u z3Y1`IaQIa8y7(aCG)D{O{LU4q2jkdHS-^i7OMU#9jO%ww*zQDR-BpX;^DlFCu1U^n zm4@G4s-Km-=7-F-eNM(wI|?o`T)eV&p?B&3{Qq$(eao@pWCkQwfe5sp9~>6w&O{wv zp3$cDzL!TdYCb-9Kha2bz@Cf85wMSI5A1d2};pF)EwSwXyF~Ho;t+zk5HhiGA%kVd7ey&5klhrPxKd&1oDz8F|utQB*yMDk4#r z`{w_`a0Fj!v+`-jY09WFo5{edvv)4Noxr zQM!m`f<@GUD z>c#715ffvA({k$MLX=qpU2Mr}LFjOp7%cisujAj>@9U7>&-$qVkedkc4+vO0Vr=h? zfzq$60+RWs&Ecw!D?mzrD@JZt<|!08`}_jZ8gzUph1nFPC+Rvc);vn4s5uoP^z?8B zblIhOofi1W>OWCCS@}|_v@i(NG^&&4yLN&kOnnJDs@uyAM<%Mz!4H|JFca{2D94Js z0Fn98#D$@Ef!HtnP3>ngb%{;nVJ4l;@M}z9ec?RaKkiMnoOe*;`9}L8c3yd>&M>S@2ZZkMk&ziudBd6&xJcD^oPO1Fzj(ZddDwVqr%+r0 zDnv=e?{=$`%lo3uH`y*IlONFiyNQHma2hoRyX=CZz#UZZ>mQI-osa?=T~Hf{?lWND zbiN}rf5hn;s2*O0!a5eKiHCcpX;K2wKHykOx#8X~=UDkeDX}2Q6Bp;Ez9fDPt$#gWsI=c1OZQ^s%q+HM+r zE%hpVw!FutodH#TK}AwmRBptUxzi7zeC`nCge{$88b!tHt_TkLLVU+}@yNMilPpF-k0 z@Y00ka(*V+xCwAftOMaszaf%my;*O)31V>(R!+X+wBCm}b2GTYO}xMDd%hPm^=(94 zX(UtqZwH;o&>rCm!)xC@l`#cZ$lNrfv3MUQqk=A;*~WAyhO)6E2jz&C81@vE>i> zW1~~Xthk=>klhj~*7Z)Sp!4I^UCI2<&6n)}*!Jq}r{4Ya z&_@p!$pZPoQO$Ym*>Y}xkG(Veb~I2*<{QgW>UnMujA@kor|`Vl<#512day0iPRzGE ziYoXuWnPI@da+LyIR%nPLgdqLe(XYMcGkBqUq(_yxk9^N7@g8=RC}O_AQ#Im|Bywr ziI0{Z{?Q*$^9rH&d0F8hdfl#TX71mxPgi6z8gOZsSXHXUNl1ABGwm^+%RjZZ!4JWi zvOMtMn}&^%6ws$K9q>JIEf}&Q-W#QWoV^@CJZ>Qxln0fL*o+$s8^A)b$0V62;az0f zQ19TSX11?j6FvZPLL3J0kq>4?d}OQCFdo*OU3$knK|2QuxD8gggWQ=3^#P(2JQmM- zu2xdWn7DIfa%{lx$o<~;o|l)Aof{-r%$i1Mr6_6Tr97MKV7IpSwK5l{jPOi{xZv@) z9Wv@QZXAiv_p{!ApK4c9IL)=K(`IM8wx$ZLgJ)2+3~jDm8<`+4BF3&nitr9YbR3)a1gOpUJF zJ<~Z7Qc`-Oz>Bl^f=EqdV@TkE0b`a=&JbF`Q~7G=VObs0%{xZ!`F*p%ji-%}>E#zd zCbUn9<@`kn&fv`KV{~K zwwxQm=MsQelEGY?R?5l>|GFvENu=v+pui?vcz7cs2yRf4*t@6wNylf!)uQ8>uFda{ z%4N?N*u&lSI_$Yn5}{ay2}7=1#ru5$q7%ADr#cH7Puq`6Q0S%Gtv>@c^EisI+xbc_ zQWqih?ZlElDFYF8Y}M`MrTC;3!hAhMO>hN5^BwSke?R1>*_Lr+O0Dw6Tu9)M1erp* z#e2itoON4n+`-461y3u}Yjon<1_C+Va$K_*sRz3TqU20evjP96Q5edp^`(U5BV&9? zCbJ6if&NhCr+qo+a5%(JtU6gQqq3w3<`kVOwJ|?jKujZv7aIMRpz}AQnOqY5 zia#J-8868T&)$fb-YSF>D)Dq_t2QY>PC!kJ1JASwGTm`#O=~hxkh0%gWvVowo8&Uj zH=!)GbYFY$f)H?jQe^*^uEU4|5TpyA_Pp zL%g_R?fMwf@!*4_MaUMU-sHI<>i>c!Z~zFJ7(Mm8(OD4MaC2;Z(v#x#!Y?~);#2G=y2>m>t&T@V(D&CK>v6%((>cR3~%@1R_y_+ITg?_ zgNF6kU>6=dV3D~6QtFPgM8JWoeu(Z#dDgxq`;&|39p)#SA(zrzTS9sM z=H7_2^N`nl+rjlI*N1+T24^`g6i=SBqe^B|TrwbIGfowZ(|T4dQcr(fbb(oI zS4H0}#6|Qg&~f$zqryu~Tu*XYIn$(_-&RkAd+nr%4k-Ib#LUI!Km?gu-T z5T)^I=BbzxiZqq@qPTYixxE$#KIzr&d3*$533n zay;OT>z$EQBSAb-IP`sTl_M}(Um|H@~wI55k9!&?Yn~Q#(SUmz`sk=Rs zx$b9!fGBkv9E;`WEK2>eGn%u(G9H33=VFtMPEAm-nzjsL67WXwpkig*a@~{MR7hi- zx*5mNOSrJ={xyqu$}!Yg9cIXJI6+BSJCJjI=o?uvJMGvfD!tUFEI<$VN##EJmt`m zr)gc2S<3nEoR1ep0*L`bqR8AGv}Udj&+AEB1y~5~8?m2;sZQck6{tF9hTt|2WuxLPQlhE{Zc6|^>)KX;85lFk$a|zWD=+~(` zdix%-El!wH2oN8t+}YFZZsErB`KE~Nfq3aX>O5rPSg>fjeysf5e7nd;>s|AAUtiI# z4z$RwJph$nz`yJ*a4<~3&)g7ZGn;mAPCbuxhf(!IC#+Q3X!Y3(eHyV&7V&8~m57J3 zB6IdzVMNp=fw8oanb!iFs3-XazS9~Xlt=>%jI`!E0T@Q&*H7oafM#W`M}qnCcXL3R zPy+1xs_YF<>9^+;`GGs0te5i1P9+iz*w)bcT)OGfbK}g#Ernav*Y!io1OLD^#Y99~ zYxSzE2aJ`=PpBSdZBv;^TEK|aF-=boF5f_BsPBU5mhK=eBh79ESF@xoCH;n~n79cX zQ?e>4K%>tX5sgZq2z_!d(>G)(AI5>zOfhbra=LM@&T&nPgfbU;jyO?iOo-$j)c9aV zU}Kmy`SJVLaHERdQCWq#{%k8t@6dKNYwZ*=U{Ra@`(u8x|0du&(QQB}=!#);XK=k~ zb+z$wt-8SyXxyMShsBT2z7b;L0Eyy~4tSn%SM-LVm}P^v`(u|Kk{Vv8TrKA|)13u6r+ zhan23&6YPt9Dp-AtzxxPIA!*zx?XteHD*>y<8&{tTT_Q39XA6ZkZly_=Fh<20vi1l z0_pYKcrk}8O%)G}a4&%OP9vzh`5Hon4kaR@RVdt`{+RRf4FhLIf-Khk-DX!j2hL=A zw<*Nbo|;XzGLm=iSgjbXdB&np@W=Kc(i zzVrdKO@kI_)`>{c*isAO$ybaDS9_eY`0qzmEZO(*)g`0A>U+*BhCerks#|sKwpFIa zgL&YOnpln>3A&;^W_rJYtW>E8A@57zQ@Y*r66l#-&{-Vn?XsWT9W8+!mZL4RYUDf~ zP54Jydei|c+1eg?s+MLVm&OW*wg2TGuO0P zB5HebYh87Zo&`a9c;~-99%}y)yCG zFyTQ|uF1SRf5Xz(&9DT|r+}s{`y6BbnbcsaRn0V1fydf~dZW=5b&xT5MA{tbfvaW( z*RTZ@>Q|O6%mL}^9aH(Z2%=DDl+$ZDezDy-VK(D@8d-h+P(2H*axB=ceRe}YX`rH- z=D6P103o$^g1oYO$lWk;foiMhAGn11-#Oor)U z|APWKj@#%?HhQsfNoKOO7TCj|_&A@~16YV5fceod_W+rb25vXCgwbN+hFwGe3_*2s z(K-#z-=Zs;lNC67{9uX4obc~yoB$VikZBUPApVNNW)$``W%|yqTOx+Pp#ZPDSuXy!}eUmPqvzvl5sfB_IVG)k5?%z3n7K+vqrX zyB|-Dbtl{gMd{bB4kckzzwpGB?96U)(kEM*OxFB@~J#~>QzgM3STX+SA;N$p4w41VGy`x*P}W2JHKpNAt{63CjN(S(Il z60~HSy#q+*Ip1le-eA&GV{Y?1xBik0v_-Qnm5~ha`ju$=bsvJ%5cw1H%ukE`y><6T zoXdJCVN2|dP7piXP7}MAMfJUc)T)1S#~i0YhL1Mk<0VTe^^MjAT^u#4LZbx9HF3{2 z!I0JvPBxUk902dhQWk@8F86-7nhiFmOKTSMYw^NdC{ z+r`q?Fcrn~_2`0W-?-s0pT5LP2+2M-lT~v52IUoYfvvdIk9$6t6@xG)cTUL7eia$4 za=pkoaGMp)HXi4_EMpuZH6=W6KQ@9g;G&cWf1<*Bxv+3D%>HFA)346s}^`pk(OfRe!X^KWO6bmR#sa!70aA1)u&VXYsb+iCZi0(@}3i7ML- zi7|szCw#G;Uyu(6U=+g&d}47Cb{FT2)Kzdy4H2Y&J42e#aYXNjXu039NIYQ+6+ct5 zjhqM0-r-g0^=&1r4y$avxsYmmc2_yV{da^e2CEHp!H6aA&O?G)0ND}o;4BNVv8@Rq zESdY{ny*Os4@b%5OjdnsB=js4T{mIy6i@+LekNTJza$}{iE{s}iYNFt&w>}csBNKC zzu6daJ2y(?heYS+c{B%sCKjrNLIetzlf-EWOD)WrD>Coy_0Za0{6SR{T6ac*&brLp zfim+jqZM(pZuqJpK#U}{O(!>CkIK^J^{UqxxQ{BJ_v_zATu&@RD}Cja23q{07~hCI zU((PO{rE^JWgo#a%I?zHq6npCf~c#@jrVV8Gl@RivjLuhCG9qs|vNz~AjxM>$| zdrh55y&5+g%2@^il-ZDUJpqDH505uy)`&M5u%tpEh{*DKn0=`4HaTn? zuii7PWPP_Z%_D)9)Z549_Okz<|K>D?)+ip$*L+1mC=pyvC{x$Eo25KA*`)A~=Pp8A zOSn6eEzM{pLlW4FCOl~|4!nt3A)LK3|FXUyh%hVGHe zDv@E=gDrJUglsb_nSCLZXAltJ_y!;M4ABCVysB`a#qg2SBYuqnYmd>!)Z8a_5xTnw z>B_mpTgVEdLrn{R8Y3a`(fE~1y2e@zjdF35*$gKKzH5EM&~@O=H&n`=j6Faq9wYU* zx-V|h&8zhLWt#JcJ1FD%QobX}C9fRgA^Ew&PbGk3Eq{1@?t4vg$4?}$n^m9H>eV-y z7i+<>e+t3)s8p0|GgLbm74f{RIzfVqjc>54*5zEiYha?w99X}*f{H#WNMxYnJ~R^k zJXV&=2F%Ua?ZZvsq&(9pX%ANhvq@+C|3tYOKo)3a6p#pW6MWDuXz8w`l+VktSFfsK=Nw1ie_i3lE%4lJQTO^C^Hs?bAe1wXQ5-vp2SK2+dU1K^ge+lcT!l zFktBLNCx*5;iQObLWu;2-D;6tp*pp`g?v|*Jw9fDr8GbWqIT4 zrK=+23hVFe*nXxbdA9UE*pazTid|p)@hs|FpD#b-D!fh7B|;~oCNg+XRyDrD+W_f8 zFkX5j3ttAt2dNahMh80$SFj_y@y3feo&Yy#)u!`^Zc$)!HJ!J(i6P&T-kLJIueO3G zIs#wgegKGx*^FHS84QwJs*UDX z(#gII%>xru%a8)4ppdx;-w2)uNrn$AK{oa36O)R#AFR*9Jw$ zUEQkmm8J-T3}%)^&t$?h4k++SC1?Q*w-6e{<7`&dc~}M$>kmquyL=pN zLl0Wr9~w!5h_TW~nWLK*&lb76J)s9|)RU|u)In5E-rKSgHOd2*=o7FVQ7XK7zDgJSJyw-nCF#%(s z@?N#d&0l|0d3c)f{GtD1Y6cB0Ywh_u9kTZ+B?@oT$mam(g{qfO#Czc(yZsi1%pabAnn|AI7PrFZX5!EL0${9wy1Ic>c=YpGw2y}TdH|oyZ zDCzv-TKe!htL8n&O=1r!s{<$VW}JG~{-F7al%J^CF}qs$!*Izs_m0zX7t>sJ=IYt@ zNo{2Ugm3x+bFjnmXKpqhWABejYZs>du}+2-ha<0vUGvklD%=$aeL$Blfv*b%p$ z$7plqy#56JNS>nLbY=rOYnET+J^X($z4+Xr1b3KLU_{T%C}A$Hz4=KjevpklukeoK zu^z;6u51DR-rVvb>}bx+|BVggPLS__WqA6YT)>01K$h}AA-^MGX!TNt>jcC@YZRia z^hka#Qx)x(XH^hBMBQi9_mIbg5PGx`6KReC?K%AClZT+*70M1wAjBNCR81j@t&4J4 zbvu{U=0-i zj@cc*rhp#YN)0I1Am+OiqrnC5vHqQbx5RxLx~!)% zu&U6Ybg8Cl>^2B|_wO%Oj4gW+6PLB2Zb^B0k9R@CdAzZZVV8GZ`z{yrW_;vi~ z5Y&f=R}(ot+4f581yz?RJEI}WiNc6`(IqSUn!V=3txLRf)NuR~t(pDzZ-3_8@>@_b zJ1$=n#XeTNDviiV7YHuL^NqW=*Q1zx;1WY8D*t$dOkgGeV%jONgAc`Jok9yrD=84w zNCR&BbG=wE`ZvV2Lcm*^8|lB0y-~EQS}_qUk>JY(gY@sSw(wcbqZtse1cQXLdNO3X zzF}nIQ`p1)Dao4Zugzrm{^_XoSR}!n_s|<^j$nvXaJVnNaU{g%OR7h0*uNz4x?SIs zI0yAp0d7cV&~?Ea{J3wvi${Mi2P4 zARHj+1hesJ5!xdr#1Ymav0H*7jo#t-z~C`S!D2srx_M;Wn`jMg-T-FIYW3kv{ zq-NS%!(Skhpba9@D3VA-Vk7DDI*h#T8}Y+33yQ^-BGjzCauQE)OPALHa_Y(KH6WTq zdSQJ#KHP_8NJiyMA3B zz!6ZVjEARW12Z(#R+NqLgnY&=2hJj9XyH)(s={aEQV9w2#*TCGc7*bTF1l|Ek&@Wl ze#s&QkP>jC)2m+Vw!Khl5S#7{_)rPs^7k(rR3ogW@a}`5=(YaPXw1{+)6c%mOr_&9 zQbuny`#i7jt(9XEA2c&e4NksHtAKl1fbmhwd;KQa6=8Zp*iMGj~U8{E(qpsVAt+){d3~WWVKJ- zsHAueZ?nQb!l#N^W2x4cL)!P3d80tKVr#?1mM6rn0{iNYt4S& z;1ppg^cO6zp?1!=AQ- zvo^~i1Kc(Xj7lKb(mG0p@>vWD&&OI%p0032tyz0S)KRnqJkvV)&v(Jk5z6ydg<>oX z`jxw5@Ws>bw(aPw1A@Q*z@FwgZ8m@Gc^)B;_cvASzM=gkW9pw*BWZO1h}|Z=MX#ve z)X`ay;U(1%>_^|@OR33#-s4jYEj^Xg- zYCJgg_#u4iw6s@jU^jTPK6HAYRE9A)=9BNc%!nQrKzi3KAoovt2lD_=B$%7Ek>?jH zy-N!A1y7^~oQ)NYKL!eX^$#lp>eQM)H@vANT8Wv~mQ&+vC?wq{JeH|4j~6{D4>GL; zx*5FnRh*ee3dA4XUhAQ7_HheD4kHBz+E7)Rw({RK!pJnFr%OdXzcpc`?u_6-P1^`+ zqv<=n0c7IKQDuCxr-yUo1c@WK^-#3=b7ON~TsKg-U1|OmtFwfkiX?oFm-_W_sxh-5 zUDo>YeOEfN4^sD}{GeAbO2BiVHpNRFzz@TaB*Ia0Tij=n)uBKLkLfBtqjbVkIC@timuv%9ewC4W=$y}-*Q!54-kaL4SZ4r0l~ zB?4Rx6a5G_Ar%2inaYE%wWmThqh=JTfL^e#dftfL!`ZUSy0a|vjjRd%My}leCO_rf z5fJXvDyeY8`GVMO3r-*bh1fgNq>TQ8#iaU27l@;>Fy7)h~$#rS90W4zCcHX-Acrsvgda(mXSxrJ1y+kU8NS2T>#y zF#{L%g(yU6V;z|nC~8&oUsB5Z=)jn_|Oh0xZ3`E z4Vg(tq^@;_H7o8rdU`Z65Enb)zR{l1-q7Bi-i;GNQWk&hoDc{7ZMoN3hpvGE;D7Vu z^6ell{@vqOg{-gNyVW$=P^IHK5W6M|QL7DW5*qWV^4@9D+Qtx!Ul0A=TQ%uF7_Hfu z8qudqkT~s%5h_NcLqDRer;S#U4Xa(!6v~l(2wo%(tq+rQM8hVxA^slV9o520e4bIOA~04W=&fORJb zGbuGW!uAX4s(IU&KWPt(9atz$f2GX+67%ZSW1H7>KtSYprQ};>M$%u{Rb0uD+p)(4 zyXmZLKUd{_oO4UAhWjo-zw4?2y{XM4v<&9V67FbV!SRS$!KZ&;#~*xS18mIeGT|w6 z%O+MK%&j{)Fm|<07-FOPu@}?EY*Gol$vwqAdattWPXmbupx2uxTc=kMjkV9hUK)-6 zc8(n`D+M8SsvdYSS8^0p(|goHIDl^9oCxk);q6qjP+R&(tdYTQxEEy3XgRwydZ9|u zWBRFk_{|uM>CzwRa37F1fEM}Co$XMOUsA>7Npr~NprPQrIm(&e((7fc2+-f*T2aHQ&N_1T&gjxFG3J*yWd$i`p>aQE~Vt1>NPjW1KTBKP#w8lI8@?)y!mtAzM!I zct%fGZ>vXV>4NfEfpNIzs3q}?{G7#gX9EGrC@Ox|w=(hk5oC5nmsSMoD@=Q(7RKK+ z$)o%2^Xmu2V^l3H0_ha6Rl*VaoVpNo^!~8>#~cL)d;gVWsa*;Ek@06UD(?2wIyE%K zjk%5Jao^V`)gS5ip7c|fq;>MS`o0zYQBu!JirEl79a`tRP@rikdR2g*mJrWa*q&gK zrq31vFD0PF7b&<)gYhxHP-wvb%z!Y8ZP5bq#rol=BKm#!cFH|)v7356U3X54%LsF! zs@PiaX)3mN{4~EnF{h9|e<+8bjY#0(3YC#IdiQ=sx4piE%$cq#D!!5TB@S;4JbIR*qZJ$$Aw3@Tj)yvy23$49XYuVUQXo9hrqxm_=xa)|%Wf71o`1*Und)ig z)5fOkStNElJ71U(Vvyx@${{yvDC*UYUjBqC`-0PDJ@7*tFAxo3So3RKn@T%l|BsVV zXluQD`Vfa;w3@2!#`YfucZ&U6=s~T+oD_A)$h!uPRup@)hHWCB2_ix@O}T0_Tq%Vj z@Rbs5EP-ZOKeh+GtfL@frMOB4vRv!rEEsZObM9S)n~uCMBVV|$=>NHVAp@NxF(^ki zDJFfX4^WU=MqF~$<=a;tKnP2(I(YGrE)IsPYNJ2biYCG*lQVD)XoVNbeIJ!kMZPuC zgs+mTrJeSMS>Tn9o$aFO1>diG%v3oPu#ZI zRAMsdO-BQ%6<<`8dnv?C45OfFS=gL6{LL6JVZgbv{IG;dRxi?6QjQHti`gxg6r;p4 z?8&*4Rk)ep_<=g!9A{RUx*7RN4E{Na%0cvdzsqkn0);qIg%>||wZOJ#kuzTm~j9RL`?d=|qn~8q5o4s+JVkghBWtwym z*#X+%k*x`QelD7PwhKP>JzMxt7gU~D-gD5LMSt;-F=z27tlESfawD!{G3NVhQV_l5 zU1H6cy59ddvK3UbejJI!j{IRHFn8_qh>|3fqy=yDY}GrfrJCT;A&>ObVG;`WGquL- zDIfD~$J7(~C;X34_OkxUk_TnQ3Z|@Gj#1#AAdS)X_R~a;`jWdocYLGlEB`t=r%X4A z1jtC{+dS)4zI7&!yts0`mxj(`#%6%K%~DcDl!z`c1k9ddDFQ(K02um zI)AgqO?A|4?{wzd+AEUV)C0?Is)Opt8k%OF`mD2s{Gi%Fs&;nn&WtI%*U(qQI@`wq z^R_jiZ2F8>khJl(d6|^aJp{X1i}M$XLSVU)dg!Z8tc-Mn19+j&!>{&NU50Yw$MX+A zpuRZx5}<~CqtjITH!gpu1%Eu8r>|^QFKwkbDEK&!zpj2zn0u&1^QCFU zU!&6P-Mh;Cu!;7+SC@yUVVz-ExA)^ZQ)#e85vh(V_iD+jrCF{;Ba?A7=8xV7tJ1X& z%I{|?CIP8JAM`^B3eR#niAenloe|9z4sv9$Gn{)1lez|!%Xy2$`c7Ksv zHz(B&WHq}Lh})x%cLC$#sLc3)E1(NMf6q~BRpTrqWe|+S8V42Kdc9V<2KH~gVTl@q z!4WR0wg&|dN|LHP<(;}yF-m;oopw)6w6-qW$lFDA$|XtO1*7351Adzk@KV8^r=0`m zI@NP~9jL!IJ+)AbsqM8-HLmvPo_|yB4x%hHam(Lg4SHi;hq@3ebE^3soBXolw`M*} z%@rHLM?8L`3@x;%piMdS7a_+f^y=8!*SHRDR@yqW1I_I{1nkv~_o=VOHjKH!h>OCQ zd3qRWh3wKwAzRbTVHU)kzpP5DD-UuS>ePkfGL(7N?&y7lX)@of8R^?xo6yMO%k zN%a+NTig`iH6M@1P%iLHxxRMDME8>WA>_m+C8VlNXC{{Rh}`1TJUav$gAq~rQwW43H)=9=Dx0V?=dQ zFaq51K+FrAMsl!cabME%G%jMvNOcYl-&ju}*azM7F8qL~y-zIA15Q9lc6xLixA9)< zjk!)EO~#$uN$V2c!hccqhW%6kH;2qY7TAvgQ6h3iF5^JKQbV_%{{D8soqSTAuY9`@ z-TGtl2L=5=(Zy_BMUjIBQE??iH>zufcI+XLqM+1fK1@uAlTwu9nB_f0N{(^OgeQ3P zzOczLN_=>S-7!vPxiZitbV7aep<;nm=+DwJpn$p|W~Ak_!hapt&LuxAY7)O@!5wRk zIE`R??|qLhd~t^Kf)l)0?`nzmSUy(6!ux`>uqAnlR^(Gzd2lj!GY=9#cs_)lC}oHystghy@AIHGOk@g z-7JEPYnM>|ihnp=+v3XI89Xjhnu7+MX75GEO!Si(w>51z>7K&%=8BbS z_lE(+yA{AA8+zDC$*16k|D=cks>SdD0t4|&$mv9!*yiff3<~~Al2rNE5`X8`E`k@O zdR@N-K7WGxK~rK5q4C_uLZoMo^)P6RHrrVs1Y6>L#vF^13<+@R=0N2&Q)9UaCpMNM z6ANeRJvJQb?yCA)kF?*kWrysYe8GxyxH8hSATA5r;4oU#{m%S41ubs8l>SFO`x<# zfULMdm5CvXfca^=2X9;vQG}XE=VbHJRg`5RIyJTTIIk981L_I)=d-%7!MCC5Wber7AU zKqv4g_Byx@ZLq|IA<%L6j8+`2EL{^Tw_)L|@$RW#W@{~8J1^OLRvW8JwFtN)+kYcm zT|P(OA9a+3=k=9oF6JiuGHX3H# z*#;HdAk`lOB)5RYV2~b!9whprnQ!c|VUL{~1E*6|B0#;;pp58*Z!zHfln%A|IcFm( zX1+1e9Y&t;{wU+SXUB7Pz}A8y4}XX+S-xq?Ekvz)3HmVBrUXPFF-WtyQJ$IN+{B$b zO;n}wJj3#4o}i*b4o&73{5Hex`hzux`}BxGqXFB*6KG1*+A7Q!RwzY|qnTzEb)D5P z41|r|#(IlClZ~8^s(AT@B9jup8M}aRCOSAU-YtmG0a zlWy3=8Hkw(+XJg0#X~2jOjpW3dFV}c)hxkaTd(GyzS?^A>E@^1SNbvkbZbmf;ix`@ zAVCyfN09Qv(hrI5G({DMfFc4|L@VUUr$jM|`}h8vdikc{f|i+%SYDqC0dkQii$DijWhoJp!p25e;eYCn4^mH(Xh1{t za)bLZ5p?)?Yjg!!WfpA`m~@ydBu!BFg(Gtq3FEYgTBWv|ahm0vZgKymvuU&y#8w99 z$%;?#$dtsIuG@b2pzRAvN(OdD@q!4{^MZVXB!g2!yBC={cOnfZ0beSOCErC&3TTxw zxq4R%iXu!Fk=S#J*?$3Lc;!BvnKF`;9H8WL4gHELE5&n?B&P8Khc6`HdTjzLaT~of zMw@c;+FDOk#e#KNkpdkc1IFVE&;%l#UZuqAd(0sy2{WZE3H2bTB-qUf(wUK>?zyeFZGm% z3HjdX<2@DbO113I=b}NSy$iC{VW8ZjsJcj;Arh_Sz`jW?&iIF&Z#?rvXZUA5Ee6!5 z<(KvS_bC;@2x7~LA+9fp+nKy2dc%ZtEjrg`EiSzjZTsMj*x_plqOUfmZ=D-RJ26oZ z59OmsGkxDCWPjX9>(QmhLU-7GMnUn0?h{{jQC^Djy@QrTfc|V2G;CbF@jxrPBvP>x zwtZ=c;*kUMTFGmsSKpn%(+k?mRZnXcb%>MLgLNTr!S4`Mt1m@cqg?2HMAU*9IsMH1 zxwWHbM!eiQ4piwUvQeh63_$fP6<11+TGMc8fV9#A$bU~P>sJ=^<1vAl9Q8NoU4ua< z1d~RAQ2o$Pr^3jq-W{b=llcQ;$QIK}GPKyXgv&>@%jb*B3(O^1_b~W&;r$G0N>b=o z95#xomdBwO`u+t$la{H?PPFHWya^Wrlqy_`q*V1{Ld0V%$l^x)R46LmkO~VYjGl{F zyAT+)sDH?!j19uVqH?qE1Pw)^wEp5as6uE`ee%a^(l_Xq)p?&DE;Q>Da}+;i*GMXC z>(*lru`FYZ4p4iWS)YYB{#00AI68-dTH1i^>rAk7@|%NizgC@9qL~y_vhg@M!MPqVYOUpC@K6!3)~cL&%y|4 z&7j12$M0|sqs~l@kB&~v`+mW$7Zs%~P6_vT`?^F_2y2N*h!(wZ{PORy=hlJkp5hH*!+QKf-?n`&&gJh(Sg-Sr zwSP)MXmA)-H+{%1tJ|R|eYgM*Ra>6|j~?yjB)2{d(tMYy+~=vzZq0{iPlp*FR4+yV zZ7_d}X8iKSfenqt;%#ed>)pF|o9{l`oX*BuPyX{i|8wicW_a7wnGs${2<=!%_*Onm zUmV`YAC9Op|E|6}h?ZMhRClcen#CKZD1U(?O5opIf~$GD!`2qu!uT#lFrXjNb-6SV z50y#$HnfA|P35-SIArMyAxoY0hYxKVFF)8i#=eY(W0V}(<&8rdP&b{!%{j5|!^R)H z+fF+KgWuTFLm2*z`uwJI6Yklr9{-PKwG-nXjU96hZ<704cYRNlop|?03f|BbjDKsK z*81x%)io*bd)F$nEmj z-mSkU2~2h$O%uxDJpp8NXt=7g4u8?&;0LYe_6?;|kCXrKp*$C(3$`^jmK_J24#Es?^?D5vpezQsq6J8%}t$ z?4$-d>fSh_D~*Dp=0y z0?AMC-)>wcbg8hp+o(FDFY`_Kou(l?8aIy=E*q~jEonW z*%+B?OW)!CH~YIsBv1;Nt!RgI@jTRCex5jyM;%*^gg?`kPRVO(>226{n_5U_49{#7 zqYcMWV1rGdo;$=fDP?(r`+sdrd?@D53x51po(1U>qB&JWTQCQwCZL)4#v5{20o^Ak zQYLSeEt@TWjX>C5R_WhpRW%E(;cjKz9_h;E-L#{eG9iBt#_@JAy-E)r;GfHRnoyr{ zEs-4F!VU_xy3ke`MP(`p#nNaYM;C~FlLr#^qGqMlU03T%)_0^9RDXSTJXpO3B)63{ zD4;t>4kAybdw#E+v7H+%H(a{G*s_b@W!axmKvoiS7#XqLw^(%rqE1gtd?8n+GtUGQ zxMdkNGZEAf2cE#LE+$?)HyxRt6={fqTB*%DQK5t3BzY!&3*z+2bVu@#ovR7XLOv7s z4M76p&zZh!>G2l?l7Cc+Wp$({xRQc5;hTgbqdmcYl zbZQyh7a5$4WMG7D%$_Lh!Pu%lvlB*MWs1dUB;~uf;X6O$^j2kb+GED~YBoCVd3!Oz zsl(MA>zYumPr9;xw)D>i1`X3dp18e{)>;UdyqLbk^%E?u8>pe-rsn29AX1RGsQ5UW zH1XXsz2pkCwSUV?imGkNV{-pvq~VGDs(xpSJGIo41xpsgph9>gb`0C18GFgpC!{uU zn0~lCFAkn#`Tv}hB+0O53|r-ko#f@!b@jxZj>T=FCE})B1nIxxLbm)l9mRiC;?E{V;+E7?<_Hf8 zN3?=eqEt5#ahpr!^eA9A8l#f7xg^iS5&7#Vt}teWUqhLVf^OU)Cf}*;6sbDSbkc1H zBcNfA!+#xGcyt3yj0Tnlan@NIBV=@vY!iCw4&^?sEwHlbue1siIK?cc@e1k;W!)wh zLs$pph-WnqeOh3{)`IP5%)(yur$&ro2Gt{1fMLB*#VXudJ9(=a@eVA+vFTs{h>4l) z2IU~hnVMm1Vw#5w_FHl}99zqqEu_0SfaF27h<{UG3@zccU@wYyaO7q3!wUkFWmAL{ zkB}s_rVM`sObhk^trq4^HMI1=z zc)Zg#&PTQ~J$XC>L`JZ$Ej|E9m=mG$tts&Yn8C$&^$zyTx!NO?8e4!^5DiWiruS@HafrA5JbB zXIoGHwE3sne}6{DWyI|~Wf!rNa?>4k#v7-fUN?5Ohy=RvCOE2|JQgT9Kr6*2{NV%J zyENOhRh|q6P+r{;cVtq$HXGwr>5EC1JbwT-8JQxWw2O`7uRqu#-a!Cf7RoqQFE>Sq zb%^OvE9?5~`s&J*=fr~Or3&s5^A-YEe)1Ryv*}%BPwf{yb++15)p8eky-87uD49{F z0>DgIl=FdkN+n}oQiem`eRoup_>ARud9K_FSaes+5iK?LgYPL>@GRh7q%hGY7=N^NDtW>Q=Hnr8nCbTEg6y&lT3j+TYi*$%5bO zpJu)WyAvl8paZ0945Igqi0n^|^nc0mY;2MHKOJ045wk;>6(dbL&HbEXdQk9j9>n3N zH@Um8c%5;=IHG6WIOW(>pU@4UeP<~9w|d(INgJx8s^*+X#PSy{oN!1=OrYJct3dm|OmqW`I@**CK zDGs%N9cq8)F4Lc3xU5vyrGEwZISpm|`lyydDsPF_Hm^+=S(MSOfz1q8+@^>=60Hs- z`LxDuSTK84;M^VEYw`fU3t;GAWBajM*hfo$DfW)$?%*RLvWBoz7J)X zws^Lc6CWE-@qIvtelJS^P+M;bX8k3)cVSgd~(DUFurLmS@0?%)%bw=e`t#OuOi=V^*HP zzHW%W_}UdRJCVVt&VPSZq8UqDafMVC;cgrhYd`l(j7A(AmaM3cQCXA^WU;WE6M?}U zy((I8JnS4{?YUV+3W{G7a)odcrdZtTogOL|AY-5omt_X|CDkVyaUjC2q{}S4&Ee%zuVPc)}p?T-C)2N~?W5artkT z&H`qw;)VZL5{MV|@ucCkCH=m4!J5-5-|a~OwWvc?jy~F_d3%wCaij_ zkDJnN-Zx}jQ)$iFPRB*;&%K`8^<3nhjPX=7tMENqv?R@~wh09=Zz zDy&Ul6@N2Rc-A+qF=i>9tT$!oTUEaHf?5S;sREW9&ME*UA#d;L?Lb~-TZ#nSq(Bx( z#GH1@LB%WLOYK08en$DfI+*@{wM)_ns6U?9oE8N!23=b*DlI2$dBR+eLNw%&>3AK| z*}HQ5Y+NVRw~z8A-bb8Q+A}!IB4&X^Mg3wEmVcc3<$#VVn-=GPt^76gxk9}$zV`*x zzZo>k>J@D1!Q5ULB!AOQg1G-!Ioak|OrRgl`%`QdR_4!L^^#eWm#byFIqhl@C0JqMNgWc>#$<8wmE@(aKnUb0IcU@ z`+w1f)yNWck`kXW-G%Wd3b*bdnwAh3hpp(-jl7^TrF4(^b<#nWn@T2lI`~ihCB85_ z+BH5?Z1;HwN{_Qh?is4=;w}UjKb8JNe4x&W;_v44MBN z1|_p76g)<|u+Qkx7}*zKweC1jp--|-0biRFCPI1`S5H!{lVEy(G^IDhh$ z*!q;gx}P(?bk8<_MdM(9l85-0C84z#hVG3MDfK8=~sXLv(AVOq2+pXogJVCeN)z zVaDpkE_4hA6j{1jgnL%D+UX7P!++S@gxn_G?u>WE1v%cQFc-`TJITf;yVo;kQwA6 zUtb`SgZa#U1U|XUAs5I}mFLp9VZCc$tBY%rPM)BCGGy~FeaZwAls{4wLnq-eqO*ybt$54HmYx#?6 zCfQ$##3V%?{kIbTO1(sOWT!OPk*QepnzQKzIUdMRMVs}Ce7Zkc*wA?{x*;mfn13zOH~eG^#c~^~W7C;k<#`X?dzP{grV{@4Un`-vS^`%JJ8@$6 zgqT$(gkB5d=$Zbxtyh{^zg}j`(K$x+z@X_Vm;+Ag8Bpgy@Z!PA}ac z^0()ehe?LxpPpACvQy2q7r+Jx&cDVBFM96|uf!X)XdOPUMt>K4$RQ%L^^dW3AvTc? zZSu5!d2VMeE{wPKh6U{4Go1;Ct*`o8nBvh-<0>o$txMQJrq`^&??=`2irtJRcIy(I z;Oe=Z|B=|XT+U*oBPEn;T^zYT@z*Ja6)&Sl02A|C$y(;KyUG=8fCe4~bJQDGw7O-a z30ZA$n74h!e}6ZsYY9pE;TKP)rd+_jf2n+9BtY48o@9?{Cd9hATM(3kZ$O6|rSO}{;(xIvztC9N+A4APUk5XL>Dkzd zP7nqU;}J)PrF~t$V&cveg_qMtQI;ZRB7~L5v2bti;vG4NMZ<{0^lj(k$-)eWm57vWj{5Y$bN*&G$c&amynR9 zSXe9#`=t4?HVw^`i6BM54LE2?HM^&_am!W^p+67XcTcPEAD{iX%pB-u2#XC~kvGwL zlQNUKxrs~(o#CgSefD>Bu=Cz*m+`o>XgtO{p3u=2gZ0HVj&Ndz=YO3H-^uEbtk*WG zn18>2_E;@^KXxk)nzQ$dp(De>!8h*lHK&$x&6hRlrJBr+A3yE|cB_zRkynT|!K6-z zsCjUSD)QiLNbH<{Aw24K)4=MHQw|J2|D0WA66B4~{?s%Hr1-P_D@{Q1--hEon~*T} zr8NCEd!ts?TTIW4o_G19lQTQ#^us+edw&|wdm32fvSsg)n>ppzd9Vm8^>8m_XxSVM zSx?*L0f;bUAycQGhVX@>ClPd)!^Qb@Ks03d_2I+%m-|QS+V|QIbkIR`ioBN^!F<`X zLgU0Z2L!u}IbHZIiM&`(itwq(nL!0+?+?x0uMmGv_S-F~=oQ8mxj@wYw_1_dl7Gp& zde^Zf3p5pAzFF<5VTydthhoHmbH$}@gY`I!f9^F*ih(!pwoF`WBaPllg;`mOoU z<-e3er; z%f8^hnkQiuufVN}Xos?7dJDTS*To8!jeBIH-=u)p@Un11OcSsDOSOWqufKI^j-z`0 z^|Hoe7+2^nteKWeOTnAUV*hX z{i(b4_g7mFw`^H|F&yvTynk)H{`)OKxcAsAu>AU0Cl9x9*bL6?v=mOk8W_=3frZF;#I7LA5U$paKco($nz z)ssJ&&2_o7>)$Vp(U;39K-pH^F<_7Qwz0n?3S=0V_Pogn20X3?#Ew98chb4e+tH%w zxfI$Rn&Z^yYa|S?R)1eRPtAVbl}Sxx4Cu24V^WL`8|3b~jfZY?y*04kTMUjaplt6R z&d2$~m*UhfaNxzyt?t9uV4F;L#XVTS5p3c_F&LOZ));UU-#poP)ntSb(os+IX7i=c z#UoBVG$Xr-Xpx%imFZs6IuIp4rdzXfgaVZMEj~E~NtA=UO@DC`e@oOdK*zSHS<9Fj z1~h?wP_FF>lDZvFAJ5Hlav}XgZ7pICwLfibL{!m&!i|+ESz-;YJDv}+cN7P$m>;R0mffB zD%hf4l5Q58OX6&4Y#krJIyn(Z%d1xpA2CeQg@4mY-&>}0ueSW;@w3rM?R?kHf3|%7 z6Tkhl^4#&}ryE^F{2e4>uU-|eE*Nh1n60A4!lB`m0Dq?nkrv1LfYi2Xl-Yaid!g^h z&%#Eu+*yJ?Qp&(+=J(b|iJMKNYq&^hfaf_j%FmONWaLZB(;!aG^Scg98E%0Qu?Pcj z*b+7P(Bi5z?hIV|T$%Awq zfIGHz2Y)Wjc!v^#4SS=OI1=xY<7(3jjKgRI$DKVNPdL7{cSFQM?apfXPCkmAT^$G& zXYBN8bU7;EvK!c%7=By zz`IkZ^M*nzrUc#@5)+_sUP@BY3LKOAU&XGJ27jeNEH3n5uj3IWM=}h>v0dW$oU#d>BgTdi9r!@-$WCqsd|YmwtKr zs(<(EWNg;7^=jBB@{N4iq!KVs(;uo|Q5!{E()x_(hB2r9SP^2?dis2I z6p|gFTNuk-i^VdtRC<)xCZt!iH`Vq*JAa_z!@#?}v3C417zy6n(NBIJ68hS)Jz+~Qj1gv1dYK@Q#fcXicRXyj=ZZtuRbJ!RLqO0CLc_J+D7`csso#5uzQ+gdHS9T1!4&*^oRtS2t#z?X00$ zK*#jq!wbIK+5)%#GF8!x)XAI|HGf*v+22 zUrS`NLELIr%G*OBvOKtFx<`}xy)`iD&1!;F`{T5bD_NW(4XfMB0A@=wOnnu9gw|@q z44CPmJ4~S|#!gy*N<5a4OZ!`;(@3_C`YoDNwgt|&FwpImH^brEK!xBeVtE9b9Kv9gB=raK|4#h_Wa#MqmW;HiKO+G{lOD4 zglsTkx9l8pG+Z@Nnl3+S2eU~ykx;z*=H(>?g>wm=fjQ2`h<;7_DYb{JwXm8i|@yixD7L_YfXRu8;RGFsx zoN@}>w-5l9(aEe~2Wi9PM0aiVK#0 z2D_uCGcCxexzFPPf`|Ng42!D$N8L}@oUV4R^ zDJ~SNlq6l08@+eE2`S#q7WMk!ZGZ1>>lA+2Ed;)lk9GW+gh%H`!G(s$D9djo~X&w-2cN=$OzACog zD8%DAZNL39|CVy+H;#=wNzRkm(7CGBc60qZw}0`XPA=*#m`XZoKT~Vg_FLuJ@s5wLojBVz{(n5VBwPQnU1X{r)n2#q zh&hkfF@u;`ci-o_!Tf)oRii<*yWRc~b8Pa&77L2_cs_jCN^inu^{Vlz`QX*h?gD&E73=VvfjZ z-Z8=bB8m{OFF!3^5J(r#J7ttg&}XiefH_$u*u|m*5&=-cRlNjjp4B2ylT?IXEy^&B z^pjcn72c|=MX;Gv5#e%ChJed=pG>Tb*aKdab<1i=;D4%Al3y(fnpi=-vNG0@t0iD5 zRtbK!C_xzTyHDmS0Vj7V;rgD>VL6CJaJeXBZe>iZS$}i9c=?R0)xtsTsc>B@N@n|R zG5PLWDo0T6zcAQ7I*j7=<&k7Vb-7qAA^&fMN<gq#ibZ~8;CjonkJZzfkDnM# z2?47v7N&1v*>p)hP*s-0*to<9eojwzMpqYhes7-CL(CT+l1e72M_gtR5N42^VS`- zq|+2C&W^1}i@xk0+Uyn}j^IiSaTXiyyKi$Vu@p`BuRXA%3f5k~idM~iZwKWqc4W5{ z_a2YRUgl4Q%bb z*{)t}SKp4R!)f*Hc6Hhd`q+0P1qdJLUw>01-}%ld_s@6R6!8u)A+FZKCQp~#;T zr7TWT=mRvo!c$>7zoC%=Zu`fi2UYLW5UdtZFop zIFgS3+=9t|=J$3rw)~Q(_U~Wp>cO`DeY0JC)2sF-)m1c*?|F6f;vqQ{gU5cUuYV4c zpW%1RXIi2Ob@;8D?4E2FU~wpwMU5VXcGLz{?FgtoyV)xC>-lsFk&ztBM(c93-NE_{ zuHvxB)4H^urHg@)y+GJ|@&?fWe`|z~c7(Iw1>MRi{`m$My4&GQ+Y>M2UoK8)!PV1* zJAcE#Yw!q{_c$B)sp6es<``v#0e|jmMN}%dMenGj*52e!JgCu0hC#G{{0&sj#omm` zsTh-3hV2t^xyw*$Si5yx{MXnYD!+6@d=xm<*(UzvJCa0;N5va)Z?D0iXWP&UyN|2u z#;x4ct#!dy(ZV&P58X~j1~^-dcA9wq`~qo)jXjJI;);b%w?WlZGYsx!@3=! zdwsCx>x*4U!GjT@ovc1m-HF}_hF66~A;XZ5T$jzgep$E#+N9&e68 zP=;LsQZTs!hBT3U0_29bNq?hnxhKYeX;ViqzO$iVh+k^>_L+WXdx6H@q5WLy10hfH zFbrzG?dCX|4W0A{lZBQ`Qk(UDJzY%S46oRp_xf73eH*?~=Z3lrzGh2XG2C@mS(7!g zyi+7^`6#vf8(f;g+bx&*>r{D*BvOB!h9Ca&-P~m?P$9mV31cBJ^~gKZzs#CCQPy^e^9i0hbwi>VBW!qY9GZ&ue*cVW03abA^%UmCN7r z+;oOm@i3*o(av7kcz+np+BCH348IZqNdmH4=S3$I9U|wId$L59X7uPbkCxsz31hl> z%VOo*;!I-j5oDKhq%NU&a6TH|OD5u!?rBvs4nd{Tsh9|^v?H5l)9Hfg5+Zm)sE&1p zKOlxL214umIrzu`k_8_=B33DYz!#N1%y9zs)=7EuD@2DTcz^P__edbkO}-{CrWk{K zPyL2OdX8+(TWikQfd-gI&!bltyXw01ysO^9MD)^)z2XQjMY6s?1L>a3{_Vwenji$_ zkid&BlXg&;DZU>yOg&|s1_(nHlnmOycl>NhP1)#$516#GHE}ak@x_{Z^xd54VR@4kRCA*j?^G1kX8GGuncnE);M5oJz3eug96#6BiAOUZU zY)C&65I9KDFwvrQ<6|wb^x^3CK9&lQI-cdd=!zae%Vf$!jwA~j{}&?$tfJ1vk(9oM zG$=NJ)t(&!M;usTK}h@z^Z0&-rfS*VQyLk#3#O{8%k2E>ra zEqGewM2JIiFjS_o;Z+|rLnI-MWfq5SFbnVChu*EsJ2tRS>-USdH)sr=-mVXM1>{q+ zdGDf2_(hNPO!c|Wq}S3v%U}YVeVlQFx;bJm?|+ipZ-l^WlmD@(dPv91;10PHd@rtT zE!+@7o}1K?RBk;ys-g|>;ZZa;7NGzJYi~iQHxek>a;CYYwBf1IYfMu4oBg@j%5w}K zyU8kt0vaE+E@#N-Zx{t?Pof(Z9tP;|6mC?><%#LGQy|*P=C)Gd{9_AZnlP(`j~eq7 zsDBo>=l6h2m4up2oPfkkW5ZKx)fbLhl+gLiSNl7A>s_B5E$`3s%`}P{K+}steE!goc~PczJH&B64OiTCn}GFKgVv--V3LtQ7#dkxtKt^1O8&=2}5=>SD;w+W6C=8UwoM{#)b2 zDljkS+ROy*7EN^}$(V=vSWHBlhaqCn#1NJu6JN;@MqBo)Bz0V>urBB?0&ncFqqKFb<&aF094mv%q2mH;!xt= zAn2Ji(3; zQ%)%vexyJ^LYrGI`{aZ}4#NPCJ%8ChTqLoJ(Qm#IeLX+C6vGpvn}XzUA|)ZJh-Lry zGx_ETQ9Ztn`Z*4NuEOAwpSMBGwszCSbq;6N!AGi&OSP?7!sL{u&3a-;?(@j zY! zhyIpNcs!Y63xN`RQON!cx!3`-QCmVEuMg|+6EkIGD z$x20v$-7@={q2XN3QN3h)L9EXRAFIRe^pHHveu*Bt9G`m31KU)<@}?1Pu$~5-J!F6 z=PV>f?DV|fWxr}$W$m8h&VMzC^nkCNCmbb2Z9+|60Nq5d(MT}rwoJf&+WFjAoDrs4 zc!PzR?_0XV_Nz-bC19|ts9pKCpN$%R)Re|D&?Voe(YZ1S#AA+h!+D1h?hlw+WO{mX z;**TUb_Le7jnnEZk}IFq@&5aTc7B#fTu!MoEx7OEeaKdL4XFi?3V#;t^J>2o*b?)Y zk-GaW)C-I+h03Z@KH6!nT6*JzWqlImUQvshj6L5V4zFP&8!sYP}F(bC9q-A$k zEA5glj959v#2QyB6C7b}vh#duSm`3~jz~3&xqPa*eAzs$cVx;AS#T$vQti{HiAV5M zwU;t{e0tKHTLuciBb{ZFkQ17VHKvo-e=`DyW!%ySTW3U@t zNdnmA$?k7F8^ARa?E}6=VJS*G8VxoX!tU=kzS!6RJD?OuNOEX&&vlGK^RRPf0YXl+ zr}fK?81vx%K>HBp19=<6LG8L+F~Qz}>xU727?hWPt-`^vv40yLy4hpUk24{{gWYbl zHmnM&aSEy4rLY?&>-35yZS2~98X$}B=k~*v{4lphXw&|#g7ji#$hNZ|qD@0z$8d+p zu=w$s#CQE+8$?ugv&3m*JIG;F&fP`7EI#@4pddL|Q%q-;T^A5^)S28*w>A_NTXXgp z*Id>l`Hq{`jDJj=HgQ}b^v_fgbW)h!I&#HMTV9_$zNbl=q8keX3@8O0tO)#XkQw2- zskwc1l=lANB{Uxap^tDBVF8$mx^5wWaHrLpIoeWS&~fpjS-fnzl5_Mv@nO7=B>5=X z!<;kWUHI+l-(71GYbI-rkB)&}S~iJSf%0RyJ;HX?yMNpT2H-c*WZx?=%*G#et|TIo z*a({vdX8b~LCN^Cm-^*JE&R@((TsoNGNwo$IkEsxRA5KC zTD?x19NY3+S^J7bsi#HhCdJ$;&g!1HK?x?53)*x^p(++*jX;KfkndoL@> zZEi&Ux(EV7m2~^6t)H;BS{ydBj^1NRvTYOoM55eAr*cyz805=s^egsh>b!Q1Q*Tay zR}6sAI9L$;&*JsbTkItrG?WM~mzA@;Bd`p)S%6AFJjka?YdZzrhXv%H(}8h_c3*!|ocUm7!|T+6GXFhHaK?{_d}hiM&E zJiOwkIMv%CI1;pB8?XZz1IvEaOBHPCReSUZohRdLOqh(&eggige9{HyS%(7sW7z|Z zyl$=)A~c3Ip;6PFP?$ta+&+u;o?VVJj56s_8cS!}jX!Sxv0DFjx_I!6u3}gBT7SPs z`fW5kX+{xtQibOHC`OY-QN^)38f__l6SKk78_Fo1sKqaTdpKLh3LDJyuql;kkDpXt z=VW>M2gKcyU)o1+6!cjk7OTVm<%nJx&eDhSaJF5bDfV-pv|97Kc4N}L58o1_*GvhwGunq^R|)6Is0mDu3QRtH0Lo^dq<^@P*wejClXS0El;~nF zj$~VD8gOje2euc7pZ`qwIDul_bW=-l(%QXC-u|{faTtcQpd7_d>!lqZdO;d=1#k5J zrCEPI%AH3@9AcLM?bV3FFWw&v8UrM*PnMl#f;#O0b=m>ylro~;sDC^BGU)rM(QCx7 zP~xuxY)+#^>*XDpjCjEp63MI_yB8DQ1DKW8Ym@r67G=2cvL0u+aS(EVrfO`XO zvSbB}n8xN!=kuGTIe!Am^*2^okFHqKdsrWfyktvZCMi0uzzwX#kin&EZm{N{#3S!e$lEoB5(hiE}K`-;FD zWtr^I2JzT6N|-uguqa+6me4X}8&(F~Nh^eru(dYemK2y^K7Sm1&xbd}%BF${_if&N zysiokT-UDY-dha5>Fhf|6FMQGi_c#Rg>?& zQieO>k0PEWhFLl~5Wmg!)zr&N*F^0LXP^*T(~ALcZ4B>A@FJ!1$ay@7hn@0yEX5ru zjf{tj&pQiK*nbGUzpicEY(XF7Fv{~BJvqAT5bWA7H9M7YF52qa-tV$Qa3zQbm;xR> z%9di$8IQ>1>RGp?WT{wquPtfD#Z#2bGR%*}hn>Fi@>my!qEEAaJusk82f&VMx;qc%2LKR4R7 zHQIE!(X8E5%I*jUpxFqw9Hf?MkT$RQ1od5iGX|`S;wTOc`u4tCEuj6;Bfghpz|d9t zI>{Qw7w6BHh8MT|OXkreZA_NNt-nQm5h!bsTgeO`Z6u_%8e9anxa55CEsUcl5j`+j z1V&A)Wq+Xm^HGtHG5EyBd(NUugt&tVV~*97inZ*^XNKkD*~PU2Lb6@M@)gt=b(6Kl z@S(y&6`_0GY-(HH3J6%*qM^(@p#m5Ot$+Y?{kjpX9Ul|C(6Qe1bcxZwwu)psP1HuCDq4RXe@WtFa6A!h{_7@;!fui9f*{1j2X7;N&zC1< zB%)jmH&1`DE+f!yw1)EBD|_NO8ChuI3JAg4qRxL(c8|$%nE;>{2>>P~0f40OVp$qz zVli1F)p!CSP^HKM&sLhbJ0fao{d6lnV8 zc@qs3%CS*cD&u@VuFg+N#AH!FQ%R^GsX1(zuFS}5qc&sx)nE0i5C{yA;cV|C`z5dXJ3?n~I(I+C^jimb=i17k_n!YVBDIM{#2p4bT)9Eihk86gRzSPPcKYWVNp`&RXO z&JlL*4fE+fiP7o3ySlr&y1Evj&)ro;Zb78JJpKm%?;CYxSRDqOHmJgbQ6z3#uwNux zAi65{0HKmnnJfz`o~1Ps={WiJ%q_Z(*Uto(D={?qt+2;lbTaxig??mWF(~rmO0P$W ztc-7CpAYZf;0-h7qQBJYW9Dd?MmaRr_XTMpvFU(zfP};cHdMU$4*F3tz^a4IDp=*X z-vod_=b2m|jOAE3X_PN99!sOnNxOfCPDBi%iIG_pu~TX&44@FL_N7FyT1}EY0w(Q* zc#tX%3H;=IdGrlMD#qD#bKAU`M;#r4)An*xPfe!{(vl7nmON@e4dcxR_Q{RpxsGKw z5GlgtAyCW5X>J!3N23dB5*q%+)Uh?1RX+KOZ2q~aXa0jKff zM5{3^zHb_Km!Db>P)={p^1^?GSs@bRI;{})msgUOd!iBi#Ac{t2;FCWt&vzuYMqW2 ziY?rlJyU!LU*>Lp?Wz6f$kCI=$aG4>WCL1B)TcBYwm`?1n}f=-nX84lBf{;7r=)6| z{uyP*r%z*b$HeU*mICVV=9;ZcB==Xr&Wnr3uk?YOV-P>Sx*hZftc8E{(g(>8*2ATu zQXm2vTtOm+^c~!-fR_XF;8cJTW~^RFaI-)a%AQ7HbD?l?YWRjwPU;@;u4wsMorV`k z!GkE!^idCD%OXe-N>4WKM`|LoG&(WI~%xDu!)WcEO7%oWSI*7nM6L z9C>lHc00>qwpnmf@Kxb&=joxeHI-I8yrg6uOoYfqp80! zAH}l{D`${GRB|#;AlQS;W65X^cdk>osUW~J=cbe9iJo0RfAkXe|E5j)3h7)CWS}pP z-!agDk))o19j(9dpiw1k+69;RJ#se0aWF3()`yokSk0;({ez^Gs={Wr?o1t`dpf5| zsqzj>ma2ahi}(p7eju3@$js6P^aL&dfFn*jTYPcfn26l0k(Cwe8cc(e31HjQG>Vpl zFC17!_71*hwc*wPwH-j8CmQ1@>ABU~-|y63CVuqhuTx{zg{V8l9g;EZupWK@5PcSpBX!RL$30TdwR5?qU%5fx+a zy$ObYuhH@jT_&+qbOC14Et{{diplmY7aOFpJ~B2>raCgQ5GeUk9c+19oPG-p-U;Ml zSqoA!tASQxsK9IlgT`KU8RV@#H;OO_PuWOY2lP^aj75x7jfWUEyegF%!)9_dbci?} zsu_Q#5il_d>Q2nl2xhl#^E~|ABJUTc|e8f zAq71nlc$B6*vO?VVx{Xv7F4nr3-7ik8C?J)-8?gu!K;Oe9z2biSCxF>7;#QiAyWGZ zEbYoMepk3aUebXrUm{$xjg$&{Xp1`>yn@356}%k7O!RVo!@P`WN1x}>jPbw;D70C! za(1vnplU9^Zm{>Af0FP=Zc_+I>Nv2erD<`I*_zkC79*_%@~4`ye06ocb&Yru2| zAsB(Q<{R>bYEAB-B(%nwD#Ujgdq*Bl_+a9rD=vEDNA+hZd>*V^e@~<26eNEoAeUo~ zIGY7LA*SFbRHP~>w@C00>;}@njWUm1rS77qgAhA^l%^Cbd;CySdD1K6Wz$^<65Vqa zRwdIJRw35d&vf?-VGVCEMN)qT)#K=xX%Ef{A?=H^mtSpIA>{R)%Fc4pb}n^$Qq`%G z2Clvk889RvW`=7K(M{DXs)sMihnhL^9c#?O4t+0p$s zhMrR4jAGvG1py(wIEH@=9rq@!5A7~MA8GOKH;Qfs9X*kb>h?XQ5rxG&_@@Gi2T1~e zOQ+-Qs|MVOe|fc7*n8DDkOo`QZtA@CoBlmTyv(!ld#F6Tr(tukxu3QWzq|F%cRO_D zhD?(&WH_9$PBC`e8w}2I(dc)c9YYolCOd!Fece9&buxf$VyJ(bCk?wBR_*t7^UME@ zZtnlz=;m+#pSyWj_=E*|Sl9LZ9$jxUF<~bh8Rwyjcb^Mrof*5 z1>ME)7i1%8=0kt%-p8;0g6hB#GS!^~z55eRlC?i|Xd1KVB7X z;D)7`FZ>28n}KKa-^EfSgD1F6k;%VB)4$v33S^Jz(CD4?)N2v6InDKyE~Z@; z*r4TA!(MyvHYoSG8?S~svOdY+dBJc?C~?A&$d=#$I@<#I)&Xz*msd2rZ=6`C`|}PH zD86k2`P6?Y*eT*2-&-^pBWjbX^kPqip+ma4g_(dY>kL$F;5p}3PMwi2#J)9ese!^P zd?Fr#4~v&h^|C8oC&!!Uec**`yl8a0Bj0{aakyAAdU1hAB;U5P`~jQ$bQ>0cFe+%C z9b62pltF8ey4bJ)8T1}DgSW){9~|t#zux0#g6zfMys|}GBBJAZ(7r#IXh|cP1*2MeGg6HusWtm*-2w%7)BIniAA>XIH zNsoUXd6@X9pHig>uN=JylKvqyuE)y+vVniRqBPl8bg)U$4&zAQ$`^%Gs80U;48rt7 zxS^)*j&hek%S|Y1SaXmE;OL4sFf<5x0Ct?ux^&|u*Y#7s*p1=jz&puAKVi z&3DByHe?XR>mmfHzcFFdVGRnYLsrJ#75;xAYXX)eCm*>Ww&7DA7LqzUc1;eSSF9?j zSh~`)knS$5I}G*t0{gAbtgxEbrx{<%95!0K7z{fsT<^})r-jZ7THj$|Jka|JoU1bN zH4QU4%EHx-L)DEh>)w%|+1lzG_|JTm^3${M$YtJ?RLRBpoDMOF#u%Lk>|2 zAKdV#aRjWQD71yD{FuVVG-`4Vmw2rwPg*bfo2_EsB4{)7;1-%wu1Ct^ z9r!I{JOWPb=?6)A(tsYoFa_4UKJM(mdle?bWg_xj3UI8R<%nMhDOzMr5!Gdl{Igt(`Z`+KTzxD%}Ad&_P@HWnhn zf|aBqc}os!hAOjny;~T|8U>dcR>ovlZ_A5x8WJ2I_Oykk1?59q2qd#Iz0eF6J+^!X z!AhBL(1W|3AqR8OakPqc#e07+26qP(syiYS%UJj6&+#T>QylUzdqg&iO>`)dbdGhf zdH~t44#^Cf&EoQ>M{d}m!ZjJ&o~D+-q@&_L)5LRjIv?V&^LsKPK-;nl&X3_5MZ@k56qo4e`)b811+dzyK!IWf#qS2mdTFt|KQ~>?~qIj%0zY%Y_whg<+NZE#4fyZNI^j2DO~ho zbI&x^&0g{+i4{M%f5pRo9>q4fKWQeiasCwYan4>~K9_$A`Ln>esY)e0dUOgV$#~&t z6M_iAnm%2ut1C^TJ`I0;mhY&OddH}20Cql#eLFwex88(aH+nG2XWYty3Iq4$Wb^gY zw`Ew3*=p=QJr+#ut#oZIdQ}xec5GP=*vm!}>>KcX?DTxZgnWGd(w+fNp9YGFFAqM_ zD3#Q(`xG3xS>3is0VYVid4wISeTFkf$RfKcHipk3uPFCyOA&u>EaH@Qkq5)4PY=oW zoi>g{_mL*_`0r^0EsAq+ZwS%)06&6p|A^+J{)VObV&9IS1cC)R1_Z{>EvDKS;}jgi zc8w4YXrABF16sL+8wu$FemxmF4MzQm&z&^jW*k?jAwH<>2HH!3su#H(?Qn{_xVKls;W5l*Y?aPefWF}=ctWLU_|0H4#nLJNN=@W21ne)_Lx_=AhjIl~M1 zrc?O#)5T3>zM9-l2DgLuZU6N4s*hrYHW4TC{MYT-)$Mq*Gq^pNwEKsf7Yhg7%ii(f z?VvZjg=yl&+q3EIS?d;|7HSyW!tVZUt9#pFsebpi^=0AmwtL&VJ$5DFKlpe7BF8No zbBnWeaJGN=FZB6ei?{z>M)O_i$J@UJQd#dTiwN5=mw0& z#X;}N6h*lcDJRcXM~j=q%>@n=9^OmvbdQgNX7T3m>1}!OXm--G!kJV;qY4lqKkew> zBA@;t)G?V9Pat!43!w{6F{GX$79^5_MfMGRp5}k}cHC^kC@VTR?6nq)rwmdZ!gX^D zUmuMZtsQ&uEbKv#tMLMoK+uTz>3nbu?|WYn)W@%;g5hssuC~x$;0$T%!Z&pRuToHd(xw0wsY8Rv{#qK5;3ZNo zed-p1AARs6g4@!X1koBF)SBn!Chqw((CvSB+y#fOH^+Rifb~c|_SA7v1T&TL%pi(v z4Rp*CRDuzFqY^28Dg8Hk-+J4s$T6REA=j3z)!u7Jl?qY8ey%OWbvwul(DDKw;F}aLI0N76A zGH{c5+?if>1V&BVb|j7RHGO}$Bq!xaBXP`yHOAA4B|TN2<=Qie-fpvsax(}Z7Z^sIjothvh_9F|xS zK&(N76H{y-0^n^Nm4}5lrXIUWEkqzWt%HF`kj=3-w51?SWF`m}*f}+AJSNfTFdS2Z z2Gx&qZjZylrOi8}au$I-fb2mJG_UR*T`}xGB-y1Z_-JEPpBq@WoX~6SQCpCUhK|WH z$F_veG)On;mY+%u4vxw_sxSO^nA0W|3Jwn`3K;r7C?C z_-ZgU7R}^L7AgLo^5>j>r-}P03x**nx<|f?Ub{0w1P_S%!E1jQvGhlmh6N<`gTW3z z%@L+4(Mh9GJU39Qw2fyu{Ot{k{5XWPC2PDuHPMlZ-0;cB{5ZGIi%5|S>aQ=T!!a_l4}dnh0QBjyfE(tz`^gf zKQd7qK7Xhg+G2kh5bIGldq@=hCagPZKj0lJF{IqEDu_7X>{nqN zp70uFi4Q_fc7~jvNq9kuj-B8S)A>8WG(c=AcsKfL*Ma-6cx3YB90~_O_%I(Ki}HwQ zBUk_dJtJ!b=Q@T43d?+9DQm$I3o1cWY@V>U$QFlpA-R9z@~FXsAd`)Va$$NoK%dJ+ zq==J{EYW}^L!`RVRgv%H1_elk$*8>CdgRELnM66{L00*T{N$Y)q)TmiW}vhw@EDV+ zh$lONr(H1)63_N2uWyr0NJJ@otPRR9{DF%TR3C;(1|QJD#X;O4G2t%q1dsVRE#pXa z?vaRuG;Du5MmmiI$^_tBDG}RM6Ed)X><9MpWLkuvCwH%*p0Mb-h9=|UNXY_7Iu>mR zxB}t@T$Se6(Se3&vqVrp6v*nNO(m{D{Y?^)pz?Tn&nVo(38upDKwt7L;J2|wSyfms zBVnEwdG4br4f)*=oWPJy=cL%?z^>@v8h4@cb-k2j?qp>VZ$Dw^Pl}pw z@k&-}7)<84j&mTWIT&LUNwt0xxbo#SCTPP)q;vUpe1zum#10{@I1{X7L9SM;*kD|_ zk8omOWrK@AFgWVf-(R&+MeEut_Z_8aU);B*$!sHDe>Dy>j~M>dFh!aV#F&AGW!)e~ ze>HzjZwj*Wc(HFM)Q_8{=#PdT7dz zw&V&3ej*;6$jS&p^d*XP0zno=k;p&~vHIIYnv@MfKl*f2%72?QX$eCN+SQP0mlG1T zOK_NWU7C~)LZ)uU*mm7_*e*A`Z`Xv(O3=9n9+s8B;`WqfhNsNCR zVGz>v(hv-lN% zOo(_6e@qBNf(C~T5xwG%332=5j|m+!bZkRB(eOt@#MFcOC;evI_+vtB8-GlQZR3v# zv2FY@A-0V_Cd9V!$As86{+JNk#vcvoW!)@y_iYxo2|Fw*H?}y+<TG;vckH?Ts5Vg(R6*+~O zcsNSH6~xy8&k0}g&zI_hL`(Fj>w3hmIBRyNObPQfvvRqH3dfn}zFfIvp+jWI@Hc#} z0Z3h3Q%_}ui^IGga*~PxEAD>`1Wg~RRzBL5qbe24^dMQJ7e)}eCXl)bL&uCb1fE-l zc&rFoH*7ABDiM(f3uWBot`@ZIuESAG_|5Bcl<01Zk^)I6NLrhEf=^Z%L};r%0(=p3 z*h>GDAMZ!>dWV<6j%K(R7EPNDT^7O9p9nmVh=ZLj@tA5qO^Udc>$HE1HxTgFYgrIB zc}{w#aN5mO;48kVN!6fM`)!$ws42^V=hYj$3`j#zMA~#mEu0d_ z%yrE%ckR8+oW>bZQNd44% zIMhSWPZjYLea3V}Zs$YC%ErlYDz2dOm(2@YaWXo97I6I;!VZ6EvMiSYMYeEx7p9WC zDHuGJtjG;FsKgA~b-Xwdt#er<8If!kCM zcAra85$Gg*fu0woCbfsWR}BtPq6 z7v#rO$E?gbyuO6)ho3Sj(7ir`$`FYp_hrv_Yq?Yxie-NiDyT!MI7R|^>TOPeD7zL1 z9Fv`C83VM?At#b~P%|ZD4G4qIeS6;98FZnQ*=;FYofKDEjoRAsE_7cFwrGeJ(NXH3 zm=yC`qwybHv?VGK+4GqlLYBcQNPsrULKemYw*h-C$WP{(e}t(`pfHKR2ww42N<@f% z6C(m6aw~tfZ+;(lAk^SMXpsWCV32{8Ex~~WbMB{Z?zuwp@u>^~Hj|oDFbUhP;P$J!4xm_rc zt_ME9kVRZ^p!+Hr~6vzg4VNT!2D0c(_-_an# zSZ3yiWztjKc<)-2j+DhM?xCm{tvQx-EH6`Rcx+B?T#7oF0}Z9)_@TFJ*t_ zo;jfy_icCDsHTlrKQL;MdM_l%*Y;6fnga# zz8!_Ihzfe*FDgdrZFV7P%};x}J+ptTGMmdT#|G1-V)9l~EJ>Qty^xl*nP-f|)ST#y ztvjnH>8@+#>AYFfanDSoCt)W1vq3)_>RAAv1?%ICUTa)tSB_J?X3UJNS-rM(XZ0lA zYppzEU1cr(dscmV!OvXl*~@(P3eQ^HGkSfM(QA#%?8;TD*NmBwHLKUQ?yP^Fq<?LWlD@6ufMGKGByt z|LK{LR*X{woI-!y0LUx_q0<0DK|*+LW<{$Aux?R#=a7%KEEKbkTsylfMnWc8mW;A3k@4smGsRZB_(q2h3-b zWSTdhCdsW=yAbtT)$RgCr_-}@u6+FUOPN`NY0@t@UHXX&u zZ7%uVH@$Z;W^_?Fok_#g}vq5!rDu-Ql>F(n9C zAiC#Yy!&HsdlEx}me4fZbf_*tQ&-lRC@zJ#0qnUz|3`j>XGfd_?SSZ8a|!-CAH$pq zn=>C4MH+t-x1>a=)1=BUaN=Q~he7U%m*#x8(^n}1N~chcL4~7KKar#>IFfj+=2C&I z&?&5G5=|P_3sLLuHhZkyi4>UnMJ7xtIa5uCB2O#Pn`rWNmp|~zKoS`Z132>NZDq4n zBiaaWo50Y2;v~196aN|J4RQ>F_(@nYh{q1{`GbEdLEMBXmtpyv5pE`;{2*VV_~j8F zOvd!_NZGrw=V&6rJ^M$`?q;@%Vwl~CrY5889J{9>?GaI?`LGjc^e3;hZlk0S9#mEv z!s$PWz+aSI9d;51zDNA31K~aY%oBc~%0fLP7it94U!nc~kqWl!r zI)+Uudyz3kAj%`A2bmuz?y3j>jVe4P?%#h!2t$6OeJ3J7J!qJ!0G%G8%x6zD`G%k< zH!QmosbvM(&Dj=aXHP`+%qvcrbe?hc8wQ%XMPeQj58}#3#pP8q%j$YsWE{yVK`#>X zWn9v+`8e#bfyc>Ct1Y00L#_a2!1c$=Cgbo^&$Sd!Dq z*9Cfdff0yE=POnOj8wi7w;iLCL@7QIBBZL3+-0a!gk(`oFDQMl$r@9 zPJ*mS^RXs#kg@mJ!Lii3vpbTKs}2RJGlZujS?O37Iw9tq7RnA9njx2+&f%r9GfI0Q z?2LkexOJQw$w>1`Np;&`xl-ZUii!o&V4)mXDDxG{cZITCq1;v^qZNr`MUsD4k&sm+ zPZfzyMN(3cKvY7QExT39e#Sy=Gdq+JZkySogpk|J&L)K2zGob=ax&Z1d?|KInuC(T zJBg*lLb0$&1S}HwibT62F|J5tD-zF&M6r_cXERF083jdUx5Z7Klxa#zF{MP7Qu0YD zVWgDgQA*4xB~z3VAj%S_`bK{(=|bVqXY_?22=2+zEjYgZrmnE}UuvWL_tkYH`c|IM z4+!~?gb&H}kTeg;@Q~yV$?K4mPTU(ZOGLQ@h*@pO>IrD@fW{7~>yVNTspgPE4yoag z@(ron1WBJ+BFYtZJZeMc+|ZMjUi743KFYbRg#&1=sk|*k& zY8t0a;v&=E(Z9d*j~cM>Y-urmB<3o}d4NTL{={iq%Db1Gwp3S!0V*14^g$K#A9(2` zr^O<-b>pEC{kkh$i7DE^1WX4ykz&evdY>t4mWVQ5d{w03{!#o372t$-SacP{z^5Suh`Ybn1bE-*fVlpti&Gig(1%}ltj zl$)qdQIF3}}!jU%Pk!pJONRf5MNN1PwBb`w?==3aR3p=UaZmsh% zunB{*KSF6y^VAWdxuvTeMAFl~n1IGq{2Qrk+Ye5dkb&9@VxHa&;GPipzT{@^11L9pppgxW3Mm@J#841+mB$e zmw*5aM6hCQr8;e?ZH?uZR{IkyuIfzyAOlBG!xl_m#)Y&J*?nr zugBtbLkua}zDvkhU^Jm)vc_RLP#n4j$=biM?H;^xiM@YgHTR6ZIe+s~NUfg)UL=f_ z^3R=XI!_3_&cdLgHCGSkup@Ycg?)YN!GsQBH^v8j*cmo0!hkPq$Ol%5VZ_l}C4Sx% z%fzl(nkC-oJrei2PoB^rfwkJ(@%EX2hF?HqHySf%eU#i4es-oOA5}JCm6BGs>Jo%a zXK}75Aq0QQ_$ut8IWwt4c!%&y#R5ZHhUfFpn?3f6opbnZwps29@4SI>`hP$>9bbWI zxsn?w5Shm^t?sLga#Tp(-4z0(gn$SDRn^+v6yevojU!Mc-MaP!?39DM-AVB4An2?T|q zq3-lH-#~7*=q4xdx2*QG?JAU2+Yx)(fB>syAh4ZX_(NT|_y(rdQ@!c1t|aHFKvzC& z`YV5Y-Q2O>#ITx}x;TceIFPULc?(`RnlK&f{koXNjDBidFN}k)>7JJS1D;;sbEPhU z-cy=DZz_tAnC4xg=UB-yfZJQRutA38@IUM{zD_ScbjGLj3R^IrG{@gNr6(|t(O-Fs z>SBCbeAd!fZs5%%CuC9kqt@aLcVm@+1C@VBg@4;27Lxd!ic+-oz+GWRX_E(abZi~% zUYxik{7GL8M$2kuWJ66jJm?mUu2R^wc$C17Jh?7M4FaOD6FZB*;%$1L2Zn$I-eMK% zMRLN5P(u#}5GM5zLn6bD>;0aM?ehq;vAa^N#VGSS=klGC7Hy1S^7bn>$A=vr!%csB zo$PIj>$pv9*PeV8#u|f-r5~_0g-bXlPtP|E;Ugt`3TeqbyI3RHra>I14Gsb> zrwD4=_(hOoxT}lFm^#2{!FI|WsGxu3Xy9e%xN*99RR6rQAVW5lz|mU|z9=`fyeWKF zhj&Uixs>zwvI+p@)y7|($;Bp_lU@XGd z1ku!MfH%fLuNRH`X1XK#2xKGf0vG-boA^2P{2TNkpQFWx+yGqi+;Jz@gq44OsVw); zPOAfwxLwaZ{%SDR>$`uerT^3#{Otz>ckKxf}WMIDNmd zeegw(*8SUC0C9iOK@b`3Inrs|!0qXm!_7^A(iA{sLu*SH_|W)y3mNqA*G_#1h_rM8 z*r6Rr%``3hVRIA3d)|}7{=t8QE`*gJ!p&L@Bn#nll2O^0hy;N*%kA(S{DgDx)AKL( z9Q@>u;G4$Bg)ax6!2Dm_xOwtqThGNCN5O65NEdjz#vRpllA^l84t=uin|65coY+?P z(drFEEm<#3{(cdnn1&AAk+<(j=*|85{*x#BoP%lS$&*joM}XRP@)Li&g2xB-7dH3O zHn$D;At<~Z-i3ZeOk>-6QiQo^Ge+Bc(+!<_KaZPV5v;R1c;HtdDj*2w#0$HBK$P$+ z|9ldYPIRt?+KIZO1`xh!xGAwSwU3$Fe}1#E@1{tdAVHv4&5#OP;sa~$b?zEp4)%># zEn+MC#16upkQ~g0{JK4EZ}~;r`NYvKl3$GUK4DPkvcqXXx1uWVCYWi=aX8(D4=(fp zcOgIdKVkt{z-~9*!e#Oo^@ShrY53{Lsa9fYAf?cOD1YK~F%$KRUHFeId^AlY1Nz>CAoXE>YWN ziJ4VL2pumH?KW)-PAxTz}jd5dj$@^XVDCI#_52dfLW;DuE6;Gu^2J8YstqSk8E?J1mez$-~7mjcGc_0vzCsSLam5qFBy}5lI-Qrg&4%nex;iB`&HtZv+WX zcQk)TMEB0}Dm-Z8451GA0Hee6jGBMXS&IOC=*tB%=V0_?LE)fwc6Eq*@q}XY?RqRg zsFk=xBk*3dK)bh8oFgcD@Z@N6aaxBI>B50*qQ5u(#;2v?-wqcK>+-c^G96~tY||_h z^ZsfLAGh*Vhg7>DlDZft0^1nAf)!jQ02_Z{;||Ss58IdyQTe%=eq$Vk66+S%b7xn`d3KE*3l3}X z;DxTd_c^JmQ$c<0*IsN-`8j14v3eCNa09=IE$ zyZW;Z7|A$UWG&h?aVGTxyK<0!{8*?AJPtp8Y$T%j+3%b-TYNtk>_c&M+e?4bC2ij{ zXd0mSl%O(}>-PF>xJ$`{n@Z628^43jX*E96-5~)E|At*0#{4>I{0f%g#=Ggl34BYz z?<&Oir%lL%!7l)Ih4$G{;im;QS?}PG)wVWuto0sEb3_O=ALN1%7f?n}ih^IC^Nwt6 zLUbOE)WaObicQ5aI|2!DK)Qbq?{=?omf95~u4TDa#t_tn7ceDx;Kauig|D9ubO(!- zlg}&bD}cNJW6<~q=)sMx&cdL;N>R*!Yjg7rPVwK!tvDYlIGPKmi;}BJ_q5lbQb9_B zwdtX^{U@NunW|6FYj^AfK$^pWZs2LN10#qKmC81ZOi_>E{o}atEmCqDp;9Ew$`{O+JUAwiPJo@r{9HkEuQ_N zNEJ4v6r=JZM5n*ejq40_8skNSMze8j^Lvq?BDpjwOd`2nMV@{efCo(Fy<4(*865X8aePd33|Ig3K-Z$rD z+M7}^?R#d!OI?2h_F|JAm@mAcS^L(gR7CY32GoZ4geTssK_BL5^WEw6tp4oT<>h7R zvIcRjQ`|kuwPDmPjP^y| zAi*u;7S1Ygu)=)3>LLgg=v@P#*56@}KsgbYawkyO-)VpR-p4XQ_hgxHrSLmkDeWZX zX}KS=R*a)MV8y75De|+rHpfU=Rd6HDr*4$epWPRBB;$xk|UV(yZlb z5>dw8OaC*WVvX1!?$M0?+wP}k{CG5i{i?GLJTOpGbdKizj|ZCfWdl$^xwu?fUtcX% zs>^O#%H-8mS8~gx)m0yvD=jat~N-=+< z4g5Ew4ean*a|zdM{?qa`kfe#2T*eAtEiJFFvmL*%a;4h(I@p-CRbqw2$|;r0HFOmN zch)=TTPHI@js3iD@X#{ysT`OxY0 zl~sVQl3no%y0ThYT3a$86`-QAwakCLFs3WZIobkyc<}qnw*Vd|R&pROR{O=}V&*A; zCp@@nog+B>Bm4IFzdIud1njrmN|8$^3kVluJh6!i{v5%gQ+WVb5S^?Q0f}!xLln^G z2pYdVz#%apf>+c%pG0*%R{UToF>b-W#E55!JP30 zWEBVn@l3r3QWLD2xkDxpjl4lHio%?H)j0 z%@Y83{<3TEcL8wJzgErTuOfep0!}IjZQh;ae|%)GK=ENePsG6chdBO7Vh1=sURRQ$ zgi|Jn$hMp#2)+Ny))oDW0|v@u&0~RBE~|WFt*zw?SZVk>Mu6)Lq4Z6B3CpX6YYVTR z)naKKf2w;+tumt+$|2mXlv|P`SIw2y@h9`@E{65yiT?P@7Na$u9`Ao)h|mzS>k8Rg z1~X=Pud@Df-Ca_vIBk^CmEzh|6WKBW%oih3XqY1)zj+9jDskTOUK*l=%<{!j6ARE> zxAFCMISd!87m!#=lR`M}J)M+>Ea;#9sEK!>`GM^4FI&F%oRgA;5lqJqa6Wwir)Yn*MwV20b*0I`5^$>i7$UP$s+O0@om$1c*6~-t=7OY;W)%(< ze=HYi38ky0C5YQ4xkyW;@){agDpi)(9LuayTq;$Us`@vJ$F{Ue77Hp|moB0o^4B!C zTw1EEg8Num7LwR@u;@A%^i^$_VEr}l<0)bUa zP01p;2P~#s$m4Ep4AM#Hg;if;Ap`NCU!Zu{+2x4^y^J+M*OP8r>2Lt ziRSLEN+7+Pz484s*1jEi;&BgXZh>P(42Qa2Da(K4-7?7SLaNRr<`v+_u z$Ns@Lh(Ra?30oq6gZ&c`jpnjPHbw@2Xdrj)VhzY3wBAEltAJS}m@Z@RnXOtm0^*(2kiYv?_Cd#or9jL*sm&Aph|pZb`yt zZ1P=3Wy4lV)yjGi1VJVvo$N6h3RZB=5p4Q@*{U=zFjp19mseH%;P+aC*BVUi-!%{k zxaF0qwU?Bt!cxW`vwo2Pc4WE`FZ37HCdDC5PKan_$yBZ5xZ4W^qrh`nStG5H=8a+= zFKU4Z6(yv9u%CpJjGV#Ph^06<{&H|+_qoxf=6wJcm2<|j89snu0TFRE7Hzy(4ZsP8 zOEeJ>cFef)V8X+R1(gmA=2pP}W)9{F{;h|gzr7fB#_)&dbHzsf@<3D^n5M}`Jg$#` zic78|l6qW5D+W(h%rY`O`}B!67}ivbPr8uY~JU>lcwP;>eW|l?#j3a%&esL9SjD zOiSZ`^N_3VS(+e2>I8JmIu0+DJE`K;p^{eE7?4`WLzBpt;mIg#TA{Z6dCu;B?Y|6v z{MoB_npCS@WJ`R*-&UtTcS5au55nW2Z0{Q09hY*ra)fLJP_1iNh4QyAId~~S4yWlr zGI*KqmH697VhxX*$g*59sGJu?6kJ=@zo-O%IatYZ=3#dR=lMWey}6Q}?LNeD2P9Mh zgL0*`hMS*fNY=oBBzI?hZS_5vp5#uhFk^spO3S4+U?N;SfTos8wdHCPQTisyr^;## z|Ehha)FfBP>0YZ9@$$Ty!bg-A6g8C0S?LU0y}9Cbo;(l*f&(^#V}zxPiCPIR=y;xg zT3s!bv!Mk~sdGiH^;!=AEJ{ilfDj}g&~Qb@%eef}xD|5X0jMP~<8$e!S2E)-mb+4+V|tD8`Qaphoq}c?iO2@bM>O~29mBI73+-Um9hbu}X@yXi|ZXrc~yiG+< zQ>!&CP{pG{csD{UF;A_JLU>jPo?Y1l+65VzXm?3k!25Yf5V>lS4cMlWox*lTUy}nc zceOn{KF6XG5kx3tae+>RwVB%?D#Ree8l@TbH`yz8n*F8XYdjQzR~n9@LXPpH>8Q&R zX$Bb7MA+Jzq?P21NCy;_VIw+!hskl6>n}9egG!23Lq+~+!8h1hq>0$rNUj8v0TW>wS5x61B|oc+q2wRuM8murM$j{^k7x&4b2^n`g&=(R`ZU0YTK- zMf%YdCQ{hhR;qnOYkDM^ zQ(j?l!5Qhv`*PkKci?@0bFP@Vy}yhi|MP6B86cV`@C^PV5*(Rw8r2NcAY9UP{9p;_ z4r~(q0pj8bzhquyLgvS6X@!Eo@^@CQ59GvV7*GLb%ZeYYh=3I9B;uUaGPW2P$mm{_ zDLwt?bG0>2A4={oL!uipe9+ryuH_)#WQ0+80OFsEVFe)2H#i>O0eVLfeiC1lp2L# z6s54eEN0D$>N%=(gj79j^k8RzlMm`IARH-b+l^$;SsvETGd9P12ARh_ zvpP$-4nB6^R01;n#&+x+85nyg0`9^+{Dp^5ZjE+#vUDQ;jJ{IH_ zjv{gOOzQ?+WC|5z77`9 zN@<8ysU?KpQ4V)1F^)rGq zmsTxOYZ}IXuZ*#aEa=RG)|GJt1SkE?vmV?|)$_1Ud_933><^vE1fmWS(H&jxMv?S* zEB>AGnpyLF?2gWH5qn1$$)|V~n$+RiND@Y){uZ3*NQCh!@Xt6_7b&_u5) zh0mSN*)HBeCVR$}iz#kel_WL|{T&qgNVC%76p7`3F}cis)P$XQM`x1Cs=~CNI+t() z#VL`0v=6=3&%@V)v+1=A9cHj`h(mk@#g9I3z(vE+*#^JQHXu95@6G^E{7oztAYVGI zLFbO77~sk(f(-T2TA_VC#4FR_>1;-t8f*`WmBOHTbu@)(W|;Iw2u_2hBlwre7tXHV(NhxogTJqb>i+`ZLk0NcMAK(~ z-gak5Sn5iQ(Bwm2qFCE z&m^21iKTj2I3G)KeH|&KwjlkziivbqHPBcTXu^q5=LFO_J^ozg2B@+RFF>R7ej83; zyG^(T%-X#9SG~zuzX?}DtX7g-rKpmBv6%WCeAjibPjWyJ=+s08j{3~L-|CJ=be@gO zVtJcigN_@Cc%C|e=dDui69CbIL)w;>IPOd@I~_Q?(}ovLu(AFhao^gOR?@8feg6u= zlPd#HmP9;7G026dXoAsr$YC6}62!;^!GT58QU3dT-&K8D3q0i6^X@%YMtb#svAVjt zy1Kf$t9#WazIy1+&sKwYP@Q%@%G9XZi882m71Ipu-!sFr+fX|ri5O}lRbK3m;KL(x zg@@Pa6Ic6z7yQw?Og+QfnE`MZV@z>@ohk6eNJ`3lyRpDX5h9vC?~ zTF88ogh}8L-Z`w-FF^YU&&hs&J_jn8i7nLKFkH3JHhX{paRnn}ynsI%!TJSJ%zlu( z051kq9Al!0`q@M}5LG`Vw8(YYY{362#|O+(X@~s=UId{a7_g5_y&pD6>ajfNH`1W` zJ3&$S%mQWDM4|KgC8y^pP>x+zi!2EK`QTlJPKZ}^<;ehNPvT`I65#QFkBKG8h9Bme zSdxtR@;QGS<$772ztSHhz?WAaU|3KK8Ns+tYyjIITwZpCC|qZH16&CLD$!rMyFy$Y zCd0Nqq3|=J4C}CIld~dVv{^C?5K~|30INOiUSN*)m2Tj5M)?Q{k;4TNtDl`gscDHU z;IE`4j3%7*$VDYB4^L%(^dF{-tdQBj3;{4@%zq4nHWy(Iz;MP!ii5P~Dd0@40NLv4 zX~2JiURZn-G938&DO}zd>Ic=Cet}Q{603wIe^@v&1X4exXAMjg*P|AA6*>&+g1hP) z>5+CL0L`sMPl0X^R?A2Pa*2`@_Ihv{5#Ucr!Hn$%e4&}lpca9Dg5xNQU-msD5meb} z-(-FWGjveuqL{6ToCoj`NZ}UqMTm%dA;r zQxzv6h7;ur_`nD&A#UoLn@}j5>qERi*CX`bv}?vJ)x1MPyY-`qu399d7y0a${S}LG z^akJwvK?9$Q|!=xa#NiE4S2Z(Pp9K?_?!|V*Uq8$Show{nucHYGib=P??sCLS?h|L zu;VgDC_qW01vC*ksMe01p#u?OvU}hS02I@{egC+?6X_Z7%}(0It=**?MBgTBFf@MSR<&gsBwIaT(oz48t-ef)$X=bz+1KVPQ>6 zWB1YG)wz;4{-9@bNjx z`+)rmdXMrcZp&>Q_#}}Bb!R_w)OEYbf|FgikVds!H?iZ0>jjoQW?6{7c+3yI0aZYl#4~9zT$P2b z-?RJAa$5|U;wn?CZCN%#DVV(8ie5mZY^Deq0OI!hG-G$)pdaqcb$y}m3yD``;U=UL z7E z*3;WSI`QJ(AamJOH_+e^odJQBCH#IhPF1;nOvIC+5>zJ0c-4uy`l(S}5)KMGIhEtFqX7eIF z=EMO?l;7I9^V=|5IV~UFLK#IjpMf4xl~AJAO2mtY*sQLOSm^4Vy_-&h%H+s@RKl%O zvbe@Pr64vyse*`kte|X}5(Q1nV+E7D;6x4Sq$gKpcdg@V^Qn(jnA&_LsvAjrN@Z>* zHBwcO^5__GKa?CJjd`qKVy}~^AeHjOii}h@t|piCSXJqrPNK5W#K)=|+2kbZ8+PLfYDgCP2`Dy;S| zQGt)t;;L93OHpH$(n-3yC(EP6>cpyKbwRXN0T*LXCeiKfXz#{tBa&SmpW|sY+s(vi zjXvekn#OMolC*J8mPhMOOZbUeM-!ja>rlWS>3A~n(faNY-4oT`o9C&2nDs*PIHZQD zkJk8r^qXSL59E6sD+%E+iHuazqjilF?vnFqY=%ecy-$Ek)O~-Z`|Cei6z8v*cKcR# ziVbx(>^5SX)0+g$7Qq9U^*%%_G-&cxSFl zYfW1fj8C9$EX7eDXSI!Hsb7J6XzID(f7*J_H*{}$TxwNVXUWva9q~3&;d7m(V-r8L z5Sp=aPzD6Pa$4wrcVV&;!(N61QZAR_H95A!>u4XHY#(muNp)ng_9;wMDWOzU76HMa>goPP*wAfG0v!n8@@itxp{R_h3E?yOO{Ss$of0*}E zZKw?LxY{*fCv=uy zY~J0)-~_yXSu8#1;{zV*x!Q=;XOxAS3h4EQVD+myOboQm7JqH4PJnIxs&xeL_tvrOEty_gxW9cy?J0-$~?aX4@4&i{b3NM zAUQno^ISmb75;>9geFIk0`Xysn|}^wfF9*XPeBiV8Xm!os1u;b$Vc(r-M9?*BCno6 z9_Gcv$g4jId1?cb#2uKs!<`L}#a-RvZYbW)d*xgQ&dfW7>cQ&fb~!6Q*{D<4+^W7^ zD`(}0-_UcGv-rdC{@R!Qa+ZJjRa<*oUHN*vvi(8h&8Y>F^7-6x@9ypv4$}9#wxPFc zAJ%q%tNWYVAIe#;DrQByYt_}w4{ys5sp?eZX$|{bt>O2Mt-*k%FVv!(0bP_{4pi(N zJg6R?-#c1ce_(5Sx3h*O|GaFny}}OLzm&EMZ#PlT_m7ZYwqyW1p~Gb|+4J}U(}E>9n4~LyePPmn zwWfTn^5dqiUn_e+MWZjMsBHs$Q+X3zymxB784TLYx zCA@pE{1wzP_y*}1!vz}nE(EZ9u!r9Cux!gmF2U2=ThTt}sUSmE%%6TVlgyZAhXs+eD&4nUAUp}`d5SgY;h zv;Pz4MiNu2V!+T_tT=+n<;`V@_}2PnVpa}T(R^cYDy@GysJ*YE^`C?G4~opdcXjW* z^a8R9%oq$dH>$ftO#i&zQ{3!s@2u_aZ?0jWJbO@5dTt1Rr{xJBBT)GBQiec(X92!~ zX;28~K_M{_3W=Fea8qHYrL9y?6H}oO&V_!6UE3fqZYC7$R9Hs1_s!0Of|&^H6?HqD z1so?SxLhR;zfr4TW<$YGhe9|X3VuSc$PX={Gog^03Wda6D5NF>NW{(tA^n1%3WTL4 zkgpuDlLHMB-o`)xUfJFfOyEdXFd%q2SG;Vni|5kCko*e?`Um<2`$|=RyI93ZRqZ6% ziE*FG0j6O@Z^>+t1?Lq`4`dvL&~21Z`_|5kkHKX!L;o6+SP@K=t_u=( zyuEV(n0*2SiqmGJU+!MwJyo3?bp`FC15GEftc$M_Gg+g;>8vq{IjvENiLFtX-7l5I z(dtLj>UTFKWl7RC_LVGuNy+6%;_cB;a%GaF`<5q3`JQ5PNWx96HQ!A=>FF5nd6OB%zcyGc=_`DRM-Gh_IB-mNJ&b+CnIGSADiIT zAh%MPlyJdH)@5r-wryG#=4N{luJ$G_T=Y#;xc0kT2@$}=iX`BPLD*qpNMKLvd7~}l zIHavR;FC5_T6{3^BT|ITpX8t>Ho-?tT#B38@=2a*Vhv|S)EH{BsYWD8ri}CO%1BSO){;fm#hX_^xzhkt)-{6 zNMcY)&r~A&SDd_DwEE35>yoOBl14YwzD_AB_^A|3mSewRJht~IDh07U!!WSIAuBXH z(7o2*0fa%XckgUls zdW#3M3&jsZ6;S?`dST`YQEL=(T0Bfxlo&%SWx3#nZy9qP4%J#T%QX%H3TyD+dq-UWLR6X7?e4NN(sn<3g*`Xb)h@l*>xnQ1a`r;i8pv z4c0w>Ffew;Ht77I1I-BRk$8Z|n!`HQpnv(WyS9F?x3=o5!g)-Gw=VcNcJqw)BQg^f zbr-PJgGnado{+~6Mk@TUy}!PF@FA$p07j_JsE$Wn;z8fmh#M4gq&ia7{^r)&DrntT zwM&Bm;tTIzz{+V5j})4noE~YJW+vTUz1M<&+0UQ@DW(NG&N0ZqO~{e5LPlwbu?HIk zcLvY2j+E}4$~)V>^J9tuU@BL`sG_f_ii#c% zcVaMT=@`dS&u^im530}VFHTsb?(9%hoF_bVQm778e|ubuzSYX)N(VhfN7TR`PQOj} zqvvNfMi3PJbR~jiA?iRN(AbbsNADn?*4p)p`pV_yXEJpbI%`25XwIfn!h;?VkqQ7e zRsgu_*1|PpS>?2%dj$cLe6J*bAUbB~m06WsL%dfO(A0Y+0V`6p`kOHA#(g=U zFdk&38B#?*Y)+~Q!vIT2@n`Z*P zEq6f_2C1-O#_|SA8HTL}OLMc#V~qA5a?(&4Xxjv@%)MIyBxUYXDJ1nl6DRh=o1tgTXl05ye@lqWa~-{r9J)4VVp<$d{yt^P}_G|8Zq>*HuzzK zk+DHFL(OHL=P)DS4>fKq7>YK3Gc-DSGD*fGEh}kc4C<^9PRq^Z+Co{qGy!mN>XpU?e|XDPaxiqM|^K@g7bZxx{o=3-v>(2+i}S1 z1xKhTEm-kp3O3DP12041x0PS)b0v8IE4_QM0@@sdmGDC*Sb|0{C(Xo)WP<2{bnEOU z#1r0~7+a`0n=YglA*6XNp8ztC_3v?pL3r)t!Dra8VHrBkO8uxQAb-%Z?Z25E(tS5k zEUVMp5MX6KR1%%*H7~kQtAu+~MW(+&f z{*59<^27Gs=1#O}gsq@T&F=_%znhpOp{#Z9EFyym?Nt0ZHhBV45*(Zis5gYgJN6~I zIl*fuzR2cj4(uJ1cl$Isog++vhxo}D)Nxxl#^%Sb$`5tPumV_rkB|=()S4D_WxD4V zhYwZ+c5FZ6gne@{%`B68cx=zOho1Yu>SsLnaSRz~39$iAD;yWRMR-ila@;Xf)1nAv zQaDAk`LP^_Mn*B#lri~7xsa2fu|LW2;SCi8yl{Xw2YBm2WZ=}&m?&y4Oz1To%u@x% zTz*vuGfxn8A$$6|~!CrJtk2*hIQe>&|AZmiUQ8JDZI1h5ZMPS}xg=3LnJ zV1?lh8pA>R+;BfKX4uVUdz9&=rWCVb0`eAVa$05Geic@n6g_WhxEwC~OxSX2mlnNG zJed7B^qryMf83OR{v--#^Zi;%Li zU70RW5yIS&^}&}kOp+DQW)h_AO1(pc)QIXx7Rk}}jm+f6ZViL%i4ZGPM=duU!QI`x z!>Ee_Gj!rALoUT`^{vR}DerppOU?4(Q53wcQ;HEWEO)?%4v*3XmC#ccaGHIdyKSA8 z>V?*SX(VsP)up+pk7W*F{_xob-c-e>2}Rgi%Pm~=pq|HA{%*{|q7a@^9dFiLlVOwo zP&)Vmop@mZ@6J(J@N$9^6JQ@a%WXyg>51>(1dQ#5Ckl2;!M32n-aE_tM{_d=y*7ui zRcXQI!bDhOVcU&N)^Jxu@z4<7lQr>V*zEFzs{11k_ zhao3BaGVJBG!5c;j92PZv?4?u_aq7jGC@qzN|29>c}GSM)GdRWs$Ap38m%SeCKaF;9?yxfg4OueXhNnEn2Q^O5QpI@^HokOSyQ&^m%%*havpW^H0_UbT~48{KKIyyT|1Ue+O?A%LK(h{O1HIiyFe{Gn9arIQWt$_mD|`}2eJ7f3-`+{DZ2>L&gHOY0zx38;k>mQXQB7T zH3lm1f`GRO z%mG@dhehBUA2rxK?U#T6ygVY?8D)xmyfKD4K(q8qMJq-^*Cwsn+Kp}XKU6!BZE*-} zx8zPmySyYs*@o_?i#V8;H?OyU$wut8lCiDg{32|#n`*OVhB{cWv4s)lkiV5}zOWq8 zKL!j05`W0gnC=rHVJF5janC_^U@lR1PFTA0i(WZNK@B^wvM2XAczE2)1z1}~DFrl0 zN)eq9B$P6vW49T}{aWNskXdbi8M_;h_#2;uEcAC6! zbNeUI72#=BOmAppBbXh3$8~upM6Pl+3nqw%a1YsVzn(ixBjT#Z=cZs5gWEvt^^v_G zw5)e!^5(Kx1_zc$d|0ycnm1Y4cm8nE zdI^J(6%86G#v^@8WK{BQkW>LjIC$%Atqnz6Csu}t14~$+q3AAu79z(Jc@XcTQ{|{$ zlM77Wuy6dai0!MT=B8YWSgn;0v#5LxQW)-ZwEB4dgI$Z)p(T-sy}>sS@ixpSRc=tx{Ip8(n3v5z*tp<0gF4LgH)T5|7i*?@|CNATBk83^v)aNM% z4;Jm5(lbF&pq}Y}G0-co!3GBFdw86s`wP7PfkDcXbcr#cTAk^VBHD1!t~uB%{48rU zMekvE7E8M%)IkdWY6W_VHEyEJd0hoi@BjiAZ;%UFZ`qManIX;cvYcLnxna;D*q}51 zJI#JpYkBH;%9a2~a=5-Xa@HA<4`G{m*;eH{l{x9UcE;C#cEdxVQ~qH?fMt=0)uVNhJah}l!*6>PyxH+a%1Ah zLp{l{hzJ3|MM*!9fXAQF`hf&PX}MNa$pHfZqv%a^%Bz3J_RHQTN?dFU3T=anL2^YC zNO%e)&dR}mQmW)a^}w2bn+%4S3`{cCo|Fr6Z<9MWv`GLK$>>z0;XLCpJWeKdu|zotk)C-#i8Q=plEq%AyePuv!{XDEMr0+;qj6Mpys> zs~=GogtTf}OEE0ZloCAYe%^wOr`5po)D|!y5{#6PwaZ=TBDe;F_>8bG29_mjC=jGW z-&$^en@o3ixD)A8Dh28@ZgPY2Qd?Nx07_uodY9HMl1ACu=zsx1DPHF`qX|hj!Pdt0 zdmGZ;L@~wD>i;Q63;EQ8>LN@utvl1(%d#ZAMa6}mJwLa%V z>^2y1%Xw?G@&cDlGE>h++|fE1@tJn!_xP9Uv`ULcxqn0=Tf)!&AHn;JHZrg=J}!g+iD?JdGyaJoJT)S+`UG_7SLm zRWq_)gMzfr`EhrLfrXYn&b>PPqaPi;e3jRi30mc)<(fXvV9qA;`AV~NlB1SBf8sXa z=595fZ)u!w;X%bZk5hG>;RdCyDa}6E)6#ke5<^y=WrQFsPfZY>gIZZ&ABSn|TCM)s z>>A?ok6L8+7$wjsjJ(a)unfEB#I!blW7G@Bh}$f?!3RXxWXXf#ytW}H!a*FZRlSHP zM$#=(A4d<+KQz>pf*hUXwWpz!O$$nA8|O5-KVEUY>esA1My$@=T(VoSX(z}p>vTG)yO z)wKk&igkVS{jl6ij`plV=5L)IZ*jN(&3;#2t$($I!y6*8F}T#cE@r$smrF1H_XJN9Ld96ZCc*k5akdAj3pSWp6a_B0k$TJx{|_n z58}TdKx*5p;Z!N8Y0yy>A-cAIXiS16ubgQ#BdQee>WMto)5E@BwN>>YsoPm)jRmYr zrL6&s>PMdmkGH7A=sv|Lr!S_4ku)psuJU|C+f~5emjv&nEb5`IM~%~=#jK!*d5v}4 z9-L9>>faP018beWc)`CFr!cMXv(%V<`4W7mS-`7MFou?wp*+<+n=B=NQqZHO)%}|+ z?j0E9lpU;Dof8c|7=sWz!eErpeQi3h9nwHps z78BzhF$oL`CQ}7WeK-@MSh8r+h|-*eHaWdR;1lCbEhk9Ov}h{gIJt9pvvNI&enYB= zk1S7i5ke-(s6>k6G6no+eKzn z%CczUjUKU75F!<{nAzi>39_SzrEyWM^&crInUdxD138m^tfa}7EKB?Q#|kn}vJ_92 zd5_?cf+kzCti6NqNLhEwE-VX;klal$WfK|`J-bv-GB^TlYE&fTD#O)t*qXMfHq&IW)<~I>eTS5!NPOh)rGL2&=><}tGXrNwTn&ja< zHNlq}mAB~uv2ZvkXk-W_c=KU(@bYMw@U6{LZtbwlL+l8DY8YXEHn*}tdj^+iNe>2{ zz@Y|lCXIX=Oi_$o#mFhec2zR9Aj1sAA0&WggHr@Y@11+BUpkeOjs5){y~6b@!xtw9 z^6C-K)y3rIq;w+U=rcyb6iWO0O|K38Rr99_pOR<&->?-ogJB7x!%+Y~GF!c`A~x29 zFp%3VYxZ$}HSCTJl{_v|8nAxW%SjviPqheo0hu5rv|)k~Su?-+8yR-XZxf6J9gNV6 zPR1<*yCfk;;)pRp#}^T0f^Jn9u^$D0eRmy(7~T}{8g>ML44XBZE6U2@ zn7k!z_n1Pg+aQEgRU(W-fg`ReN49X6=)%yB;b68r)0~c;*UH72=zXm`GaLO`D^I}# zdGjrmK_L}Rs zuFqp`vC+j~;nhMYC7xj}@vwu+YC7Zqb_?Bq4$kICZ{Wrz4tww@UYCcZB|BY}nrs;d8}jv1`GO&JwVJGT-wk#Glfdv?+V^67VKKuV zVYNxdSJ0~!`Vc^$pnpPl(WBOAk6d3&2cBr{L79t`d6K}QM?FLQ|2GQb4Xv@=(sJgkTY8Zg zvvwXgAkm@jLq*`lQ@C)DjYT5SQO`1!edf?$hzS|1bRJz99#E z)BY73=d@;OZK7Hp;3JtQ_)YLd9^rp~;~72-Z+M80aOxEQGPh5gGbgGBhxs^n2c0zY z*vSgRfWB9{TG6BYCTQOzgs1-42AiY&_ss~P45Q7a_Cr`KI-;xEeYK}62V+F1waf^x zi?EGAGs-zxF65iiI8#h#!?eG63@6H*X6|_$3494eR^B&r2XVfHpG^!}5gdAdc$2${ zBMi^b*mUh+II|(o+@rZ&HkyvI;3joV4|!-Jy`|~FL|$PJY;s?dp+8|Es9C281rAP3 zDVZI+a0R$RAE8o=$B)K1O182eYYJ(@T)>S6HgIYK=QeO=0~dO97kxLs$5cefz*u)V z)N=UnU^e>3tX584a}Rbzd;aZz4h3t)j3e)8V{F|%|~xX`=E}0!E#E^U^_^C z9xs(IbF2BvO$sk<2(0%12+zl#!ypQ!uu~?W<_LB$SUn-#1fXN^Fv3uiO@K z*UoiHKU?V`CR4^NvBk!WlcEB9ccs*IbLecQfGsEjfV|@jhO?Ug_w(Az%iLR>AS@cO z4a@vi9*nSs4F@Z{iE+Sx1g|1E+-PDSWy8xi=6(qG{)*?)hjnO4EbjfM;S z2Tfp$gD8Ijt7-)xS1ogSVNahDxyfY}-#k^(JNH^6)&yk7a~W=16=7jO6gb;5dj<4j z-Nd4{3)vo5Ak46V>jphPz}sH&%MYTaEUfM9ZPvCwyeLji=3n7|kB3M1e>s=g{H~=(nm}>~BS*?q&^lC$#IZo4= z*{D!fN|G`uA~{8Wk!mozv%R;uzxiqHc=N;h=7-JwuR({Z+9B+HxI0|s?k~?lB)FJc z?ATSaoQB`F)$P!YzzR7A#4{6{kBFsVbR1aA$wNLMyUW~q{>>$tbC(K0vEy2vkW7om z<>QH)c(|QgzZbrtoiG+Cqc?{vCkMe6@GFedF__7FFn1JxrMAM91XRajIFy`VVyec4 zvh)4!?khHuvInZLD^Vj(fm#9$FX=IvG^sr@gH9SVRQifsZpL@=FWA`bnPHaELP}(P8Q_k7%Ai79Y4c$#NRiTF1}ND z*_^0f&{^LE?kWJ$c<2$!7H=+4Mv^raUHwn$yScA_KJeSIvt*KN_cFI8yx=;^WfDuL z<+9|75EoxP7lW2CYN`Cbc6YbgTq+cCu_DRH9vXOLb8T(s_CTRHNy_$wA49X;(a>yG>LgLDc(Ws*n$d)hfT6T`+5_9JhYJ%6LH_V5E3sS%#F?b;>Gj$&E!2r zmgUj+kGKNgAyx)`t{%k@yQn%_8oIiy6 zm6%OqojX1jKbg4Mv>ttquE8cF+;L(iFp+nneSvNT(yZcH_GqFIsI1fCkQu050e@M# zMNhB>Wbraw9j}-|xvcjb+^(*Qgc{>T`NFKKyHmeV*wf289zjWiv?6%cSnW%HP~jLA zOt^_uy^B>+U}gKWiFHGEI2)jB92%H?s67Ev>6UB09X%Q^xIUXR>K89=;@r8&BI3P) zDc; z1z^z?lzw6(L4nhuA^Mnvt_?bW7*(`wSVbESl{(DPCNbb$G0m|Nm*3htwp3Sl-b58! zHp4YY&sK4v8Q!yv3+>!{OHO{KM!6VP6QUhGg)L(o!MIG|e%FjpY8ZVrRmO}Gj8 z&W-;=ER3sC4Q=D{ng!~6M>6z!$nYJjIVN(iXW9(7pibqR+*%wV*AVUBUxh~Y${R2w zQ37d6hEL4U#C1os@yWK~n5k`H18PlN;)p&xP=QXNUU}PQxTs5pDl=Tb;14ZSZ3_WM zwry;~ZVIm%rK!pEScYGknrEu5BBZv)cx~_9A2vVgejeMPe~{@#1SQ zw?PoNM|1!&KQJROjjS!O$oqmfvhZ`&6RI_34Z>I!BPTdZEm<4A+;^13&xb@wGngz1 zI+O7nSqs-lV)+t&PUW(OEo+GFKb~W6n>xor^<z=wHIWJ46< zhBrW%25&&4Q<#rjb~iyPJfwgiWylR$`;e=W+`v>p^8r%@N6`$xhF>z&J#I7$GnVGLo+xt%sKkvqUt=8$ku&bRi_$&=D+Rh~x>Cm;;>zBq(Y) ztdzDkfnnZf-oOW%2k_Psen2jkh=LKs*^J;TQC`r_!wOOkQ7hQ&5c$xwS;k!LBv9QO zyMR3r*9raV|2@V-aGr+upv1%2cT+d}S zm8ew3>}DCuzGlE;-J+QNwduv|`Z^AQDQ2sX4d(hzxG04FF9^s0U}0anUF|bI30`n) zR;lnnnzAx~auvz1BTx!Bcd~>Ud5o8%gDS@f(m}ErJ|%D&K44F}Iqo!FFy|JN$0^jD zn1_~Rk1>by6!mBoLO5qaIK=G_AsJ+~B(wX^l8hc@{^KOmO_NNYB=f5TGjh&aso-+X zLjR`f@~wo7;{*S z7B-zUAce+F4~aLK4%yqIF}XCs9Bw^x${A}Rsj;b(veZ#D^*1CwJy(Z@QHK*JRuYI1 zqqdS0->;=7a^l65@Cle?#UQW;x?cXh4Rb9x63f8f6|Mlob!2>5diCn+>Z))xUFi0{!z6HWlCH+G zuo7xsEqAZW*~!dgW{Ur^89w?#2Z?fj9x1FOYi?APvrNBgo#IVN35FJ7X2a=?`7WVm zmdfB8il%0?Y3rVzqEtD%Rh-Ne=j-#Cd9;hu_=(~ig8Tqznd02v7t@9L+1C>bh55;a zdg1jf{z>9Qu`pGfnJCQ9Pqine3p4Z6nVG`t1w_x!%O9V)$jp;-8U87@rwX%w8T=pC zRV);zUr!V!=NH;D6SIZczq7EXYF(zlg=rgmf*)WkVd8cU6F0r6+bo}QJ?B7zMnrJ^ zKN|;889a3q=7A+U3PldWq#cGLKmNX$n4bu7R@C6nnFJkSW~8SOVweLx^{Xhq08Bu$zYI`*f0jb|MS$`IKIdle??1+;QQugMK4CNs(uv^d zslv?E>*#f1Vg7Yvs!*JtjwTDmshP}71nQfc&CC`i7v`er!qj}RT|~BNe9RT5Cg&SK z_4EQ#=H@aJlZA!ZnP|Q+J3pHNrB1(|#>d?39Hzh=j#w9>$p&ygIW-j_>m>R+fAP97 z&99ll+;mZj%;F1W7UtT;`NGueV#K0Tldl_-h3Oe72WTb>GYj(!&rgF0Ft4U@|GiLr zy#Q#6^K<-|#@M1$=*R^6Q!H}&&7jN_+MWLW0%fNbW&!rX!s`YroqvrUPfi0Qlr7HT zW2U&kkGa_e;9#Vrw2B=*~1E4YJVQ6z~BWo}ZC= z7TBHn*#_{YDB#Gk2TVjU)HyYeVc~$y0V^K1X?_xw033rhDfpY5nPP`uf1_G_O#klb z+tUfgdAbVf3#!!{G+OA=?b%7p4UXbCZ~og}I^(JwA|W4lQ850?nk@DVM>f zPh*f#2jW>f^DInqKo~X+e<5ym{x$JXl*q}~^Zb~7{Td%LucrlH91T_`=$Zl{vj!oL zX#l_vW_t}Q|4GJ9%>aq45LIa&)~K0?6#i&sv#+I>^BgDhC9MY7AK@;x5Pk zXAGVC=6{Z#zn++}%(w_%j34F3MTGy}TF4|;TT;O6d0}dHx{g2if2V7})XWU#j8mgn2X9MbtZ=&D`L34lCD`{M_INv0}2{X$D!D=5tEH zRMrvP-UPV)8Q@m+tb6O_>F6BZoTg@IZFGiEagL$2b-B`Wh4k6EXn&nIdrr|b{Bi!s zMjy{`iXd{eZ)n9_CkWnBRAZP!MB{-y^MnxIh>=Sy?)^v{e}xqJbYulW`$ZRbld!Ea z(!Ce-`Hp1eY_@bh>lf>$C{ zo6+zWUa3fG^KoelndAHJCqz~e(3b!p@ReZd;vsZa4WDSRmLAiI>I9eR|%k>`O z1|ja2QW2(Ef0PKjFpw?`a6i7yr-1mXn5g4Adxt()v0OaJVe}e}tE`W1)e`nc0nfT(x$U7@zqH@_B9;L=h zgMHP@z)davl$0=2dq489zB6yJR8EVfk7r_xYi?9nU4UMAFxM!&8UxoObcCVw5fdSM zlj6J^9Zyqav`Quqka#u``47m#;)gq)wo1 zmvn}te}N_$k28Q%XD+W>NP^c#*%r>tZ4P5d%;>dsUdE8<#3cx(?IG>LG{VSjIX*y= z>2eOLSl-;wN?W*Z{MuTR!ys2;zt=HUrom@$TxU8CB@f(ZH+#-nMPUEXjaz5t!F>1_ zz`c$%nv(g&G+D2qBKKZ-nPhgDeg3@P?h<;0f8-{Y2HVZ=^#+H=4t6lWZXn%2B?re1 zNNNx);uCldaGSJMiJxKnX%r*o3ntR$(`i-^PHIZrH?$~ts>!b_YB&y4 ze@k)zB^$#O5GS{_LsqZ^R^a%wz0%4^>v^&r_u!wSi+eD| zRx6g-s56neZpteQPQ&IZ63%KcK^0*yjw1jXqLeMxBDstozTwX>Y1KhWlu&!-j)80tV z4XA+TwWZ*$)vCX1wPBqsD(v<)5za5o>$ooigXdRZh_AlW`OtlQlnkKhAK+|o~XR~;s3{16*>At-t`F|XuUc?KnXEyNx!MG$-Pf22(n z;VPfg0bN}2H(%jxqAT1dmrD6eO9@v47F`u(7=#7)5A?dvfn0%IrJ*l>AR%Ce%FR;N}H8z;rxea+>ln*8At%ID{{`0LUSfPhkzrnn8so)<BcF({z4Km=g6&4|<|FIglcf&4Av#lptswe#|y5e?Y#X^}SW zn~;RvTPPs3U#^p5f!7waVvvZuFvWVWnks?FVca4GuQd`u4R4mwO*bEce*ohF0j5)O z?(w*vunp1-E)7v2I|J{>GC2Sa8I-BR$e$Mgj7=sAn!V7zT-WdeC-<@F9RE~PluU#Q zQTUgrmlvo1@=!<#1I9D9qc=su2WB?*w`zt|Uc7KQ3fyLa;!}@U8HrRO+MqSRz$q8E zR>4t|{a^wCdg}oS7O4L(e_(Cru4R02kX&Y}#K!weARRN=Suc8C)fR*ltaau%U&M!w8PwF~v9I z98A1nh{kguinO*@rHLY54e7B4k)3eRq$hIbC@{E;k7Gd9j2CL@o6Oy*8fI-5p^8O_FgB&UfFf3wQgeI%o9=$S2{zes^O znl`3L8t8GUV~UM*VQli4f~gLTNj$=#Xk;8Tr8f20_4PO_jE9F2DGT>PmY$vQMxRnG zrJGanC4?(3K|CU=U@6RwSX^h+X~yI3KV^0s84Suin4jrnhuIl91#F9c(A3Bo7QvoK zGr*#V8DL8Ee*^X_VoJPW?S{q}U4#E4*O1mJ_g0~%L&l5YNK;98z)N8XQ^F6-W~>DbjHhT%72%Gihrg5Av_Oa09Qu-e;EvmHVe`Ys!A+z(Qb1W!!Ep4UCQan9|JyUiqt zB74wlDfZ;aQez(yfx&!`M}!D14C{H9U~Pl$?x4t{IlWJ@mS~j<#eerAj)F33E6bW; zCLUxOe`6oXOfVf!bZS%?RjI7e>nR>F!eSvW?T9!QzNRyimy*9~q;q__Nrl!bfhDBia9dtD5)&qwBf0|~gVC*wTBV>?%@JMov&_S3B&qR&% z+7UvSk=E*xF=gxJ^YC5rAV(7BeUlcbS$%Ti{^-y?D<_vp@ve!#unKF_@Pg_WSdiH} zsW38ivmQpLk?`9F(ekpx7YJlxz6!aF0@Zfz0Ke9J zfAzqauj1o?>aQN|t@4Mg5IZUq6_aV~B&aDMzk#j;P#GR`FX4ce?p%4O{HL4AzF zDDM})(Y?G$rmGKLXpK7cpRMn7cfd>cf13E>#hA##RSySV`#9CI%4OqQ_o1wO6YeLx z4Vt%K<@p5X?9VB<^i55p9>Cpr6oe}s|S1@WF|3Loh=@^O6Ps?VIs7}7(UJbl}9v(0+;)t77^8f&=mMf+%0 zv#N8OG%bCQQ%2I#X_Hkvg`lY61R+`8D%42-H{JuDRGRWl3O$S2{=l09{6eI>z=knN zFR+*tcvn*VK#n*C&vfLR!@IaVf9!+~g!}YV(#yAu!%^!4*Bw~2RM~#=U;l**{oa=+ z)z|p%A#xdW(+v_%H@^v?7V5~haqB!v4vi!^G(0(^J$jA;15X|@ zx!pP%JbjFYK?wc`k5}W2{RA8)Cmo@>x39r3t+x^9jKIw=7n9{Tm8|a43cKL#Hi88E z`ld_s0RApd^$H2v^TYMc+FF*Q(+Qphd4*x|zCNvr5wYOtmwHMGe+S=IknrUSS$K@G z+3}&-X{vuf2bC*OALpRh)kfvTry!oB7XpFuV}NkArhrIRUaku(dP&5|8XwPZ^53b^aW0?W{qYDB%csK36}P zJP0wKKm9@B9kMZDf2W1uTm3=7k9GY;j-3xS142yT58~f$uA6v-7|$QXe_mVOF$oMZ zMShXA_sLd;5EJ&kS4D-S?~8 zpFf!7tyQMlNM@++t!!?tZm*aORRo#EMl;L1>L+~eZtmDdf8Omei;qrz9andDSZx36 z&RU|_z7+G(Qup2$SLqk22R|(A;t`T!8o#o)XW|iJJbw_+lMj=?p!sD6`IMHnEfyHm zw(yIjFRm;?Ou&yI)rL)vzE)jE2IW@^@Y9u$4^w1iPpC@Z{iN`IVtj2|1{(1QB}Q!L z>;8s=bmyz2e@T=b3fl<;E#jr69U&^Vgr@l;NRU5>VADH0$9uanybNxv?n=krpdYN-ey<$p-whc{#4C`s_f^~VmF+DZPD^SV)xGzAEH-46Oq|m0Ms?Q_ zm6>gfe-a|u-QHQ--QQfZ^U+608}7?n(7-_%7BO5(qlitx3%osJ_-M&~fOonu_@xVz zL%I)e#ggIvzjq3oTh+H~i;@7LnVB}eSvxSl#f2%Hz16` zeJLyOiJbcGi<8}bV1oN>GM(M0OkfX!%unAvOvVHz!rtnP^24Rm&m+UlBR|qX)rL_7 zf5gb~TC@%Z0?+<|wEIqkNjncAY1O({R?-SK1-$!>2R@C{e39zRoK;asfiUur`*8DD z#U2;-^H+tN@$*+DG|i`y*!Vf9g3!1*s4|e&AOepIQnYa&?+iXgzzAXuYE|xVVKX36U(U`PS)pCf&Kp^YU2xBr zb5ll_TA$m;`Y9u8s88_I#jKI;!%Y{r4tm^L64o`%cM2<%|2PPO9#{x7KJ2>_Oq5@m z3_pzBw`@wB_C&lQTMxpPMDOm*mk^@+0_oYU;iPkCCUY$G2wVftx1BYXID=%8T|*U=o8-79gG3>`vuo%+JuR37`U zO!g&xxcg3R$u`>}Wu#*j*QHWtf2mw-F7Ofo+CV6*dANL{>2of9E|I=v(x+YebRzvd z(u0>%J$$hs{Ymf%*KE|=&CyyeLN_be7x!s`3ww`R9*64s$-&;eRvcNK%f{8FM+5H{m?3ym9nZ15kfF|KmC8P^hFv6V5Z` zl^5;S%`Ec0cG`gFP%T&`zzGz8qV6*<-13clv%DZ%sJx1e6A8N2fwxeqiWci{;QLLL zXkG)EsDch)>FQc)y6wG0f2t}35U*-7qo_<3YeE0Tg7BvHa6w%E!CS)dVQZpzByM}k z2)`^I;obv&-t>{wH%WtXA2AkUCLkXYq+_R4_GyFlmoOU6Ap-V*uMVpdzt<=Jo}5@X zem-&ZN?reUX*p;!Aj!t_aUJ*q9#>=lWeqPBWyI=G%bq4XCY=UyfAQmWi^&XDCx7lD zTM>Fe57VNdJBR-MW%=aI8xenw`A~#;BB3~3S~{Ua@0ZTOdk+rXjQaNku66xqA6 z5@rsi7Utu7H}5^{Py2fIE$m-wz4gO51hM9N_M9adqn}4Vf41HZ|K`}`3srh@d;jUq z@spSP+dtBs%}jR&1z*_i!SPdC-W`_e;X7N&viAL2WyQ0=Wh0Rft@f%d(`6puZM$t8 zUEwtQ)i<)5CTszRHlUoCk;e_Df8SlTr*Q&x(=V1NH84XMn0{wwEBu|E==bl~=SFOGx=YD>VJA!zly8Cb zn{9x82b96_vJ4%Z(pHN2u;0)P5XN?9JlH%p8^5=u@xNNj9u=0C*Y2oo>8y*=N z>F8dg`&Q4|U8Hq`g?Bb2xZ$_S`SO|WSr{Ms!D=xFf5mxC%Bh#0M#@>|SKQge0Z$?} zus{9oySb(I(q!p;Ngn;8?P=HR3Y|R!g|lQSf0j_>cQwBMCi(TyvazzDcUFvbkFI}a z&UehAT!$vhr_ig-Om_;rym*fn0W#!MaZ9jO;`>%X^JNi)=|5TOAyi1#IjxC%&-0ua zDy|pBe_3SH0wxhuBlT^DGNJU1shMj*;F!Z_ARK<=#ANORJq7HuR0-B_U zd{qxSca!ooY8{1}P>!}#OqSEaVC_ioR|<=qe*{PG0<5D4D}F+CjSbi?%x~R*gX!%+ zB_;0~6E77&J>l|lFho=SnbeP4WfVTLL13#6+D&mQc+hF0+C0Kpb{vzxvgd(qSSsQ2 z0tvd)k67Yu|MxrZI0BSl2{O@D@0pJ?5erzg4E8cKP7wbrxdzCztbE<`?#Nc?{bAxQ ze>+H9Tn;bz|NeV_06=r#huSintqbiNX|GR%5~?+^#7+F%^cT<8*^SoIv< z+x{u`$A`ff9Dvw|&0fsy-h68=(M`9UjByxXDY7I>e>%M9 z&0&Z*1ANOOc(g!_V}0Nd$E_jwBndwG9J=j1Rw>W^yFcRFKYq8qSrm3xF-Bi}4Y7hS z(z zro5d@PD4Aor?k&f3auBLBQbtj4EUf~3wg|ANo1B6mc)1$x-XtJ#8eKgf3KH%^3;WQ zv{<`~aC&svZFMoz*=F$^onzX0KIpX%L?yMpQd6V$?{OtlR#Sa-x{=d> z`YChUgA6oZ?UlTrZi$maor4@dm*}Vs`l9#ej|6 zDjN;Zw8A8FDBP#5vACxf%0&5wS517O2OhxS(c0?w-w)`zAKXt3e-c@L*C3S#j~;&c zGI%V{gGZ|mU@vr+mLPr_jr;5CYlQM@^xEx86Yu9`^8)>|JHCx1xo&QGm*24-qyDdN3ji^zUu9v22S>6JB1tfDwhR({Z*I4pFf9GRN-1=~fBT1}I1x5m@ z(W^w_4E-`4g==;MSu4eFg>_!~{d}gnUU2r@qJf*P**$5mM8r>XUn`!XvL5xbCCeH@ z#WgYLA3CS~nPi(Q7x+Uvf&gWaI29t)@2LJsZ*by9G#SLIQ*nbchIT4Z;=->#;VMuS z#v`V&WzBG#f04L;$c5gQaWQpnpvf{>Tf$OLr!-i=Id_AAn z7%1cpssuMGqb&Q^bE4Fc&!~D1Ha$dfUnjmp0KmDef4i>V;>>`PbSqq;tG6a1rSQfm z;+3}0^^S|0hUh9SpQ>Ul%vGU_{yob3GG&Kqiyjy+`32!_|1Qz2`5%{I=?+)>)@76V zn8MO27SDNP6HX-<$tHajc{fO?Puu*t8p1J#% zG%rVQf1Ri_%3C2Q|0og8d~E(1xxU_AV8WOzT0_>gZ}ag37vQ-}|2;d>)Te|R-7E+IbYRp_hn;ws$W;bIp;r^DY~ zH4GMr`odgmJO5M&uX7eY&{@@tGk;P};h0It_rJX^gojtnnRN5I-8cbVA z3#jpjmD8oO>P1Scov|@*w4ng!4tAeCV_k;CYpa!e)!y<$MU!Y(9#-f0_#MI2s(_O^ ze|LH@Mgo*c4zMc!N%9a{yI)zo3u=5Ja24@OCXoC{l5s4Q4}4f16|%3bR=dSOfg`on zf?%tF0{IWRi;Tj%hCHXI195vQgzh7Fr1X~$yCCf1(Rkw`Qo3hOoDJbwK^NaW!=kNK z`wEEUMpBHh8@6Ne>rU& zG}&)JI;YMWLcS6Vz0Bt9ZAJzxNSA|)v(TOq?GV#`7lcwGp>JKVPxp@a+xEP|p5bWH z{zpQA$H@h&SrQNup-An*?3++3Cy>#67Nd7sYrI_n(XYW86D zt@_tc)3kaB4CiJ0^pDZ88gllVy<^6Mfjyq9?)PJvtg^lRJt_Oy!Oo8IfBDy{FLs~5 zc*(z``VZB^qb(GBYHQWqy&voF3J!Ol?`<8uIiMBv5?Vj6cIXCJ4by6K*tj~_Io$nC zTDX0%gM^H>`Erk4L@fqv@4wtX;EQ9({_Cx6e2ZIkmH^mhc{zHqyZz(d4(eQNZW7=V zgB=kXY*|2AjzKXaBM^h7f71F|n)mR<{?Er-Xz;PqJw4d^nf}~)UB3re@*S)dKi;qQ zpYA?0ldC-x&>qqWXnis07LyFJ)QH{1OT4BZ?Hp`vs|R%(G%!&mqr4t(ZEw@Q-6y** z<%8DglC8tTomV>6q5!0IA4^M*|Mg}|6RqC8_i$SM4Vjcw!1x^=e;w@qC_S$g+MD#$ zPrH;%No#4$@hh|y3EF!4^!RB1`1RJ&i{oc6x1QJUO{@LO#?|wKtzSiRZ0ET41g))F z_2BuFUwys* z^4I5R-96AJP4+M|fAQYzJ>5Cba9CL6-+li4CEZ+;58eH7Xa5ZquEy!PP5FednA|*l z4e3tAefel+;?dUj3pZ0AR1fzlyACAKtNovLDgKA*&$~~blbfRyHQk+^J(+Xb=Q{_Y z2P`x0=wR#ho}^i;{>;R-@O#yx7i4(Ka8?g?o-)GqRaR|pf6}-*+<&=CE!C%6D7liL z`eX-9I-X>1A5zl29;-; z!@>6w@Wr16_=fWB6+h@yVK4uMfRl=NdxgR2@MZU+J7yGke+vJYVc_XNN|d9GQ&dc| z9!TIb*dcxPe@X_0x93WuGAJWK`C&ZZjIfvRSgVeQ&HhO4BQhLf(0MeF@enLwdAe5x z1k44l`^Qxo7kgfl5mD0dHK)CdihvmcKL#cdBjZq!Wn?rBXRyB3ssg<%?(x(%*hu*bPQe`irQJ714V|%aUbiDQqteh-1Rl>dMPxF2}eE| zbPzNg=1Lup0ou<}ITTkc>s1KV$sv!BP{Z!0I^h3(-egMD@6o#R!AF;ncJVCD1jI~3 z)dXZp`>cF}a;ksI(613X-x_*L;LK>)F zkfg2S+aMdVS6|nD4ms<%Pe|WMpgryKJcrb;v*}t2_o_{I@oZ{Vind?U#Gth0uYUc} zh2D=1k72a?Tn9s^CEf~j&g}MOJ*XtVet*rvf8ZS1af7w?msE)@0 z5xKk;_^dhvZg^1_gmv5pXpyf7?zHv(Ch2}C33VABU}o2EXOrVDLX(TmW0P0b7IxqE zvgX?JjCF2pdLn7-5AGErb^!l+u`MaBbn4mQ0qp=;G)^P_~i%$(O<4hGwJ z?}mLhY`d$;?#gNXBc#k8Cl*Kk;o;Bwe+P0z?e1;w9~|s#AH_hVKPr>BYz!~CD7n)p zDlYt?SMoi*eZ$w1ljDp#w77t)kO$dGNcszadI37)GKRxO5#@!;$5MkHa$w#Vqd@eQ z-|qrbQ3vgz56nYi@7qtZ`G)0k{_OBBikbhECK~%Za#PdRwwmq|h;LaEgJ2P2fBuzG zw%BxXKoB`il|nrVnB-5MNB-qBhF`$=7!Um0xYOe?$dR)0Jz)ohs(18eYWyT;(43J% zsbak9xWtQGYNm|t3lN?LWWolZ?dC3+F$))82%>V@_X?E1uiQC9v&BR`4FpRlTfH~W z39e_6Yr&pk0}(FHP9Gi-6)r3Yf6EHJtS8d5&T!kVe}ZlB=HR6nlS@a}lh?pYqN|4s zn?v=mAA8}W_CgLTp)C6lebW_Gv(6i6wyz+PIz?dk{rB37-t$A}lQN0KHD03RJU0*G zxcHh|5-)0-@8|hDeUIj^`xBb-Ba={?qG$nOcDpSAUKxnK9oc8;6m^wQe+B;ukPft- zIxwt&)q$s4zde+F;Iw-NHjuu9(*i1pd#)+uzNwG38opvyQZzHDP<`OetLZ$dO!}&3 z>O;@`K;u`2T#eepq!)MoeiwqdiYvsa;CQIK?r0ro8;*qbh`L=*yJX5Q7F8}~9nZZc z@kfZ9olmWff)shSvjY2qe}w6ZyQtl)IMdMA<`s%;cYu!Vq5SPjJ)2!>Qs!=-p6|9% zSxZXvMf5JOX_)kFDCVFu!hs^hV!l}-^q9~pV_b`@tbaz=TMfTGyGbME>}-zpyJO=f zy_;m+I)VM4`LqanuH55tSOmYSgPRD}J=>k{E}Sx)DNc*X8E&13f7tiPY%Wj@EMdex zto^X6*Z_|L_Ki!f;Nn6G3OiJwWO^(J*~VC{ehC|#go(s473gd<(PfWz0)Y+KTw(=@ za<2;4mBa0H-A(uKD|L#iX1_%kb~rs2Ok=rCSi+^ocu>?T+)fr5@_>vQ)56}$|u zudFm>s40ytR0Ah_ESGmb3$A=Xy;B9&cen+X@3=mmHUekZ&xugK&oNiM>W;YW4cSrZ zVx;5w;1(wSe@qyu{^XPT>h!T1qH(X9txOE>8ve5~lm!+!#u27*&(LB%9em2vXJLG3 zu1B#2J&>#D^}Sh0HCH`DcF^n{$sSKED2FaekjCc}cesAbY3btN>GD(cR_*c=$n3J0 z>&iN=H4;|~ZtcMTTM&yfLDB-4GO=o_5pmhX>x1Zne;^6EE7}cql%h!OKIo$Pq4T2i zN$(c^xH2_mh?e8p+s-=-F!&wYFUEZDeQ$^wXXlk%3_rOuShu5%j-V=6AvxAD-6aY0dK0G_eJ_N6{S5ROGV`A+BPz zNkP<9f4gB#8tH1{u|q*O`!Wl1k1lwL=X`YsM!G1tN7#!5PBQA?A8 zdD2$VRtux47N+Sa-_r4ImQKSoorY<;dm-JrJkcOatPz@6Bi7%A_UW;x_e$SLx;wb4 zX!0$?cSuk9!Ss!p!SU2|t?ar+Na0i?(HcXye@G1dAeEI@!$H~ktLyX*veoH$ARCg8 zhn$iD7`P!7Gd*f*@v|NYg$ZZpax_^KMHk=n9AUH=>jiH&Bb$`Pa4N~Od2eBg^5=M|@uqqve|DA{N7XI) zv%S>#R6XR+bSQlqh(LL((w^#B^#rl2bYc?6chIKlVHKeNp{(j4PnNedA3H@7N8k8- zzOxlrH8T~WY*-hb^wYAgH0e0+s!l@hjH?>qeplsJa`40U%4CqGNCZQzTc8Wqe>VnR zB6*U5XY=-3HX}XhHHSaRMN$rPu}ki(ww0rN-6Yj99l2c>J<`R+Ri+v`5k1j~;Bh4O zuM#?v&`G1hl32L2%B0ZV8U33>XhPI-Ww6*J9dc4ejmc@m>^8_T|#ikT*yOMl1EVp9tT`Y<E8(>G6_K zKrW9qAmj41hZl-Q|BTrMp)7s_Dr%&sbH%)IXnAb()>O=uXEo-Y2WvjIw z$qv>6hQJ2S#;o0_Ew|VuTZ=6=$#ec*aEes)zs}OyVry}{z|Z;OaAE0mvB|FKW4jtV zaY0S5pD1rGZTf-oMq2-QI^FZ1S8Z3%^%FH$^JIjI z)1z7k*T)N2A!xE701Skgj$cVnEw}GXD9Nkby6!n`=r(b0vAx)miGTXYqgq)1T_jt> zsW|gnCE=_pD$A3l3$eb%Q2m-T%a+E^s}rR!N@teu2KInV*UK9-e+IinvB6Elb%vo9 z*2;9hy!rI$0LYt5@7gOPAggU4(~in})wRXSvP_f;?tT}RDB%8LrL(-cI9$T|Sc6$M zD4kuGe=PZN{j#t`MdTlozqy2svj(#mTPY7nS+D_(T(5v{4t5pPqAy6o*xKQFi!=-B zrt+lbc+6YtP7gnne=|(WIjLb(N>Z^|pWMCMyeofC*7>{kpu^wJ$=dG|ai_biKTY|& zddlD0>iyp*rzaZ0&prLCL8~rkO<&d?x|f#zrNq;ddoKQ7P5-XB7tMd~zP>ayrg_i3 z{Gfk3`f{Q%ZI`F5Wwu>R=Yjrh>dWav{o8UcZT_}gJ6r4ee{x@oZkk)Kx*kckS28=xbXJ7CGbA<>(`f(P59Z5+t}@It*f~+kS=i^d=kyD zh)B~Ke!d(Je^wxD+JlQXZ+4%iI$i#>DkKUx&jm)&+G;pyEEg>}(2Pp22zXpo`H{9) z{D~XjoOV*TeVlj#ZZhE%Dp}q zbe5kWz0_f`m_U0R-B@;jO^VKxyMD~fX9x@vL zSXro_e}E)k(HWH#)=hV*q%h&SSRtjM_lKs=kpO$Qb^4nzD>Js4c; z>)hB%t%+wV!QE>7a35nVeM4;0c(9thiK-Y$e~#bm?H(OE8ya5k=mXJt1@@*WQ*aMN?sIg-!D(UGF33(IMZRp zApuPl;@!GAfvuOMkXIj-nspN;uMy%Hsi#;7M#$sT^2zPZ;Vv$5Aj-X95DoxcKyPZJ zf4PEa5EeKpXLHrQDl0d|vQb4$Y6j9FV9*z1MBGoJdFA{uI@1aIL{byw3wat{A(R!O6D1Q zDWbV0`yhs!I!(PBf0m29`jWi}Pm71g=u9-Mjz-hHTSbj-`ub}FtAj;O8xQuOSA4i_ za)C$rLf+wu>9zFEs-7uIh*wX;vGR|`8oESH zn-#k(=p98_DGNd-b7=^{J%Z_Ce}YFar?iuOLYP!K2tEZo=A^usF;iZw#>$KNU3sy5 zBhdqoxAAsDqBj4y{8dl+cd<;!VsDvu?ulp1#PLSVA_fSWS;YqM()7i7GHjeoMNWZw z&(rROxXJP2#B|~o#4nZ{>B}V}<5ciM<55F8Lrx&26KG$cfxqx>@xSs|f5S;1%aCh9 z<;pEFt5#p)YGa|KD9Rbcx4Z?kt_w`6vOII!B*H9!IdvNkgnrdd<(G0TQ*fREI1tb=UobDjf9S_z{*LedJ(<(IY0t za~lg|?B)XvmAKQu$HuxC{3K91l0%H0>WK!>A0J3{qW9ns0vNwUjZSY$G|&@O)aq!hq9#LhFCuI%={p~S zR^30@dzcDheEhqS=>kSDwmWbC`_ATkW+V3Zo z&D$%B_Kd7eeOLKR>dHSB*b{mn=+)Uqx3@00Cs7n=m}if|zhatd^i zNq7Te&G!BGe=NWEM?~ZJdUUJVQ|kWKaMBkoR$XnXhZuFvBo`9?Mq&pjrK12-TEUku zu>w8|NsLfv9d;rYU#LRcY_5FNdrt>L43fHoH#R`@wll_vxYK3{bTYMzDnf+p4ZAfx zlJ3(^`$Q`nPQ3-Twqs$Oh!KKfRWb=Imo>4ejq2vge=yin)H-E-w56xuL-5hv<>vHa zBv7A0T{5VK#a&kKt*OZBCTgre*?1*kIYOL1p5h7VC(fR7y@E@0QR#m>U3`J)QmGQ z-|=jKf3aAAcic>u*(Pd#sUv%d%^Wnh0o3r0l8R@MGMbIU|K&>tEBU{l*1-sEU)^Kt zmEYAVyX8$D-v0Jw>C5uFB

%V^GvHVs;+ObXoHbHvD!_VNB$8!$tt0R643=HqOm7 z9NJ96n~f$C6abALHEOGy&E;DCuBPp#X^|C3f7&jf#FDoAsIgYt?AB{e>po41xL#6@ z8l%SzE{LN?jn%cyk(D_}QzFrql!L}VQw|TT;L+hTAcm(iZnMcQtCF-^LNi%sc_>NOmr9g%4P-m;;9|;@%gYo1nVRxVm)XJq62- z!rdgb*anKiLB(fP@#j-7T%k(uAq(OFe-$yWZcyobU%UUHR=fZ3E|96%)e&%ieO2Ec zRy(5Z`7XNVN^2ROom8CeyB2$|3W4BBhAJe3K&j%lGt>|35@YmS3C*;K^&1os+#5U*%qrX-Tk1la$Lf1WnqSR^E@+#L@)J-i8DUw*3uRz|W3c(&>30g|VU>v9w91r~tS*zrE`M5Be|TSiPe4mR zwWka3VXPIhwo0>pPP4Yix^Ww97Czhdjeo!gbeu8II+}oAZhRv)%@Ev2MLl*kfXoXH`3722YdQ#Qv(3kPE6Gh{;VsB{ce>D-RR6ck7DlZ}( zbFSu;n_8W2&m;agP4g86bkYU3SQ6n@+oCo(whf(*#Y$~yd`FP!B9RQNaa3GF;sMbf zopZW&d<0Wtt}Dvtcbb<_eCSrYmp{9w;pODwGCbq$H9Y@u*@-#Q+=#7~1Wwn#gIg3! z__W-m?l}P0brL^oe_zczv$>6VXE(Po-`|)w0K$13sp>C68vVttM1GCn9k{og<&7g4 z`^@)e?Ui{3#ozf(=}4sTSMn>;p}G@rFFVwYWw)0v``BgHA|A-+s^|2%o;2m@Lv+Z{ z?SCjwN<>J+CtPsXC`+bMF(KR?1T$FjmnZhoJ_E!HR;U6Uf0pA;)6cU`;dU1o91dX} zlb2m2R2U=T!07P|p&?951! zTR}+o#^8w8mYZ-c>hfo!%i*n%Nn$C?J-ET0n6AC%UzT?%?ddjCLf4QyB%QeievXx`?HLfEwLi+`l ztax9ka{t9LcV3wt*CqvJ-zA--?Dub+Ia)C0CZ?CwS~+3w)IENoij3}3mk(8aWkP8& zg9#+1E2sT8%eiJEPgzCKi`FNF6&Kc+DVS}pNcyMrzszzvU!WjLvl}IvF9Fni$wF2O zXoi5Pe;OPMFX)L*_dr3o2_#Z(h|M?xVq#?D0+~2#HQ6qdTTqVYB>wENo>fLUqD!3?3 z@>lOEwn=#YQ~GJ$KN%u6$d2h&(88^rB73AWf7+={$c@46&Bjofh%5VCvrM`)j|Qd< zA`}~?iaUK(35?i?^Imf~@v9JP5Y6jiE%1}dt3e^1>1_Lk4z zC|M|8WPi3}phFXFucjOSxw?TfS_VHYvWaE6g|E$LDeH=Cc3WDZRoNw-rodk}Z&a$>0|#1d09M=W)3Oetkf>Ttk9snF+NJukvBn3;CruHY7x3}|v5 z=I3GdJT&S*UN>+k2}uS@rK_u!5Z+(qwk6XjZ6EBnNwe4c{K8mo=BDi0U%zuWqv$h@kk%<(76z%t|z&%XZ)%%8Ol0py< z6@nO&eBs@vbrb$B3w+T*vy?st4Tvz26a!YLY|L!evLi z%XXOFeU&|N+#TWT7u90Hw3+aA#J=ldIqfRBZ6^N<+SZ^Y=3(9 zR_#`84x~`wQqA#XTq=1acYk!Prt0HIa;GWJt!o<1SpnQa8+K#v&f`at>G3}Wl@;!M z&ek3{S-grWBUYzFWp0%ThfDy(FC?$e#5oq7-uo;l|6=$hWvCTBs+*%>E6^g{M$?dy z1tazxolco40)h>}oo-Z0?$TO*|>O&D_svF&KzWb5(AgLly!a|D-#HpYJ2YSH|f!yh|?0 zOCo03P>lp*JB<`jU_DXTtZ*_S zy0?O0pW!q`Ad;inN=bJM9!bXG32ewPW8foZw1dUSjLl@=U83mLGPJ&xvk!hYJs?+C zxS>^o5iyE>UD^iVh71cdq>26#gTsKfdWM)Ex=>2g)t46Y^p7LrJ@X@6R@70373EcV@; z1aZtE>I#NtP6s5-bwxmXOHz|EA6C>zh`prk_71#*RFN zP;rM%bnllxJlL$mj*tBX78p!xzYnsnsN}3OJQ}1c0~6J6+8k?fb2N$~StjLcgl3Y% zrtFOA6O~o8cx=ktw&Kv&+*tmd8Htf#I_Z{W(k1T-5Rl<7_<#P=spKp_m;%^t**wgc zROH8MXk&%mmW@?*kX+gBGB1eVVN7(vC8HvJnND1e_@F7P^OhOwTpa-ZqG{d!r@hr3 zVei&$yY347oYbXjVYq=OG@9&GsW{Z4pvW+=a*_)4@iX^SR7xJEcU58RUE%aij3kig zu-kzPfSFfS)PL}I&}s=gUSqGhSLKp16qLEn?&%@BqO##e!czUv>0G{%0?bxI_|4yc zpWLyttRPUy%PO_KRd)jBXjDNV+_R`1s{-$q{C^xA3LJgU# zZ*Z&HdX)W~&`O^HwZ!~aO{GPND-z#XImVZFF?OY0-EmzVxTWz+HgvGur1V)?axRwD z$3~m0F4yKbPVR)r*Y5`Wo2s8qQ8zpsAlyAyoHUtXd6|Ih1bAc4COmL$%_c0g*ZFgi zNu1#wx_=Vgh03WITKI;DNjJvJ%c3tDKEO>N@`NoejM{i9_F!c5g_F)XeM#nUNI~1! zI*ljgOU>}4o@9-keBF-T4^Cp>ExZ*>I1QbVNaMU5C5`Eb9#M|1XYo!gRR$wn78V(2;MD0d zdVkyLO#iURIFzM^>~?O%Q|xm&$UW=={Hl!FyWb9q<8gH|IRUh`^J)E6^NFjyw@*ISZ5|=0X{KI)8>0 zpPix@;@I&$Wyg#EC4nzBmx?_+g+}gtATdQ-!#~bY*br3>lAJ!-nCG^wA-H$a-?se< zUfBF;*e~bJ(d4|N+cxIULzKBmk(25Pf+`oyeH?=9PyKtWe?MEyq5YoN???OH(o{$G zwy(vX)4)9qKhVFQEcS!_KC|Cf_J8}A{cbn*`zzw5Wn+FPe!>%rePh4>w%=dv_vZ!& zf(Tm#37h4}%f;nbcv|ANK6fZfg5nA6LzU5qRhITlE>K+n2)}0jg{sR!zCN`Uytdz; z?DrS@eVO4k;#gzv@Fgxajt^hqd^r_b6$w+-A;my?$UL~u&$QQVKcHtX#7YeiGg;PC+Lniqk*4N(KU&g7j;owY~t$1$9o>rd!sYTmP@xGGoPB4=IF^ z?;`i&rd^n-nhsw3;N!~{>IX~ zC8cW-2Tln+w%7&Sq<_%sTbvf0H2LPm&usD=QO6AJuayI%?a&QR(|o=7Z6*9dI3>ofEUmjkmp*i8lF7?OJsoP;D1* z?;8QKrJ)&(H%LacWP0H7?TBA}H4H;1nE=8gPDqV^`a$)bP2ZF0%7T7O1T`zn&Z4BVmg*f35tD)^V-J$HV!r>Z0+`o z?N^r5B3GD}p!0|&l1~p5LhFMITBy&7q!_Ihr+?OM+T|tHhBzSe^LB1_<{&EbiClTd zL7_&O1;U9b+*EQ&{6~G<^t>8-FR?x3UjRaASTJ~O;{ekirf=U^qmyKRYDjUFDxnVRDD2TFjz@0pnJD;IJq{Fl~=<|{06(M1O=0_=y;9(4{lBVXF zTVF?`)$NQB5Fv_lQ0`eTGVO{g*?zO`Ol2Pp%ID^XE1Vf=q>j7r zc15aVdcgTT($8=7NXQwq&!d2!Lq}oqVqqf9_KL%?Wt>Erh^xe=K(jioRR{A3wSP7A z31@8DZ>Em)IvR-U&7?trMU-YDlavGK+@PyqLNnQFqj9errOPiXMoFz#!1scSMIVq#y9IYBaKthVV3OkTN zOtF~sv zAj2feYg6V4E!)07A-?#GnX^+w9(h230Wu0Y?@yUp9!(l2u#~Rg^}5S;9ydfp{-^;j zitY1pqs!k%jV{Q}Ufm=Z-m5A_VI6joCG=BbZZjU731S$hZcMC_1kP^Uu76H?Z5)z0 z;D4VT3_E0BL0NugDl=grVeV!WVBdV_i$Z^Qygxk1DBEZ0bWsj-WO}2sSVE}ht>mp0 z3t)QYYWLJ`n^m8WqN(}&mzysmAN;MY_PCBHxBpnVf)RDjPHd|x>TUE1Q8>;Tqi*K1aF8EO=e z0rG4yqG>PAN1}TpAj*v$@grxZQ>6j7X-+X!_1hp&CN4?ZMAV4s3V#5jq@k0bC9%>G zsYbx2Zd=*^A|;TP?q!=1G!Y7jld43?Jaf8=IHzKx3M|YDJHlOd1TL0bBCmwQKWOit zZcAF7Xw?&GM}1-)@QuAuRnuVDpjEFTB0D|@xp9HS#LmWV4wG@Q8dq%^;HzBf^lajj zg2VJGFq)>6fW;XmEPrxoDA*B{3^|}X_|=**in~eDj*&v+ zDkQmv>y}!pecnR$=tvspTQ&RbzidDuD<;`&YXyO|-khC8SbuwS)&Dx&-$S=TRzdev zaLloqH_MONx#)oT=HDJn+xMTuamZcLofOetb}LsUlD(jG?)Z@DHo)el5Kri4TW3AV z&L3~kJbV6VyHN)IA8lw*?qY&34WI7n;?2E82iGcjScKC&EtYw1;vMc-gA$7)?1N ztk+(nCA#N9N8aq?Czl8(F^N_Ij`RJ5299Tj6)Kl+E-%Bi`wvk#>h_O=c^uoHX-Ld8 z(I-26aL?_Oy>(`elimc5NG36wL4Vi@d0mf|9jkV~ntwm@t(Q#~b2(Y9QD#+WguA?X zF0*G3v&hR>!r6-h>ikl8nBFH@WkHk>N|Y)xmW;W9^~KEYWIevDjrv^HO30?Kb-Ghl z;&Dd)>HHuX#GT~%sZPCOD*2P|pTYH=-wF#;)G#ctIJInrg>67sQdxp0l{X4w$B$|` zUAv=dg@1Z&2(nAaH2bCxjkkCKL$7ZJs)4^4*@Y(ZF6KXETBX3ew)#KVz&i~RioOQD zK*^rY44ee))xL6L4Hqqu7sMI(DLVsEY57|-@Y6Lj5H$sd!l6m+?VD#I`DCN;WlSz- z&O#P2c2dXI3FoZlTNnlIsq$-Gf`o;R>o~3trSdF`pp9;q!(z>q@CG9`2>$aT0}z)=l}(#z*jbYfoONWMhl;W zXAMu;3b{YTAE!89g07Lv4(QvW#EX|X?|-03NFta-(7xSE)r%2BI=LsPt>>Jes&_Gn zqXl==;JNIUFlD_49*%vo_lj?TB+h=!b)u>{7rM+?6KOLX`JOZ7=l-7?P}L7l22{@7 z83PJ@kQ-3jA<#N44yYeJv)Yn-%&gAHDITkZX+t~6VeMi*=Bx>^{SYiktyF;{yML%? zj|9$kI=2$AedS(|b0!7SV!C-}SnJt4O!^Jl5>JR{riwaK3d;1}7*ouI<77eJBMk}1 zM%T?6(5gLUu4i?@LzB&CEx=^K^e{%EgBclm5m&%vFjx)-Z{)0oM$Uj|5Y2_;5_Gdp zolfm6)~k34K_>H_Btq$Hut2(&(tmB?B9vUN{59U`unwFG8gtC+m!YrOTgj_1Iviie z_Fs_Zsh+i4IDfNk-$+vmvofRe;(6yqp1JhA`PUKsMSJv!EBX>9qhp{0Sd;}_Dc(wq z(_RKrVBiPGihdA4S-1$(AOo>ueh<5_Zn&(E&~B|%RIOZG&FSa<4E6vc)PD>Y-!ef% zUVNbrj7C8=k`X+#QRM9QMs=$m{x?Ujb@R_MgkfS7F4eR~}$(%c5X(dBrK8f$YH za~wZA*xBLEtqN7d`e|{KPjG5C*MEY^V{GizHB&0H(~DcA7$OrQ>S!01Kv3CsG2fA` zM04Bgagha8B&ImfN@qeNDWsAE0+acc zTz4)#<#d@josx^zrEP`J<+kNcI6;wviO1yS+f^%y{Yh{Y@))G^`!N1g5}0o21zWSk z0tOgWUOd;mEFEVJ~nlp~n0Y$A~^M>OI3dx1 zW+_--_l2cZ_R}ik7H8~@-L~*>@np&JkSC8~>zT}e`EobvZsLn4k=HNOp?V1tKHRPz zeEJpa7_k?EY%gi(RF=Yw&oVkUS)CZB^;H5R5@y{JO<3a@`+u3lY01>&I@j>H9C0iH zbY{8DJ1e79XkMy?DcN(UfOvM~0LbWL25erxt7XssTbxeY2Rm42xGj11Hw54T=dvwx zsvW-A|M?h`598OAd;{t~+`q>RgMn2wjQ~3IW2-P(GF5e=7U*BXsU7wY@g2P`Jn^*v}u41nFo+?qJ z$~3oj6J=e0D3_;A+L0dMLM?<@mbitR!E;DT5k`p}?rx$P$0291X&XnLTJZoKo~@Mu zJ~TqaNqMl_TA7|tM*VjRuu4>e4)hKJUNJ-} zo@jnKp%NVumn6%b+QMBylv>_nVjqZZ!i1>7{F?D)90o{$g5n?J@vs#uofzUFe|w(vmP zrGNMtJ2nw~Njp(%EHSK0uYbjBW8nY?ODqGLv11Br!KO5nH{-Lft4*0!DXHpvAxr#S zIn7C>|5Pt@7eo`e4qkIRnI-D8`2j{zp3KdgSp3g_DLks=Lo8NY>@!93Ey0kW-U<56SHVM->2l0 z^G2)&yW{yF?lt=r{~?P7DQbar6SaQJE~_4#$JgXuuWeMpj{oc2osvd*=x=2ShrMIq zr|h>kAVC^Pt5KvL$;RCok}|0&#qgO*>bMa>lep2nYpile$YNwIxf_(zUO}TXXn%{@ zUZkd8PJ~jfKAIETCRa2x-uvyGj=o5N0_mI1ao8!|6ePl!Z^F*4zZGl@H-hMk z^F;3xXvuk`7ruK_{Q4$W56E^GnQmI{#=;dPhyvjH!&DHQx@4bL)M8(dFX_gc zTXLgF8k#x(#WR@nNoXdYRhY41|8+&lr1F$Vq)BFS(h?OlG2@?kw%MMUxo6LA_E!(O z@&gNg@N_!M>N&Y&i>TO!{Tt-9uI3jkgr#83`~qXHCGUAH1p$8nRBL9z;eRixvu0&r zQ+T~eVdV#p(WmdEttM| zDqh=}Gj47ECuIY3uspN$xa4I>t9Udn)KV-_IX@-k3AOg-lKnGmo^jvL&d1sIP1fmP z`4~XZjHzqMj1zS=YW~@2Bcv>ccb_gvSn~)X-)9+ZCC^bb$^piG@SEs9S)9{ z)4LqAr?=Te=Lb6@HKjlg-#a_102>WjRh|5i+c5y2`4ivLT>0F2bWXH|Z$I%HE~nvpMmmH=&YKFn7KF8~1C4=5hJOqowd= zef#pIdt$#-*q@^hNa`-_l?5e?Fm-y~5s|$ncDjvnuz$lHVP+{@wyduFRZF^94L*Ha za?ujyq#@aeZTG2S7gw-B3`VnQv;$^3!s~z0$igJ2!O%GIS${m+)W-v3wm6`$w86I~ zBd@r;8?8r^jn>kV==s0`3k*Lk;y{vZiHmhTp$GjfR7P>(H4OZ^Kx)TkuvHD&s+wkD z*Yy^57zTA_TGy#-;|(t_(eb|4fu(FRq7U)I-8n!81!P??Q3Q*h>MN7w=E9v3ji@bG zT1)NaAzt3CIe+JbTZ7tnfRjv>EAY5kQd(MumN;2DcjdbhDaMyb;n@;bAIvB*l<~P< zY2BcG#@8wNR?AH}_SM(5%JhwTp7Z>bIT4WObF)EDhPHUIHLH`T*7&J@PFqf`6&Jn@ zXQJrXR)FR(?6R$0$X)NtmoxVRkel$f2NgrNQRM-LjDHqyL3cN0u7R6&En5_$l>&nj zTP^^&#hBHrXq1Vqj2rr`MF$hsQRF>)--)Fx)tvt+CoXcTmU4<_PT!nymLgprG(S4S zCXp8A4O2{^N=*o#0GjQ=@xOc#1Eg7PQX=hD7osLO07>2J1mhmq>t-ac-g%_!Jc4?J zCVv&XL4TPJg>u6%yeb_A!;buGl)7?Km~4BS?bTCKnK#dC03u0c&I!SZOz;Vh#TM%t zU!c8k@4#9)^(j~Y{;2*XO!K14P+=C$uQ8j|*NG}B_P5vN8xQa}Du0P$rS|^yI`ergi(JOt0Cw@jZkm@2 z8e^a%y16On>8c(x!=q{c8~rbNzig@BrMbIvIgtF>&JD}_C%JjG$wrX#cbDQTAdVGB}-$Bd@c;7GZi9|Chb*Tx%oC z+PxJT&-4f=0U|hnWsXQT?M!H!=J5wY2+&wUvVsl9y7%+0v_n-%U{BBa{+yYojjC$r zu=d(3yo-lxmYG9BvOcEn$>TAt_CfEM$A9dY16Pr)qS$fpOO?mAV5s44Ph)~!;kJ_v zN;+!foR5wSg}^Pdx?{rz_#gp;%P8y$p`!xB78y10L1Lfzasm;BE%gaT#%aK5_9Vk=?-8Y z9XHXYlGKmu)ib(6nrKjm00?v1c7LZpa7uOuX(oqtVDhi;(@a+Tj%bNd^t!8d*f4Y2 zY_eU1BiO3jB&9~$R7OMRCb+7Btuj{tbR&#VU@?h)b2?y-K|vFwDWF!r)q@6MHz@cR zMijSCU7r0USP%LR_Z^g5T;c^oe}4n?EpA%6D%?@2)(8A8EC5 z`(mr)D0*jggc3(ewFynn9_?^9-Qza6ZEE%hqM;)_37i2Pe?tLFMm86{{)%xAoApz4 z2@5g1RHf}ve+%@GA_J;lSdN~`+d7ye!SFa76O=}4h_Z7$E(oU`F@XIdi-QSHguqME zcb_J49=eQS?_|6)$$g`?S8<}EZHNihIIW+ZlB+b^-0_Av>y&w9eo1sNDonIA&;puk z3`4z0dRl^bw0;BRpyB1nZH?6aZ2Vt~z@55({uI?=e`2ErIiiyZ^Y$NJzaVnE`}&25 z`;a7!yndk!cPpge{7@C;UcabACgWdu=)dYGx7^yA`OerRwH{lhb=_ZK66)7CaL#0~2#aMx(Hlu=Yk}{}D z(7bWEe`WAt5T%}DY8`Wvx~;k}?(&()S?c2Ctt9JXE>6@{9~g`-PHJG9zO_IKYv&nS zJ4x3h5?PX-CX+ZQ#N~319o>M>j_~J*M(kw}XpTEDT-C7D9T40Mtp%9{g#~d9gtCD=mPD}`VJqzo(J+zFUJ$!+hsSk- zySSo0ZT<^XkT^(SuOuG;Hc1~~d)5U!Tl9{Ep~@2L8-#gB*eZVGVS?P1*{15s-BKWy zf674SLnh=#L?QD@)SLsjWJ2T&ww#fy-8wHH;SQ4WVzxn5gquL!)tu;2y6y$!Y0LpBr_Vsc)kPMYJ3{GM@zb_ z)B_hY(@uk zSw@!!&TA6!Fvvx5R1zB}PDR1)xW#lT=VgiJb5I>svL=)6+?mXpaA!iAcS+=Udoo2h zr?taZ=y-qO%v-Pn5V8P*w++#D0>lkqP$B54%MTeB?2my24sBrf83hiu2dq;`3kZO| zyNB0^%|Ooik1#fs0K6X)d2{IAe;mr2(nr7>Mrlfi?#&^*v0Aa;ca8Y}Y`=_FaL>sy z;8(k#_6XV{tXXXd1p^0Sv%QB&kG>}mV9*MaqPdS_71GdqTC2Xq*QchY7YO!k`$!t{6PBMv9~eFzgPFZKwczee$K_sT~F;2lrR zEhGg(I-Xnjq#P%_oeF!&R&oj}ZbscmPv$dPqb4qLRCbUem-pudB!6$N!V9AdOqjYd z5_97(jFXeZ*3i4rnr8WX&S_hm)`uaar#RZ6e7T_jhI{l+D$=0$1)=oE1pe8%;h)64 ztLKX(JyuQVTM5@`YG}D!79EmYzS z?jGOy+B!4il4E*srGI_}*6#zEkWf7AC=94;49>O<|4qvAu>>KOQE82eQrPe}3@8ZK zbZV2Ce`VteqIoW^AjyCzImxtLz%xkSnwdy^Q1^x}bK~&kR~?1p8ymgMg%LyO`AKPplEXdXktA7|3>&vIl)-pbjm(OVx z5 zeeLEg@Y5xt>0OWfRZ$NWe1_momi=3~_mS18Ti~!I(r$h%1HPFH$hhd`0Xiln=u^MaZM+CmJ4)i2)L)GO( z0c21R;eQrk!O<)CE%A{}LPIl1LZPU*?=~PT2j?D6V6=W6jxghfT06&*O3l^j&^B`_ zqIKcGA_*fg-tEq7=*uBI9G$Yo2{VxA~2jqfQo!V7Fk*Ux!5ql4FPb_%UxQY7`jDZMbPi zda=9Bd-TaI(NWNp&U)Vy1cl3_>b~OY{iaP;`5oyhl;2yCs zyMMxx;wXia=T@9NxA8Sp-8sd%Wnp-gF}~2yg4X!NG;TG3h>lMVGpP>_1v{J+l<3L4 z$Oo^BAxkmcpDWa-7xbER1Lr!&c}&;m3VnPE?A#|{Ij^OJDRE_tvP;o(3t>)J$j3Qz z>({pB)o+&ZQ77W+qn=syBAY*NT*D8EVt*f*D^k9LbWAjZ&vyaK1sTIsBJ-yp(h_mc z?yqEA)T1pqs}~w<97>6Gt>OAcrquWc93#qndT!08Ou@Zk_AufLQyhnU_b&|k{!hC) z8=orh2!>D&eDp)K8=; zQ{Q0C>+^)@Y91Lb@4OxvF(r5L=AQU8 z*%Fn^M!T+`!a+%XJuB(28~5(!8HAB8!rU2Lpdb}?V>HU^Eu?@H&JNxqO1cHA4_;ob z`l85;&zo%m2;^7(bWDG`0e>w5%a5jzhZ)4$++o=}h#;=3nVN+&I9$k6tGyXWv)eP} znn};;j9D2#GQK(x%K=#36=3o;jr&=@y$u!NSz%#n_|KDMfai|;+)jVa+Xv(?o3M)D zjzyHpCoE&Ugyfw>m^H5_xawvCP~uo(BHyM_iwiE;xQqnOW#48rUwzzv)~5 zl2|kM5;651tL5|Ktr!#^lgl$E+mkNOs%Gh$8axFpb9+|TTYt#HmvHA271o6;OPib? z&E2tWj)qOYx!cpE&3~DOCZs{Xdh|=yV5+fGDV)xE*atKlfU<|EuSlv`dg|c`R#Xw& zi?Iw+!Y)r!!gW2v9&5rjIml@;=(D3_G~k*HaJ^BzQ1k{|E8ODe%o+jC@pI*>?rr#n zj@#P}Z0iIY99pb+D>pKGHQLIVoz7Lz@w{^dZi~Pj#F6fe`F{)Qh?3`Eyy*H#v7TLY z#X3oSGs_P0Z6r=DJK7qs#~E=FGZ9b*9Cuf3QQq}un3AOJxA(Zr5k){WCvv=WF%NcW z;iQ%jI;=aH^^tiuGwlw^yXU$Ib}h-sGXqn?^dm_r7@T_-Oyw4};M5>Wu_fKT(j^YU zIr{oCDiCN;f`1K)D?~x#@05JbWJISd3k`}6ZQqn!1g(aVP?}uO@F*>?r8iwqy3=(? z4iJ9=0^s{Gl+Y71MIxQCp64)15E;DfkNR9UcZWP^<9^XFDZQoc&s9^Y$-?fMn`C{H zIyJI5)tTHXf$J;91JSP&%@5*%|C0iJm(BTwpz5M;M1K=uVBCmHa5H1M#7I6203>Du;*+?Y>e>!#pEoKU)YmrsLt$cCe_Wk2$u-CaxrSz>j%W7#$+3~+!%3~NuKy1Z$Q-4a{{Iu(T=+g zyGtcqXZ;OxNTU%L%YUUpa~r0aTdCn9Mb*LDtePvqnT1>r?5!=XES9`pc`YKWEOK3@ zGA^rRp%0Vup7^M?@dq|{P5c3?kdMnHHEsu#fI+enT$UJdEBoDMCxtj^c0D2l_s~o% z`p}otrTWs;9R3+T_;LVHDj#9 z%=0-}^E(@5l-_5vju_rJZz^ZN#ie^Ior|Z&_10NwUKDs!ZIqAs2d{%l`LY1?%MIf* z#NL~8fKby%0s=#mj z^I~f5e=sS*fTlEup|0V_06zrgZfk9a#5K-vHz)x~lM*gFD+j3*zFc5>A%)T8m%*I0 zr+223_rZ(i^ug4s&g^mFW%Ay^rF<#x7im(H=jChsfXv|6u9@&N>+ zf6)mY(K7bSp6PT}-m0CqXd!7BwXg`}f~ba^o=@u-8?wU?ZX=j5(cfpiD`V%u(Hfkg zT$!Ddaw_@?zw*mUYkLtbX_5W3VDd8 zTV<*kLSDDdc-$PHVZ;bIXdXmnDwzdHumMv+0M(4aP*sF1oOM)>&L$y}KV@>rBr5ov zLEGr+W)#;{MFXVY;-0E6=(lrGCHqO|o`Ul$=eTmCTKENDVT8|gD<$CU$&7WbPCONkQl9rQ~m`4Y2#@-n?00IF} z3mA4RGr5>Ko)t>~y-sIRh>##+f3uwhW;_eBMgf?{gAZhLcrk)HosjKLO2DX4Nd}uPdNHvmoNsqM^|Af9pqIMJV9m^%a7K*8(iLIeUNlW;Hv~tl71pH}rfHllR z(~ppIM`y7&{$L3Bx65`xKJst`vDkF-?6fK92Ij!m=rMyu(isbT7|MnRe;u-97cc7l z_FwIG%N+*a6qWO`bEh{p$&*|>Xf@-CU9c6LH1zun+_4R|Is27dv*qi0W;eE&cPAOnkVrGF%$4gj;54KE+O4qPPdG^tCftKG)sW|(HSUnQL zq)d9v89F0)0ABEZa!r@Ue;x@9_Gfw|G(gWtXh2U88eGGf#T$iWBqYEFmeEk@#tozy zLH|`|p%Ri-BoS%i78^d-AVA7qyBfGoUE;rU$T;xh0zb4{$HBGd5=v?aHT;WnyrAJY z#&BHz{`)EZoX4VezV|R#a&m6c@vSn@g>i2`pM!DfUQpa%W{dB`e;dKOGrYrnIH@4h zF*2PZlX+6?$yG})LmPbG3a?Mc(e>#xzAQDTkCWQ;>Cau39;}B~qO=_LUh-QKum%Lf z@z1K&=x4MV^+>A$!faX%2Fl8)NW3$;v-4DkmQYM=z4$`@y%AEz0fz*lf5){eXvS{{ zYyd*60o>^~G|N?Kf1xmG(YVAmrsFM8hul8b4*N)r;Y(MV!erxHupEVAoj5g5KHR|_ zni+^P;CLTsOtR{a24Dpk;s9!~$iFqh@F1((3}H-%vann60YMg6NMbBR0@&agl*PE} z!_tr=5e^*;BD7H&ywTp6mPyU7!?pZ(x1cre(l`LTxg_EO;7T zIbq^|%yYTyf9e2pcT4$gIHj0-DR`O@g4!Jlo+vTNlv2xq4F%)%dpiuQmy{eG=f(p% zwyktL0!mICwqu)dA4^rL5Q2hWro;UBCwkyx*Mu=S0-*r7b31BOQ#J0;h>V#DDxTx| zap0vq!#mSI2L?4sr09ywe%$Y%*&D3Uq;!y;;La{Z|Oz8RC-pn-BILcd@oy`p7E7DQw!A#3NpS$#dofW_v zidrBNBTG>$)Q-`37lw&5bU8(vgTY~>8_vg=yKP*7%D~Z`x(W&M|KnGF1FDecmLene_e{}c=5$2nEKleFGOXL^r{h&by^P;chjS$?V zfqH1J_;3i*pRffZST}?+M=&FZoEptW|Axi{9}G@~K?(2!i&nXJIS?g4S?V-|dJksT z5|ky6ibKy)gMEe*?oeE_HoQzIvRM-zP*uG$*7%*?7zgyhWTjyUm$b+`Hw?P$e+ykA z%A5t@i0Tz+v2LP$nuf>;@p*z6nvwHb#QlVnQ_ByoTftV2V$O#e5O897Ft`CL7Q)~< zm&6=JlqP{HI5$+_sSm&z)rWhjCJ=m}(Bm<BY`wv+$ zopu*it~u7KhVyGO(MTtnala6ae}hU3BlNAHMuy>HOEJ3%f&S4;h&7m#rr`2L(wT)P3DLZF-V-6XIAn7&;e*4>o;%v#$HP2C$CFA$lDmn)ZVLf1E*_X#~mk8nXH@ z2L>#3Q$-Wi^jS+iPs~t?6}Dt3)lWi8Dlu-PwptP1&ih>f&>ex~b|jdT%j}LqVqj&; zEJSq_RN9L(O~4lzPQa1XMkU0W(`Au5zH$LA1VlfQYk{b#6MtBfG&^mrgK*8bzIYK! zs&p5lGE+rPXEcsFefXhT5w|Yc&^hCy%CfQJGfy$h87?J4 zbqOxrDtPm^e0{<85Y;OQxTx_0VzB_p62q&t@SdqGHU()ZLS{oi5`UmtQb!vyRYW=! z>6R_eTY|4L#eXh5RYE^;D>0Y}X3=s&8l>;_Y8k@4*=&3rkw8M`%GgDsgG;vY@Sh#w zyEHR)=h0rz$T#v>IR8}w-iDldMtKq?5ep>-l<;m-A)y2^+`NM$s>4N5J>EK zWdulaxcJ%CXtFx!w|^%?z#!8w`XMPjwC}V|*wzBx^?ZBLHU=Kb%t0Goq^jj3Lm?mV zg9DI>*QCn4Lvdap^J^JMWGU&d@D&>jz ztPeO!dZ$W~OgNKKi(O@iA_f^t7olGS5&_!1Mibb5RKv<7l}(}DBy3WhA|){`H?fg3 zDhWVy#zyK&8>8UJ7kU!F?zr1E3UjQ1W1u*?l~TRCGWp{jx#q_OivWo%ckj$1b)F_{}H410icmTcNW4_Zvm?k$n!UpT=<%wNh5XJf! z10-KpFMpmMuU_~F)~7VDmsP|qKcfiN7eG^ZT3%RQUV~x0#;d((;q}M+9sB`C@8kk2VIi^oT!S%I6k+uKf=@0&C?O(k%X{ zQGc2z^f> z!}G)WrDduT*`}8kFv&}c%cT;1EEM|G#UFLb{BUX-`*XhZa8a^O@yjGCdueIu$>XJ^ z`9&!jB|mv$MK3PSmmWV}SbX>}ujs|n!u-^v834cdc zXz~k>6NI&znki7)I}#a5tCZ4Eq^)Xag=M#pr(Z$tHPG!_U=ulIElGzrM+?4|I&T$XmP z^;fi~WEONGJ{_!4wgB-Nb9ybyq<{aR7z8c=7PZ|4i1K`)irIs1(N#(4_NcCvC(j30 z%+i9M=gL^FycC|=0n}Nr?obvZ!Oc}9cFqZk1fJix!P5Bk#HFkGIgL@=DSv#r_n>Jp zIbCN4B*s@}SBIPlm$!UvQLSSt0lghkQ!VaM5N4Hn7d1Cr@Odo_zSDI(wP3QLt5{YN z)evu;ygH&3REuD@;vfueVYF+-YFhgqC@w>#mtW)N3sy0sJ-FM*-Y1IXQ6tEEh!GZ|6<==j5LY&_R&Ep_4jX=1`Lif7gay?B5rTuJY z053ax;b;w7fJQx=Ut=0t7XsSHZQLDCo|blpE0qu{oD3$&$U)Apz<=*tMw4i23YjEB z6GU#=O_7BuV!j(!gSzL7;F^)Xk@FR(no28|M*#X%ful`3qe1#i9_B`p4@VAz{$Q`+ z`s1Olqxm;gQyugnxY+yEKo&Jw3WFGd)Jt-xpQIWmeT!+}YGt<2C;$ZvF>?wCFrrJ6 zEsEjNiojA@wd$a-6o1y%AYtL};DcsJeCb<34)LsNs2{;o0)Q@p8{y;xUZOz>{6dJg z@(z^SUgzfYo{*0Pp92AVL~;~R0gK}3Q?LZ`j|GUWQ`1k@B>ABKcpuz=NR7#>IyZIf zZ-Gw0;-a@gqYDy7M<6ft`s}}9nOK054ug2Kchfp;BLXfYhJRJ8g-=;pYP0IDeXp0@ zwU3#Lbcj*8`I*%!ZL+@935Z*O+wb}C)KsvAP4h1rpm6D zxn!8*WlD}{Cz*Wgv9Zzw#tY)JW^)4epk%O^f{n$+AFmZQJ4IUK(ET~ zm&5YhYf^+wBFrR$-+v#e9>&5!o`Mf$oe*6Nuw?S4J2sc{*En? zNldRe@a;A><8~F+B37wd^9Kb5>>a?Z$WL^)4iQbSkKhgJ7eMd#@rFvnWqzLA(cVPm zyX$nST9$w~;gl1coa4KFQ(o?#<)wJMbdm1!5StEI=zqI|0LDD*wJ{0NNTiBP2d1W^ z&X0H$@O%&ixVL_@U%en93?y~+Dqz~7OpesFVeO6(YCFPj(DT%>U=Thm=oLwtdOiAW zVXNTPOVU-W(L9@x)KH4bcjN%d-b)X^mTwNd@pIT>W09g>#9q^xMQEOqwA}V?pz3c? z#f96R`+vQ2b>1d@qzEakS)e&E5Mzluy~0VZC+}}K?5w5CNAgOpW9_ye{oq8kDg=$m zWL)Khm^@zni{%(+ETxg_k z0flwz)wvb6GQ+Z>PV?4WMm=9!Kh9A16JIp5DifI)V^UNCs&g~6ilFs8k5$`db0zo9g08D z#cWQz+uWWI`7e^qf{P0*nlcSm;pQ+Wh`~x~-X|d7z%-Emb)83KLPvE1!;0}9>S|%z z4}XnqJ6lz=Que25;8uBcvE3lcq~CA^Maw7(0czRk!jMTAx`C&bruPE!dgt-;Pf8;t zEUCd^p?9EIPJM><#7}lt7qUz%rWv_NR7dl>4K)LnD`tqNnC5okU;nu6&Yo9Wjpohp zUn}%j9sY~v%EjKbdT0c2tVV(KSbWb-wwE~y1}1+lhtp_K*8(=M98VE^fX9Qsk_;cZ zJgbBag+Lq;{8`M?u|r2pN#NzI7Kx4;0=R?7VI~0D$g+aK7o)nI!#a#k3?nGqh63L) zT3LvVecrx?IYsV>U=P@3bAs3*J_A7B;B^lcDjZAozGMOp$_-NP(wu{cjKk z6D@y}JRDNdLLx$l(xvl@KCIfvL6|E(Y=pn<^>_{FxTRI(IU>u5DPO={SfFr<2To;@ zQHa5`LJJh63Fj@+HA!g1J2{OzxL<5B9%RUR8D~mCCouxA*gZJ>S`U z(f{jW2`}Cr;-AXJ!C%k++$uFcfB)+n9=Cs9(98Af7rR@3KCi65uWY}^i4?iNw`&S2e+;~GT5B_NX^}hJpS`%)d`J%{^aKC-3uRs+(;t+(QrYFIo}ae1`+xoU@790W z3u^y!{?z-p{E#Cg);Y-tPJ4_wOa7)_OMIuD{)X#Xny! zy?n9B?WO`G4z_f!}Ypt)29j-e>=ZbTkl>|2@*ZKtJit%a@fd)wA)s z(r#~jNnQMvYvztJ;tMbEEO&v=NQ(XZ$kONyT<-+SrL1+~MTkuG{hebF=iM$afLdPaTG zGwQ?hhsrvyW&R&eCB9cGHP(pIYUb+ua{v9u&zsBtUffuJb+z>#GyZ;Sedo{1!w=i{`;Y5HTd;H} z@7C5_e{r+@_2GHt1^(NgIe&lGc|3FV?Zsxh_j==Nt3>~8R=z(x2h9xV2D;e#cSd##8%f2T z$s3`XwKDbe>B7>F_#GrstQJbWUBKJN>6eRBq<|f|x~f!HLVyN(O6`A?H)eZ-Q;~oc z=Ft#f)`hPsGyATiJ2Tfa2NV`#0@r~Uq;=$N6=ypF{jqJW_-K@pwwWQBgczb+!CqyQ z*}~)kuBa-ugMQlDK9F$&n>RC4d$u?~Mc0T)8dVq)p%msYuV4_cZCYzj{gu-_LW++X@7HN^23JLHS=N;g3jN}8j2Pn{P zgJJ`AV;~0LEXbg?YJ5^ChfkXQf83%pgbig|N{yft3p8M~eZt*Vch6`!tzMR^h0Em0 zqld|vvO)=@Z&E?43{~JoxwQ0n0ea_0PZqeC<8l`{T2m|>Y(RfO+bdhv;^J!KDPYfL z%1cwn<>TVTOt)|b1@4b|ythQSJG*Z)lOI2R1okgd5Ev&lrIjote{2_yoxtFX!=>aOx2OF!vXU+737|Dk{tqQ9o`aL00Gr4^>29zx`H$PP z;p8e^OOa=YVM%{;_FGoz-W}^tV1f1&YUV2$C9%6w*%>X_H(8$cWR`LzEES)oqwXQF zpgZlgn~?bWZxrvresgSyNy-{XW;Y-LISTLo$=N5{hn2g8KAkGGf2$P+Pf`n+^5l!g zWKz*8Y5cZ%_{tk-lZtmLh#nLdeA+&{v9Eh@48y#$x!ZqUAQoY9HVa_*_98;Vi}l!W z#kshdBU6Vie9xOVoy+_{*`b=E0a-Xpen@;yB65T4_VSZ*U%}zh7gX4Ao1Mr>B=I^gm3 z`lpB6?mwOyXt!FRlN`g=6NFt+E^^UK7I?CNlbknM0EikxF;a8q=m(4%Ph{!@P2`00 z>Fni=csPMdc}7oRcSZ{o>Dk2nXL6NfRCo6%e`bHtJIGRozK3_sF5$=b>ALz3s6o%k zdx>-}E+}oz9zN=m!d^A}Vd1v8V!ut~iS|%_qz2PK;M$W^Dr8da9uvx(Job-&DIvGPIehpoX4~9xo zxs-qLZl+J=2Go7VdK|A8pm)YFU4=@tgWXqd-OpY^CKA}-U4=Gyq?ojzArpo;RWBny znSVppbY%b?h}tFYSb|9E)W=jh2>A#zI1+tgudzAY%0wOVO7KA52oCiW+f0v1N?gCD zl>s3ONHB>sDWgVgB_lcC=~L@;8}8`ZEir%HdpbFQ89_7_@&Ob*)x>uY%)`KgM6_^$ zAR#GGQN(Vq+M77>c8Mp+1ZJHY-iJ@Z#EBGmLS}oJad(-}h`?A7x?ensaiM?f$31^` z3bB(<=9yb#>-8tw`qS& zbdnRAV^${ zLu-vU@YQfq%r${f*BoG7V0(fq!*T@>O7GHd?%h)Ps{AZ(gx?HWr#ugcc~^%iJdO3$ zparAhEBgD4jIHw0T-2{P4gMlc@^ycGR0Z}9#j^RbjYe{_Ual&Z9&`G;C6r>OZ+lL& zN>&TdhpRZ5Y`)q};;vS~L-t?8Z{Ee0H0pWF)0|dGBT1l=?yE{#Squ1SdRH%RoglUe zqJWu#aROwR76S(ST*i%6fNg}C6ALe!YI5yjFV<*NkaxSFN4RK9h8~0(BOdUi zZIC-!yF)V6cX$V?uHxPS8Gd1>Ytj?gRZ$_d<0G+ukE3mb{^{w)!&HpZG;$MwRYwKz z`h{Unjtj5*s;-=3Ed)aV(+Fp)Gy5w(#`;q@VZFLb&lQRz3cxLFUygq5rv~xZg1Msz-9 z@6KuuzCRONM)}|mLvJQY6UEly1#CcaO}UvsL}TEfOi2Z^|C&lbI!GleVIFvyZ(Y~w z9k!cO@E#^_gC>YzOZG5!KBZPt2cn&y<)W0yf}p&;ZveQ+&#=GjGoWELh;%d`4EH)% zAocuwO%U=RANg<%diW%vYDg{P;Oa9Z5m(&v{Bl}BgOOeRhTJV8CyBEvCcy_&!-F%I z@)QOsf4$mDKkqfJKIh&`!$iJ?W0G2p8`Vygg$ZCON2eBNGzmc8%}vHI@hPgLqiWCs zxez&yUMXhl@Bxez)Q?N`(0=gDyW0QJZs4Ih8#yp^wHFh@ z40oUw0D3aA?vHZg>ePi5Cgl=hs<)2(!pVvU#`V&crR^Hu=Ay~|w23r!RFx9zmFBoMgSTw@zVA&@BaXmbVBP){WT*1_Wds?KhR>5;6|6H|GED~8Advr2_P^ws0& z3IS!5=^8mY={XO^Dn&*Ub&rMkk!Aouf6L$ssXF55&H5n)Je8ufGc#C3ws6Qk21gR@ zHh^y`H#4#+NjEqplOPPqkAnlJHe-%kpxXEgZDO}d^5tRnjw!G-^e2|eQJ?c1%r*tfAb2W z6;r`voBB9T5ktzBN9hkwy{|u*YftTNM$MyHCE^^=0f@5M;L%m}p68&SSsT6d`N@Ix z(&gal^GXf(MjW%a?trp84)H3QQ|IHcMz^ip zJ;UF}Y#D{a30mzjWd75R2tyGJWW34=$~l_1l~I>!7zP}FyWu>;)nei99}$sCkHtM<;dW3) zWd|?sRrCsf-C z)qtG81Q&s`Cta%uC|#X=B>hT_AsZ9buZNtW!k`j=h=)@>XOXCOnh%+~8xZ!8&#h={ zjH@jzqzyNr=h>od7`@JJ#Jg+LeW{<+#wsi$y7kk-m$QhL{@+CWQ{DcrE&nm~q&EO4 zL54{1=t2eu?R?BMgrcVuEtg>(iQFEDhiomea7Z0RFmEhM5RU_!2h26R;`*q(0Djid zc;GXC>gi2Rm_nSxcYdX~w}`frZF_u1!TLZkcTJO#hAb9GW3&8ux2$*$k*A=*I=%Q% zftMg|jIJyoKB;)qj0=cnLw=8cvkGEU5sIB4`_{YLkeQHe1SA4 z`%qlFCScKX**=>%iPD{@REyoCWDRY3;3h1mpLRL*i;V!_u-L@oH&}#p*+{#f=CwY5 zURrmWtva6%89%V&HgH%m*11=y9+7#|0d(E6jfmBUc?nh;30Kg5&^_5Kn$A=mVLFHa z#jotVPK@I%DW*)WFY8w`XBWfPRS)W8vZD~EwUZij(MWj$$s=Zpp58%7Mk-gh4o$!W z1!Y592?-^#si_9d9gC>ROfS9KP{IU%HOS-H+luorODg@=R?gG`K9la_+T`qM4KCG_ za86DI(Uo3P$Ur)Z;ERP2dZ?8QauQ!}f$U21nh z4I6TAt70k!u{$Zyd1ADU*qiwqfw`1Ta{O z64XMMpBx4xf9U5LI1|oe2g%r|nG$_B@WuF?PPgvOUSYQlT=uUpA%g#246V&|!{VOQ zpYa!I4S%v2&*O>*9|k&&V@qwCVbKSLYKTGZf<-qX<7amH4`C;U54;1fm~C;KNQXC5 zr*MS=9U?nuVHp5u2I&Sog4MI9c(n@Mz*Oz%4AK?+e=`UFivU@~;b7=)MRY~{|C0tv zQ{qIl12ZIRmig16_PSi1hlar~41C3eOA+EXr2{ajWH0}yysAPf*jRh_V;rFFJ#g-aC#H15ERkz|RG^Fb zAuk9NNy|5|{0?P`LoX3FEf4?@$F7-k5Eui@LP{;yEpBrni7=t4Yid^$v2n|kw!+sVsSe9wQgQOE{wH3Iv+#(fN0x~VsG?GFj zf2IzJpL$Ej2*k!fV}Rn_2AqpeMYuSo$*z}Mux@hXah!woisSOIQ9l?_+iHMV4nX+#)kZO&i|W)c`^kS%xhqC)UH1#Pbo&^Ts`-w zovkvWwBl9s==@W;^|U-YzxZU~@mg!Hf3z_BWMQRHXwA&d1E6!R#DAuz7iO2#c%cSC zvfurK)Z)9WwT@+&PY|chO^U4`izbDoQ$uW@8q^OKL9^hTmM+U2snKcuE`U;bE|lrG z+_s-UP*c~TTDheYCOP4G?fO7P1deBHsiIkWn z2DYXL0O?8*0~cvVUQi^=)avd~rZ~JBhyj*$Zxm0LGbpghZ@QFvTlPc5P8kW~i~&?V zZ>)S~8L+7pke8rD1M~b(MlY!2f4@G2u&4*WV&I11fR1N?jYfgc_KDDT>7Oe7L#K-1 z)P|H+R%6>JE!-aP0BK)_(zZDTw5uVdwRA>l+d^r93wsYr3x=8~E!f}R5Di0n&&BJO z;BeU-W*$Tnr@zqBz{*V=KnD`-T7pT>E|eA?PB+1Y&CEV3Eid3_2|wo_e=X3@1rmH^ zlh=ImnonNiQCh3xZufIs?OYo?KdZ_zY=xE}4bXWGmV8^lc-} z!d1!zguI-Z+e`M#2#gJ4cU>-Q6;G$;@O^n25pZb;b^?s%1N=UCTHaed@HBoi?DJse zU>YvGFUtG)aqaTGEbpwoe|%crTz!dr8%Hlcm0zsxls9KejA$n%@1SJj8mZ`wqk~W7 zjia4n>60zpjewHE)iiq?(CP2a1Q77_nc#`Codhl#*+rpMxFqKKoc;k7rbh$=Kc|26 zae*H34<3Gxr8!k;lP6rtAoe^6y`q>53eqCjS- zBK{i1jmEVT%183(argUiSDJG~;1Gas`W-j2_`9I~A;tW} z*#FNi;=ko5_@`8&=kOW@xd5i<|9OLX)1pDNVeyAHtG4y0Kk)z2uXL|E_wE%h;6SjF zYBlfpB1c^Av?YLVe^K&KS9-h8*K@i`futNVFhYu1yWpJn00N*Kv%CD(k<&x|D8n@q z>2Yx<_?%P>85e>5<|9}8w;vR+RHpkSn0 zV3=%m)a_(Q3|B^KD3{kGg9h4-f zEDMfAzoa?1hv1jt$g}=n41g*r?w+<#HU&ecXVJ%}ki1*;%Cy;&a1+ti?dkADB z@v9>b8S$!>fB*e|bMC)Yd#zud?+?iQzdGO4`oDd?zxesa)cl?EO`fvk@TOj` zZOKu8lH{PK1r{4a!W<+Y(~&Kf0ojkl=K69YQrP7vf6}zj(d_{sE&ifSl9vG2V0cq_ z1@QJ)@D>tCQplDMK%ToB7%=$oK@76DvAgqbA3_l%f`2=l#i-f4uL_gLAmnq6R%^iL z*xV^NUQp=uy{)s0gI){ci7-YE=0b#vQ|vlDRhaxgSJe)pzW3%#v!|^JdSvUP;(MN> zpwVt)e`;`WXpU>2BZq?I<=FK(a@Jrf2haZjJpZ9)~hXzLro1C)Sye{v8*UK<9a6IXxGAu=w>-Ml_U&IW$t z2M=}TLqV%9n0O-eiki&Nr>AX1p`?q1nikMG4K(HsA&xKF+s-_m5RgQl5Sr&`*`B)e z?V)?3Z;$jz_}fTt{=AFH2t!aQ&Iz{*i@kac%;(894{iAhfs?9Tm(AKkBkz8@-gHXA zfBO>NTZm{Yo{B;FWEkse*yVTktf8xM8M0Nm0l+0W4}d-xT0{VaaD%T1^b9{4T5Qx@ zcR++o!m*(&Jf^d$ioP6>tt2h^A3yYwc7vCSK*J>~PDAm7sGQOAU8jpN*5i8n8seGf zv_{~xe?+KG_&?ce^8LA1Z!`-%+6q0ie-0^15Tl1*urYenWcmVGISw&GY8CPUa!Zv8 zDVYT31@(jC2SeOWS|7EjSRKeEkz$-PtQ4LD;|%{ODljspKdoOhuBaOn!(Dda{W7w8 zfFivXxI>9F9$Oq@YEd1~p6n(^B_4sf?NNHkX7^z#kjAB z?&~2$K=|6t&w0$>M&&%EuhsmVTl{TAPND<=cG!v!u)T5(el5uc{Xs@Zf7R#*2>d>N z^gcnRhClRShkxM10e-YUC7bkzKD^)``0z3mrD2)B51)ZJMw9j>d7d05-;)nXzn;8K z8g(aR>($FI0Y3Y*{2u?3e2#*0*PkBS>Nu_=#N^Y~+WbnPRfLPj9R3_nt$rz=7Ypam zSxg_-ljr5VVqvei&ku*?e~n^cqj=2^-^-O^p;FwT2VTWY9gpj%>)F;C$}X)OgDmpT z`4#*FJqTBFT-=&UzLYPDg$sxlrIP((VZV5wm0TAK*Tqe(WT#lzDZb!JsQhi}P-|@) zMRGmcsAjwD+mE6@Nc&OrHiksnkD|Ae*V25Hyp3U!=A-0oQ)Sh|f6?Wi5WyF|Bp)C- z{+jc#dMzJ$8ot%bXVVzwCIV`?89=X__0?lc!B_f&IY3*#6pyK`Uy2{5lI^GS+?VZV zCF~7!2E^v*8xnphKQ9)Z7yEUz?+3`MzC0`z4vVkjci)SJ@5M$cA%QG<3h@@mIYc2M zZ)u?mR5A6;5gS}Fv zSNMls(VsRB37>j~w^1gCypD4Xy}9xvs5GJvBW%DV-~tVyf6%&O_=JnTRoLbDN9y1m zUZq#~N6M#HW)3~lI2Q*C?qW?`YAeXSDJ^As<2Xs> zMIA3mo~swU;>Yupu#dj<*A_1?R8B^gL|7>?H1UFoz7k(h3wWLABgVAY#u+x^^CCVs zP47bc*QeuOf3PAd)TZg;FkPAjtC%d-7YRUeT>1ghm!kCN<=WgC4y3`{B@P~Rmu5g& zT|01j4%|CFdG&l*K?n3OSwUmvs97n^oy*Td{A>+zXr0Y0;c&Xdzgt*_0Ye8c2AC=x zC#O@%UU|#7IUG5A%ARxl- z)98@!R5o1g;==T~8?h#yS~h5I$XdhUz3zG(8al(+rx`G(lx1K;NPb)_&IKM#Yh!@;(e>g1&H>f}OQ+y9#ADQ$$z-amBh?YmP z1~u`zZ1+3x=0F&7cV@q4v^#?zB8n*|vD}s`d`%DGao$jRImc)QqHjC?+vcFvx`{r1 zUe5seIn0lp-3gAY21zG1frOnh!@pcX1noe-I zQEU==w!^Ih)6+g7*9AvgpCRA$t8#ZAD&{|#yXdcS`RRzgdu0JKhZKQSJmZ2 zXWC9jgD0cL!XYT^8%)Mro8VC7+X9z%e;yN9I^;HBr7iIyh=04~Zm%>G?k@bS^@|*D zbe2H?phqj8gius>5E8;y1{7+yuMtz2$UjW~X*O_kW2HC#V9XIexH!PscV0ZhNtH(? ze~PN%-XT;CHVU80$M?(}(<3VbH?Y&`V`}+Ec?&;aGeGBDrQE_5>;m^McsK7jfA1k! z8u%l>2_pyG!~Bcd^afck_!lioq4zR=ae)-82hYkc)+*)Z3JRZ3HlLMWuHm+~f?CwP zd*Z#&NNj%c^Q>HHH!5zC#R3#m@+CjVekO;=SQ0e!Iin!mDF%Aa)(6QK{xgLe*K@~0 ze21MxD2KMSRygEy@B1u~?9MBIf0~nQ!9S=ocfC)tU}`H1fmy7w-!}iJ?~qTxKIt%& z1)(j}t?5BhM0@xrOy0f+bX!xfR7jK1Zz`t;|43tlN%XspZG~FYHin9ccO{PD?=*7s zrG8znL38>x*n*^x{lDye33nUEvGre}AV=l`aFMOVCIsP7J7aATsW=M7f6yQn5-|u+ zSZv7@|ND1uRrNXpkaCoqyzjl_Sj5cqboX>uS6A0^3lD~!hvOFTPk|eTHXy*@F`N1D z>C>*0qJHF<$q3c4%`9W;SE_Uz#;ki2lqr-xW6Ga@{*>b&3lMjiPn`Fk>#xVxp@SMh zoLaI2!;O`%LniMw9(!8Af0_3~Gm_EIHsE%(S;a|rH@M1~CkB=>*7` z7altg)(ckDIo`MZvi{SJE)e?e*QG1CyUaN+kr2*R#W9>jQqNHUhY6h#|tfJ%JfnOiM z24iisy8FZVOtjLvQ1HjJ*f<MODE}I+ZquP^xu#xkTL%%p_@fi?B3e&g17&Pe{CpIZO;+Gy&m2clemC} zal|4(ByoThy^p|dz?Ki0b@0__0yhXoTSFq70tFkK8Ou)jEyOaoncg1|Moc8Ke&gHQ z-+%l4AOD0T`_=xC5Gx|7bU>yW73vfrNLbdNJnJ){`VrP!YuNnu_Mg7n`hIisyUlHS zTB-x;q=|&(f1|@~9PY3RXN~c_d*49*8sGX8#IK<{qHCgM8qS@#g&9@6YZ-X)y*I9V zhTms*TlF()+`=jSsL@@U)u9Zoi)Ps6%jn)cZ4Tk)%r4cZ2k_iKY#iU(f{T6|LZ!d) z$8Xc?Z*Hg8TYpTiv)8k?^Ot!^EIechhnr%S6#B&Ve-VYHmww;jwsW^rKf?D|T_?A; z?%w@V?MNy#w(sUxW|+Tv&Yu0(J4{;g7XNN;R$tw3Y~88;$cyTJpAQ}a`8g)%>f=)F zKy?Q5N`CubYXcT7{8w}TKr!eE@R?|570MR&OL6&p-seG#@TkRLSLLZOfFH)-SGZFN zyt>FUf2da6H&EXZs)5O_HQ0l&1RA2u1WS3i4|E_3ICx~DPWqGyg5{z7NS?{A$0}uu zjGxG2;~K|Pzut=_L@0}RO*32tD?{pT3+eekPwj{W{9 zc}4@cJi{3&e|Eq7TOY0>v$4H?9A9U>Y-8EVe_ovR2!|SOqS7tWSE=8AvqVNI zf;fGl6O5wi#G|~;Zt}?Ho=@F8=TlF}UYqA^=83Qy&2!1@yAn1rC9}`k)7dL00PX+0 zk|_z8A4pPy6Hm-xH_!Rhuy_9)QCti9K=DB3{rHwGpCA059 ze>92{f5}1Qq(=ZL5Qw9*QA!IC*CKLAUJ8eu>^&nCeKpLwe_6!4SfM5kIawv1F660n zTPQ29MYsR58tm+EZwK0nYY0a0So;@0DD79Fl=LsAxOt5v!o{L?VuCI-m63NoE%B>m zvy(iR`gB2uPD@2{)2E@$*E&7$-0DeRe-x3w_!^g$y<|%(pG&=6I+?oi{A}9#%PY{^ zr4{J%^cAFwblz+wr4~+Cvb0O)3kyAOL?_FRTf8pLRP<2C+VO>C#{KQ$WP6^W^BmYl zQbFveQ}{0b$U{J6skEFfRs?FN=rjw7C>F|a!+9!6&48L?CrQ=Ammy&KL_ST}e^Qbs zv8vTtR{Dpt6e~sKmwzKJV?7CU;wo%NURM6+E#S-I0H6*>bg_KIl$U-FQ=Fd7zw%%Q{~PYW|0 zmR>q6qt(;WVVSIU%7;b1mG4|VEHZ+u=64NCJPy!!h6^}NZC*7jZ;&u^fAO%O#NlOm z1&+$>M0KRSKmB+ zLSPMf0@a^-O4zFN(4t2t&E^uWT?xKnC3;&p$%@-BYJ!Ej{*fpW;P-#Czi$bgf+Spf z=dHGuV&;l)#oC|7O}}=jfB2zb={EkZ-kSOZ?&<8WSLpaS_h4$)os_V>iHHZ$e`xD8mW(Cza0aIbWWE>OU-=x`SJp2>9eEV5K&$xZ?0ouBq_s4x zOvfDGKxB}O&C7Y!rG#f8)eaEHO&o5{W=w29-{HAP0@j<)9|0~02rzyx{Q>!DOpU_5 z+apeSKa&+4juXEVwIk&@GF+-vMjx1I1_H+)_UWs-Jgv1>e>U(FT6S(U&Hgr=y@-8N zaJ(5qZ=~ut0N_;H-lS@X#vQ0R#SKRsZqDFg9!_~}dDy9e#mqsFmI*1OjjulYd*`84fAR3%y@m$2*V}g=)qxKpk2j&A zOGt8rNjqHyB%Axw98LeRTU<_E`x9%ZJsUS%)Jc zI=$CGf4~}ww6p|$6-Y}b^UzdlPZ@dGr&4S&%( z<5|r=BUS@&hAFTb$Xp^}%kKWi7>vhEGWIfa>?L)rod_0~Ey&YG$ChkeEFjc|4=x+d z9)e6Ac2BJ#v)md2rBz}L0g7ZPU38S5{pdYGf1W~)o*Rz?BEUJ@8sf#h)y;l0>o0yP z0-i`xxbl0j{RW7x{rWRtAsE}=$8Pehk3arh3C0GbiW&WxU<@rtYJ3-4e^>||S{Wj$ zz#muXgGNXg-lTdRtAkpIhe#5cl!+fetB>u=Uy0`#JIbq5nv zi=zoBKLJRtL9rt*YI1vKEMJ;HB!iRwxZmT0Im4DbSU!Lhn-2`mc1r5B2ovh1d)XM) znM_OtX1M(EHv`OMI0*QmPog3HTeN&Fe|7_YI#&vc!$?q^n)9+A^`5|=tpA}qc+Fv0 zZO_(`b?<2Z<#4lqD_wQpJ=p0ncC!;cXKLZp< z1py*_Xw%`J9@Fmz51-s`TwGTF0*5^3d)JxeiP7!kcQKN*dYn5+*p5H&(S=FVjyL(e+u>#8x6dln=cuzQ|15(?xh#p^A#_WPaOS#jEPj3fiCM`7%oJ$@~XtaBa z?%rdS*xg4j?YQLI~xsgw1JV@ya@T*C+Lf{TF@#JFtwyuD>m((orm+Gm75{j9Vgk&1I$MJ z#WHn&CDJC=Kb+9aXrIq(V}z4|cdaa;2DnQEb(QxY(xc{mo9TD}V{IG7eIA9iIL@(_ zagb^CghOa`cz{G7^5_>NEv7q!oz$&gvne(ax%Ib_dvD#nbL=v*^-LOVe;4^6-H>9B z8Qck;NqxWpqELLasFry`=N(3SyyD7Lh8V`v3f-4oTsjnc6NSVGV!H*eFR z(=9pi$x&scnNg@AW2sj($<*Jt6dkVfMYEK00YC)mmSFki9)Jz)RMe93cf)uJ=t96 zweY#%l&sJ+ux>NrvT#k)mMPZ7`7aL1h9eD@OHLR=?~o?l0I+G>lJWuGoPMxc>(%I?6xJ0%zqGie|lNw8d-qi0aVZU zWTI)m2{76l%5Mkz_UV(8Ne6I{av@Z`OM(9v$9Vrr~_vyFw z3Zjok>uarxFW2rAe{w9$3L^>l1S%xL$<9zk>m0g%;l@~daMb8e4$ckr zXr6+(W;2j$W?wEW&1i}E8TAWn{@P6R;4Xe#e1v_Ga5gJ%IV*luN0sqk#=gQ1(bsn@ zxa>5s|eDYYrPvcx3D7>HhO)+5-cox?7nM-8I&a z70PfD3Q*jVf4ITYfzRnzhDL{i{Kum*hut~@5l=)f0y6}#$?QcOD8^kEG?YCGyPm3! z{gEKI-09YX+Kp)awHI!S*0ll>y+48;>yO`j_igL}KH9jAFkhIuwu3V> z?^XL7jnM||S*~K#fC@`$7?jj7Sb^Ssve6i9KsSX@l!bCZTOIy8(2csCypv&DXo18c z#@n=ofBDB3HU00~NOchII}gMD*$E^xaqg9QM!HJ5(3ypX z#fQyO;!gvEA|hp?nAG_cVER7on{iriv+^RGJ%~(H_!92!rYZvVF=rkt#4D))@2pvc z886r75#*i+nSTQsO-q?_x!!L4dGF;5swKevf8epaJZX;Lw`%5_&FZ(9eu?s(!!5Xt z!M2MOPml?c<3h14b&zj>UE)sP42}QJ_B)5i)B|i;wjpb$Wm445kaL! zf3JXnQDZ>remw#r$_91$;yBt;i%vZ&bQ)k&P^^Ul4o)MO{;1%X>-o=j3H2|_z(TQL zkzkDRAr`@-c({&gXJP_Rtm?-AjNr`&R}F%YtPKL;Xkl@9;KyJeF?%jz)g!Zd| zoT%C@C+mW%aLkP_#Jm?Hsw?=-WO)b5f3_LcG}dHwaO)Q23xxy5BEXX!+{YVxXQL5n zfsR42-Z~BFhp=K`fbXhJO29NB05(9$zof%kV+X58@opT@jh&Qi09omk>M`giz5OGZ zM(J^wO8N4DNwgCknI_G?*~G;6UC%Am-Ks+&LeQWV_v}wPhcUPjgsgOq%tI!gASUtD z;eWyuX{M(TrtNO|MUl8k_yrQ(#nFO+B2@4RXC&L>KAmtbuby<>oO7n9&9a8wt^DP9 zFOP1z=ArQnHccx+E$IFGbkMOv)PfdDiE8wXEB4%LMw5b(!c>|Rb!HJYltC+!Y@|#V znml0iIDjZpRVcK?_~ZQ=c14N9en>P9NPl(+7(93V1OmPKKY5{1(5@*quB6d7m1jRz zEZccJSqLtOuri)KNXu|Uvl4$!OUQ7hMV>zkMWUfh3q1^FWGEuAuBg=O-B2talC-|Z zQKNp8vLdtzghIHQ)9QmAE9M9=cK2|RKvJ^ZawS0@u}Z$MpO?IR|9Ro%684h3B7di^ ztaI_XY^-`HuVU03z;o4(Sb^=I<)+e6G79^zqwd8h+pginv!z_-H-X>Hg9O*%l;TgE zA^J%HM`JzcWubTJ0V6)R&KnRg#;y*DXx*ZAEjwT7I}XtsJ&E2>#a-NWpYuE1Ee3X^ zZyCzq(yyn$%=D2S@JSR+@e;5sLw{aE`_7^Uex69)^_9esDK{MAyR%%H^e=-$6mX_Ouye}|PTQ6;(g(S8;bsx84g#2=nP@CV3`eV*F| z=n;{V@CNwwiRx4QQNlUtB7a9*zpYz=RjYZ`C`%)Y2adMbl4i%$21(Rs`{xc|!I?lU zaAffao%&Er_e=3lbj%RxpBRzd^_3>zEI1+=aAreSo9dfPe?-1J}$YN_BNa=2ANj&&;}Kv&6#7 zt=J-=MPc9YGGtmwKsbe`1hz_NUYy(=)!kXP1!&bZ!^~RhpIaQ-cHaf0>2shoO0gIN z0);i^423QDY=2>45SUe+hL$BSE&5Za&;@v*$|w#j!<7K6KhPw=Ge##vL|Jr}xbW!? z57qCfg@MB<4-SlI1$mR;z-ULS7TnSo=mN(?|H!F3!vG1h$bbUZ!$5t}O}LcvNG#qG zH+*DH(17@(Msk7{r8emZxQFu&%h6f8%n63uy_vz_N`F~_B^dk_3>%q|g61p|zu@(} z0DGe;0F2QMIWTJvZ4<(e$Vaag>*v(-h#E=QZ9_yujM@^BH#}xK3arBH-f6SoOaxxt z>kfLjI0Gg0VQ!X7=90v&scg^85+0BRRUrixstX%{Il#^-jC~%KKsT-vBr$MHJ)VR4 zp8ozT6Mu3-7Z=Q^SAQr~xy~42IYNRbAK|#KOHjc^k{M4T8;L013E3g3K!Y>NmmrE5 zL}md=h}sr54r^P}`WitXEz|EI2pCL25baBR*rvG|I)|Psr_cM<#7heD5>%A@MyH%j zyz`p)Y@3=2vak`a*g zjq4yGsBkA~(lwaXGQU}0P|3IC-I7vT&+ll%fiHQ*bJ}<827Ea!Vs2O3xC8?gq?9N3 z@!1wBRCxH8JF45-C#aLF)G7JW_`Z}+6oUQI$4+k)sqqo$mzMchEQ26G4ukb35k#%m ze1F6tzzH{~rYy3|GDIif?Z_?}WEC)yMT;%CYec?z{ptt!(*l&S>f#^aKhG^0V2q+` zhieYff!lI!S96FYQ7tj%GRg=dWCkN$0auXUbo=r5<(k@Qe z1JIQ;q?lRKo?KVfcmx9GJF=euq)lsih#W-X=tgrELC2DN*+LPIdgsR+-IJJG2!G+& zuL$G$4M#AgY(RspGlf;R!z@Q|){H&!33EOnX6PAT+#U9iq_sUkg4UlZOy*jtV!SXk z&~{RX#0q?ZS2)=q_xYd#OV%-CL7KRQSTR7%BDwvbgN*_=_{(dn2WYH6#VEC#75xi8 z3Rep&MK+WA^zL8pG~128-r1hsdw&bZz~y%1EmCckezQh*IE(en}i zXeVk+`W_|hQZ!trOFuHTIN+>%IVhN zV-(hpKxd>aM2oBD)Q?F=T8`ngHFF;ro@bc;f7d_ga$?WkeDk+k{jWtVkLDN?OPUfex!2o(es_XAE1`IaRcs}c(n8IA!9~> z68ZG#@w1&LM42DOLMlvD1Am;rCX7;HA~mQs{c{xy@)EL|B&>9KKnF9rH*kSNJp~Q` zy=M=qPcW|ZEeZb<2OEy=6Y5`il=L3Y&c&9Z+X)JnR4w%az1m5^=0O>dfeg+Mcmqf{ zEZsbkZZc%hhUwF%=)%SfeO+!fmya5<1H_0pvH%ifaHzXX;f)Wh&3A@iY zMr*@maw=(3PXtHMWn80C7a(-e+CHuxZ$GNGxA&@@?FW~QBRIN9kh7o!hL>Q*g4avz z1wssD06;v@bWl6jKvLdkWD@}uJhuJY8PJg?5X~A&wHElI|vF^P=a>)kMf;chNFGgY*&YaM85n~%c5kVB2 zsVH`Wl#OCvo{(hsX2%k}wX zMA~o#$6K4G12P`^16+rA3Z377Kr2m7N5AS^*|%U__>yW5!s)qhs-v4u`RXDyh*Dk&3>gk!-r!1`j|$rUu0$kCi31X$`=C zPn%oYP>G)5u7By>{`$O&J*GWDfO2b9Yxc4sfY8h222bK(w5TWLmAIE`B48YMHjS|H z-n!KoB0&`OJp>X5jtem}Tx}`)1<#Sdp13d2#-~bt?(kln z5-T&*3QuJQ_>fa()Q{{(&9%QpG?@`se|*=4q|p*tS^JJq?<4l4Y4 zZ=>-*Y?)BQ(3{##BS4V>rL@t&zpAuWRsEhE2<%9LnACsDDi8fXP-J|U(cfHtC6r+0 zgYwij>wmLhpNO`=H(zVKQG+Rn)bpVFT_zW{sxgZt7R0GX^aNKLl>3lf52 z{X@P1Rz4Dyxf{*5*kHHcudd%&Sv^4xvbV6`ubv>8+S_LBEqKHBd-xpxwlP5tx8Mg&& z`+wH-W^;JCtL(SN`;E7CrY7K`P+sHc=r?XoKWsF9)6TsInW5I@AJ&+*>@6JfyWe26 zCqR^OF@TwVP=)Z8h=X|P2>kBpN<=;ns~GPrFHR87|f(Zht1rV~q~?_X)WC`_+@$o7Fbv?_>>s>maNr z#Pg3R`0^B{;*Yh)&bCna&O-XuJu}+uithcXiySl=s(OHuT7PhdlXH2xdC}bEHYnYk zc$|(mz&5Vq4G<{O@pd;Mo^-C|px1=$fITZ-vWM-y`0MW8?)_(vG@?%3!$s+`41a;2 zrtwV+O8P=(M%wY68a>_&qd-S)hVet$H~nTf#%4IiW@w)zo1sNPV(SC9RCw%Du$(iY zPiV9d!&fzCa}qO~V}Qw>toF%kviM7B>X^(A?X4mC$Sg1;2Sm4g;(1V;JZJ#-d3eNO z-jJxj9fw*ToFqAKb~}glJr^{bEq^wZtDLx?p9K^VKL&1qfa#`Y@{+(#c;Kh8d@EvF z6yjZC|KQ4i{Or&J<^8&>5QCatZ>?Wi{Q;TGI#gONOqm8t^-4M`3t?^6bOapb}GT@q!glvO)u$#krQk3O^IopecfHG)^InV+)R2ek=bDvI4>~TCqsIk$a zHRALIbaxY9!jO6yGpfR%j(>J;Xox}ioWzvP3qq46>$;COPfdOfs!vqXlyu7*3W$Ke zuNgDmgzo_olGKnGWMa8=?ssMy!W?oiG$F*Lk*cvl{#uQs!Sz=*$j>YNqAa6waX8Dr z#!Q2*>N#I>W#w0Yg=;9GLl5R4=j$S9ZHU%oKz0|l-&iN$9~yYW@_)F21a6LO9AE_W zO=a&WnjWBSY5K&TWx36u#T`SC5S6Gidi`Ku7)NMvK@(6%m5J0=PGYxAY z_`(s6V7@~59DjG;&u}!7hEx@LJ^rHgi)Rw#u8{6k!xl0J|2$BkmBO{sbQGbj`t(Rq z00mw98HbiH~28D0iX=sZu_fXp5q^xfi42EmOZK*DYNY!Xze7&wt52L(aN_-$i*WGGvr;NR&A`F+zaK z4!Gmd;9}dmn+w6uNpQ1DzkaR|<9r88MyE`u@yc)*mKbp*=qfNNG3bgQE8-7ob(X-` z(WVB^83R2Z16rb{IdjK=kKj*cF{S~-N{Ayn@6ttr@pL%1(|>4mHB5OTQ+XiDiv;0| z@PDl$uE*K)Ckk2~gNv;qTWOp@e^e;)7Dbc{^RHfzdxNM7)-A^o11mHWYF=G=BM$Tf zeiJsyc?qF_B;vHdqOM#qY8n@04Y7|C4Q5p>x`Ld>?M< zej(g4@qtdw38mxkTGCu969qqM;Xl!KUNJWF$HGP+fIi|-mFNxz+@^3Iw?!%f_hf2BbD%3U_z;7MH}~ajp(Crsjknj=4I_U@U~BdOILmCyq3Os>^6w zogB=t0uN?u6hzR8Fd1#Pi=DFJQ#N|6^9 z2gRZg2@R=m+9!p13)&~ewi(+iJ`z^D8Bbc|L=p2q97LR*1n@dIU;)x+3J{+l$QT|N z3{?1k8ZbGR5PFMT0QHBlSbWl*9xJ5Pg3__hrR@_}C43ZM8$%jenp}a-D(0 zXQ78N$6)CBwR&sbH-+9pX#1?*IytLv+Zj?+J2;8~JrUd*C*=Pu1ogG=!kWf4J}5YO zVRc&^^g)}!bZxF~IDKux=?i(vu^6xrE=`V^Gfuj65oo`18Cj?lss#C~Jv>{Y4=#Z< zi4e%aP_F_(NrK;fz`6y$rw*{?+@R!fS^pFx%?NKkm(f)Q6n}Spi1jZnF-R`3XmU_bEA{CU)Mu&Q0R+iX26*-VxB)UV0f7%0e8*F-6HX7j)A37D1Y5RMZ$ukMSuMx{`(dG!RGIG z&`7FHEiE?cdn5R!iO}Pvs>Le!0<5@h)JfGVmo!fcma_n$`71bEoQrb+Zi+VId2Gh^ zR?MPt+cuwHv@hGR>Y747sUWJJJ~Ne<4=SoMyt2ai7IY`$b8+k|qPg^*GZ*G?5Sh_tjs`ys)zh2e zjZ*Xz4SZ_8YgLGpOq7n|!UD~dSel#vo(ys3y%s@~Ebwn@ zFqY5GW!@b(gb|p}AA&@t2of11NCXMtC|d-Oza-E^B?rZy2Q)q>NZsUppt>JVoRduX z$A2pv#td`6&5!`{q)mtcBTO5tJz+v-jlpWS&Ihx*Tg|PF+4fdQ4Fur0TO`Pgh~5UB&Kh{Wa)nZq}xo)H_rUyO3S>VzDe13+n` z&mSH9n3U-@NmEhu-9v(m+j%WGEl0LX$|@&F+E%@L4{o5{T8(Q&xo5F7;7*WEBNqDLVeXPg zA-kEErG^9nguK_8A(neI9Z_yS7$zyil1Hs`JUwh=#jzVnE~nGk1wo7Y?VCvZMQ{nb zLS8MVr{(V@hBCq9_vh~T6)XW+hJVkS2wT-+7}mI$ot50V0ukSMqWJ-mql7*nIJjXy z6wUH3==rBm{ZEn&hjw}E1;c0a?(U7-d2iwUm-m*X?1XCxc5e6tJ6HAvFXvq$D6eHO z{_Xz7&2Igs>3%I=)&+dWCfyGGYyjkrGpYQVB8!gy6sHbHP%ggabqlFA@_)}zN3d)v z%ss5x6szpP-p4aUMk5$n-D(dDQwI|RzLOapoVR*!*3h@`r7!j$y?(Ltj7}EvHShT~ z417Sx`0r5um8h>YAK1kZ5!~2&c&Y*~8dql%h~C(Q#>aBxfzN65wFpq{-g?$wf4IB% z>e&ty)$ZfngIBN76}!!vU4POot=^edr45&E%QXZjB9enGtY~w+IZT4bZVDKXuFad{ zumF{{o`V(;r6*~TTpY8um-zAB1j1`ma^i^PnkV;{j~^R$?agVk+r$#&ktBJF)qMnF zbc{vS?LZ6>=<43=)-Aeg5ove~$$bgYAg3cxU-ZgP1`|s68T&RjCV!Y5NFzFXPi6LG zjbm&L5ucN&w}4E+zgc3pMl>&e?6ASa_{VNKWNIR44r=G&FDZBY+SXZ@qR1J8KWSko zqx6^We|H_R2FM4Hs%LJowvM9dQ>s|Gl^Sr_2xZV1x?5oJ7(~qM) zTvUa)8r;1dk`4OYAdo(yKu%-@zdJ<)r_a#|^#H;*gXTzbEa5PunSK$sYZ@3d3n?jy zqCxlRsT!5h?*Yb$EjKN1D}+w}FYWxfWXC#n>Jp!>p5zk)fPX?Cuo)P*y5X!bM4uSY z5P2%wT%wb(I3tMYmt%SAA6gu$K726(+O|DFhEfAK3wx_eStP)XXa~E!UyTvR0F4m^ zBZQBl752#O*8oLZt}OUOGz@t|mZ`qkUFXK3=lCaHc^VHc6jL3`=w_oUciaGPFJE_5 z`I-)_t%=a`^M8j3B9MFC56m_~w9&LLAi4ONel$+$a60(Nv>p0ONAKfH#v~LH2lYF# z;n2Pgo|~UZ98)8XXihjNQ$HepW^7X7g&k4`NBtZO{!{(*HI;XC%XL%%Qwtr%fFj}D ze?w2NF{J;go?d%MqbA-A;aK`B7ird%euAtK{dtKfBY!kh_Of=1Ye&lShb!$^IHGf= z9}PT?8@WHPnBK>&V_iltl3jZV6Hh2$T8^QU!ZF=TI<^x;Tbn3dLxJeYL{h}9(5U3R zuB}^>m1c1_60XrI+`lp91KX%|=jSMZm#O2P94z35SS9D^0<`k=eUWlC03!6JWoBlF ztZ5wo<$sIHw*H`$q=^7VCs3e(m%~VsMZlRE$vy*)Y67c~Z6d7Fc^5{L)xviWZ9d*l zyxdkOiqOI|JArkoyma4Dr+>?|1#ZMBo?=1l4*OI1&_yq2vigw8&hdh&6}?D++g3nQ zhf-E592R8bvTei?Gu-rUW!neNcMS!9?tX;)bAPB_ov6=y9%L0N39Dl$%V}RCFFPmi zrSh={^QDmXv!?n_a)ns^D_zsEE(2p}dbv$>C>zJH3S6aP*Z9!spWw6(5$VcP&onvp zh;01V`&mZg3xiR3-5TQH!sAZW?m%7AZJkLbROUTxq43uTedifYBZ}xOCuNpuOBSE( z{eQ@pD(9UZi%Pw|d}YZ+daZx$41&6xac1f(Wym41kF_*9k&XD5?nBrCVS_f7@eujl z=mY^i!ffhj; z^PNbMjB-ByIPE@jFw3}<6kpL@phxJvZGRF*c$dPYsC4HYlqE&9RTZuED(SXgA>FT~Y%nCiJGPD^>_gjc;q{9EO-pgT-Bze|y)y zox6p%*36?WoNPS)Yu~xU;IoouE+0w)*QwGJh`IuA4WuwgJl#wa85vPAK3+t!gD5PjH~&Xz8bN z_9PUkP5ch*Q8YnL!W~eBj%UVDO9pEFNC~jngmNRIOD5!67n1aYZG##Q1kS8Y z9IoA4&2>-DIPc02XQnJ`df|(<9;_3f=`vC^A}*;rW0ub9S74&l>1aZhXn&LoFb(PK z13t3*;U(x0hkxjcO)kqQOqkB5Vg z2nKYSXGWlj5M^bm?u5FN%{bj-geP*zz12`v=JY8Wt}AyO`PgJ6T^QnB>rpA4I^iQI zwhVvu$Izctm?+;wpzxBx^nXvJ{St2PRyyKpF_vwBqxgvs+Mi2TTAEXzou0~QKoejh z2XFM+qTaWTMQiV5owvEHqxwb|KO+U*5uSrU{Px))Rl_z-=~q9(2?KjukhYtxD8E-q z1n>{?vWBj~1Pw?%Lkh1M3)UCbC^C3%Zr^Hi5=k%4E?%R!Ehx%-pTeh;JWJ8&V&MQm-XW}Cv}+^xa|z536G z3e$hSBFn|!nzQ5hnG|+&Rp8rp->~XZ5hyRL1W^=~?B$|#HNS#lS*auuwdTE@6uN9p zJ`UUB3>w?blM(fDs(JfY$zV|J>wcF$=vJ2>9uMU8|L-EY?$kKJe(9_G%g76& zt^=Ie2JCx|6~BA8icr^nWks-*P)@iIzC@z>EWmn1XEGZNWFJO?(RS+`fKzmA8R(xj z|Mc;XOh99Tnty`p8y|-nLaC@9X(t2(dVUW=WBwb*h|2~doD;wxbG`1KJo*3w$#Qf1 zAD`+g@7_&TD{Hg0ulb|Ff0hsaQK{p{;lV%T&*~?Z#m#s4-{B|zTWPMW;lHm@b!e)k zP2me>$^&%RJ zj0i$luFR&r+IPs7FZdUF3#bUS@4mb9eT`Z4nbBkxsz$uKo5hZUS9H*lKvqi#X?eMM zWAoj+4u8hFv$nE~JIxi&E4&&sGe6Sp_jHQUj4A9iH~)c)f)~r;NkcpqVC@B(FAz|%b-sb@O{U6ub=w9qtD*kv4<|79{N)ptF8Ais5Rnf@{vAw>FYs7 zu9n8>8XTNLk#YANK=(*IG+5qv_ilN8W#gn;`DzPaG6Tqgd=_hWUm8&d7k~6At}m6Z zF@NLuZlWQ>Z_vHxW31dqgV_}B$~7BS@Q9Xcg^L4cfZySS6BG!FYoUkAM%&5g(g@+6BOQ9 zS>fXb2Fa^V5FN(cbTZjJ8mHb@07J+he}D02*0aW0+*suZOJfP9+3fyC13~Py?_0Ir zPVMpG#qCSZhHnU~#IJO0y4Z2od)S4D7x#d?!mpd7>ee6OH4Yb388YEOXAP*QkC!ok z#!AvrbrW2vgaQ8ho#i3C@BRKv=Jiy?eK98u8H@o7LGWX;v{YUXpNK11cfK-&4}Tnt z0X`D>k>ThFY$8C`(5=<`Cx+e}opU3z`)^)9Ludp(7x$oq8TTRinIDpW;m>!LQ5>hz z;iPNb-X2!_lc&=ufG6Mzg-uhW2?5iF6cH=o$6gr-AUkL$M!(u7tNSse4Ip2f&7rtucQq}DX@4hBlTq#qL1Yx1(P{StTLSS{5Py@^j#$V3-Nx-q6mtBc{~ zise1VYp~Y*LOTl7SVW5KURKtBst&8PiG92IEe77a$`hW$t#BJ35;`)KA#&ZoJGVCh zx~xC`7>W&1Omst5^g^Akwtp*69_=I1sVCeC@Gc-I(7eVURpw;guCzyEM7F|>N#?IL zm~3~EheU@KiAW~coNKx~5YE=^2=eN7r8nXPS0XWSoOHHa``sLR&30Tsp52!R&7nGp zfEuE^Pz+-`b)(PVEhdoxHVqBULmJvMP5IDi%9+@Shrl21UqIB=>3@1DUsK{g=2C}9 zEUr5g>T+*v{NogVCe7^)ME`IDfXQ#{0v2qH8{l`*JCO1Dj&TmBB)N_)CVI-Fz>^(s~D<1UuZXR2W5e=TO}pQ_NDTj&exPyaSoe_Ar$|7N9V(o~sl)Tu50nW-)2 zs4RFcPHD(#EpyFhG=D7g#8WD_QzFl<4+0Bd&Vckzq)JUqj4sbYs?>bYI&Z08z`WzJ zQj5<+Hg^GX~W(xAi&(TK@_9 zaK61Z`P773jbDJl*kDTZBDqby$At*H892V{MmA67pRt0ZX@93(*yv#K6hEk(7eX}Z zD?ht|O^3+=TGQDCbSduS*bv<^ zUq{{lyVd-q>itCJ*!s2A2g_Xi;SPQ(R=2|QK7Lmh3K?~{C!UZj)_BPtp$~jAJt^3>cm4EH?cP<}!dc`i)TChv8_G|A# z<-ELA%FC~@LwKZ+a(0e%A$Cx$2+>xmKgoHkLEo_&e8*~A^cr(avK6uZ30c3vo_`+e zAA$8d&nIyEk#Kv7T%(&tz9AHoMnV~?(zkF?fAq1V0Z%yt0N_tYO!C-1l~Ye%DNjL$ z?D9Q2P=DBC+$~1Ol}%z~98D-_RM>(t?pLVh3fA}K`9{`*|3;?q?_>=^cdxd1eyu*^ zpFh_9x$!SzUI=;sM>GCo3qfwp?l!dCU3bJY&hz(cobWC{^cb}0R3<1d$ubhfjYdq3 z2Ui{f7asr}k>!jl@=Ra=?B7nuyIx?on0T)?QGe(ShbbsN4^Ugk!`MSd&N(C| zo_|Sx+3e;k%!{W%X8mYXT2v`0twB)&4_YiH;fmFY=ZZhsEe&oXQZ0EQPQ_U2zd$vn z(QbIL%Tf*TJ@obPqm&t5N*O_m5^r=Q9Fc>Ou3+&~hq4y80G)#ULr%3sbHPJ*BzA?} za!*SFUvFrnZ;p4&_Exwj<-|3N55?(;cYma}a!bFT_dNULZFfOfF>Y`Q>M*{Hed-FB z7CAL`59^2)7^f@?TD)Wcu2+v{Ku$num{|z4uBnb?q@~t-joaF0HWHG7pm3Ld7mCza z@{pq(D#rE-jUPfoslG1jr&C9Y$)lLGI{F-9C@GbS`Y>8AjDUB<@y=eMBs)pbk+gbi8B zOUtwb*5u!J8}esE4S>XN2Q;3NrgOvfO7k|MFlhKww_ISJiBj?F=jPsy{L{!gDq+!C z+ji=KTRWob-B&_Cqaj42LX(?O6MrScB6=*HKXBkYE}=NVBuqr}y-FTLug#^QOWA9q z7ZQ(%@`eyuxRBTio_K$rr;$qZrAKG2AtH@cF#bEW_2o(&_`0R%@!zi=r5ADG$%6r4 zY$zs_JFzBuxW&G#smgAFOY1e&sV}-y2IGH8g=+VW34k{E&dEb&=JV97v41LRnpYcZ zP)YAP$TqU`XCdrCnH%bVqvEyuCO^WuwjE_VTBU#}in-zdL!P5Er>@6~!WLnYcj10K zP|9h1NnWInh1vM$a+MZv+ovy6lnH3#{da0^7b=VYb86l41HS8IQ9YaHyA8-QE&Cn&^XJ{wZ*&7{41Hu5BO5LJmrhhu)ba=j~{uoI4 zMwUei^Q4)s5C~`2(;~ZcKJygC{);ln;A-tWNl;`QbxI9u>v#K*Bd;R{t>8%>FD~V-AIibdmWjtZnG5qOD-j&?*FRUctN#EAIHbHy3+% zmJAd=Ckt(wuNNwWAAe~T^r@IlN#RY4NGjJce>pGyFRRx79d?J`X9dY!mak<(C~h96 z8ZF!puKwiZz8cbiob~k=Q z+Z~2~_(ttvL+@KF4w z5u>WLCg;rA$~MSSzfJCp=%2Z1LMP|$Dz0dI#F&0_x_?!*9Nb|I2}Lw;mbP;ulI-@z z20JA=KmW)2afUDaGFr#Jst5m5Zk!Ws?thjWXTO|Q3xeBxL1wP5Xr43YLY>)l`YGIi5OI6#TLv)Bhj4{7%qKn4$rmK%YJ}E?}IUN0^dm^?gUcTm(p1)jJ9Vl3@u4>HyNO zEl3q?Il>SDH8UULIjQSPy!)gp>d=P(W`8M%h4j8tbXB+0nRt51SK?b*4saQZbRki)7i^M5{G zErYE6{6=N$aDw>Q?+!W#_*`Tfb~HSC)7a|XsrJ8be1m8ZA=`GJWIJ!iV~PmL3*nP| z+|XpZ`)u(sM8aLb%i&X?y@gA#NDB3vh|rLi6icptbAs5DnoZfY8{`pr|hI#KjKV1JEB>WW{Ij5S9-r-j}4nBUk-UbmaaNhQBZk-ct~ zv4yD*U9uh#00>cvYa|#%?DbRhomQVfDa2%EubFe%o&w=(9qK^I!fdwy*U;(zq5y$lQOMCe1^BXF zGijBuCYNai+EvS1RpoEZvq{`zX3a!kBLBW6urZoJ=A8bSW%vg%9B8s{B!;XZm)Tn1 zEM1^KJ1K)4`_*=T{pJU7*?%@LkbL4!WWsUG6FC~7u=}WJwk-TBwg_QIk!sEe+%9@* zNpLYT@+LO=C>>D`BmNkY*5D&3&)LB)`T!~zc1FJfApp)ZkAVcx8-3uaz7JlGRHO{a zcdYb>q3Y@Y6cANakvM(Ud2j$^f#IYEB!zwtuKVD`;Hk~Z19;^gkAM5sB|r~UE<=%@ z4yy;1v(a!gIfrji^un`QyWeRofkwa#y7rzg_!H8blch2NOk~ds`~S^>$yBxrrN#v; z4~>|0GCu}BM6t$V&dolILQu8g)KWG60Hy_;1p^rG(IcKIz5SHz5W!;FJ;M!Au!Q<0 zI_WY+4Yw4iH_wwuTYsHzU>w_I`_QOBAeRPAj!c-g=DRS)-pAC92^6lB;I|kY7)q83 z4-#&Xh~K<3Xx=3M#_r*p?SOVksk#QM7w#=2bz@dD{~mC6;@7Z7{jp>5;^P;;u=@KL zq%28*J~&oX)Q5TC%bAQ^=F7GiTO zVekc_gCNaVVSf|U7$#Xh1T1^VXx6&u~Y7RLS4PM-nGyBPQ)sltA`u80Am4 z?a!gBOA=+lh3i``OvoX(msj zU_}p+Zx!(>gH^7tpO*nyVAFs#CfI}3PMt9@n@xh{9ejI;Ik5%Uhe9tFsN0Ik5l1(E0&dm)k3sfB31|!}Yl@*0Ewpteq6YH-rjLFTc8& z#m~<_tV9*@aVLKa#6q1Hnvkr}|0C{8+uFFYZol7Of#tM=Oo74a^wSZMdBDati4ATB zJAb(}4+u$sIs(xGc?jme-?jE|>YN$`$=mPk9*nB$%)>tW>|yO$4(0JGKIVYRi(OX!V= zQ}~f_r92^aJoXCl{-Aj0zG@F1&o2FaQGY`NzuUlca%r6NrXpw@Xob_)r6yh@_-2S$ zWE*dWVJPz*gN-3>+xZKuL)-4BQ8eKs2apM?KQU(TDar$IVTe&msJJ|qF`u3-EqsqY zv3&x-c`hA{2nGhocO&dWHFi4)g@ki=>U1iB?;=i?(#Ma1Sr?&zpW8kiTShZr@_#%g z*&#{FNw3pZ`v{tp4@4c^J09csmZsdjV$y0(Nn5u9Z53waI_6Xm(iUt=2a!xD?8GjV zIK~>WjxkCxaI(Ii5ohtLeWbBwzqvsmVZOfQo=8Sjms04sSDfzz-Yy0i@bq)aJqo?UmW7F7STt}yx4Fc#&qBczvS@}$%PU2)V2FLWk?g=UqU!{ne{3 zBeqB3%S%aK0RC2J#~n>s6x!HrFZ|tayrY$Fd-P;>G&cl)5y=){_GUtdM~`?1Sr;)L zc6Wc~s5d&7d3j6l#eZ(8F)s2uf-d%zGwm>a z24gNF0vs_aJZM$PV{?1F4x{jpDh+(M=(!VF3ym-Vw1nUi8h`Qf@sQOw5EK=m-$)+= z@A0|^gWb_&*rWEZC#zx9Y$B9a$IndYm!h_>u!#Iy{HbMS%b{SuP3o8XzB9ZZ8%o)_ z+#oPMW4LcYVT`bJU0`eWFcnc)z@dZ%%)fLPTq}UmVgrst@a#fAf|dhr`5Xf_75A$S zE|u~;xPYIFKYwThMt{13aE%gAmsAfSsa}NLr%%DlrP+%%F8?$Z=>3iLpd(5v&7yG>KHVwuFFiqwWT@e&j=-f2Njt zVWRDO-{;SwtvKFu&rl(Z0e zs5w~Nr>h?T|0!=xoYO8L*V^}BE{0APU%{%p_^S2v@#Cex8Pq!(DS^)8n&0=3M_)_T zHdwIyC&PM7BL5|WrJT*!0>*9)tp6VL`(g56xz+`KaP+N-Lh~o>(@Fb;iMqHwG6m3? z_2C@=L4W!^EN~ps&RXUanq?AfEdY z)4W?XUAQT1oI}JNCM$mNY<>wt6u)Uf*!>x$4}Y%KK?8yoU&m!5pMb#?VzXX>$T@?Q zn=3%rGXkRyxdqCuPuF@d8f1HMiP8u|&95!4G7-zdZmT?rU=SJUnYvJ6@c#FrYOM6w zd)xWE3QDtau||XouA!>;9H`gPf>Z+yPB12nikGO>g^w+C{AY|YPr&uhV5%uDvm2F6 zGsIFN~G>`Zem6^EcTmQjFL}Q!@XWzcq!sy#76Zy*j~7 zp7>?@F3Hzk;mn_HUYpwOQX7&~UK|sF0Utt3dg-`NzcdhjaUkA*r z-Ff|CRSUf0yUA6b3tZRM%l2?(XxEL_h5cAr+3bI8X1Jb*aYmjU0PpnAIhYu(c$m{~ zx+WgH&OWBuKM0kv&K9yq-&zkINGO7rxKXd;?<@R$PR%g>o;-SV{OHlnqepLgvnLUA zNjkH=fnA38$2ISF%I}-mC&PaI*Gqh*3e_i-VCkc^B(Z7U@gQq@OKkHVfFW zt$$>F@=w&eYZ&IM)=ffVcfFcG5ng9dL_y!9oeZeQqm24tfq^5CN3_} zt`{PGDA1nP&skvyL0e~gv<0iI!v6ROW?2tWt_(Q{TZg3;A=56Ct}}ZJRHk-m1uK88 zX?;*0+AfN%PyLM6P&nJ)QK5`cteBl>*l&YIZjxHAgy;$umfkFMfCE+3Xg4S?6r~B> zacHVYzIQS$hmOe%x`=rEmMX+I-0dUy#W^+%HP09sg6NdQDk4>=unwYKEe_3pJv)^Ga6xbw2pPVoybd zQGJUN)WncfrJ0DAik1g&6n%dQCna^YgFJ&-HH<}MWg5D?lA8x=zzH=-%EtE>Bk|qdd&tfAu#n_7GO&9X-SpFUG-@D^< znm?nXYUZKBT?0^zOlvxTDbc+KGM9TYLvN^la+W-WO)MJ!1k1_lvVeT3Wfe=azU8f)US#h6 z2I~SbU8pE94#;>%c|g*OLg&*!_O=*lyKHXbpr?gF{0K6-3XR+tT;GfaK4I9Edql;B z495WO5EadA3~Qmkz(ap*T%3%8U2?u7ufj1=J0B&FQr!>6r1S9WCaLi5zvKgwoE*HC0N}8|i7Z zV`?vDvT^)@?qPrS2D^sW5~!fSjY81$rEx2AWL0MdB?RS3)H#?fbz0AMnkurkuN=9m zcHp$&eD=qn-n`Dbh(Cgw@wg2}6!SQm!?QHZDBXAD-2CRew+vKc7fNcePfVdAU zyytCxABTUcH?gT1h<8Wluyn@2z*Z)DFfTB^W(ghB^&TpP5m0LV0s)JDimzcZoouA7 zjN)PM9h%dWX5mqp3Os>+)|CB|`egkRNdqa+cn`ON+Jv4!Qq!clHYGp$VZ_meI+3<3 zjN9l&$!67|ZOldxfc39`X^mklpuc}@b?_UO;MadIhl9)3fTJTcIYKIV*HhDKD4EsA zjt`V(Ni+48KV{_>eEZ?XKyKvOo?Y?F9>3Iz*00wbrsrQpO zu{<9QDLaOORZa8J#(ZJeMW&^K8;X}{6n=5qI^&kf{X0R{U@|ZOK0{**vIKDTLD~hY z)w|azKwC2e%Z2-Dah;!IL~*43-2c)#y={M=m|2&&VL5NBidFLW~pu%bRt^r&oXB z0Y~Mv$XzAeZJ#3F>%OcT_31FTmvm{6P{4~!1=c>Qmy`2L@cN-n#5MPxuD4eqUO2=d z!Zktef+w2zK zt*UZLq`a$;Z!}wln$kc<()|bp5Kn(H7V9dzwWS`$qL3hLr7Tj~vW*x~vwK3+^1`R! zH3ZuYKkMV-;Wh=M0rui@Lh_|SOIK+*DPX{D=C$dwRbb9&E@t5oATRkl)4bWS~jc--51UA-6pgpq&pNh&v5 z4~|{?6!UKhL5&ow#Y(~#=vlBwqxB7vW{#gtnaCaA3(wm-3-na-^V~Nu=5KbtZkq>a zgyDhv!R@bRy9eg{ma>S=oAuoHEy75MHgLRRAI$Dr!vnE?bnZdFB2~!S30jYF6mvcX z9iBPT&2}^oilWM+PiUIplTm-mB4&S(^pRSim!G+-Sj`b+afru58KB+i^lKf-KQgHy z-IJDgTqX@Q(W`Oi@(i|waHo|Sp#x6$3$&+|r)g^!O5&YlA!?u+_!b6z%Q_5iOtw)X zDltb_JnpZfn1xmm zT%bvrVVpVa+`)M2g^7;uvBOUJ+-2lTJ>Q$lBN~AGkpno-47+!&Xc&x5D?5!EhLtr8 zt7aJH_tnMJo}U=ZDZ3f@= z0MeM*bCbuz0;>e|w4ZkWh)2LLAxe(N?PsvYjqQXH*D>|sEKfy# zsgrxEDNcj60=8X&G&sCW!K}etqKE1d-PL|{(RY{w`#CTYzXgA|nZn4b>;lcej^oTg2716=4qD}f^usuVm?!jiay*#wzXW-~f6Wg9291GG>_mk_WpaO$R`%I3$UKbRs7p>*kI#?%&Lv9y1*fET)3coEI-R zA%i6k5J|8BPubx|kAy^S!aVi*mPvCoqK7Uv%~=$OE{^uveaED0tk>M_9t ztOSc}+YWz{%7KH!2lu7(QBUwpAZaFIg30s%%mb??y-UG@9RY1%`c&es?mj5vhTd^f z-lOSgQrcWZ@=U=grYzcSBE)FBMgByQIjS)^dU^l>(owG^XBeNf7_kycz{etGjS~m3 zb`GqSF7zJVb0*mCup-nNDvEdT!is|RTuhl{w6K3>1t(bHXIzQhWF?-}ti*irNp00z zx>@(ZWgM^rcEdfku;PrUeqGG3*EnE*(WaIg;*MhsqHjIMuI-$niI8CsC4*h@YO2U= zN>bYH-XSu}V790g##b8iGR-}dAZN}6JzsE^ktBB7!#xlxFka)%i#~>&?yT|ik4ydU z2$X+22VN$BJH1u7wRq1AdTx3T?kBM-jXt>qa$CM>xTeyo{NOh{lt5+>Ry@TzNweL( zSMo@~5bB0V!3nY8xl8PXfa{k~61#As@yDq5H{I~TUl>SY)C)c_rE;NCL+3v z(AHmkGb+5;>e>ru6*U4_S#hUtLi4Ciltuk=Jo|2({nmxMDS++Zlvt9zU_F7ji}d9j zX5xg)BOZL8hE!&viZwMOQwSkRUZA=UEB4TN7=i4k4XzF_fAYfdPND?;-=YMn`YC@I zcA^#=#byHWEV{f>s&7VGOnM5I(`}-9)Fv;({9=zz;;dnQaWx>0nA51zU+x zQ}X0KouObfAU4_bbiNLPI6LPIPklvh$mHA!sob+QjOF zKnNA(A*rEH)cZ-cdD>h_A6te{3pZn~V-2Dndf8miLfrtrXFLR9#yp<@PbeC)Nja>sdv4AoDji0*8kCUggM zDDGOIl^b1v{^(DgwdPG!$oqe@xDY=&K>}{VL;`jKqCYV(e+R2>AQyvXYw)GnPlBNb zTNs?51Rd<7E?kY7PWR;V7n>g-dIrUnQ&&Qvz^5U}1zIjJ`{4>L6DHLovG^Xh0GCI& zW`H@+1Gswlz#Mgy=Z5RH8pHCQm|K)5G%zKXVP)%55WetE--c$Zb|imq>3EF%t852_ zSO8?f>IZKHndtgQQW>|db|hVCc|@{-2}bb|@GMRtpNH4E{@@76%3zF|282k$-RC_{ z`-Ln1sCk2ed}^ar2n3F3g<|xgV*yX~OU+wgYx9mKB-L{j(eOz4t@?#X98DLRDHx>r z`==Ps03p#0YGaY@kKBJ32t0fq0?DcyT>=9yKOw+D;D~@0#?jV6+<~@OJEQN<3bey_ z7vr%vKwSi-cXBy%0)lFlP>6+Lm6TKrG{Hp)(0G~b>IKn!bBaUwrcM5nKJu&HvqCV=pn`hjePO@VMA*RFOlIWF9qF8&VbG24B(2ib1_mYL$~>_D;?IA z%5%(2Vsv3eL4M%22WD4@ZPR{To@P+h>u;`tC4cx0>{otNK_E=e?0B_gF^fQ)o`ol9 zn7vv!{}*t0WIcbyG`TH8uCQgsZO~i-?tvXutd$4okp|l%^tApW7zA72$c2Co*5YKF z2rf~ybkEkYpSRMGBGGSiMt%7mCES7r`fDy9d7*5l=2t1WgvlZR1ZHJ+|N6jB0%{JP z{Hp`)c6U6uyvC7$DMsZd;H&B1Ds|HNZ*8_gw$6A&|9pQ0HW8v=vVpuKL@BiLBe@rY zvT^G^aK>~B^XUbn+yQj%L%=?o>xK|)^o_Bnavioy_rWiU_U?U;$E)7kdSZy_(8$TW>}tn6a%T9bg3 zYbx;^^GAQjZ%T}Av51oAU|gynt#PqILjc}!qXlhfY{!5ksa=DXQgq>FNyT@Xw8mo_ z8EU?0w#aK6Nu#H_ORl|%6s?gEa_>p~rjW5j)z|c|SqZmXmM0>HZ^X|>+ui$=GmzJ+Eis~cT1z|yzUm7rA zM5@)zUsa^DEFat^q7}Up8wg7-)@_!d*FWh@hSx1H7f0oWM%2b6+!6o)xOEQic@@m% z0Aha@3;W)Fzhc2{OGD!wp|F<}5+i|rawu9?bK0NHt=-k#jjhd{L;Di-kLh*fq7LRS z4_|I=zul=QN#0kMbGWm+wY~bPs(Sl^34kUxQa$|9;VYP@U>L7Cj2+@TNu?V*hwCp8 zdt&nyG`ivK*1IFjJpNNxcsMS@fLCwPI0iH^6@3XTH()uvEzfazP{ zw(`((J!bM6+K7msaz_PRk$6ppwo-o&Yuxc^s6v+5BDkibm*q(fTVexjrhZelR1nC) z`VNNN{>6}{!VpxHn+8Y?GnZ$IBY6!%K%a!4@X$*G3%6`h>VS00zqs{)3A}iR5~Fwo zaShX~abO2eWhl_`NVUMW0_R=hY2^3!*+C7YTsmldk1h_Oe+)GzAm<*jqY!^63OLnE z+5P|`1HXrI43J!i6%h5QR$>ToS=!M6Mcp&a5{l|bSAoGQC0*%VM3qNH@Cer?IKyRfM9G*1kw;y8wZ#4lc*xH7~F7*LFh2(No+xC;)})G=mQP~Vx$2<`pOG~ z>cJ#NS2@Y_^+xGYp$K1VFvNd~*V@R|8U;}QgKmZq=eo%Q`rdDI=IQUdLsLN0^2Ur~ z3Xc~A{2$^q90+<@2L@(oH>6u_Fm-Q%{ovjj>E5C&uwri^vhS3=mGt?~Y%r_w3qB=4Z6s&Iv1|GRrwPa@vRW2T`w>z})Q#o)x{f-AoaS_7#%O(H`s=Z6C9 zkz`cvsutFSVl5dat`#f521$w!H!+g4gtn^FhhvUdlLk$_F~}Q>`W~>r=-Ef}rce=N zf;729cn1TIfpun~Kv;i8CRaNNaw4a07%T?Smi_NTRY@cqZQh84Kf0iy#;@5s0i0&9 z532asWKAnAi(-?2Bw}TWZJXOwibg&$eH$wnxS8CG`JowqhpLrbgFPJ<>%ItYs@)aL zHZbDus0GJbiKC3$6%Io#*Gmd18Z8uMdIkUmgQn>0cOjvWx66OLCCS7)8%|Eq9ie$A z>JsFnSR0w;LTWFsA{+xqO#F7LqnNGCcC!h(UYAf9*i~SS_avcu6RTF>bPedw zP+=AM++!%4K=&dG4@waV{I;UY*=+-d3zikcifKHm2LJ^rL%}_IG!nR3aXFAUc9Hdd z);z%LWsg}FubIY4SqJnjQ#D8pdJGAX`CjaY#T=toARpw2PQBGMA@WuM^04Yfuo zC)m@gng01D(4k}f2fJ*|pEtEduK%zr1#NaA7j=J|U3bH;Xk09Y`y)fK6Lp02*S*{U zEnDQtFj~s3nWb-F-pWS3efm8Lu$raKZy+laamXh{`G%;VK<@7+*3rp#cqXp85?C^A zA~zf14+*B1lJxnIcMeIEA4F@v_S+$dr&ySPF!s6%B(~|FCg)fkO7wk z+^N%Vfd7_nt~01Y$J$=PgR;E$93UwHqlBqMR3QADo%S#A3;*6WTlbq#DI=cMB0Pq8 zEBrx<66H@O5ty0|q9OH6!K;B*hb6@+U>JWf1*nD@UPqsi`d$b%_vlVVAxeFKEmW=)x1*_`Y4=>cnm6imEu7lD3uN9x zffYb&_biS%qr&cjV7o`Dr6Qu@Yr)y>QEr|$DzF~5?LHeg&m1qx1gfoSyT&PW1Ezl% zH3j^vd(K2&WI{|zUWk9Z^gMG_(bYh7_n8pQm`raKHcBxzybfYz+J+r}2zAdr{(23k z3BAjvLd)G}eDlmvb0g3>*Lg9qzh=b!vWERSDD{Fp*Znl?QmuBc(|$$|3y8@WsxkvJ zC>7#q=|IrCeqWPFmUio|N3p$=*(!gCWXs8u@5Z17bGCvl0IV3tQ;_%WF%O>8CqZu| zDVUw;{wu_ev0(nLs;n?q=~Y6~Mz?j9-UW4A`7#r?ur(tNlF(g85Gc1~`MZ-bgRKs~ zM6sW6jj2-;y8r3_OjAhPwOCikpu}Z7KlV^quS9+oSX(kv5^a?6vB_iIZXbWO^56VH zb}JZ=IbW$1LAzK0KY#_cmk~SC$t|~EFxf-&+cL(CU)dgpYZ=4Djn5hBQw^yYf83nJ ze9SHCTMt$7qA#zYqVJGMq`F+R17A?GgY5-?hQe+Nq(#n1iKtKW||2J>)v98~XM{z$UPylxbFb{~sF@9A4HF4Llx-x*LvP(-93w z*5DcLhvKQ_kohc8V&v&U*B2`MO%mGHkCKLW<hFgPURD1ID_CU_O{%;35pb!ab`IE*YMW7_n9JLZ2)H&^Wng~!fypBB+? zI~UlFxyHkl>JYh!!E|j7HybVjdAPBvq!q*`O_JgpC5dE#Qds;BW@Z6$MZaMQ$!ZUu zX*{I|OC=UsC&of!bl{v~BFbLHqBj1*UjD)OuZ1NKS&!1E6OdEJ5t+=|MydjktstWn zL^Ok&NcG~brSN}6GHb()R;fP!#kd0!2w3cR*ovbW_E$Qfj(`rtuO}&QT3Q^A9FTMb`UvG znanRsvq!;dGvA4jUK^)dg77^G(SZF350Ptma6kv4y6t}jiC|HMNRYGm$r#!wRgP-_ z*P)s4#*9%w!(9Yx~mLKdoq`ZR+1tGb_-4S zzJz}#`C45dgs8$SNujS1BGmH9&+05|JO#P>BoFYMd`$7HItRWS960=<-!c0@gB-!u zRw=_|U~^_*7GOU6W~?Af#!eidCb{hr-r8w~r325d!%zg668qqK{Vv!Hy6LV>jBkJk z7P82^0Zd`E$8Gr>TGUyn_bkiG0>Sl$oD6?u1cER}ST6jL=dWKI4`1RxKl~jotH=k+ z;_!?o5QhSc@8+1Mdkt|yoY!8@OU;)9gx(#`^K&DE{vA4}`c(2A8*czW#rjnI3^hOW z_w{M;wUK=R6&!t}b!C@t-=Qg@kcK+@Tk=<*&jIW9A_^kmu z%Q->0SfA%TugRMVgh6HNMjsp~$3B0!ct%rj^@#^2R*8<*00vkWK2{KP(!UQOTAgc^ zweLDi{(zBBM?IypGWw=}y~APCwbxF_VBLw zZVG^9NrX6wmQMS|&Z+9aeRaUR5xO4XoY8NZsO48-U0r(Z#~uD^G$A6FT5r&4yE9&R zz47Yx8~lIw@cGu8t?f+B(`oLjVMXL>B%{XLSsjC9Y6BhvW3YH(G=qPv9=e(m?t!Pa zP+1kL2XX|rOM#e*!ug1Ma#e+XKdq{1YLj5KIvA6`Msy9R!m!jLWQx!>atJ$vW5R)l zMBWN#x$1f^8aA(jGX1)ygzID-+ZrKtXa;9)*jqV$rLitBt7~vz`0g=wQwGV4BLe9C z3)0I>QqIG3=EuG-^80^sY118sNtfb+2s6|Y4^|m29=8-m(!GYu2ennUTM($jJ}c5u z0SLx1aLQZul0vusINr8rmD|>cEhJs|+VAbiYp;`G8iK-(6lnc3NEwVXQx*qEfw|)& zsG3{`fsTbypT!}{b3U*HVLO$N=}?i0^{X zG>#J2(6X8y+M#Jfv6AA_*zJ+B@`t$Crm8$xr`ZaN2PCvURD3&S14YZ!!blg^ENo^c z7gs{s3fnF1e(0U9;u~%{S`v4;gaCI4+(W#7Ke)msG^P7Px?v@~DO0fv|cbCu^6 z_PF;yHFwS#p}K!7PPJPuhS7ow0gg5~368+}WZ1)hiFI$k=d_3R8+pr@vp=aso=$M{}N`5Y37+|esFO~ zQ>vOfA}(DqmDaQgKosC^K)PX0n$8`o0CD`?*osyQ$bE`G$X;{ zh4C5|7ZCl^_C;7*p3sOr=}#a8EM*tX=HsW|e-AGAbkr+MH2g|7}-4oZpg^GzdLl>aWx_oIKb+ppHrqVWV;@Gr&@H zE@wYL#vCP)=7cn?UXzV}Xc`0rCNH#OSJQiP-%Hp{c?wnS^v$^RCYe?#Ugx1$Jm#WQb~7u!W%=c|tfNqg4_b0Ch28-R;R<)C{_Ij}FBXOy z%tUv*g0sE~pD7ZM6y+q~OW^qNvA-%#dfU7ZqRtE43dJe7&?pTr zi2@gA76r1#09Qa_(^JJbmy+G}^sxhbA>J^|7h$y)22XC7(NksQ^`kt=k$Kk;A<%#3 z`1lgO&^TmzGTmuuR%`Wfxw$jDO+e5Pr#%o@!JBX(qk!Y(%aSlzG=}C`gHy}=yH)b- zPM^^2<3KgXF>(`7DtE;D(-^e}Z8?8L&=ZAVY1?PWPzVL5kVH*&D65hy*r`fiY?6KcOO zp3z6GUhEmr(C9-E;>Qyb*~c9ID+_|)X6gtz3Rf5vm0<$qN#Lrq5M^-N?fIpZMx!;{ zFMK)Bo-9|5HbNKquDbODEgnYP7wIzx2Hz+m*n3F!lJII4nKgq52L_$vk2p4Iabh;8 zd8Y*%1igayaSju}!*unc3pszh(Y58`7A91d0=(n!&|kOn>VzA~j$sW>*|A-jP!5FL zSB%%ia1IZ2i5PVw$Q;*_&`o&61`T&%1))e|pJwPQ7vrzt=CILA;MZ`4fZtZd1;fTo z?ilXgZflu$=Y|Jsvba!;8GzS?q!Eo}H8IKU794irKK%9T5WAv5IAni}p8Uo!_d!HO zT#)5{!j9$9BM~IO!6Zhr-^c!8IrtNb01NQw5vIx!vPTaf2sklC0#6R2(i;@NUKr0c`O0b_sZfw&A*LM9&tzI+4p4 zC6l3)!Aq=?5#~u1C#ssKYD-ERlG6WS`4+03;4z0 zqhQT>n45h>y?`6))qz5@El;e8&lZ=hRr`o@oShuBCz#LKd2r@L#GhM2A9}@pHE$+B zT!qU32SBW0tR9SD9-w+|&WnOWiVV;>3KLr4*-X|U4k?JDe9lCtBu)?62k;LbS-5Vz z&V9UW5RMU!%twFjxYWGEHo(vF)w;6q`FwbBwNlFho+oSv(`EqFuh|dqcSY+%?T5fp zzTeI`3_IgIP=EN<*6b0K>La`o=CFzRVE6aWImw4mnt8AtAE5h>Wc6x0%@-QR_%I)1 zNJYZY4-4Frnc)JA#>QV%hBz7nWp1`X8nZdNptm)d_rZTho>Dl5vzdx7fhBG>(T-#* z5@TrVVhFOt_?;EY-H2f>2MV~xe}FCsu_@68Xq@D|ikIn%V5{nMul++d$s-yNzWQ)a z9^tW112@KI#B~v>@ILrJx*9;T91Mo9I5hAcxYTJ<;xDs(b$4{iO+#L64mu7{{qEH^63jd#j!nl z-MDA(w%+Z%i_^bKhUMk<`g(C_&P2u(4eNUR^?83Xa6A9lTis5+uO{E0Z)`sYylV9Q zbMpP&)|+38HJl{%KS%jV^EQ(L3X}eO(mR&^YHKr2u$|-%THZLxWm5m%=8N_1ViUKD zgRt@H)tg`A6dP%Z-R+H^*SGePdVVV;S$&&K)Opg3mm6=^S9f<;pTB;)zL^yBR*G@9 zEc$=&lc=Ws-u}}#)*;YD(KHAt8aKc!)QVXETbVEeyNJj{YXHiE@fxK=nQqO0Ogg5;)rMP_(Z%#pxG^J5{OHJp5!3-v#E-!Rj4V6gSLH_*G-;+947i&HfbVY!1C#+9D*l+xG8A1# zo)6J5u|g9l8J;dYrLWKq#yT^GReWsB;qL*%CSj#Pq$q#YqY%LW7&V*YP|$7)rObc7 zO6sJ}ko+fL=O$l5{-)_cSO^T}W2Jl;3fCNR=DWGhk#_y4pi5{XZw((!Uc1QqtcN#c zA_Pf5^;ARwj5wf%5Z^>2)tQop0R2d3`egaN`~X8vD@_bo0Ik%)moCv1E#%iMGE3ll z3%$z(h*q3_8yEHwLl%aoV|~TdwbnQcqfGfa?ZYbM2RYFa5yCZ0>7ZSg zsgLC-y)M|_^6R}N;;lyZaA1E*%{N%)8X}niF9lZ%zw7siPT8xuIaJ!AYZD;)ZaF zN@pI=e1rr2{Jh|!&BL!?*q=X=>j_{yfDWfDENuV9~1UGCQ{Nx%l{Q(*|i@cQZjh#&UrrVYPQl2Xppr=>X(G-aV~I z2YMdT!4e}nQzr45(z7$=%+8dPTPU^cAi@$#PLM87khA8K38_D1%h3taMJ@9u%_lv4 za-PBI&3R655D$MlrZ-=|Qb>fO20>clqh{n)qzBAUimy0U&XqdFuNXC?zyw8TAL^ngNOSMA`_G?e_48eQFbKMVWte0A$yiYeS?n$(i3?c7sA% zp%54>NErk$F1dy!-GEiI$*pmRvkrteG?ucSfSnoti)aw;?E3gW(RJ%F`YwY20p_imL`vHVQK!Lz>Po6MrUdv0g0$TdO=L`) zG#xU};|!Axg(tdY2x`Eq!!tce?(qck9G;Fj{yl#g(Az4^38MkhWtMMoTxuEEc_FKQ zLgS84h2Tq8Y({&8Xt7|%$#8oZ3i!__>BEcK9BKLXh}34t$26+Jic*CaX}ajZ3hm8b zu?6uHbI@|`H?>;z9MP+)9D(MCwMaLoFmU!&7h_DV-JSN{Yb{j7HHQBkx+jF_e`)@^ z1Ji$Fm?fwWMdERll95Q6-JwL=bcnD@hb5x5yxGLvrgMN@jDHbenI=nIBrjAVm19q{ z;-7YsOL##5Qfb6n?zV&>_*Cw>q8g{?)?NMb5apLW&c2ZA;SdGnk(l1?rN{o>@Yjd)(^x_cL z82mYg&;ozfttEE-3D>=}XCed{1yq%XzU*$|jdyC>P}z*b+cuf3ge$~xyWg0MhqHg* z%6(V_dQTvdn}bSfd2)U7_pFh9`y*b=h>i-n>Fevu){`fnK7CsF^c`Y9o<4aB3q)pV ze4BksB$c8q76B2RDq zX(uE2j3fXL9C z51~rET_UP_+JM-7gC&TP>dv-9t-h9%{Hrlht^E-UE*PdOUe~x#{tA(z>@^H7A72iVZ z2PB>1TbsR&@)w`Iy+|j#3T=NnM0iwV9{tEx&U_Rt<$NEwL)~kcU%578$mVrTH)gOM zzPZ`OB8SuJH#eX0BP{a`JQ!1sr@h<8lV^Zw&pkOtT36%8C#TPTlG_r8umrwoazlVhj?L%2eMAxg^W<~rFrECWDAfd$iBQe1BV2z0prXt0${)8u z$KbgyB3T4`QJn>}boiqFH74q&T-Ji;X>f3=ISVm#EEX#CZdxDe7M?+!^D|-AC^a{} zjinY#1jii9*C8qm^7RG(X`(@1k@*&XjGD?_zO|SEkM~F?cJZ$H2J-VW2WWiDd=Y!cAk6?c!;uy~(13S%yz=;LI z?9qO~R*ZY~>b7wJ8#fxTL9{!8&lC{Ox?q49Wu-hOjH+Z-%LF;Y;Eg^pm^BMhGyyd< zL6{kCc;Y}OT?8m%Z*=bQc4-*sKKzmWgm9ao6BYB~{Mk)hG620gxR{IK@f7)$M<+#5iMTmRNA1Dcj za9k2bt=k960lmzy>@}o9gzEZeUv%FGdsG7@mLA?>uIqBQ;{mMCZ2$eh+SB zN{KPq*RCWg9yKLv+1~Nc+}(5UtcV;gIQ|M$aCbPKgS-<(I(9qfD;mGz`vw}7F@=a*G>Kc! z(A}9;Q!pS6lsCi9Kupl00s{Ja5Ws7;@V<~W`9^=d{=6*oeCzou3H;-QX&a&swGE*s zVcZXnf@J20np{My(d)P(*XZvB?LA=u?9G1TEqwR;Gk|=8l%e!m(4`JMvTZ@4U~gk1 zilAa=JN+%&YV9J}302y(0ExQ!5)vjsxPRh%;~ z%w>O_D)GfGD9VZZ!}76GwZg@PAD*N0tP2+=lH1T!^$Ei}*bCA`TaSg9@}*HIfKDVK ze;Gtc2&Tk+oOPRsB;#mz6vwY1njntJS*mJj`x@dEvmdkuryG!BrdSK({c^8{st>>( z?gyNJVjD{|T`}_FTC9y}W8Cb4*bNetT^fIa`E{3(d$xx%wJTk_pbK7p^0rl|xvC2V zlc*J<=OG{ocM4ytjf~%8P^shH6SgJrDcYO=&0&Rks1ueuhc(@;BDcJ6bAljHtmPmP zBf6Xg!Dv`Rf$J8L8NNQ}1K{uT4+djrp9Jv&%ERd*QlnKtnmB+1mq%b@R}sgzZj65_ z*a`n7-=NV|DQPd>b-^@kT7|=uE%7q)sw^jAyjsnSxy=u(pEXZ{QJc@?e%^Xen`mDo<2na$JmmP&s zV^{(p{(S_8-COup9aBpKk^|(#A8vn$-s+YxQanNB(f2Ff{g7}1zRuj0+;c*uPt=Qk z{fh9_;mOByBI_7?2VhFk;uDK=M$t5ZT*WQ4hvPF2NY5p5!t3T4tmb*v;1XRZ&{ngd zW>ic;#P6TUoef3tPIX2`iSBKTI4M`FGj;ews7}u?xnB*IA9h<4-^;lCR;qsnaPv(f z?n@1bA{@HgyKPV0`!slqAP6My(vcr(gHjq7R+?$8TnFI~)S$PFD_)>&Q3tn^;NGS_ zU+(y+fe^(S++f4%ipF3~KpAsUz`g1LoX#k($MMY&{cmFq##L18f<9 zQLyE^N`w(K-AR&?<6xY9yjOd>s=rnRB$YCcS70Hzq+=G+cF`1sl=H|@A2)z;S2tYQ zf_knI84fn)^7|uu3@ey7m_&ofnQPE``knxQf-Msjtq$^2@)Ah6k^O(Pv$aX%V$AB` z;I$>Ry#E9;>!I0&Oa!3?kC)qNn> z!R?&1*j4mk^#6M3Dv^Bgeh>9t0$9{vh zku2!{bGo3Cgg#$r0 z(Ev<9v%ef#OZUm_<{RI!L9Ipjt`~IN~`;_YBwuFK?nL@gj zpitbVOtDZZz)nJcf--|Z5I+EddjYUbvUB-k&T{p-MV2cE4v4(LD0?iOzo6gw+k9-z(JDnqfnJAP?x1Q+2gBS&dWmu)m6#hqL*iA}_T(2e2 z7x^R1TPb`IHxa!j5Lg+us4#Y-Nm(jwcSTW!*ITrE2fdg_TbdQy4s`Xyw&W z(YIV0D{B03^nZ>(Gc?|x9TVy}jO!k4 zDPSZq?t>41>-OnX{^Xxmb5Bkww$1OyH?;b64Q5(3oKpmI76x&H{G~;@=E!VX(JMFOpco1uf}egRFuDSmisi)} zaE`2sfG!bhj|KJ#DyEf&|APIlT<-}3Uj^dB_Qk}1ZF&QLi5eJXDzN8?-WK;@u69NN zy-U>u5!^Vk&5bC(dj8|9pw$#sId?jTA~<51^oa&6*RU|=zUkn4PZg-V5RK>rb|~k4 zhVY_@BovvQwI4i~RI65&VJ(2psqnBHv08zgn=h`l+U$Ze9TVM1G(ZHyU8Qa{aH4aX z)>Z(23Y{0=o6J?Wl8i#xV)L8k^4HC5SlFEwp`)^4xl} zR_?nor7$Vw<%5k+E+5)fGlqrz=BY@4(7;1~-I|k(eyN8NCa8@w2;C2Zkz3hCFI9qs ze;A^%!6o|t*!vRYwytZ-Uy;eg#Q_jW*;Zmw5KE?+SRHF9kxt%w3?B`G0D&?<@BxG+ zh2g*SxAd3wT6;Ld9RN_09e1j$Y!P=l^Vw&gefC}}AfX&aSP8&z9JNjkDZIbKhK2Nh zi*oS-1|pup+T~FfUy{}Rbnnbs>PS3f4_Z$TA|h!CkJP~}cX2Ex`!N4H7NB|d12IjX zAH52RFyiz^%gvd#vcGbS6dnS&avi#qIz4zo=XXPe0nbEo%O0bZf?RGHPfW#j0#@nJ zA(S;W!&gIw;S4+q+dOusPMYYVB7j~*3xN+roT-G^tpSpE2bI7eWOpcsXTv^ zuac%mna}gFoV>?yiF6h)^UB$Acozx+V`pK49X1Yq-gs8fTEp6+$SYAVDir6?Ti}Qr z%|fnw9O_5mP1Qxc-baiX=nmfyW{)Kg3F93#rlK$PDJBE@JmN!%{hqSh?{;?SeW7~4b+~3=^&e;pB?=3p9iJ@J!u_c7#_3^f(C?U z@D@o2%0b>ZHYg5Uj(>84g&ANmgUprH>=g&X+owKZOmd;mBkfi5p~l_Np_w}dR+awoqS%~ z$!D>Xy>2yqU4HCc?h;|t>h1LuVWFyb)kB@-*81K%$dYHx);o+c$J$E|K4S*h(9B6crvBfWHZrl)k2e>8q;9*`Sc4^YMBt*8Cbf zI=5CsawO))YP!s%MsZ$8pP5GHx95-CPOQ$=lC-S*GqZM28)2DBvGGq~vZ13Czv zatee=W=si0BdnQ!JW|YFI`3#>ap8E0An?V$wLo;i_O4*hVlrZsP@4h92dZ>*-R=*j9{W*P_sX_P;p3RZWNoOl(mTG zMJA3M!#q16aEGp{LyYuUUF2xVzp>u&(Tu$B=NWlx&eaotdv2&B<7hR-qx+|r8IeEC zdn)Cd4CpYp9Mr=T6-ZgkP)6vAMTRmlRVP90!9Z5FNTtTdXpzEMg%ZHH(+=*a zX)Q6S!5g4|SdtW?y;RJkJBX%~TuO$KE~b)K&(PR;dYk~mjv>1xOTr3~5nGh;X#MZZ zv;L3KP|=4B+uu%U$RyW*k*QcmGjg{m-rmZXIwJ$}?Q>DICIVnWODzhEIzLV*ukMgCPQLyaJp=KiH5d4&jf+pNm+Y)~#M%Oi3} zmH=sSml5zO9fq@4gj=%~U3;(?Cc?ewgk9Inoxq(+wEF0&jq|k&(inr>1#k)3s+(Sh zHtJ`qE2v8=xONO1M3DNoT|3Z!MY5WI-23;}TR{%vX5ojO`V}ONj;wMfsoFEh z*CB}BDd?A2Qt0zuSW)Qb5?E-n{o68%Q^c&D({_T^xzzNV1fZ$f0elNAC1H$(Gq^VN z+fTSFo4-^eIt3=03P+WD`N9bM$g&PA@PezybQPMS^*vkV;LljeK3VW9z!~)%zk>3A zYG-KOh1E{osVn^tQa()cx5*7GnOBQ(4MiS~!n;ZYM^Co8Z<6xKX@?%D2?nxU0~J$4 zEvq;;ll5vA1bx~v<#nqN^b(4*-jCEx{Xp>qjlLL@QmRNTAxh|LW0fbQPHN>rfQQ;@ zR1LeZT(eLT0$|EXYjC{I9@BNU2>26!h^1655%>Z$o&&JliGyYE%L=S-v&F@qSqZ^* zgut5uP>s6NNS?)Kd5PfN0}m(`2Aj~S23yS{;I(64S38x^$6Gxu=8>>shvm9UIxc4W z<~E|fL{68~xV4@HTBwgX0StA4+S^yG1cZ{o(g!_}VV79u9uj|K4Ij0hj>71F(SsP? zLe$p!ZX8w#2Nx@_+dnBhJH-cgGUveNwH6MD;8&VeqQLXzg)9~krO@($5(iO=4k4*0 z-u-kSW}q21_IW&Z&-G*!*R+5o4Lo^!G8v^L5ZG*7WT-w9JQjizTewD z>1DB;m-)QDjPrUVkxZ9P5>s`5j*WH~{|oDZyD%WaK|jly$tFTA%GkvNFMh}#B@b26 z*YYZYPZRH37tOQTqAkJ%hv9=5COY za7wywi^<)jZt@aDh!Xc#H4e^;QJ4ExA3%Lp{j<0zfB>ny zl*nn*1|T7klZ zw1ZalStyUcw|HB2(U>uZISW!M^0b}$CgQ7#46Ore=)d^15iZ4g+Ss=rhwp%@ogX@; zJ~!}9;l7Y&hq>pDfDpD#>ThT3iQCpu>DJh9#Xa;XJ2EW5x{Qcs;Hc|&=R=38Q|Sw9 zgER9UNR{mT6b^fY+HG+9tZpmk@07N|r3bz{`*S^ZP=Vee;KvD#O7+IA%=Qv$?w_~J z^Ei^66cK_V8HquwmUqzdaR$7CEu$b`a==pM%W-NgGYF*PAC#AB%mzDuFc%{*>#_zR zN|Ka#Nk6$fo?j3)vhT0}YQx_^awbC(VLt$(kwF3n+(COdM&z-9ykSRYfWazl3;1W5 z##)D)BXLE1h#>*-Lx=Wj*u|d$sQu?15b~2YHgf6J&5Yw8NXn%k7q1>NC|*n{>!j$? zyFX=j5lba^-(`0V;&}CcO?G!+WM2wGv$txywbilx9ok>e^~v80`#TeIF!f~HTZPUn ze{~w|t@iEjrTzWc{+`+2_xw7Y;^|cL!Jo|YIP%-&fj-E_Ex@~cjFRL>1{QqnI08HA zaGdE_!un@aMmPa6Ad#Pe52(MUE#t~UO~&>MT*vkc<_i1OZ*}Z{7dB1yYv}R?ZF#r@ z_hlAV;VObH5Cersd4PNA!MBg7GuS`%=b`C2*vU~~QGyxJ-74rfZ=Fn39=s#bzj9}k zc?`10NW%y4Ptn)t{tx_RLuZDqu??1G3-MSTC38#Q`qHukxv%2g#ZVP!7gU*xE_hB}FjJ^A_QoDsZEJzF@JEkO( zfW8t@pTO2-0?i2j5^o>Bl3j?8;h*W=h1h%jDDaax>dTx$s2^-z2 z?I#AeMs*E;0c`ZT3CT2usZ6xwRG>KJ;>+4%ZUs{`&mt7A1WMQ|7S_CqB`S0p%Igv@ zz-bV$a`n9ECAA8YMEezNR!S>~ohE@Lm0*y6V9DTwm;?+tz+Irms+dUXL~l*k`qlHC z6Io^x@l`#}B+?v}ZTt6-Ixk zy<+#o-iF8s_ipY0)QNKfgWq?EX(`<^gw1FL?8e)DcR#f2g<;{l@Z-KqWa>bWUCnKr zv8oWP3ZJV*liBTv5NVCz5a7KwxhswfYY|qOw2?l7>t^q@;B{6l1z|8s043&t31|_i zQs%9Hwf)_{PyT+j|Ifc)t-~GI5#R?nbtitXA;1rwO!qc7gGfdcFYwxsshh!T2&BiD ztoW36w7PdgEzW^lkzfk1zT!Z^#29izETK~dLc-q$ufm^(xgt0BnMJ`O$Z!4GG&;}iU$;wX6EqtW< z_i|}c_qLy+#K#HSE$MdYcGuFZ(4+2FU#1Grwc$IInZcB)6RSp~q^x4>Mc0vNM{i%YmtQ!2xYQJdWb0v@QH8?YbrX;wgt2o9F|7IV0rK0<$nJ)J73_0khP?=x=a_VJWb|x|Nit{mKrP36z{r5F$UdLo=Jx64 zSAgJ$TOfbVV7D9M9aGq^TPH#jchPLGZ`~l?2EY5w!TQ$ZG~>{OCD>L;5Mem?oFzeo zXAq$EoOjM|1Hk$BKi+Y|+bs+X`{5(S!G7N*`;J9=|GYPgN;HFi_iZnmiU z%jJCTSO=?T&rBh%wL6sbUzNVg#*&A&BagyDVi8s=q41aprEQtdHmG@`cpJBA2%f5X zy1ogrdlZ%M<>kD6Du(Qhf)zzYq*z`DK|CsL6hELuO({_VBX0$JZ=i3Up^KTSeAn+1 zKzsW>E(Y-v@0VnkcG3n9e~a)~W=`oxkIm&_^a|+Y0d_n+@G!5O^tdy;^LjiTQ2$R~ z@_R+%u82Y3dUX}Z_sd($TKALQq$_$xW|u4$H|osuH=-qzXDlf5h-y>`kOyW^;ZIXL zX!UlxqCoY^ob3k-0W3r-_XrPFFe-5OOnLffNWUtAff}>jK?c|8WwiPqJl>Y|J)#w$ z>~rL3_sX()<1CwouH_I~kwMCuUf3VQ_!DHevxTYF&>~o-eWQ;H<(W*L9fZFzXn^6$dFYc|Ej!i zqZCelFRe%!?pO@{4ou;tADdG{qA2graOZPylZ}wV;X^?gKI*% z)(z_p#`R6r`0Zd|PpTe&O!SLp<*1+NSJe;y|H%H}k=@Hw>5m@Sg&G~C2KV9nf?{J> zUO!)2rS(OQE`NDt$(d4aWdd0o*PVRm;4)8tzCYF8StycHkilW~$LP}Ogi zW?S*K$|*VandgXfr6~!JRxI=91*%4PFkR(07`YDXF zm3^2MzI*=X@4m0t+LgiEzTLKac~WwVei_qJDIBLq!nGp(Y%E6)c0_2}sI=oj=aW5D!Z^ zK3bTgWe{_;B3O=({xBy;Jgm*}iw~%y6K9k&tZB&lOlqrj_Y16hkpvb;!9Otxy5*!x zAPn@r1j0tIx@1znsg--|~ z?coC2Lm%EprafFd!T+0^(Q*0%mVEQYQSAbdIYruSU;8JBKuKNSz%Ard+it6KVuBB4 z+X!&8OW5qPgHD&{4-0o4MXiq{uDVkyfm$7sEpwiKwBe8%O=aQ*^Rxx`_W33wxIvQC zOd{a*M2i&m-jLQe(oNbzq=jZ;h!Ot%92GZ8;N(z>qCg(t4FJsO-$B0KVrfgZy8!6hQM=r7X`vtO+fp8wl-0*u2DOT+iS-9Gr~-@gyAe*Dyhlk0su0Tf8T zQYVZ)<+*a*@^N(h?8WPQZk4Au?NJ`1GB;>{!Om@k-Rx4tfu^vf z#2v7zq|RO|Ks!cc8;T+4$dT%Hncz1j5=pXScNN0l=y|=o$)1U#CoItl(|sByq0vw_ z*MtEDyj~e32z^|+J9sv{?gN{twY|Rp8*(mzhKvUc7SQ~;?@*cP?=Eq5{@v}?HCzjS zaSAcG-Xhh{l>T>uYeTXPdx8jg?iH@FW4hyR;zy+#)-~9X^4BM*lxMsdY~OUOAI9L!U~L1YXl{UvIQK7`Jd88o=N8y%hqx zx;Tgx*%PT?i&vD%KRov@)Hx9r|KQg+Wher&I)*FG_wDz1XY7$i$T@@>K^*yis0-mj zlNS6Eqr)asZW)r8C+}fN=D214TxYcfY_;z&WO$R(GRhUuT;!d5B?u}{x9{51_g9_O zfs#w5(I&mY#Jv6CLySSq2sz3FiD$dH`;nf}Z`%WsB}--Yg|8WLaAAc3c$Dl)rxEh) z1U4Qr{4r23Ta0iY%lAH}?adm0j9=-Z+`|mQf?%F^Xw)Lf<|^Fl#UoIM_4BK5U%dz~ zH_-P=buBf0U;;XXn#QKYE}y%43zER6d!3Gx)_8yTVF{w>bj+b)R7;Y6L|8or08o(Q zngV2@7a2LyP^?=;Gy7B7`=3S4u7S(GCf!KIb>&B36v%i^A2CnMW`kcdcAS-giq ziMQYFGz$0}c(-te?shONC4e1xC%tT>+|78FUZ&BYF$7TjuuBwX;tMy0^X+%XFTP(7 zY`=b(ma0*rK($)K_QTh&UjOi#126>t%rJ_{w@w5>8JeHXVq$|BFgyzkn{*i!zao-X zJHj)FCf#)?-iBvVk`%{XM9V1$hppMy;eb!`1vEjT)+ArjTlw?PEq)jaLAmJR$=+-q z5&bm3fn!qUQ}VQNG6bKVAMFt+#IV7zsEDhiptu_PGo30$GDZrkMmo6%YaJYc1E?yt z5!rgq2AAL322Oux2j~rI!@wAtf2r*g(=1+*Qd^JJHZHGVs!N|`TcKzx55jHgxv*37p#~VsgtIJnqlq0i> zLLMs#g}i@|EGm^`;fW@xeBn2NFZ{E1Y#-A$^mr^;xXphrHS7v}*}~}rx?upltAhU+ zca1XdZ-bjYx`s+wP-blP0V8oapLKkyYm$6qSTFb;+&|FI0dmsj1ZOT54+0BgDnLTM z9IL`%?)LL$2jV&%sP6?9rvC~Vk^!hhlcy|yc+NzC&vYKCsCRJ^s)(4_)J>URHuv96}< zod#k_G=cPty z{I*c`XxIIG-P-byuq}|=DSmuA>|5VoK@p`63NC*)XrN)AbaB_@K6pI&F=(T!gS|6} zzTgKY3Zjl*L-KLS-40Kz!8EEjOVuIjobnaSwrPK0 zZ*o2cCxs2MB&zZ~fz%8e3Za$Q%1~Mzj;^uqBK*R|@Zs^BXD^Swe|CI$cJ$)e_umta zFui~I&GSF|E-7|xAw%#NL*#yQv35dOQEY`a3E47gcQ(00k_)-ZL%494kScId7j&3c zlQ$9>(YQUIont_X^$PGRmYQz5l5hQng}~_(yC|nB31JY8-;yZL-j3J&;4B>CO4~GU z8Nj=H(wsDKPOC7Z3|ovvDkdj!d`l+Uu1J4WzI>x@oUwd*V@_K0%a^8?6mVgxwFLwY zPEtBS#i>nXyV0D?DO*S?DcHgU+ttMqz@MaG1^_fCrFkVwQcKFVIL*9pr;t59eHAvE zqCuFD!n9V&Qj8a=Hk{qUAk{S-CKocgw5)`szKa#v;*v4(GkJnLSK$uX!sKqi!+?J# zAHtxMPhH@YOq;ed!&Xw4yV<}*!Nc~>&iiM8q+kfIgwSgxn_l}S#9kM%aC`+81#61I z6#{A`3{SN`6t-~7mf%SX5)a@~Ku+p{#*s@;uzUFrE1ex_mjtdvOZ^F3v>Vu@keXA9 zD(uoqGZqz0k^F)oyjD(C(i}Sp#yWo>x>Y&fv?rlE&yJq|*WqqOqatuQatvi(9K8De z)tmGaqj9(BMN<{;lfA2gXq35mS}bgM?=D^UtuPTX>UjKvDy_cypPUqPZd6np^R1L~ z`re!YdwMEyV_4JfQ3M<0mD$?Fv2<_7ZJ~e}6 z`hjI2cR1l=+NCnZ7j;CI%y{U>1a1JRM5?RkMEe%@6x{`u2;$p|3F0k?*d3Z6a@X3* zhy(g>>d>1 z>+#g$uoKau!~Tco@zvz16aarbYqROi;k#~!Co~khyQR^rn_g?d6U6PpLhH;vVU=Q?>L0o!l_KwQYD@RDn58Y&x zR)F!9hNuIMxjix)@g68o9Iy;*=0c*1T^RD8b%fLrD#f zAxjgcu?T}J3}0??A)ug8`~WBddoK_7?N~D! zpeGUKGEN2>IEgMaT?Z5o?VEP&!Fvy7k$(B=+e0D_rN+;1-T)8?5J7TifHiOx2V6Y* zhOsanZHr4OVVv%$o@vQXuo9o9%PgQ=x>r-didT;W$0{f+ee3Z!jeDnWcz5#L2^e9wo!Nw`>p^N;pvPdv6>Wxw@r;cUuCvuPTR+0UF-&=B4Cfn#)WXS!&|!o# zMlU>#UxT_DAgutzQ%rV>JFyfuWB8XP%m$#|QCt$+DE}UT52QMZ4gDs0V!~7AD4esW^~ctYADH^vc7MP4x+da4O1;55Q2hf!+aW73e$_aZ9s&%e&&5ogDJF`~ zYo@fQ8WrS!0UQyB;{MA~?AF$09)oQbZxhRp?U5fkKy_B)Z2uG|yl{P<14I>cwM6@H zEl$_9xF4y}wuMt-LU>`-wC$Qy{83p3Jyw#^v_GB=FaF#mV3*iGRey#Tc4&EPLM4QR zOz+rkttgAD1@WEfM2Z`x3xW?Q4CBu~FW`f@04(K-<)jD}ja4Z^w726ji;l6JHT6C%jWBnSGiSg>zV>b%9w=)fWLxEbWZv0-Y55 zpjufLS_ehSNc8>Xvwvd+2)AC!u0rdHdHKHS0gi(X1Z&;S7UH_PT}GOrq)W#p&-EzZ zAvN}Fr-(Iud<~?zIujpph-`Yl^V$7AE{ZAsQmD!TBIDxXmqya*99^TZSvf#xKW8;rvK_yetUw(Dk%TO0>mVu62D+Dn)=di4C>SuANuuQ-@=L_ zi=hX22gQ|cYn&hA)})VWOci^{D|GZq9v+XejQ}dL`ao%UJB?ZLax87*1k5|t$;dqI zHAc?DpXn85=YQSaMQr%y8liWZ7wcOcFv;Ag-9z<(CLZmaHv8*av()a3(9rUC$-51$ z+{v)f9G|8iGR6~Mszp#Vjm3#H$BpJNONDWpN&cFe7Ifn%m;J9EC=@k`stx44?SE>TewDdp?(8oJWizuwe-8)n zQ0r^=0sHz)NnXhNWjm&IcY?sSa_#5q#tN6HZ0nzzH3<+lxR!;U1OK1@d<(O{_-%d{ zp`a*%P&VACRMNOMl!*YS=s_wU6sB9q8NR@-+LiT<;A_X73UQ_}x5QCYK3`d<3tX`V z+_#wHNPng>4q8@Nq!DSC+#v_Ei0k7Fhd?QKdgUgKq_6^gN&<{;P40!la+iWE-Y`Lo zFCaNcVItL<;N#vx2@&og0f?;wj%~YFa$PwfvxjZKt3ZN4(_Gib&H@WJoBRNQ- zc>~1L82dsDi%?vE56`$MrI%d&_=$m{<2*P}D1UWzJE@<`5PLXC5B%fkzCq9ywT z__86oMy*bfaI1dPONE8rhj5P@wPtL4@e#TkrCZxeap$Nj-8QCtMfrl~pHR+Ll(Pp4 zfDybfmM-gPbCdpvWYHo;daqbS-^9R&q?2sEdH(V{kl4jLcHBY{WTOov4KTOLU=#7* zZ-0qv{B$;Y4WGoplq|DkqUg1rItds8MMKF`XQ|%Z+)AK9dW*-$2;@nzogFs0x7L5s z8m-?7si2P3UIVnXa?O1nuS_=go2}8EZ>P~MQa2iygsxYv$T!F~2uf?JfJ=8ujW9~_ znM20jB(&2J{uaJb32Jo^bn|f%1Fm{^zkhD#!drPR!gI+O>uB|NcdN5fJZw5jSN_lc zhMok}7GD9dK@RWJ1vtJ5LPfr9y8vBMkXa%5PzXP{RX0oYc^4ZBKTfA>xUz>k$0Ozl z8jHavq|^F3j~FwhHwLIsZ0~~l&5+087mS~BLJN0!4XFlqhkGS<8X%FH#Xz%*jDPq8 zFg8gP7ueoXh)uA)nIESC5%b@dv(Y&O;3W}-)x{RLqdp-RF5`P1sT}+iTZvn^oNFcS z7RFkV_{sr7CaIa?ocH3qfBgLvP4h zNH(RreFME0KWcMk!+EPXlA2Av)PJ=Rz%g^}z?{PYW(CEB9bj@<>5m3@>7#uEM=k zJBDdS-K)gdDk0)Dt8gfCB@fT=-Ca^Fx-y3O9rx>LH-#;$;gF|;I;8ZiJ`4g=N?SS+ zEFK^F$txFf!4emi+!h@Sq~h`X>WYqpm4?s#lHW;TG0`?O4+^&15`(T?1b^>GAWEbP zrszmUSlA@Ur4Ba07X*BdbbpWpvA|74hnrDw!gfBmO?RV*Uj;Qbu(abO>5W9>B4n0!giT#lik7M z8I9Q$Y0G?Gw*hw%Ml)b9lsT+wSZM5>%h+44I5y{QKvXu>+-K*QvgqLl@O0Mv2>3>Gs_IS7Y|KAAm?Nu0o+EbKKK!jYCp}El9~d9cj{9y2S?Og z0FY!^LfjV6@X%o9JbxuFcwanHl3v#?BgD-Z(Q!jk*Q?e!elpw}6CiJjX$bp37k{wX z#}z>FS`%L5$HpK4Qx*%sbC9>toqw6KFz>uHm1T*pRaOkdp)6Mf#xw!5*@{WA7l*qXj3K7UPYw%}|?;*<<%>}02T zvo&dSx7t8i%OSz=sEbE@!5>ESt`mO67w{;D**f7z{3Q4xCdGmjPKp+a#h}Mhu^QdV zBC$Xf#bIH}MZt+_D258NZ@T{&FxZy(J^8q@Z`Qh-Uu{g*w;ngvZtx2P5cq{VAf3@) zaE_N>a_3QFO@FQdQ|5^G9g9l9j(+tD5eVe{<8O^u%!bU)AHfPZ1py$q|3Lc(#y^n# zk?9Zb+umZ-`lJ86Zawm!{Z_w&WqXtVUgxp4?+|JG9^TAeF&xouJN!Q)s{^`1BjOK@Hbh5~aF?KCc1qb>4| zUv6B0d-`&tFQ$w`^z=~+auenj#7{Oln_!m);^}!LzX{!Hi5|3?=Ub!3v(_2@J#HPS z7659KcdcjsJ5&B_%$4f+sDZ9@*AE|KK$; zIjv?$t7&N!5<6@h(Sj}`hV#R{1bo}(q$xG8%fM-$PuKJZj0%s|j$p7qY>wBP$-VQ& z*%12r6S?vF`PQR-)S`BnK8lx7?FJe=JHO4=4mZb1+DDtim^Qt<@L3*g&+(L13eV?N7p0KW)KvLVm#6IpEPo$g{O-1U^5rR^?z$&m zodWGH=vnR7Sgr=xj zxcOzpi(e%#4)|m$KMm3_`+Vnd#rHdZsLE-lDyyB4*MEV4>nxX|?gl1*F4ERb^4F7A zEw5Zbz2H2RilSw3QXxNQ{CT0(C#_lhgluT~2?`J0^G`4!;mGstD`l^((taOMMZNqw zd&I4&eL}aX+PNNLCE5tuQOz?p52&q+%CFN;?b{^T-``%}gkF>5r4D@xJu<{p?4O2! zGi~|j_^r|mce#^__i;sk&bBdy(C{QC6y5<>tbQ1t#qY=Rsp$xlCB)Vd&e{Tud#SRy zVzK$?OAB>y388+cv$$DIS^*WGX~ijnU9epsTJg5SmcT!(IBv&7IC;RA8uk>wDK{L~ z_bt#QW@%d|qUwU8>Vl%mANNs+{*%Xh{k#x2NVBiSzygYYtQgb-5g(vE+y z4DVUKr$M`}Xyps;`4+bFc@F#GLNuI&RW{WGZGeBiIz6RD{|0OI9Y$kCLPbexTq#wO zw6IR0V@0wCH=ShVsw)=eIAo{He|h|b9#27X2G4cOk9(3sdyMwW)jI+LXTeIl6eY{8s);;OL?T7|q8)1Ej^!eQ72zxq)W6 zd82$NjgC9Fxh-*fci8%0e>V?<;n=x(3HmjKHyY9A%g+b#dBM#sOU*67F;Tz<;dm!c zGk=Ro>sv)XxaxvpMl_n`L_=!fdC?(mZb>;Q@l~n*#j?it%>BaH3IM-KQJfxf1INiA z&`*-PopsnAF)vFio`r>Av4zBi^u$09o>;OLva5~OcfvjnP+8r5f7#)W+V6Jt$KWa< z!FgOkf`gfnkl-uf<` ze}KV=8$+Dv(P<_jvLAt=cWb-B|C|2L=^oNP7yE9SIBQB|P&?zFLFd3~GQxjXf*O{- zi}yxak`Y#M7G^{ue_@aklZ{Y{#9yIQd`hx#l)2sN1*k6Q;@craLQ9@JEPR@@CK<-#iY*o(|3mSzJoxcw+#)8iO zGJKe<&P5&SrldmwUk|ornk1(iG)Yc2I-6s7Yqd9Kn?o2He_iDWg@T3D<^t-!ak1H> zxzujpgr>hag0o4ci@=}37p%t3z7YpsMQ!#B+UJ>>JzeGAJLBqcDc;UWj%URj&v+`t zJcGh;$+OD10rIu`JHlXM!6x(&&HG}kD6Gs_!zTE@O*UQ|xR`q7fs5|g+1}W|Nn-R1 zdk3$Y_i$HHf4rqjrw%xyk64)M=W6lo4MCf^wg!7HO*b3U#-ZNtbO%G+-b7%vJvhof z7=;fG(ho+PXW@fqt&?+@$qrx-I)y=3Y-YF!RN0u#TveVmjw>e=zdghUa2)Ux>U69F zrZF4h@E_3mGJ#8^Op^(PjpYRNkM@3ZXSWI4Yrl1Je?dZ)3#6utx4B2g19Ey?%a|QC zE*od3t=?Xb^AWX%(QDl3aVoA|HevG`;)2`4Gr2HtKwz8}RWY~Gftb`i2K$BWaX{c> z1S@I$;E5o|2GlR%*&uboKm5rp0|iL1pBdL!k+&B$;ih8WqXsF>EWqg|*ntTE60E#q zTrhg59sG8|9t6-)DDwO_EFN%2)ev%opcOq2g8f4#{VA7_^ad(D5G%>_lyVr7^<;_( zir>zu2Hp{KFU9I8h{N$mCpsvgW#vRx@`O!MkyrN;H7CHVK{&mGAFp1gCoweDOqcic z1|)y1(_PkGT=nJ!Z(it4RWd?0Sg6thj2eBoumGMCo;s2V*G`rI?ydX7T{H&@1ZTLG z-s!-}IKCKkL3Z!AKfw7S7pyp)%YjNv%9pf^O}HrZ@HeF{W4bkyJ! zoh;b1C`s3iB?EMC7tq)^?A~p+2F)EW63l;^gzz|#)5g+Xkc2Q+7;$^SLJl0QhMe$9 zc<-F=qCIv3GqI-Q9Y`J2@3 zo+nxg#@}rif1AHVPK*%F&5|(oz}M!)F1WaOV}MyEagTsc#1uXeq5d+Xy;O+Q$Z3BM z!$PVWU-$~U-yZdpnN;Jmwa$|kg4cUbT0jovZmItizxbo~w6o6FD0Vxl%i-|4Mr~oLt+O`J$r&$~`>%jwW?H#NHl`^>Ggvw}ne@1+g-WWj{ES{a~zc zC#$f705c%5Z>yQe0Wa;Zd5gmsq<=Z@;i#b(FjUK5*gWO$3_ibfKhdkv9$ZfJXJ0Tj zFZWh|PGK<@f?vK;x`5VB@xgzwvwF35+^5AM_d=)CVeSP|rwqU|faE{FXhGsuJ}Se0 zhDU%BxW<>UatlB@y9r3={jfF{fLb!<;(&CU0i^JBNwmq*m#`i!f`Kf30}InK7>%Xx zV2Kj=#DzGBp?eEJi0T9zun^I{+3+%Xe2F&#BV6`Y7*Y1-2yYr&MfQK54as2oB)#^# zF4Bq^GZ^Gu@TDEUSseM6|8rCOw%U4Pvfm>=qAI#LnJasR)(w?TET9tpi#rU z=NC_#JMN2uDe1sCJbtvF$Mop1Dg+M|LP;Xf1Ax19%c{B}beToIgQ5znQ$Z&|ZmMaDjPCs3ADiugG`k75eU5 z1MUk1!C90m$sk-YfAwMkY5o{reRuFe1|QcDXU342i-eR=hh?KUToC#1$i9G6QKoJ?=8Bwhy<;)j2v4Irkp0wyBhliMd~ zo){ZJB2vVCx8tDIjfdOYP*UAbP(F{l4+SD~|>C2PH2A_v5_9j+0v_dP1ZHU*AfKtmj1rvY-#F z0(2R;EovEP%tj7_Lj^PCOBtw)=eyZHtr ze;h52KF7ZZt1-HAkylU-IIaYSet3zd%Bxn zJlf651d zBnSQ5@P~^9DPbhX501Zke(;x0M{zF@z>-7A#q%qM3}{JGwBHDgm2dodOW`aR zYv2w%C8Xu5lDn76$G|NY3Q+1xg*~pwJ$*B@+mZmw#Z04KP*%6=3t($aweDT~jG>br zaDYrPWZPuMy~q?m$J$@g>?eA~9bEmy@>ySFUN`1dugADyR1#`#xz~EsJ$I#W*S`1wtYgUx%mB{6^_&_xtqZM^Gr7TM8r>DD@3;YHf9rsCYXZ@}M z1~JFAEx(}c0BfK$?>7+QIaIX?!)=#C{01w3)n@_XsCJZD&^;|E1+>$TM9z*I{iQLq zVJ^_nbT*E9Q8`Gq=l)sO4(d_0-N;pTEJlr%y4L!;Ua$?)q6PK0Tdi1wjPm0v<}D99OuZ*HBa$GMR3c1 zmNv!FvY}{*TXeoeGul|;5eob7pZ`o-(E)@@y9^s9_N_0AY67m=m}H+^$E}}&1+x#+ z>J-a`zP<%&hA-5~Zr8S@Km;l59M^QmlWwzgdFL(;eg(TL+Yh!M>^#_60lOg<{AB$u zto*i^W09}egNDtg_4{36JJl&}ICm(2=|c63rM}mGH)MIwO|K78kGTvp2_Pm)Y+&u{ zM|pt>1)In0SZ7{LFbI$6pEs!t!G%+Xz9J4}m7%zJg<$h?1(_T{9yPr@D_GfoIrZ^R8oet^yIN_>v)@j@px-0%{U^gyXCP!VOaE z2pYM7Dq!_x6{LMp^*Ph~PB)`m+Pu(JNokqPAgDuyi^ToS~IC);BK8H z&#`by0^KZeCeX1zc=eU3w_3k{#tCSor5w~q34^Lvpb`8T2bDDtrro>bqX@k2oF3T% zzQnEyV>T6KOq8HU+Z>W8Ey$Itt9!kl{Q)1(?^=t;XKUwij3kxPM zm0%`s-w<&=a~#&^U&QAyY}?i!SDEJEZZ2W8RwEul6%uVFS6rhP4t9@!<;OlW0K4Lv zi|N>Y=?jzTHy_>j4cD}+%R>Wt#_>kXI&JcM=N&U-&%3a(!K6*ETcJXl*9rIkBx##KyJy(M_2_pM8x|2G_2pK9+@S)z1H9FHz*@NufAbEAbMFD| zsr4OtePQ*L&15B8fqBQ|Bt7u55-_%ukOzuhAHIA~fkK(HqWlA;f1e@pHNWTO5x=sNAn2A$}|rIq@RpjGK-MGGeYUvBhlvk~?*MgNo1 z4yVf1q;}6k^F(8(f!N5!JD%J{qH5<;FitMm2Js9o+kNCEFCD*$-N!Z;FH&By{4=o> zAbvKjakVfkH6^ekmzCZJFn^aBKxLN$=;(v1Gc)rA$C?W7sOl*Zw*NJrQ6B?NdR+h~ z{hwL;LNS;S;UJ)JuoU}}c1DcNb2C7L{7;AO?oou=Jjeh$K*YbmNS|@g*5HjEE8b`g zo@g+mmjOi&5d;)6&WbDkLdtF*K@N`{O7yYF?eKKJOzm=dat)(Kvq8NJ{@NY-nRblCloc?gy2S7jPT~ z2ync?>c0r!wPS}|6=1H2I3ti&3nsjs27UW+mASg{c|D{n6`C4ISJMFHs2gz-1@%u{ zxAk_)VnCn$2q%rQNQ9HS?vj80{PIZ%jlG1rwQiW-SWf{|acN`%?{{~|EpW-W+}`@u zg(*mK3!yK3k*}G$8%-weXZS;tbjKaf><7ITB2+jEtln|~-ikpc2slHb zMm%fpqd*tUwGj{7p*R8U%CvyXhOD`4BP_gZdaUwT+|-51t9=A7_=A7e$g6$y zgP#>vu5>*t)U~P~bAGMh*xgx-LyQCHPXR@oVUeQI=_fxQW4QJ(H1)@$Fa8o@5K*@# zLd;BE;aQjnAH9X`Uc-NagZD$^GOhgVY*s~FMNQv3||;D40G^> zaVm_LgLT->pzjYLoZ|uW{Jr&bLg-+kE-eH9TY*%|(UG@8F<)8`QUu$8t6e~+#T{8@ z+#M6_P@-Z|x#Z|J4KtWDU<*;-|Ff^@@QIfMZ@w%jVAiuI<2GFD^LG6fV5aSBOOSRRmg|SpXF1`-hnBl zoEBLVi&8`z3a<9<@LbUp<_H4&iD3AKQ?kmJtyIM7*F5a)ibg>fjB&Q3__{C0h}Vhu zxo}ao9y&%qO;vw%#$L)WtvAmo@1a>|K?z2_NI%Rxkij14bWFd&;+$S(ffybIVpna! z2(k+c2(hbib~Q|1d~o*s<;%l2XD^<;`SbIatuONMDR=P?p6T>Ar)};V_}7qyP;9~O z5`PA{5f%%YZ1ZctXe7sI({Qpyh8>5Tq@4yg@|w+E8~}*miPlD;6)OuTL^^9^EfyYoM4QwlD4MVY5EP$(TLJF5n|Se= z7bIIh)|JDvdgdqYe?q(T0^lA?yelCiZ{?IGZ~-QdF|FwL@q%Q6NWlsdorJI`EOOn< zLSemV;>VAm*ohqyxTcubwkW|dL)@H@2_j5Uj2C}|yD$0vVgpbn0COW;p@^ly2gy+O z{>&O75nc5SQd&w`nPr_kV?3w><5ibF8Njr`d-$XmYTW`g@sKJDV&%g)t#$QGvc4@$ zR9B&Da;<8XIVC8!keGiwSfNT%;5eZTbR(Q4jA6=dmlXt{--KX)71x#Tz}vxP8dmyy zoiu-$s6=djdEhjJ;5Ml56yH7?l4aW+M@f88LrLoXl9A43(CR+E-xH6WxsgYaHw*>q6MRf zo&kMe2}^0GN&nInkNMQpJ)K3-HdNOlLLGl5v5p@xoYM17nBI|+9WYA<;z!Ov0!TXLo)C(|c(k;OhFXxBdDsAK;kezPURlUCzMsLj!j0j(~0OfWn+_}G7@ zyO)cL`mea@|3zGJOa8Xx*UR=VAMC(t3HWeJw$zoIJ>~V0JtSG}GpAKSFG-ULeV)7~ zP&UyVnZH?}LoZ4zZIDb-CC89CTYjVg$TQ9Qgj86%fO#p5b(PKLKBUG zW781LZ;Iyh+$mJtIvbOXwdoeLnD&3h+5iAywG1uQuA#!}Qck1H+M>>)cU+%>lZDV| z*crmaPYp;k_K_6}g<@e?C>HLX6$_1%r%_)qiATdIx>q1Hnb(3uvcdMtdYS7`OLVk^ znx(!=Lfa3lcig~_-OA{Aj*k@)uQJ$@+ij%cNVH z=(_P1wiM{P;TG_-?Al)asx(&8m+hs;X-PaCeo&p}A417O=IMvkdHgYy8CA(^`gK;u ztfo722Jud4TPDZn$#z)hG&#J2l7dRt7Z$<&}2FQ=1LZz_L6W7ZPoHzL-D zw2hh?pPSQ2N(?vGPAR85-tU3^PNl!OLxQ(o&|>}rvR!}uCp;s}Lk|{t_-^QLF;2iI zvdyDf8VzCJmp@RRI+@$FoOaXr38xfaIA-)NY24~k1E(roYWjCd^>*=sR*H6a%r zEr||PaJ1|RTNXbdyWfA1(|mQhzYprGWt=82Vb+pwp&(u=z%i?@&bnt9hGNUVT;JtO zV{By=+%b6-62rX~0Y1AhQydz07`HJ$C(NQNe6sSWAE=jx0CgcPHK(mf z+m4Mn5emz?I!7cqN}B`eV0s{xLu3kfr@_XodjIzrY|LC&$nRY@ZCtdQwG;Wf2l1SdR5v{v)faJC-%y+@R1@NYA!+jd? z93_ORFotU@kdZZvPq>Zq6gbqqgJ7bo8R&mrG1h|dqIe=+*?Y3#*Krbl z>e;u-@%U4YwzVuc@sZ}h5^SFJwqW?Xa$YXK^msh>Qf#jr@E|XiI3=l)RG4fbiZs+2 zV*t$E4|P@LX#{mBtneS!=+t|Ff2ZREQ{Bdg$M4k~F2>U`NyVWs3ONAemy;`#!+?P< zorSCkxW|9I@?)n#jVVoOKp8B@Cd++Zu_hpacvOPnVlWTizIpbyv!mm~*8$mG$9P;F z*au-SCbt)N@@F?CU$m+Yhk}XDrgX*d@BFlumI{KPu$D#3P3p9{D<^ji(G-PRo$$Uj zF6u!*0AAY!1U&udw(jl{72TUTR%nq@7rzM<+BSdwH?=l%4gq;me(WgIPr zHolnuexGL#=bU#EI8IjgU8}2B%&T`e<39WBvxjF_sr)kSEvzFHAJheS#AY zU0r|5DWdC4skqVsUgryi@eH8e(dtsI>F}Sc&`PDqX^-+U|3X@ZXdB_lfURqOjM?UK zlVjtGqt1AjTb+;Hu`<~~Gs8mP%)D0(qHcMcs_xEm;T#&>IB^;MH8X56ql3!Emx6w1Y8$Qzn~p078@k0vPJS zwLlcu`OUpc+kk|PvoWa+Ic#MPhqR*4p+m!e_Lk(NHW%zA5XwaFpTey$DNaeoa?gKB zoXtB1Wn?~av^kdon$?po#I(J5Idh1}MgX?$&BsW)Az7NGSyh8s$QzeSaSPm3Akksn zE(PLE@-SO>fM{(ULW0)E%{6m}_4b53%ARpBBqO$bWrXmPxe9rQEArk-A=$90Y@Adh zlfX){S-TzyY9K{l|32ovwfa4qxU_#EU|?7q5W;}TEJ?7Qd_^Psj8@SMn!2aC%Z|@Z za2<2AP?$ta_uA%+q9uYvn71B766MG2WmdVk98mvGiz~MvC5y>YbcJKI$8ed;t{7&k z_d#HKMlK1&^(O(C!P2qlI>ru@UB}ru9mjbDbJDA1i9NSEu{_e7M0)1(n^ z%mIp=G@)CO-MCmeaO_Qtzz{i^!-nWQ8qOPvUg)7p`Aq@B^z7Zhh>&sm)vUdgf9H!4 zzC5dt+j6xicb*WM!sSefeu;@%GF*ZTluIOg6TDLvb7VkRqDg{`ffCF$Gh$H*gx)N>i|YGC0whR=4IW0TounSc^_ z=;t8z(VubWT`v9&_<%X-ePUAIGx9nmOa7!9I$n!a7*Cnbyy8r zLB}c>c+s6jRAWU;HJPI6UQ%edfTFNi*zmnvG;4s|bXI!DOUK<%y3~{@o&G6RE!Rq9 ze54v1ARm}8Oj2v84MP)#2{l`7LUze&+HzTEFI`ray=Q+LsRDgc`fu`?ixv3mB$tO&DtQ?gY7yJW7e+@(c8dfSL%Pr=-n#MLXP)&x(>qNZu7hK-N!rY zyGb&z{pRt(?qU5Y|1cSt7FB-!w)*S)^{4ao+AdnS@Hb@N2+caMhZHuv&SRWBcA6o+ z{}|OD<1{l(PnM^M);~U!oubv;Xl-taQN?IKWGOza4QIR+F#R+TUsZvgQz?x}aUt=@ zM7w{fEY?-oz~DxB#CSlD5anvi00mww0+ZEJ=jL>a!+*p2pm@G{FwwLfkPQ8*eb@+h zAtd>8fSA*1IN)k&zP*rkKG70&fJ|Za9rPAa@FGG&me!~~$G>9~L@(G}d}~R{(PFmP zB>GKfqn#ID68#p)CZ_!Rj+xthVuz0h$o_u^sh}()a~n`xb^HSYgSIs;08LcaW=3fU zkIX0?OaH#KbQ>#6$j_NaQn$DofT97Jqdapn<&@+*D!Tgw0&AWdLPw%s#&|>mwc8@s(d2j7-F}w$qF}e4*L+p;>y`?5glgGS-Twa-Uu1tR? z>Jm{wHEL+cv=GV`CLYN}y}9(uC3DLNljzR*Siq~WmXVXM-d_TCe~6)SdLM8+AlDB# z2FQ*vV85H7LR_J@xWc^{JeTzyQx&nBH*$4b)B53b0I@S1E*vFOnirdk69&YMPICyY zspV*iO`S?p2T1?NregN3sl202#XWy(YVfJcA27t6ucrb@B>@^e*VBP-<6?^7Z7@F0 zr=8Rab6OCFlWd8lv4AOa2#mpnlkBNb9@-BF;D9rlHEd}(>ci49*MRyV75kyt${z%9 z2(WGxx)+*L7u95FP)z8$f;F|mm#SqYo^Sd&9AwGWwD6cPtK4nTj5IZ0zg z>-?Di;30`HFHy89bg%>#5T9p#HUTuH7w^y8aM-)5g+kR^!DA(_HJwU&Fjyf!^0_(xnv(YqX($Z z;^^VpQf;`{0aQ3-Zph&LjkA9Nemk9f9WB%&&AaNVNcQ(ajui~>DT_JckQrk|e$JX~ zR`ULmH?^$ClBCsU>;X^}|nk*fq* zH0Q(jT|PaV@ja$EUjQanM`>1A;cb-ViZjRy;nX`MbrG-#D~EZq!9{)T043wpRZ?cx8ybi;J=*d zCG=8GESA-=R5Ro-q=C*!)u3|#k~*DtmCkXvIfH-sVt;;-f*cOZCkq(1@%$oWI?fw2 za<3xivHm&7pOw#_Px*f*f~e@Q9{I2y=ZDqKS+yfM=~CV~(t-5{$Kk>8fA^uiCG@mR zpcsWL)u4aaQ<)`RO{!Q7(V)Pz*hp^dqDHgX&yR4&M|fIIxE~Z}mQkmzMP}f^>RyEh%sK3w7^;vj;l*xZ%@PP$LLSrz3h2}Is z+bXl*_<&j5ffR~UMc4PQkv1w+;N_S-Gh0}u4gZ=})2N+qIA!;{Q?_a20V8Bu_)nKX z3lA8kQV<;XMPj!Eg90wqBV<~&pvZy)nFgxs1n0A2Itc0M)QHzJz~{@*Sx##7NId9*m+qZSWW5 z3!DK)5{6b5WHPLG0maF>MwUah*i;7fOBudaeey-{HyN;;1a~K&i`yS*4sO09$?&pC zzw)H(Z)kEgdz##T^LA@{ckj2tx|9^ycMQBqGQGb{lg7^&$NUltbJSMK+&G9NN>FIJB6& zA_A@E(lM1jw%*V#GX~f;KE{?%hDdwrh_u5JMA|_qA}#cm{HF|&mOWKO+VdhJEmd!K z^7HJ^K#T2Hqs7+ycgRbZAmUgs&u<>8Qks}9{lI@xRR)xuSa!PN;yb@EU1`1nxzKoB z6D5I?!P&EpwUY@lspif_j!$?8dvs+9QCyjV^kF7RIr$`u&X~xT-6?c;30=G^|%JJwjJ75}RjxV`X!t z0sI9zB5lH3u(7t(_8b~;e#5@Ldl7%lkn~A|pdsEz0d z0~eL{;@SM6DB;|+WU7-Tht9kYYu}&JN;GouFKZ+Ow7e4~e5TdqQjc!QJoSHLQ>SR^ z6dt2fG65sa&?mk9U>)kk_XHC}Mg(`M@a3&*mLXw?#E40)G zy8~3QU4Odz-~nD{lldkr&#Qm+(`zIajWsCQc{ z@sD{<|Cr7^n);j@O0x-9hF0^r`P8&FTiBsk_~wp7Q61x+l{{!9cL#rsa6fa`Gb3z! z5<{^5iI~@^S%$X)>fT1h@XNjCz&DqMP%oa5JafaryXlCqFIx$rZy(n8(x0Szt^2Au zUEHegV!Za&&zo16!Ce`Neaz-l%qGWUeccJ+xocmgrSMacmcnf~t?YTWvgfg~7tMWC z_H*+oDm&7F|GECc-A;f0)!YY_J(X-12mdm%*u*6}-jKiAak&H(%?tdVK6vmmr~AQ! zef+t4@Zc%_?CN+`j+0KIP~v%WAANpW-*3J^e}5J?S5J9hxZH8Mqh+I|$zysn`Fgp6 z)$|HWX>I+AEGWuRFB`!I zEgMu3_zcEv5o3QAN6sj0H%`{s5;Drk7%p~sfuY>p*kX)0=yVH{e6zJt>nv=~qnRGg zqLa0^xE4Lid23JRZ@yvEljvCP4^y2P9ADvA9o%#?F83$~scl7b=aY=abDF_O8O9NO ze7;jb)b(fgfn}fSe?0!E;94}6@dmoU+Cm$bpn~znMr41@mgfZtUIJr2YSvEa1iG*m z-h#InT*SuWA~rlYT^KJOAL^L)t}bh}qeaY%d@&E4CL>BsewS&>+9L#xU_U_ z10G5%rpOo*%Ra@658<8cdq&t4Po(&LFyJ4waAdVT5BJg#tj$;48 z>%lUP=nj7i$2Mi*k`^XzlY6+{!+7k)udbS>i+f8Q2^6ngJ%(-YYNH82gy`hA0w=#Q zoczKk`^}@pUHxRAAM9@+ell!-`p#1{;tI{#Kde7TuA4m!{qEty^dJ!Q)1@6CVj)S* z(}m~t?ZxJEmpZqaCuqKoq?iI~t%uw2!8+JFTwH(jl+AS1a*84Ve<0e*fwb5c?qj`q zL`|ZwK+|550E>D_Va61sM`jFGp!3UKSBsu(Y``?F+DGw!>x1>gu~vtbQP$-wj3L7M zm`}2IFns)Y?GPHlz*pdWL{BpP4HnhMZyTC%bM4Wihp+%Af>cE{QhJU5;^l?lTjkkkOi%PrTCbh3>7x_}p#QF%qp)dg3`7i+-i{HCfrt!g!32LNvIHivZ{*zwEgWnR z!vaRq4H!jh@XrA+hj#%sa8x;6 zn3VPgXb1uxix}Y#ND@HVe|?8aB4R}0v{##3L%_eNxOUHR*cE2HBGz~Q<@?wc$LN31 zu-@aznaK@dzSrDYRwE;@kB0L7lm3K`WKLzaSqkkv1S&Y7>(;FYx*o?1u>M;Y z^v)1>?CVZtAM!om%nb(bdhPDBQSV<<2!ex80tyZ}l(t7vxi{xNp5fd(hk$GZ zq}+oos5y6v1*z8Q)p@>~ADf=xR`!1k>MRVDjrDzER8b5>Devh358J^(Yv-Wu(J)6||L+uD4HeCPe1gi%;NH#)?%N8%!8!P=6*I{6)yB0D9)% zy@o#i1O7g>=|>!nu8uv`zpB+u(Mb%d1U9??ql?6cfE#-Se4;+hS_FS}X`RDuX?lqJje)?O43t9Rsl?p)5xt(M!(vFgsKmn0s28JP z>EkEqlzsfv4~S8*Uow7YHhx1NKlqBo@uQU}j33nWK7QzXGJXn*bLa6ZHm3J=RgN$vdByMsOoEJwA zG4|)p6S)4K;@=TYjF~`8)0phgSt>+vw3=h{lOKXJG>Uf-e%Rtx_uoYwcs z<9hhIyeH8;sovz^s=g}`IL+4j)k5>UzPr#ot?%>dDX+G)K!1yn4Hb3Zl}zl=bHolk zN0!Rx$#M5ZbL-$a8~dCM|Czt2_`q-cSvXzSqRV56tO@lO^`8+-^xR{KLi-QwA!3PS z1S1$rF(o~Ox1oOo^ZmNoFhm@C=h%XL5Kaz`u?n6sgqj+tV=!u2)SS>$6M>$QPAJR+-x5%;U9mT{ar@nk{WX(G6|9U>=3_i zL=o3nA8()$Yd<`AFk}GG-#0r=Xo&SJ+~Bjnt^NIbeab6)zWTksAU|wv1ko*=)Vj^q z<>HI(0z4B72SG4W)_;PopB_!3(524C%^6Ow2s~axN7I+&a0i*dkBfefgb^; zo#L~)6#;){q8Au%z3BVJ1cZS|MEwy4VnufiJv@xSji6$(chG3PD5N`~XU8f1 z+*gF8ca^9azPjC>zxk%4miC!i+GT(dm z2<$!YhE!aiOiD8P6i%l7Ct~aN`nWW0V0lDkWluvPmGc3Ynv!Yg+cfm8_du(izx~dNi7Sse~b>}=GPHL#N=!={3uhqGa7+v z-tR*G9`w8SVB+U!HYD<2(FcS_FsO_gW4M1QgE>+=; z(FbAd!+}w~0_6`?!5dOJ%=%7RCekfQkwjZ9vWW-0dHHMttU1%I-8N@)y z-HY1$lBG>*5=0!eygTwqG`;71uA|HKOyBC6-qhyqLUFsy*ZAAjJ9rhph%NkdS?(2{ z^K(wyco&~=FHZoO*vm!{Y#{hYSM;=rZ; z_1510J1p9-@|`X~hpw1Ab!fqtI8~!la!k}OdFr+(mLmMmEdT3Jg56mCGu^Pib%5jK zm5Z=U(lacxF*3?yXS%tqG#$fd68FS}~LM31^2?B6Jvvq$s22mF_ z>Pv4M-P#*TdYC zRX)*}n##m%rD;I&nW`#$TfZz}hdIKkLtOB7r9wY|a=WwKDwN&%bRHqqnpT-jS7nK^ zLO>T_Yom4H2GX)ct2#e32`2kb?a4o3a;%8E`(&gfvC=b?M6dkdM-Jr$$;3+HfAVyiDf$a|Mf zZbJRx(g2KW36+lL>i^z)^O{c5poIR(Ct&<0!-!yOhmK@Hni3`O%OrnE2}mAC_>@;>`6JZgQ6vFs>U_|vNhldS!D^2Sp zR&jC~&L-r6(=gJpjm>vED9bGWod`b`w%ThB(-59tP2@<(4$yxc+zkf)!RDX|-c_Aa z176U4VW!aHLPdR0A_?bR(4#&%FsLJRKHy4bk;;+(BkS%CN;2$`XjLerzd8tTb2$WZ zHCIm_cGu6EXYd=`Tz;fS9?$92JX1U%vvkHM;$&FE3(G(18%Zudxx@qOj(!VkR3>p$ zM{OMX8N49loA!U%l>;??a-2rm^pcG>N!F)#ipcHJi9Tex&E})p8%A$#B;-W~*GyI_ z=dtedgt%pHmqA>r(e5eRi^$E9x*-k2>ziQub&VD?&-7Ls-s+IUu+sCQ*$5!N#SKb? zK3ajz0zCtJKWiOHHhmAC$Zh(*0Yw%TtXKK%Texasi*|qP>au1405~=S_UM=+@z!Qk z8^7JltF&R+Mfeww(Vt%`sQxjZbmxS z84M7u{nEIiKPgZs*O0yk1C7gqfxKu7k$D2)->8=(!LN>@h25eEu&A z1fptW6Z(HS2~uj71Sw(K!1dgD8b5<%I*%m(@_qonl3dcu?GD#Q|F}Ou@Qg%a+F|rr z|5W6FHeiojsATGsFNo(w>2ZuVe_gGN?rnTcY?_aELIKSydN z5b5bF2s+5N#?zB!H?rCLxQdTEgDEDAhX!{+2&XJ$W0D`9UFaNH@`VX-WRP4g_6D*& z80vr4nAbFh++d2iWkHY9hnm`z7g6Szj+t=9v?5S%e@qWgVbc!>p=@b)RRGECQo?ZU ziz$ArxIm2j@kdobR`ge?fi&5KbNp}oaOt`0Guf+Tz3IT$L&kK;s(?l0=`HYM-1-1V ze0rP?LTWY1w!j<9BweRfdMPsJPuOiTNa%mbob@iKr1}+n!E$HSU6BSR6%wRZ%rQfe zk*f+{iUjAWOlMMrb=ZcZ{4}gt!!)N|eCmk|3thk~R)uOGF*z|kSco70>pF3p^`%z)`qfMDyNmw~b*8?5PwcG&a*3-6OHB|f+NNcITY>2k;L>D~ zvmI>j=65Jvmw(WEoe_4JzRuRVQ;vUC?OL}1Zye+n_#lpfR8dh`y@PWZ9MzysG;8cb zq(8^bjG1HKhoxf!+nHF~?-9TPl1%U3*6uy*${&C~VWT!&?(y~F=kjOfhnib9AGH3B zs6)UEOIxJ2;oI8fMrki92o5raez+8>Lkxh?9m0_yPU%w2lbiFhgoi^;g;ak9zdl$Q zN8sU-z!h6D5LO9?8Q2;(wAm~zBx#Iq$iyc~Q8|N#^dZKCM$HZPHyn{%=IQ9)9t=JS zdvc%0m<2U7DF|Ga{0IpiT!6R>3l8agEL-X=?S?FZJX7Y^5Sxs^rMtE_0Qq}+BQV-u z&|Z-y{!oM6U|N+iyng{&1bKhLjZp+aZi;i*Eh(&CPMQ#m6!ol;2Y}eL;7N#l}d-xa$-jzz(;?op8p;WI^`ro zq#U65{8Nl(`myWwgWQxRjj0+)MfXTpgNFxh#zvLpmO&*VeW0*JEowFWPhfm+U zvhCBfMv?)T+QWI6F*|=fNK8;p1_?+kx~He4S=xA9ib}<@}TvTD5{UY;f#%kc1{2jplHalvGl`hv(Pv{d41E%z% zU~jqxOq=g)UVo)&txP@KIvY+0U5tc8P9%z9Gr*b1lqf`Ds)c{YlN?imF6tH*loSG_ zrMQrbQg-I+{ur21{Vo>XC}l)S?&q0cK&cF2?5wWKycjQbLQF+P#3WE z_s>r~_nBx7FD7lM{NQ?PH`TtwtSYH}XY|k^{Y)`qiq?NkY7fP7)9dO2bvuqO(v$ub zbFKhMcR0p(v_hAbqcrhl2i4D?XTQ$<*VtwWq!E`Dg8ZUVCJ>}&(R9`m`9E`Bb6!k! zl&}oy;ewo9DPOqV=t$OjRIE7`aM8xzhK6z}Q9T-4zwb-Gq+<@3l<>OM)lXXkLRyvS z;^aWS1Xh1Ag6s$y4rfJCii-XQLk-TpwuX!^x<;#v=)i~-iSZ}3K1PUeq||_GE)yjL z@GwpBv4NefzY)@Yu=%TLK!hr%hI$T*#b zIK89h-2Ki;=cN0?oC&KX-+&b>+U_P^*TB67j33?MNBAN@7xD`83msr>t_JT^IO&d; z#AdNHhGc_N{k?8`^v`+31D@;UzV*gF&YXRm=;7+L7)dIv;6n$PfzLdf z2S+t6!#(GSMe1MDUmJZ)`GMR>t*vHs>4egM|z*1=o{`fkiNiZUXL7CEXb<^cDcx3O<{H8nhQ6cagz{ zbU)&w`OV<-=YcWmW)m!G;GDS$3?qM&O#KBwJo?jNPEP9BsR79`jr0W%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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∓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ξ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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 17/49] 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 18/49] 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 19/49] 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 20/49] 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 21/49] 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 22/49] 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 23/49] 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 24/49] 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 25/49] 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 26/49] 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 27/49] 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 28/49] 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 29/49] 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 30/49] 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 31/49] 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 32/49] 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 33/49] 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 34/49] 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 35/49] 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 36/49] 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 37/49] 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 38/49] 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 39/49] 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 40/49] 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 41/49] 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 42/49] 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 43/49] 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 44/49] 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 45/49] 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 46/49] 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 47/49] 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 48/49] 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 49/49] 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

>5r^BExA7h(eD6um1+Yfz`Q2a5@R2MR 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