From 23bc779a6e58762ea892eca1801b2ea1b9050c00 Mon Sep 17 00:00:00 2001 From: ubergarm Date: Fri, 21 Nov 2025 08:51:38 -0500 Subject: [PATCH 01/37] model : detect GigaChat3-10-A1.8B as deepseek lite (#17420) * Detect GigaChat3-10-A1.8B as deepseek lite Hardcodes checking number of layers to detect if lite version of deepseek. * Add commnent identifying deepseek lite variants deepseek lite variants include DeepSeek-V2-Lite, GigaChat3-10B-A1.8B --- src/llama-model.cpp | 6 ++++-- src/models/deepseek2.cpp | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/llama-model.cpp b/src/llama-model.cpp index e703181a198..175549a9e30 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -1593,7 +1593,8 @@ void llama_model::load_hparams(llama_model_loader & ml) { } break; case LLM_ARCH_DEEPSEEK2: { - bool is_lite = (hparams.n_layer == 27); + // lite variants include DeepSeek-V2-Lite, GigaChat3-10B-A1.8B + bool is_lite = (hparams.n_layer == 27 || hparams.n_layer == 26); ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); ml.get_key(LLM_KV_LEADING_DENSE_BLOCK_COUNT, hparams.n_layer_dense_lead); if (!is_lite) { @@ -4581,7 +4582,8 @@ bool llama_model::load_tensors(llama_model_loader & ml) { } break; case LLM_ARCH_DEEPSEEK2: { - const bool is_lite = (hparams.n_layer == 27); + // lite variants include DeepSeek-V2-Lite, GigaChat3-10B-A1.8B + const bool is_lite = (hparams.n_layer == 27 || hparams.n_layer == 26); const bool is_mla = (hparams.n_embd_head_k_mla != 0 && hparams.n_embd_head_v_mla != 0); diff --git a/src/models/deepseek2.cpp b/src/models/deepseek2.cpp index 68f72f72bb6..0b41f7ba8eb 100644 --- a/src/models/deepseek2.cpp +++ b/src/models/deepseek2.cpp @@ -4,7 +4,8 @@ llm_build_deepseek2::llm_build_deepseek2(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) { - bool is_lite = (hparams.n_layer == 27); + // lite variants include DeepSeek-V2-Lite, GigaChat3-10B-A1.8B + bool is_lite = (hparams.n_layer == 27 || hparams.n_layer == 26); const bool is_mla = (hparams.n_embd_head_k_mla != 0 && hparams.n_embd_head_v_mla != 0); From 8e9ddba610e8c86361e068117a1935cde94b8903 Mon Sep 17 00:00:00 2001 From: lhez Date: Fri, 21 Nov 2025 14:34:48 -0800 Subject: [PATCH 02/37] opencl: refine condition for kqv mm (#17392) --- ggml/src/ggml-opencl/ggml-opencl.cpp | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index 4cb6afe9271..2319f7a9e25 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -6895,9 +6895,23 @@ static void ggml_cl_mul_mat(ggml_backend_t backend, const ggml_tensor * src0, co cl_context context = backend_ctx->context; if(src0t == GGML_TYPE_F16 && src1t == GGML_TYPE_F32){ - if (ne01 >= 64 && ne1 >= 32 && ne00 >= 16 && (ne12 % ne02) == 0){ - ggml_cl_mul_mat_kq_kqv_adreno(backend, src0, src1, dst); - return; + if (ne01 >= 64 && ne1 >= 32 && ne00 >= 16 && (ne12 % ne02) == 0) { + // For KQ + if (ggml_is_permuted(src0) && ggml_is_permuted(src1) && + nb00 <= nb02 && + nb02 <= nb01 && + nb01 <= nb03 && + nb10 <= nb12 && + nb12 <= nb11 && + nb11 <= nb13) { + ggml_cl_mul_mat_kq_kqv_adreno(backend, src0, src1, dst); + return; + } + // For KQV + if (!ggml_is_contiguous(src0) && ggml_is_contiguous(src1)) { + ggml_cl_mul_mat_kq_kqv_adreno(backend, src0, src1, dst); + return; + } } } From 028f93ef9819d1a039f97d74d72380c986cd69aa Mon Sep 17 00:00:00 2001 From: yulo <77381088+zhang-hui-yulo@users.noreply.github.com> Date: Sat, 22 Nov 2025 07:03:24 +0800 Subject: [PATCH 03/37] HIP: RDNA4 tensor core support for MMF (#17077) * mmf for rdna4 * align the padding for rdna4 * forbit mul_mat_f for rdna4 * fix as comment * remove device kernels * add constexpr for early return * update based on review comment * change based on the review comment * pass compile error * keep code consistency --------- Co-authored-by: zhang hui --- ggml/src/ggml-cuda/common.cuh | 8 +++ ggml/src/ggml-cuda/convert.cuh | 9 +++ ggml/src/ggml-cuda/mma.cuh | 107 +++++++++++++++++++++++++++++++++ ggml/src/ggml-cuda/mmf.cu | 6 +- ggml/src/ggml-cuda/mmf.cuh | 73 ++++++++++++++++------ 5 files changed, 180 insertions(+), 23 deletions(-) diff --git a/ggml/src/ggml-cuda/common.cuh b/ggml/src/ggml-cuda/common.cuh index 25e9308d756..99ec96869a7 100644 --- a/ggml/src/ggml-cuda/common.cuh +++ b/ggml/src/ggml-cuda/common.cuh @@ -224,6 +224,10 @@ static const char * cu_get_error_str(CUresult err) { #define AMD_MFMA_AVAILABLE #endif // defined(GGML_USE_HIP) && defined(CDNA) && !defined(GGML_HIP_NO_MMQ_MFMA) +#if defined(GGML_USE_HIP) && defined(RDNA4) +#define AMD_WMMA_AVAILABLE +#endif // defined(GGML_USE_HIP) && defined(RDNA4) + // The Volta instructions are in principle available on Turing or newer but they are effectively unusable: #if !defined(GGML_USE_HIP) && __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA #define VOLTA_MMA_AVAILABLE @@ -283,6 +287,10 @@ static bool amd_mfma_available(const int cc) { #endif //!defined(GGML_HIP_NO_MMQ_MFMA) } +static bool amd_wmma_available(const int cc) { + return GGML_CUDA_CC_IS_RDNA4(cc); +} + static bool volta_mma_available(const int cc) { return GGML_CUDA_CC_IS_NVIDIA(cc) && ggml_cuda_highest_compiled_arch(cc) == GGML_CUDA_CC_VOLTA; } diff --git a/ggml/src/ggml-cuda/convert.cuh b/ggml/src/ggml-cuda/convert.cuh index 8a5e08ef667..09f9a33f909 100644 --- a/ggml/src/ggml-cuda/convert.cuh +++ b/ggml/src/ggml-cuda/convert.cuh @@ -39,6 +39,15 @@ template return __float2bfloat16(float(x)); } else if constexpr(std::is_same_v) { return __bfloat162float(x); + } else if constexpr(std::is_same_v && std::is_same_v) { + return __float22half2_rn(x); + } else if constexpr(std::is_same_v && std::is_same_v) { + // bypass compile error on cuda 12.0.1 +#ifdef GGML_USE_HIP + return __float22bfloat162_rn(x); +#else + return {x.x, x.y}; +#endif // GGML_USE_HIP } else if constexpr(std::is_same_v) { return int32_t(x); } else { diff --git a/ggml/src/ggml-cuda/mma.cuh b/ggml/src/ggml-cuda/mma.cuh index a7a28fd1ae6..c3c4b779965 100644 --- a/ggml/src/ggml-cuda/mma.cuh +++ b/ggml/src/ggml-cuda/mma.cuh @@ -74,6 +74,33 @@ namespace ggml_cuda_mma { static constexpr int J = J_; #if defined(GGML_USE_HIP) +#if defined(RDNA4) + static constexpr int ne = I * J / 32; + T x[ne] = {0}; + + static constexpr __device__ bool supported() { + if (I == 16 && J == 16) return true; + return false; + } + + static __device__ __forceinline__ int get_i(const int l) { + if constexpr (I == 16 && J == 16) { + return 8 * (threadIdx.x / 16) + l; + } else { + NO_DEVICE_CODE; + return -1; + } + } + + static __device__ __forceinline__ int get_j(const int l) { + if constexpr (I == 16 && J == 16) { + return threadIdx.x % 16; + } else { + NO_DEVICE_CODE; + return -1; + } + } +#else static constexpr int ne = I * J / 64; T x[ne] = {0}; @@ -119,6 +146,7 @@ namespace ggml_cuda_mma { return -1; } } +#endif // defined(RDNA4) #elif __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA static constexpr int ne = I * J / 32; T x[ne] = {0}; @@ -236,6 +264,32 @@ namespace ggml_cuda_mma { return -1; } } +#elif defined(AMD_WMMA_AVAILABLE) + static constexpr int ne = I * J / 32; + 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 4 * (threadIdx.x / 16) + l; + } else { + NO_DEVICE_CODE; + return -1; + } + } #else static constexpr int ne = I * J / WARP_SIZE; half2 x[ne] = {{0.0f, 0.0f}}; @@ -285,6 +339,34 @@ namespace ggml_cuda_mma { struct tile { static constexpr int I = I_; static constexpr int J = J_; + +#if defined(AMD_WMMA_AVAILABLE) + static constexpr int ne = I * J / 32; + nv_bfloat162 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 4 * (threadIdx.x / 16) + l; + } else { + NO_DEVICE_CODE; + return -1; + } + } +#else static constexpr int ne = I * J / WARP_SIZE; nv_bfloat162 x[ne] = {{0.0f, 0.0f}}; @@ -320,6 +402,7 @@ namespace ggml_cuda_mma { return -1; } } +#endif // defined(AMD_WMMA_AVAILABLE) }; template @@ -353,6 +436,8 @@ namespace ggml_cuda_mma { const int64_t * xs = (int64_t *) ((const int *) xs0 + (threadIdx.x % t.I) * stride + 2 * (threadIdx.x / t.I)); xi[0] = xs[0]; } +#elif defined(AMD_WMMA_AVAILABLE) + ggml_cuda_memcpy_1(t.x, xs0 + t.get_i(0) * stride + t.get_j(0)); #else #pragma unroll for (int l = 0; l < t.ne; ++l) { @@ -639,12 +724,34 @@ namespace ggml_cuda_mma { : "+r"(Dxi[4]), "+r"(Dxi[5]), "+r"(Dxi[6]), "+r"(Dxi[7]) : "r"(Axi[2]), "r"(Axi[3]), "r"(Bxi[3])); #endif // __CUDA_ARCH__ >= GGML_CUDA_CC_AMPERE +#elif defined(AMD_WMMA_AVAILABLE) + using halfx8_t = __attribute__((ext_vector_type(8))) _Float16; + using floatx8_t = __attribute__((ext_vector_type(8))) float; + floatx8_t& acc_frag = reinterpret_cast(D.x[0]); + const halfx8_t& a_frag = reinterpret_cast(A.x[0]); + const halfx8_t& b_frag = reinterpret_cast(B.x[0]); + acc_frag = __builtin_amdgcn_wmma_f32_16x16x16_f16_w32_gfx12(a_frag, b_frag, acc_frag); #else GGML_UNUSED_VARS(D, A, B); NO_DEVICE_CODE; #endif // TURING_MMA_AVAILABLE } + static __device__ __forceinline__ void mma( + tile<16, 16, float> & D, const tile<16, 8, nv_bfloat162> & A, const tile<16, 8, nv_bfloat162> & B) { +#if defined(AMD_WMMA_AVAILABLE) + using bf16x8_t = __attribute__((ext_vector_type(8))) __bf16; + using floatx8_t = __attribute__((ext_vector_type(8))) float; + floatx8_t& acc_frag = reinterpret_cast(D.x[0]); + const bf16x8_t& a_frag = reinterpret_cast(A.x[0]); + const bf16x8_t& b_frag = reinterpret_cast(B.x[0]); + acc_frag = __builtin_amdgcn_wmma_f32_16x16x16_bf16_w32_gfx12(a_frag, b_frag, acc_frag); +#else + GGML_UNUSED_VARS(D, A, B); + NO_DEVICE_CODE; +#endif // AMPERE_MMA_AVAILABLE + } + static __device__ __forceinline__ void mma( tile<16, 16, int> & D, const tile<16, 8, int> & A, const tile<16, 8, int> & B) { #if defined(AMD_MFMA_AVAILABLE) diff --git a/ggml/src/ggml-cuda/mmf.cu b/ggml/src/ggml-cuda/mmf.cu index 153dd5a97d5..5c51a22256a 100644 --- a/ggml/src/ggml-cuda/mmf.cu +++ b/ggml/src/ggml-cuda/mmf.cu @@ -151,7 +151,7 @@ bool ggml_cuda_should_use_mmf(enum ggml_type type, int cc, int warp_size, const return false; } } else { - if (src1_ncols > 16) { + if (src1_ncols > 16 || GGML_CUDA_CC_IS_RDNA4(cc)) { return false; } } @@ -160,9 +160,9 @@ bool ggml_cuda_should_use_mmf(enum ggml_type type, int cc, int warp_size, const case GGML_TYPE_F32: return ampere_mma_available(cc); case GGML_TYPE_F16: - return volta_mma_available(cc) || turing_mma_available(cc); + return volta_mma_available(cc) || turing_mma_available(cc) || amd_wmma_available(cc); case GGML_TYPE_BF16: - return ampere_mma_available(cc); + return ampere_mma_available(cc) || amd_wmma_available(cc); default: return false; } diff --git a/ggml/src/ggml-cuda/mmf.cuh b/ggml/src/ggml-cuda/mmf.cuh index 45724e0911e..c2a0a2e42fe 100644 --- a/ggml/src/ggml-cuda/mmf.cuh +++ b/ggml/src/ggml-cuda/mmf.cuh @@ -2,6 +2,7 @@ #include "mma.cuh" #include "common.cuh" +#include "convert.cuh" using namespace ggml_cuda_mma; @@ -27,20 +28,35 @@ static __global__ void mul_mat_f( const int stride_col_id, const int stride_row_id, 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) { -#if !defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA) +// 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(AMD_WMMA_AVAILABLE) + // Special case for tf32, just dummy mma layout as wmma doesn't support it. + constexpr int tile_B_I = std::is_same_v ? 8 : 16; + constexpr int tile_C_J = std::is_same_v ? 8 : 16; + typedef tile<16, 8, T> tile_A; + typedef tile tile_B; + typedef tile<16, tile_C_J, float> tile_C; + + constexpr bool a_supported = tile_A::supported(); + constexpr bool b_supported = tile_B::supported(); + constexpr bool c_supported = tile_C::supported(); + constexpr bool supported = a_supported && b_supported && c_supported; +#else constexpr bool I_16_supported = tile<16, 8, T>::supported() && tile<16, 8, float>::supported(); constexpr bool I_32_supported = tile<32, 8, T>::supported() && tile<32, 8, float>::supported(); - - if (!I_16_supported && !I_32_supported) { - NO_DEVICE_CODE; - return; - } + constexpr bool supported = I_16_supported || I_32_supported; constexpr int I_preferred = I_16_supported ? 16 : 32; // For Turing MMA both work but 16 is ~1% faster. typedef tile tile_A; typedef tile<8, 8, T> tile_B; typedef tile tile_C; +#endif // defined(AMD_WMMA_AVAILABLE) + if constexpr (!supported) { + NO_DEVICE_CODE; + return; + } constexpr int warp_size = ggml_cuda_get_physical_warp_size(); constexpr int tile_k_padded = warp_size + 4; @@ -161,11 +177,11 @@ static __global__ void mul_mat_f( if constexpr (!has_ids) { const float2 tmp = j < cols_per_block ? y2[j*stride_col_y + col] : make_float2(0.0f, 0.0f); - tile_xy[j0*tile_k_padded + threadIdx.x] = {tmp.x, tmp.y}; + tile_xy[j0*tile_k_padded + threadIdx.x] = ggml_cuda_cast(tmp); } else { const bool valid = j < cols_per_block && (col_base + j) < ncols_dst_total && slot_map[j] >= 0; float2 tmp = valid ? *(const float2*) &y[slot_map[j]*stride_channel_y + 2*(j*stride_col_y + col)] : make_float2(0.0f, 0.0f); - tile_xy[j0*tile_k_padded + threadIdx.x] = {tmp.x, tmp.y}; + tile_xy[j0*tile_k_padded + threadIdx.x] = ggml_cuda_cast(tmp); } } } else { @@ -239,7 +255,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) +#endif // (!defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA)) || defined(AMD_WMMA_AVAILABLE) } //This kernel is for larger batch sizes of mul_mat_id @@ -253,20 +269,35 @@ static __global__ void mul_mat_f_ids( 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, const uint3 sis1_fd, const uint3 nch_fd) { -#if !defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA) +// 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(AMD_WMMA_AVAILABLE) + // Special case for tf32, just dummy mma layout as wmma doesn't support it. + constexpr int tile_B_I = std::is_same_v ? 8 : 16; + constexpr int tile_C_J = std::is_same_v ? 8 : 16; + typedef tile<16, 8, T> tile_A; + typedef tile tile_B; + typedef tile<16, tile_C_J, float> tile_C; + + constexpr bool a_supported = tile_A::supported(); + constexpr bool b_supported = tile_B::supported(); + constexpr bool c_supported = tile_C::supported(); + constexpr bool supported = a_supported && b_supported && c_supported; +#else constexpr bool I_16_supported = tile<16, 8, T>::supported() && tile<16, 8, float>::supported(); constexpr bool I_32_supported = tile<32, 8, T>::supported() && tile<32, 8, float>::supported(); + constexpr bool supported = I_16_supported || I_32_supported; - if (!I_16_supported && !I_32_supported) { - NO_DEVICE_CODE; - return; - } - - constexpr int I_preferred = I_16_supported ? 16 : 32; // For Turing MMA both work butr 16 is ~1% faster. + constexpr int I_preferred = I_16_supported ? 16 : 32; // For Turing MMA both work but 16 is ~1% faster. typedef tile tile_A; typedef tile<8, 8, T> tile_B; typedef tile tile_C; +#endif // defined(AMD_WMMA_AVAILABLE) + if constexpr (!supported) { + NO_DEVICE_CODE; + return; + } constexpr int warp_size = ggml_cuda_get_physical_warp_size(); constexpr int tile_k_padded = warp_size + 4; @@ -408,7 +439,7 @@ static __global__ void mul_mat_f_ids( #pragma unroll for (int j0 = 0; j0 < tile_B::I; ++j0) { const float2 tmp = vals_buf[curr_buf][j0]; - tile_xy[j0*tile_k_padded + threadIdx.x] = {tmp.x, tmp.y}; + tile_xy[j0*tile_k_padded + threadIdx.x] = ggml_cuda_cast(tmp); } if (itB + 1 < ntB) { @@ -492,7 +523,7 @@ static __global__ void mul_mat_f_ids( 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) +#endif // (!defined(GGML_USE_HIP) && !defined(GGML_USE_MUSA)) || defined(AMD_WMMA_AVAILABLE) } template @@ -554,7 +585,8 @@ void mul_mat_f_cuda( cudaStream_t stream, const mmf_ids_data * ids_data) { typedef tile<16, 8, T> tile_A_16; typedef tile<32, 8, T> tile_A_32; - typedef tile< 8, 8, T> tile_B; + typedef tile<16, 8, T> tile_B_16; + typedef tile< 8, 8, T> tile_B_8; GGML_ASSERT(ncols_x % 2 == 0); GGML_ASSERT(stride_row % 2 == 0); @@ -581,7 +613,8 @@ 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_shared_combine = GGML_PAD(cols_per_block, tile_B::I) * (nwarps_best*rows_per_block + 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 = 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; From 3f3a4fb9c3b907c68598363b204e6f58f4757c8c Mon Sep 17 00:00:00 2001 From: Masato Nakasaka Date: Sat, 22 Nov 2025 18:55:43 +0900 Subject: [PATCH 04/37] Revive MUL_MAT_ID to perf testing (#17397) --- tests/test-backend-ops.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 2bb4b122247..90bdb80e5ec 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -7819,6 +7819,7 @@ static std::vector> make_test_cases_perf() { for (int bs : {1, 4, 8, 32, 64, 128, 256, 512}) { for (ggml_type type_a : {GGML_TYPE_F32, GGML_TYPE_F16, GGML_TYPE_Q4_0, GGML_TYPE_Q8_0, GGML_TYPE_Q4_K, GGML_TYPE_Q6_K, GGML_TYPE_IQ2_XS}) { for (ggml_type type_b : {GGML_TYPE_F32}) { + test_cases.emplace_back(new test_mul_mat_id(type_a, type_b, 128, 8, false, 768, bs, 2048)); test_cases.emplace_back(new test_mul_mat_id_fusion(type_a, type_b, 128, 8, false, 768, bs, 2048, 1)); } } @@ -7827,6 +7828,7 @@ static std::vector> make_test_cases_perf() { for (int bs : {1, 4, 8, 32, 64, 128, 256, 512}) { for (ggml_type type_a : {GGML_TYPE_F32, GGML_TYPE_F16, GGML_TYPE_Q4_0, GGML_TYPE_Q8_0, GGML_TYPE_Q4_K, GGML_TYPE_Q6_K, GGML_TYPE_IQ2_XS}) { for (ggml_type type_b : {GGML_TYPE_F32}) { + test_cases.emplace_back(new test_mul_mat_id(type_a, type_b, 32, 4, false, 1792, bs, 2048)); test_cases.emplace_back(new test_mul_mat_id_fusion(type_a, type_b, 32, 4, false, 1792, bs, 2048, 1)); } } @@ -7837,6 +7839,7 @@ static std::vector> make_test_cases_perf() { for (int bs : {1, 4, 8, 512}) { for (ggml_type type_a : {GGML_TYPE_MXFP4}) { for (ggml_type type_b : {GGML_TYPE_F32}) { + test_cases.emplace_back(new test_mul_mat_id(type_a, type_b, 32, 4, false, 2880, bs, 2880)); test_cases.emplace_back(new test_mul_mat_id_fusion(type_a, type_b, 32, 4, false, 2880, bs, 2880, 1)); } } From 4949ac0f18dd6f4a1fb1757f2152bd682fefae54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Sat, 22 Nov 2025 21:38:19 +0100 Subject: [PATCH 05/37] ci : switch to BoringSSL on Server workflow (#17441) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Adrien Gallouët --- .github/workflows/server.yml | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/.github/workflows/server.yml b/.github/workflows/server.yml index be4e23bc813..a57d0e8b1cb 100644 --- a/.github/workflows/server.yml +++ b/.github/workflows/server.yml @@ -351,16 +351,10 @@ jobs: fetch-depth: 0 ref: ${{ github.event.inputs.sha || github.event.pull_request.head.sha || github.sha || github.head_ref || github.ref_name }} - - name: libCURL - id: get_libcurl - uses: ./.github/actions/windows-setup-curl - - name: Build id: cmake_build - env: - CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }} run: | - cmake -B build -DCURL_LIBRARY="$env:CURL_PATH/lib/libcurl.dll.a" -DCURL_INCLUDE_DIR="$env:CURL_PATH/include" + cmake -B build -DLLAMA_CURL=OFF -DLLAMA_BUILD_BORINGSSL=ON cmake --build build --config Release -j ${env:NUMBER_OF_PROCESSORS} --target llama-server - name: Python setup @@ -374,13 +368,6 @@ jobs: run: | pip install -r tools/server/tests/requirements.txt - - name: Copy Libcurl - id: prepare_libcurl - env: - CURL_PATH: ${{ steps.get_libcurl.outputs.curl_path }} - run: | - cp $env:CURL_PATH/bin/libcurl-x64.dll ./build/bin/Release/libcurl-x64.dll - - name: Tests id: server_integration_tests if: ${{ !matrix.disabled_on_pr || !github.event.pull_request }} From 54d83bbe85c1f1ec7f4f61e719231a95101c1182 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Sat, 22 Nov 2025 23:29:40 -0600 Subject: [PATCH 06/37] vulkan: remove a couple unnecessary switches (#17419) --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 280 ++------------------------- 1 file changed, 17 insertions(+), 263 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index d4f27af8fc6..bc8d3cdcb59 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -11381,13 +11381,13 @@ static void ggml_vk_preallocate_buffers(ggml_backend_vk_context * ctx, vk_contex } } -static bool ggml_vk_compute_forward(ggml_backend_vk_context* ctx, ggml_cgraph * cgraph, ggml_tensor* tensor, int tensor_idx, bool almost_ready); +static void ggml_vk_compute_forward(ggml_backend_vk_context* ctx, ggml_cgraph * cgraph, ggml_tensor* tensor, int tensor_idx, bool almost_ready); // Returns true if node has enqueued work into the queue, false otherwise // If submit is true the current all operations queued so far are being submitted to Vulkan to overlap cmdlist creation and GPU execution. static bool ggml_vk_build_graph(ggml_backend_vk_context * ctx, ggml_cgraph * cgraph, int node_idx, ggml_tensor *node_begin, int node_idx_begin, bool last_node, bool almost_ready, bool submit){ ggml_tensor * node = cgraph->nodes[node_idx]; - if (ggml_is_empty(node) || !node->buffer) { + if (ggml_is_empty(node) || ggml_op_is_empty(node->op) || !node->buffer) { return false; } @@ -11399,132 +11399,19 @@ static bool ggml_vk_build_graph(ggml_backend_vk_context * ctx, ggml_cgraph * cgr ggml_tensor * src2 = node->src[2]; ggml_tensor * src3 = node->src[3]; - switch (node->op) { - // Return on empty ops to avoid generating a compute_ctx and setting exit_tensor - case GGML_OP_RESHAPE: - case GGML_OP_VIEW: - case GGML_OP_PERMUTE: - case GGML_OP_TRANSPOSE: - case GGML_OP_NONE: - return false; - case GGML_OP_UNARY: - switch (ggml_get_unary_op(node)) { - case GGML_UNARY_OP_EXP: - case GGML_UNARY_OP_SILU: - case GGML_UNARY_OP_GELU: - case GGML_UNARY_OP_GELU_ERF: - case GGML_UNARY_OP_GELU_QUICK: - case GGML_UNARY_OP_RELU: - case GGML_UNARY_OP_NEG: - case GGML_UNARY_OP_TANH: - case GGML_UNARY_OP_SIGMOID: - case GGML_UNARY_OP_HARDSIGMOID: - case GGML_UNARY_OP_HARDSWISH: - case GGML_UNARY_OP_ABS: - case GGML_UNARY_OP_SOFTPLUS: - case GGML_UNARY_OP_STEP: - case GGML_UNARY_OP_ROUND: - case GGML_UNARY_OP_CEIL: - case GGML_UNARY_OP_FLOOR: - case GGML_UNARY_OP_TRUNC: - break; - default: - return false; - } - break; - case GGML_OP_GLU: - switch (ggml_get_glu_op(node)) { - case GGML_GLU_OP_GEGLU: - case GGML_GLU_OP_REGLU: - case GGML_GLU_OP_SWIGLU: - case GGML_GLU_OP_SWIGLU_OAI: - case GGML_GLU_OP_GEGLU_ERF: - case GGML_GLU_OP_GEGLU_QUICK: - break; - default: - return false; - } - break; - case GGML_OP_ADD: - { - int next_node_idx = node_idx + 1 + ctx->num_additional_fused_ops; - if (next_node_idx < cgraph->n_nodes && - cgraph->nodes[next_node_idx]->op == GGML_OP_RMS_NORM && - cgraph->nodes[next_node_idx]->src[0] == cgraph->nodes[next_node_idx - 1] && - ggml_nrows(cgraph->nodes[next_node_idx]) == 1 && - ctx->device->add_rms_fusion) { - uint32_t size = ggml_vk_rms_partials_size(ctx, cgraph->nodes[node_idx]); - ctx->do_add_rms_partials_offset_calculation = true; - if (ctx->prealloc_size_add_rms_partials_offset + size <= ctx->prealloc_size_add_rms_partials) { - ctx->do_add_rms_partials = true; - } + if (node->op == GGML_OP_ADD) { + int next_node_idx = node_idx + 1 + ctx->num_additional_fused_ops; + if (next_node_idx < cgraph->n_nodes && + cgraph->nodes[next_node_idx]->op == GGML_OP_RMS_NORM && + cgraph->nodes[next_node_idx]->src[0] == cgraph->nodes[next_node_idx - 1] && + ggml_nrows(cgraph->nodes[next_node_idx]) == 1 && + ctx->device->add_rms_fusion) { + uint32_t size = ggml_vk_rms_partials_size(ctx, cgraph->nodes[node_idx]); + ctx->do_add_rms_partials_offset_calculation = true; + if (ctx->prealloc_size_add_rms_partials_offset + size <= ctx->prealloc_size_add_rms_partials) { + ctx->do_add_rms_partials = true; } - } break; - case GGML_OP_REPEAT: - case GGML_OP_REPEAT_BACK: - case GGML_OP_GET_ROWS: - case GGML_OP_ADD_ID: - case GGML_OP_ACC: - case GGML_OP_SUB: - case GGML_OP_MUL: - case GGML_OP_DIV: - case GGML_OP_ADD1: - case GGML_OP_ARANGE: - case GGML_OP_FILL: - case GGML_OP_CONCAT: - case GGML_OP_UPSCALE: - case GGML_OP_SCALE: - case GGML_OP_SQR: - case GGML_OP_SQRT: - case GGML_OP_SIN: - case GGML_OP_COS: - case GGML_OP_LOG: - case GGML_OP_CLAMP: - case GGML_OP_PAD: - case GGML_OP_ROLL: - case GGML_OP_CPY: - case GGML_OP_SET_ROWS: - case GGML_OP_CONT: - case GGML_OP_DUP: - case GGML_OP_SILU_BACK: - case GGML_OP_NORM: - case GGML_OP_GROUP_NORM: - case GGML_OP_RMS_NORM: - case GGML_OP_RMS_NORM_BACK: - case GGML_OP_L2_NORM: - case GGML_OP_DIAG_MASK_INF: - case GGML_OP_SOFT_MAX: - case GGML_OP_SOFT_MAX_BACK: - case GGML_OP_ROPE: - case GGML_OP_ROPE_BACK: - case GGML_OP_MUL_MAT: - case GGML_OP_MUL_MAT_ID: - case GGML_OP_ARGSORT: - case GGML_OP_SUM: - case GGML_OP_SUM_ROWS: - case GGML_OP_MEAN: - case GGML_OP_ARGMAX: - case GGML_OP_COUNT_EQUAL: - case GGML_OP_IM2COL: - case GGML_OP_IM2COL_3D: - case GGML_OP_TIMESTEP_EMBEDDING: - case GGML_OP_CONV_TRANSPOSE_1D: - case GGML_OP_POOL_2D: - case GGML_OP_CONV_2D: - case GGML_OP_CONV_TRANSPOSE_2D: - case GGML_OP_CONV_2D_DW: - case GGML_OP_RWKV_WKV6: - case GGML_OP_RWKV_WKV7: - case GGML_OP_SSM_SCAN: - case GGML_OP_SSM_CONV: - case GGML_OP_LEAKY_RELU: - case GGML_OP_FLASH_ATTN_EXT: - case GGML_OP_OPT_STEP_ADAMW: - case GGML_OP_OPT_STEP_SGD: - break; - default: - std::cerr << "ggml_vulkan: Error: Missing op: " << ggml_op_name(node->op) << std::endl; - GGML_ABORT("fatal error"); + } } vk_context compute_ctx; @@ -11961,145 +11848,14 @@ static bool ggml_vk_build_graph(ggml_backend_vk_context * ctx, ggml_cgraph * cgr ctx->compute_ctx.reset(); - bool ok = ggml_vk_compute_forward(ctx, cgraph, node_begin, node_idx_begin, almost_ready); - if (!ok) { - if (node->op == GGML_OP_UNARY) { - std::cerr << __func__ << ": error: op not supported UNARY " << node->name << " (" << ggml_unary_op_name(static_cast(node->op_params[0])) << ")" << std::endl; - } else if (node->op == GGML_OP_GLU) { - std::cerr << __func__ << ": error: op not supported GLU " << node->name << " (" << ggml_glu_op_name(static_cast(node->op_params[0])) << ")" << std::endl; - } else { - std::cerr << __func__ << ": error: op not supported " << node->name << " (" << ggml_op_name(node->op) << ")" << std::endl; - } - } - + ggml_vk_compute_forward(ctx, cgraph, node_begin, node_idx_begin, almost_ready); } return true; } -static bool ggml_vk_compute_forward(ggml_backend_vk_context * ctx, ggml_cgraph * cgraph, ggml_tensor * tensor, int tensor_idx, bool almost_ready = false) { +static void ggml_vk_compute_forward(ggml_backend_vk_context * ctx, ggml_cgraph * cgraph, ggml_tensor * tensor, int tensor_idx, bool almost_ready = false) { GGML_UNUSED(cgraph); - ggml_backend_buffer * buf = nullptr; - - switch (tensor->op) { - case GGML_OP_ADD: - case GGML_OP_ACC: - case GGML_OP_GET_ROWS: - case GGML_OP_SUB: - case GGML_OP_MUL: - case GGML_OP_DIV: - case GGML_OP_ADD1: - case GGML_OP_ARANGE: - case GGML_OP_FILL: - case GGML_OP_ADD_ID: - case GGML_OP_CONCAT: - case GGML_OP_UPSCALE: - case GGML_OP_SCALE: - case GGML_OP_SQR: - case GGML_OP_SQRT: - case GGML_OP_SIN: - case GGML_OP_COS: - case GGML_OP_LOG: - case GGML_OP_CLAMP: - case GGML_OP_PAD: - case GGML_OP_ROLL: - case GGML_OP_CPY: - case GGML_OP_SET_ROWS: - case GGML_OP_CONT: - case GGML_OP_DUP: - case GGML_OP_SILU_BACK: - case GGML_OP_NORM: - case GGML_OP_GROUP_NORM: - case GGML_OP_RMS_NORM: - case GGML_OP_RMS_NORM_BACK: - case GGML_OP_L2_NORM: - case GGML_OP_DIAG_MASK_INF: - case GGML_OP_SOFT_MAX: - case GGML_OP_SOFT_MAX_BACK: - case GGML_OP_ROPE: - case GGML_OP_ROPE_BACK: - case GGML_OP_RESHAPE: - case GGML_OP_VIEW: - case GGML_OP_PERMUTE: - case GGML_OP_TRANSPOSE: - case GGML_OP_NONE: - case GGML_OP_ARGSORT: - case GGML_OP_SUM: - case GGML_OP_SUM_ROWS: - case GGML_OP_MEAN: - case GGML_OP_ARGMAX: - case GGML_OP_COUNT_EQUAL: - case GGML_OP_IM2COL: - case GGML_OP_IM2COL_3D: - case GGML_OP_TIMESTEP_EMBEDDING: - case GGML_OP_CONV_TRANSPOSE_1D: - case GGML_OP_POOL_2D: - case GGML_OP_CONV_2D: - case GGML_OP_CONV_TRANSPOSE_2D: - case GGML_OP_CONV_2D_DW: - case GGML_OP_RWKV_WKV6: - case GGML_OP_RWKV_WKV7: - case GGML_OP_SSM_SCAN: - case GGML_OP_SSM_CONV: - case GGML_OP_LEAKY_RELU: - case GGML_OP_REPEAT: - case GGML_OP_REPEAT_BACK: - case GGML_OP_OPT_STEP_ADAMW: - case GGML_OP_OPT_STEP_SGD: - buf = tensor->buffer; - break; - case GGML_OP_UNARY: - switch (ggml_get_unary_op(tensor)) { - case GGML_UNARY_OP_EXP: - case GGML_UNARY_OP_SILU: - case GGML_UNARY_OP_GELU: - case GGML_UNARY_OP_GELU_ERF: - case GGML_UNARY_OP_GELU_QUICK: - case GGML_UNARY_OP_RELU: - case GGML_UNARY_OP_NEG: - case GGML_UNARY_OP_TANH: - case GGML_UNARY_OP_SIGMOID: - case GGML_UNARY_OP_HARDSIGMOID: - case GGML_UNARY_OP_HARDSWISH: - case GGML_UNARY_OP_ABS: - case GGML_UNARY_OP_SOFTPLUS: - case GGML_UNARY_OP_STEP: - case GGML_UNARY_OP_ROUND: - case GGML_UNARY_OP_CEIL: - case GGML_UNARY_OP_FLOOR: - case GGML_UNARY_OP_TRUNC: - buf = tensor->buffer; - break; - default: - return false; - } - break; - case GGML_OP_GLU: - switch (ggml_get_glu_op(tensor)) { - case GGML_GLU_OP_GEGLU: - case GGML_GLU_OP_REGLU: - case GGML_GLU_OP_SWIGLU: - case GGML_GLU_OP_SWIGLU_OAI: - case GGML_GLU_OP_GEGLU_ERF: - case GGML_GLU_OP_GEGLU_QUICK: - buf = tensor->buffer; - break; - default: - return false; - } - break; - case GGML_OP_MUL_MAT: - case GGML_OP_MUL_MAT_ID: - case GGML_OP_FLASH_ATTN_EXT: - buf = tensor->buffer; - - break; - default: - return false; - } - - if (buf == nullptr) { - return false; - } + GGML_UNUSED(tensor); VK_LOG_DEBUG("ggml_vk_compute_forward(" << tensor << ", name=" << tensor->name << ", op=" << ggml_op_name(tensor->op) << ", type=" << tensor->type << ", ne0=" << tensor->ne[0] << ", ne1=" << tensor->ne[1] << ", ne2=" << tensor->ne[2] << ", ne3=" << tensor->ne[3] << ", nb0=" << tensor->nb[0] << ", nb1=" << tensor->nb[1] << ", nb2=" << tensor->nb[2] << ", nb3=" << tensor->nb[3] << ", view_src=" << tensor->view_src << ", view_offs=" << tensor->view_offs << ")"); @@ -12143,8 +11899,6 @@ static bool ggml_vk_compute_forward(ggml_backend_vk_context * ctx, ggml_cgraph * subctx->out_memcpys.clear(); subctx->memsets.clear(); } - - return true; } // Clean up after graph processing is done From bc809e9c53ee34fe059d7b820072e2a22c51b9e2 Mon Sep 17 00:00:00 2001 From: Eric Curtin Date: Sun, 23 Nov 2025 09:29:36 +0000 Subject: [PATCH 07/37] vulkan: Update docker image to Ubuntu 26.04 to enable glslc features (#17439) 26.04 provides these Signed-off-by: Eric Curtin --- .devops/vulkan.Dockerfile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.devops/vulkan.Dockerfile b/.devops/vulkan.Dockerfile index b6b802a7c6e..ebf23ba5cff 100644 --- a/.devops/vulkan.Dockerfile +++ b/.devops/vulkan.Dockerfile @@ -1,9 +1,7 @@ -ARG UBUNTU_VERSION=25.10 +ARG UBUNTU_VERSION=26.04 FROM ubuntu:$UBUNTU_VERSION AS build -# Ref: https://vulkan.lunarg.com/doc/sdk/latest/linux/getting_started.html - # Install build tools RUN apt update && apt install -y git build-essential cmake wget xz-utils From 96ac5a2329029dfc35c9cbbb24c09fd91ae9416b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Sun, 23 Nov 2025 11:13:34 +0100 Subject: [PATCH 08/37] cuda : support non-contiguous i32 to i32 copy (#17326) * support non-contiguous i32 to i32 copy * add tests * rename cpy_flt to cpy_scalar and reindent params --- ggml/src/ggml-cuda/cpy-utils.cuh | 2 +- ggml/src/ggml-cuda/cpy.cu | 132 ++++++++++++++++++++----------- ggml/src/ggml-cuda/ggml-cuda.cu | 3 + tests/test-backend-ops.cpp | 4 +- 4 files changed, 92 insertions(+), 49 deletions(-) diff --git a/ggml/src/ggml-cuda/cpy-utils.cuh b/ggml/src/ggml-cuda/cpy-utils.cuh index e621cb9811a..7697c292dd6 100644 --- a/ggml/src/ggml-cuda/cpy-utils.cuh +++ b/ggml/src/ggml-cuda/cpy-utils.cuh @@ -212,6 +212,6 @@ static __device__ void cpy_blck_f32_iq4_nl(const char * cxi, char * cdsti) { } template -static __device__ void cpy_1_flt(const char * cxi, char * cdsti) { +static __device__ void cpy_1_scalar(const char * cxi, char * cdsti) { *(dst_t *) cdsti = ggml_cuda_cast(*(const src_t *) cxi); } diff --git a/ggml/src/ggml-cuda/cpy.cu b/ggml/src/ggml-cuda/cpy.cu index c1afde9627f..82367ad3fb0 100644 --- a/ggml/src/ggml-cuda/cpy.cu +++ b/ggml/src/ggml-cuda/cpy.cu @@ -12,10 +12,10 @@ const int CUDA_CPY_BLOCK_NM = 8; // block size of 3rd dimension if available const int CUDA_CPY_BLOCK_ROWS = 8; // block dimension for marching through rows template -static __global__ void cpy_flt(const char * cx, char * cdst, const int ne, - const int ne00, const int ne01, const int ne02, const int nb00, const int nb01, const int nb02, - const int nb03, const int ne10, const int ne11, const int ne12, const int nb10, const int nb11, - const int nb12, const int nb13) { +static __global__ void cpy_scalar(const char * cx, char * cdst, const int ne, + const int ne00, const int ne01, const int ne02, const int nb00, const int nb01, const int nb02, + const int nb03, const int ne10, const int ne11, const int ne12, const int nb10, const int nb11, + const int nb12, const int nb13) { const int64_t i = blockDim.x*blockIdx.x + threadIdx.x; if (i >= ne) { @@ -40,7 +40,7 @@ static __global__ void cpy_flt(const char * cx, char * cdst, const int ne, } template -static __global__ void cpy_flt_transpose(const char * cx, char * cdst, const int ne, +static __global__ void cpy_scalar_transpose(const char * cx, char * cdst, const int ne, const int ne00, const int ne01, const int ne02, const int nb00, const int nb01, const int nb02, const int nb03, const int ne10, const int ne11, const int ne12, const int nb10, const int nb11, const int nb12, const int nb13) { @@ -166,7 +166,7 @@ static __global__ void cpy_q_f32(const char * cx, char * cdst, const int ne, } template -static __global__ void cpy_flt_contiguous(const char * cx, char * cdst, const int64_t ne) { +static __global__ void cpy_scalar_contiguous(const char * cx, char * cdst, const int64_t ne) { const int64_t i = blockDim.x*blockIdx.x + threadIdx.x; if (i >= ne) { @@ -180,17 +180,17 @@ static __global__ void cpy_flt_contiguous(const char * cx, char * cdst, const in } template -static void ggml_cpy_flt_contiguous_cuda( +static void ggml_cpy_scalar_contiguous_cuda( const char * cx, char * cdst, const int64_t ne, cudaStream_t stream) { const int64_t num_blocks = (ne + CUDA_CPY_BLOCK_SIZE - 1) / CUDA_CPY_BLOCK_SIZE; - cpy_flt_contiguous<<>> + cpy_scalar_contiguous<<>> (cx, cdst, ne); } template -static void ggml_cpy_flt_cuda( +static void ggml_cpy_scalar_cuda( const char * cx, char * cdst, const int ne, const int ne00, const int ne01, const int ne02, const int nb00, const int nb01, const int nb02, const int nb03, const int ne10, const int ne11, const int ne12, const int nb10, const int nb11, const int nb12, const int nb13, cudaStream_t stream) { @@ -212,11 +212,11 @@ static void ggml_cpy_flt_cuda( (ne00n + CUDA_CPY_TILE_DIM_2D - 1) / CUDA_CPY_TILE_DIM_2D, (ne/(ne01n*ne00n) + CUDA_CPY_BLOCK_NM - 1) / CUDA_CPY_BLOCK_NM); dim3 dimBlock(CUDA_CPY_TILE_DIM_2D, CUDA_CPY_BLOCK_ROWS, 1); - cpy_flt_transpose<<>> + cpy_scalar_transpose<<>> (cx, cdst, ne, ne00n, ne01n, ne02n, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13); } else { const int num_blocks = (ne + CUDA_CPY_BLOCK_SIZE - 1) / CUDA_CPY_BLOCK_SIZE; - cpy_flt><<>> + cpy_scalar><<>> (cx, cdst, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13); } } @@ -399,94 +399,132 @@ void ggml_cuda_cpy(ggml_backend_cuda_context & ctx, const ggml_tensor * src0, gg } } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_F32) { if (can_be_transposed) { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_BF16) { if (contiguous_srcs) { - ggml_cpy_flt_contiguous_cuda (src0_ddc, src1_ddc, ne, main_stream); + ggml_cpy_scalar_contiguous_cuda + (src0_ddc, src1_ddc, ne, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_F16) { if (contiguous_srcs) { - ggml_cpy_flt_contiguous_cuda (src0_ddc, src1_ddc, ne, main_stream); + ggml_cpy_scalar_contiguous_cuda + (src0_ddc, src1_ddc, ne, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_Q8_0) { - ggml_cpy_f32_q8_0_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_f32_q8_0_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_Q8_0 && src1->type == GGML_TYPE_F32) { - ggml_cpy_q8_0_f32_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_q8_0_f32_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_Q4_0) { - ggml_cpy_f32_q4_0_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_f32_q4_0_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_Q4_0 && src1->type == GGML_TYPE_F32) { - ggml_cpy_q4_0_f32_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, - nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_q4_0_f32_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_Q4_1) { - ggml_cpy_f32_q4_1_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_f32_q4_1_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_Q4_1 && src1->type == GGML_TYPE_F32) { - ggml_cpy_q4_1_f32_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, - nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_q4_1_f32_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_Q5_0) { - ggml_cpy_f32_q5_0_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_f32_q5_0_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_Q5_0 && src1->type == GGML_TYPE_F32) { - ggml_cpy_q5_0_f32_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, - nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_q5_0_f32_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_IQ4_NL) { - ggml_cpy_f32_iq4_nl_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_f32_iq4_nl_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_Q5_1) { - ggml_cpy_f32_q5_1_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_f32_q5_1_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_Q5_1 && src1->type == GGML_TYPE_F32) { - ggml_cpy_q5_1_f32_cuda(src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_q5_1_f32_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else if (src0->type == GGML_TYPE_F16 && src1->type == GGML_TYPE_F16) { if (can_be_transposed) { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_F16 && src1->type == GGML_TYPE_BF16) { if (contiguous_srcs) { - ggml_cpy_flt_contiguous_cuda (src0_ddc, src1_ddc, ne, main_stream); + ggml_cpy_scalar_contiguous_cuda + (src0_ddc, src1_ddc, ne, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_F16 && src1->type == GGML_TYPE_F32) { if (contiguous_srcs) { - ggml_cpy_flt_contiguous_cuda (src0_ddc, src1_ddc, ne, main_stream); + ggml_cpy_scalar_contiguous_cuda + (src0_ddc, src1_ddc, ne, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_BF16 && src1->type == GGML_TYPE_BF16) { if (can_be_transposed) { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_BF16 && src1->type == GGML_TYPE_F16) { if (contiguous_srcs) { - ggml_cpy_flt_contiguous_cuda (src0_ddc, src1_ddc, ne, main_stream); + ggml_cpy_scalar_contiguous_cuda + (src0_ddc, src1_ddc, ne, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_BF16 && src1->type == GGML_TYPE_F32) { if (contiguous_srcs) { - ggml_cpy_flt_contiguous_cuda (src0_ddc, src1_ddc, ne, main_stream); + ggml_cpy_scalar_contiguous_cuda + (src0_ddc, src1_ddc, ne, main_stream); + } else { + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + } + } else if (src0->type == GGML_TYPE_I32 && src1->type == GGML_TYPE_I32) { + if (can_be_transposed) { + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_F32 && src1->type == GGML_TYPE_I32) { if (contiguous_srcs) { - ggml_cpy_flt_contiguous_cuda (src0_ddc, src1_ddc, ne, main_stream); + ggml_cpy_scalar_contiguous_cuda + (src0_ddc, src1_ddc, ne, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else if (src0->type == GGML_TYPE_I32 && src1->type == GGML_TYPE_F32) { if (contiguous_srcs) { - ggml_cpy_flt_contiguous_cuda (src0_ddc, src1_ddc, ne, main_stream); + ggml_cpy_scalar_contiguous_cuda + (src0_ddc, src1_ddc, ne, main_stream); } else { - ggml_cpy_flt_cuda (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); + ggml_cpy_scalar_cuda + (src0_ddc, src1_ddc, ne, ne00, ne01, ne02, nb00, nb01, nb02, nb03, ne10, ne11, ne12, nb10, nb11, nb12, nb13, main_stream); } } else { GGML_ABORT("%s: unsupported type combination (%s to %s)\n", __func__, diff --git a/ggml/src/ggml-cuda/ggml-cuda.cu b/ggml/src/ggml-cuda/ggml-cuda.cu index 8fe0899bb5a..0b29074f33d 100644 --- a/ggml/src/ggml-cuda/ggml-cuda.cu +++ b/ggml/src/ggml-cuda/ggml-cuda.cu @@ -4115,6 +4115,9 @@ static bool ggml_backend_cuda_device_supports_op(ggml_backend_dev_t dev, const g if (src0_type == GGML_TYPE_I32 && src1_type == GGML_TYPE_F32) { return true; } + if (src0_type == GGML_TYPE_I32 && src1_type == GGML_TYPE_I32) { + return true; + } if (src0_type == src1_type && ggml_is_contiguous(op->src[0]) && ggml_is_contiguous(op->src[1])) { return true; } diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index 90bdb80e5ec..ce8c068d7aa 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -6953,9 +6953,11 @@ static std::vector> make_test_cases_eval() { test_cases.emplace_back(new test_cpy(GGML_TYPE_F16, GGML_TYPE_F16, {256, 4, 1, 1}, {0, 0, 0, 0}, {0, 0, 0, 0}, true)); test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_F32, {256, 4, 1, 1}, {0, 0, 0, 0}, {0, 0, 0, 0}, true)); test_cases.emplace_back(new test_cpy(GGML_TYPE_BF16, GGML_TYPE_BF16, {256, 4, 1, 1}, {0, 0, 0, 0}, {0, 0, 0, 0}, true)); + test_cases.emplace_back(new test_cpy(GGML_TYPE_I32, GGML_TYPE_I32, {256, 4, 1, 1}, {0, 0, 0, 0}, {0, 0, 0, 0}, true)); + test_cases.emplace_back(new test_cpy(GGML_TYPE_I32, GGML_TYPE_I32, {256, 1, 4, 1}, {1, 2, 0, 3}, {0, 0, 0, 0})); test_cases.emplace_back(new test_cpy(GGML_TYPE_F32, GGML_TYPE_F32, {256, 1, 4, 1}, {1, 2, 0, 3}, {0, 0, 0, 0})); - for (ggml_type type_dst : { GGML_TYPE_F32, GGML_TYPE_F16, GGML_TYPE_BF16 }) { + for (ggml_type type_dst : { GGML_TYPE_F32, GGML_TYPE_I32, GGML_TYPE_F16, GGML_TYPE_BF16 }) { for (bool use_view_slice : { true, false }) { for (std::array ne : std::initializer_list>{ {2, 1, 1, 1}, {2, 1, 3, 5}, {2, 3, 5, 7}, {1, 4, 4, 1}, {1, 8, 17, 1}, {10, 10, 10, 1} }) { From 0c7220db56525d40177fcce3baa0d083448ec813 Mon Sep 17 00:00:00 2001 From: Pascal Date: Sun, 23 Nov 2025 18:42:00 +0100 Subject: [PATCH 09/37] webui: minor settings reorganization and add disable autoscroll option (#17452) * webui: added a dedicated 'Display' settings section that groups visualization options * webui: added a Display setting to toggle automatic chat scrolling * chore: update webui build output --- tools/server/public/index.html.gz | Bin 1122346 -> 1122464 bytes .../app/chat/ChatScreen/ChatScreen.svelte | 37 +++++++++--- .../app/chat/ChatSettings/ChatSettings.svelte | 54 ++++++++++-------- .../src/lib/constants/settings-config.ts | 3 + 4 files changed, 61 insertions(+), 33 deletions(-) diff --git a/tools/server/public/index.html.gz b/tools/server/public/index.html.gz index 097c9440be2d9bb6cab4a13d359106427ea74ceb..484956100bc1cb40c5430db2888c53d22da907f0 100644 GIT binary patch delta 808580 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

Bo_!5Tfjn9|~8J~ZG69Y1?kOnSp7|6R=a0tx{y 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 =(UXaHFBiAv;wLsAX1PiWx#;0a%@$AAn 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%0Ad^gb<2u~9{-55pOF~bp6pCrcQjPf! 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 z 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�k_?{zQNO)EqYP zr;I~BV`GeMNxHrUF7mDk!1=RQYrXpp+s3;Zwd)N$m|1=;FRJNAY>&;hYwg+f_PZKt zTo^46${SZT%-w9runf(x4A(e7s*MDPb%zKDvxhZkB9BghnZuXRoba36!2d!O5&Ln0 zuzrIqoe*4!Ij+0SMeH`d4BLO?{yp6QQ&af&!PHG`;QKeH&s zf8YM~=B-zW!J5ufxAOBk#tqf2e;}Mxeb7ul{}H z>&Pgd=2W_g5a1|xwN-EIqrHa{e>Nt*yt@uniF@+bc6|2owLbf0;@|!;{@29Bz4|O( z{`?)Kku4nm-CH@9d`NHJ-ae- zy*BY**C*beXL=jOw=93??ePA@v`J~*DH{^LD@Sy5+N}1QLt7eeC)~IvKp$G#jec#1 zqoX$PW%C1W8P_U*{dIJ{eDRh4tXu$m`hz#vi)9>MwldiCmD zOU~q2Y1{FQ_QMX?5 zE;j9VXhV0XpHVwABMcP>$L%{er(vsTKfoVTI1bxdX|}8*hU&NKQ)4wO1-GqezOgRF zqnhc0z5pRhK81f{M^2p%kGAIF7D}wXT%2p;Hp--_MBAmrH{Kebf(b{iPpI4*uebQA zg0RyJvd4I6(U9$LAlvM5-I>M3q~@64^7EC&SBq;;HWruW7nc@az4eEz-JgAzu#g-4hMfS4<2F>Yi#MXMaru35$M+W zUqUSIwfCBbxI)(+y*3i^BayH?IYV0PL3lqx3rH@eJiQ}*$OWm(KPd(+9zsHI?2AaN z8z7veHf#eCj-Z`3=vu8takzlOab}jldUXj9I&;{3a>zgvd@Nf5KV)uc3HNE_;W9AX zTc=ijY;k`G*&gUr^P$r?+ND1>)wKo|2*q_R_OTYO{MIfY#1(0XFFAi=llx?$0%eSZ zQIPNAxkn;HWY=l0jt_(XRJ%z>{FPlAom}iJPS_5(&k}-PLpm@tVb;tx+YmZ2g$R)E z4l7G1UtV8SUqbE*4?bGL`H~Qh%3P*olzaH&auMHCdr{1~m#b)0Me3RE< zqp(5dfS-g!j$G4ldE8i^dWZRV0^L}@@lJ}g4o^e_RHd6d?GvtnE&gr59$mNNKQAn4))<7P6@FgH$;$ zYk-ZVaBwMC-EVw3TSxe38^Gw3WMA*<9S9|Up>SOJmzov@X^d@~>>&YU$c@_X6pVkH z!Qn~m9aEcI0`>MTCFEl0ISoEl%CK7X7Q;x~deD;u z1SnG$#$~v#Y=i3ghG#_`VgOoJ%*uup6B6$r86-497<@^c5OI$BUuqI4ycDD^^#VDk)5 z5mvM3c$wr?iIsmlOa4`ua8h%vE^+sZEzU1m6_#*d;I@_?&<1NS3l( zcBzcZ;zbFUMRg>6e;j$O7LB}iz7BH*yOTYRtV=U{eRyq{mhjrg7u7xRTFYdYikK`z z{<2JV&)h#gk&rok9GA(r*qE3Yd9V`h8ZgMOZ@dF@%&>+z9;0(SJh?Echk!n0?83KJ zUx}Sz7oU4FStqGU{s4ar`agdLADL$SA4N?;g`wL`BEbz5JiTg9swU!IwXB9(y(T&A z=xhaKNhoz;n#Yzz#LTRYuXfAqzfHN}ff#rpW$mwD<(3PI-J+V-jeCk4ag8@}|HNF2 z-$;(VOQ=QT4H0@#;(WFDKSA%jKZD(Tr4z?b#II}3I;e>20JRI50B(P3;Q(`z+;5xp za~fOW@q&egl*IH%vDw;hud6|>JGOG&Zy7ZbWqgWqGzq~jeo}P3707vAv|YKC;Efhi`Ul z%n8VFi34E`)%*i0Lx$_&!PM+@&FdL=h0B>vXs^>prsl=W{9OdkPvFeLAKT0V-o*`r zXZSvvgFkSmefS}K%31|H0b1WyH#`DTF4}=*8(q}0UBa#6n_7R%k5ih*92)udWYfA-o*eL6o|S2SH8{|M_-JApJPI(4Xy zs=bNM_)VgC_v)STEpI|PnV5FMh6oy>$WNK=Fl;rj9*v4% zDsFF0&+gWCvGS;Sg4ha&q)ZCjXUT8@dCLB3CzRE{@R}GuY=^}bTob{EsFxblUJC9hRwCi zKU0cG6jM7UYlu-AXr*OTpY$K$7F9?XumsF+o93t)@%tm(sHoCT??}CLAK~jmjw{ zbAZx6DSR?kd-*#5LASwyleW&0vp~u0i=@_Md@#Fx$s^H!~ zWr=^clR5C0h?Aa#Ea}|2>3Q=}UEhO=>;^_|2XW+Y0J21mIUvg79PFIBdOENKzOZKb z!dmu5*0DN#n5(1d0VxROy4Fe+?s#5n;XhXK9_x|&DM>+bf);4Q!G}a~H_FFQGFwe< zEvlSHp@Zfc*8X^1RW7%=-`?7LaneS>TAY8+8#|vjVLtxu#dE5V*#TDyOWzgph$byL z`^jpQ})#U<)&aKD8$iVG>phn-jSnnpTv5RP8z^Chzr+H9oS0q2?UJ*s~J zG+pCT7B6g6T|B-kmz#w?pn% zqe4yFH8ckRe>^FmH@MaLF=xuOig)?r*WBBYzA~MziCbGq52a-bUn@yj2J$GsgfE*A zmGp`iR`GYcioX|=nd)e6lp3#Kz$kxR-q>fNzs|lbSZ(AW%S|?4e&5OpaUk?@zj?c8 z=`&5hSPjL-)@6H+)o@Dp>&1V!M*SwO?Q^Z_3EEGjgLKq);n%}|r>5ZmHgNdAHBW)? zy@hOqD*jwz3fZbdOyLe@F#np;!*Emn73Du}W@pTwJYqOYItI2pxowAgN@;(i;R=Pi zb1$@B)7gHf(s=BfG!7tecZ*c5!_gYK8Q3vM_B>t}Xa>w(EO_ zVB>07G7eAWzkOcWt8g+i{_=C)!$8~c)qz&oDWtmXbm06sc;KdCv#AP4BMVd0#rviPWW{%KD-Qe}4DTMCF7^BR&uBg{ z@Z5}nxO`q5V)?2*L(F;BOHF@5ih8JIZq~QQk_3pFQ&GA)8Adodfo{D-G~%1QY{b$=HhNIMHOr)n z5HNFj7`^o7KkPosfuxXzKC<%W8jMi;oJ1cU*v9KbF`RE*h!riD@<0wL;ejyvSZ`2{ zu80Sk^=BPJ=7+<7+e^?Prje+KE=m8bv04e48yQOxkcCFC~+90hzFLhDrM(T_@-yl3L^3 z9Ne-+w*mjsu}d-HHTzXdU%G11g<^cXbH5p#D6G$uo9JUP3!bO8LjQ6Zp+O?DB^~8o z!#FivZBBn648fQ!(LXGlz~7NkAes(w3U%iTG)pf>L@e4-Fi$*RYeE0ldDXN`2;DBMpv*$au>A8D^CC#O)0T@UNEP&y%%5c0YX&yyy@6xBmd zU>@OtazQ{36xHBXH~>FTKLXZryJI|7@NVP1-A?=Sh{S^tFy~39gAR$G!2~IUK*n&0 zxN|!4zB1k%ue_H~OQc-k#)eBDE$76IAc%hii>RMr|31-5)WS6Z2bk8F4G+K}Yq7d+ zciYlLQ(HHc!2q}rfS=+o18+WXSQi>~o7RAn0P-gRPLi(6rpi$pnfNZ$O(vBWW@k%d zm%O~tXU5L+riqBCTJu41IURu(%r8kNwpGBX@Kd%QIFwUfbOm0uh`z|s1lfO6_8CG(vtN?fJ1BY|+L~->f#ng;^xSsJ_+2R_ zd%7#9jC4{xJ1K)0=o-yaU|;4kF-*tuxsra()dYo%|L_gLFtG3hhx+w+HW>7Q85^2z ziummdF_V=+1sOzvk7c3%so%2OmL~$E*rvP|{g_Xp6SfXTBK~K_aE394Ujl!aP6UPu zPKI!d>=efj;L@sv00WTIM%Q?(n{jKu#t33<_5ZQ=<=agi+nay??o-%`m#-Ba z17-?2MyMe`LLdnVU`%Ak$dZgiG#CxozP9h`*XY;lC+Y9oHSIcsY=(bc{adT=9k5QF zIyLU9+O>yo_rpZzzf%?J>d;2GFuR^CujMMYbdqb98CD|`z+}p8Ym;q}(QsD4x?$EH zc#JVH%cxH?*|7)iz*&Mf_UZ$BR60omv-I4l^(_2D*@nQ6&dkS3tU>J&hcDYgsd_;92`LOEz)IxbNJ za0m_81!_8ReeZv8yRz%$V|{Gb)d^ai;GY^CP!J~;Jf5hjV`;RzO3QNf#2ITBMvmXATJc~Z? zNrMnU84zAd%7DR_QVV~M;JLiZpCxB55He@w%hssVOXs~qsTfH5t^Q*1GhFXJQ+tP< z=xa%?N5Ox}0R}+%_R#qm_tb92^6)1M&89hFH*f7a24*3634B%Dw8FtO*lB$9)A~^i z!-Gr>?1cM?BhLL4Ge0+_h;wbH6v@D0XAx$S_>1x}{=Eq>AXuA!q-E1bC3sU67}}7Z zW(|CTt-%n5Miv~IE-7(jdE@Ob(^39H{f+D|3R_if_<#!8lkAw%avuvo zjiu@iGkkx&ahPg@^uw1Xp$Q*XBB1=_~RGSTWCxH*V2x;mQNQhtrV@Q7) z^?*DCP$C0%$ovnmGs#`mhkjmx-b`Wep`BDkQD_tjD83L@QMJnzqF z_G(2#$4WHxLU-s`3wVO%6fJIUXd{=b@sFAW3cp4FFHF~U6HZF=lWtJz5Y-l{h%uq(vY0SKH5nXR_$=D@`1@b5l=we5c&29MxR`qO?e z4%i68&^f^$Y*hCAHX$hZ13v!pFJqt}IAo;*lWH6W&>s$1RR=uH7<@N=$SKkP$baRG zXDtW)?w|vM0r~kZl#hq`gf$=F;wu$FL9;6K;-&kg=_lmFb}Kezc0 zhRObsa(eO)!#yOGzAJxi(0#`+|GY!UKZN=~FxNht0&KLo{loAZ_&I8^6Qi+d1AfXF zj1OmS4Di!*gAc@*kb!ue}H9JVGLSqWImzjmZ&Y|M2!8ta)U}*IBk&aJ`R7Cyf+|6#9%?%+3}75{uX@)>&+g>l<2y-p^T(8ECC; z<{*j0!rtcBfH#HQW~aw9ltByLd;1Zbqksq3`}NBOcM~TbE|fEEg$0k_nkfx$0@vX? z9^{`c%^Ej`)xUoQp^9c*LwQ@=P$KCC^5PQC^qb#h(p$X#LA1t~x3eGhX@{-d1k(oy zFW1MbOvYlkalAO;0iZkH$utzG9N9XrQ!2`L-$x=yd3OsM`D<`BD{Mu-ely?PxO$)t zF0TH9?+^LCp#cQZtNifr{>%H#iko_tcmPDlfOiL>QMP}TWN(qlTKmQIy-(4#xW=Js z@s|z#2}>gGqCa{JMVP-7QR4{O@^M$uKl7e(;ihr42B+aUfHrs;D2uNd|HbNZPP%9! z5a}}xrU)YUo~5UMZ-u;>V&%iz2v3;lBP7Ztg(3fUx*`F5T;!^OFI$ac{&~RyoVkXf z1p$!Bk8pqO(nI_)LtaMnP)c6!v){8}>iU#x3L;-Uj6Pr|B6`lQ?}uh7-2z&GEGhJ{ zh>G@vZOSFT$kw-)TR)bHV3wV&r)Vru&ks?7e2PXayXN6#S=6#0%mjvl{>~H>D4a?d zQ*@woY2$4}53*lE94miC%&h7e)VC1yzpx2t*{^?56P{$6Fvyi9*l&+bm7bkN!P1U6 z^AlAtt10eVXm@5cm-gAN@&*S!QzfFp21vCWVTFRsU~u>|CG#3lFYPgD-e*rs92PRf_I2)L zF?xTOE#7$f9y7r|-)V_K?ywg-iM=fZuZ1J2?0DHxD*O0@*&m}OypMcWH3woU`e6%> zrvvE1_251)VpU3n%&4PK$h@u4eHY9)+oUdNnI6fG9}0SP(NT{1;3o7vb&QBDvZ zJ@eU*>f8)aS2!Mv55*;Y7#{F2%u$h)ug`yU+NN1M-v}*l;pvlW=!D6-gRu^)XhyXew3wFRIM)Ky4Y+fa`i_e)K>gCwl-hr!zsvYWk^?-bY%A5 z{<2VH8MHs2tM*Z-3>_1@&_#<25=o4%5uEwE-mm(u_v;0hqCzd`gW_vX*3-_V<*q3` z4>C|rp}YsVYY+0mKbh(AN=G`_2d2k29;Ace!Ge4cEm|c1%Bg)2mk6o}9Dj={5l~0{ zMKAM()xctr7JhFuvuwz;-b+^SD_Vod5o^pZZVnruZ(H#f*j-+!#<0N57l-`9f@0_I zSNyIQ-LGgRpBrJxWbao)bEDFA3>OYkyl0|3F!_FvhJ}L^o3+G+=ZeE!h7HhnhVntW z`0L|>&YYd;a(v^D3mbnN-G3$)jZAK_fSLD&zbGs`Mk^`qCo9$Wfsm_ck$~xrXY=nI zRm#ny=))(`hkQ~yzv;#k+YPXtxe{;Ctp9GzZ*xJhZ5Eg-Hz zGj`GOA16B$OIt3~ z*-lRRiNiPdfH(shtDr+s9FvD0p#!RbXG#_D0OJ1V-~)ZaDNQKgehWtUal$)b`P zH`D8z_KiXNXXs@Z?q>omtN3E8tJb~C$6RJ`=rB>w3f1!_$f;2mn1PtN5K!p5iFE*D z0tpGF6ddf8O7MMUkheV;zDVqS>(W*bNv8NyRN=p+^OA`gO4EN6y(eFeZj_#eqVjQ{ zWz@L+7QFcYJAXx2OF9?^xRQ_)^c>(%Oe69$NRO#H{Dxe3Nu$~yWj#E7sbanMH|*8` zT8c(S0Y=O>nYbXMrnjN+&?X2I0tYr@L?A_9s+_6%d>(zCk9E?jO=?C1m5FyU)rzU} zbAOSl2jhc5WPH%3i2*bV2&ysmp*?_b2QN|t%78A*zJChe&rQ${oBoMGLs;s~WV(LC z1P)P!i@^iShPsWtkUyYn_evV-zi{PE8KpN@47-TDvea5(snN7u2{0C1LcNcQ`;?bb zS$KWB@PZ+pLcz&zH060bxo0wY+OM9rf~$RPKwSSh_wUD^1)ZrYVkJVY|x5-Refo-9-&&^~}siv?CEs|ln9E1?hw?H-1#vCTv z?5mi`Zm9QvnD=e_9y$4k<5Fyu9KL+aFXgLZ+h6vo*kl(o;AW9ZQt6H2Wflr(3IK(8 z)Xpa{#H>qO3^JU{71^JKs=#*v7f0;>;8h1(^?z0bPQ)h-d;<>;V&SA>%SjcsuPC5=Um@ni^yD?G_H|q{=6V-7M{rX;d~jrWM4S`nc&hPDDmY*romQI zTYplMu|X9cJ3jnY!(~%0G#>r5t?pCoskK3Aq5Y{bH4V4SPcay)T`=AX}2 zVrxn%mvsU9!U}S4@-YH_@-kuB;1SqkGBc;6zE1qOuVOE%2#NY;@ZocaEIyY^#o5zJ zQVY7SW1r{qMPZX-3uGg?z2HF1mR@`yx_=f6dg3ChXZnOK@CPfnRpJH@S{8R_cjqgZ zE8$WuF;%biRK5O8cV#tVhC8~Luh1Hm@?o^4MROJd(SFwWWk6(KhdZ+Z9tqKZ^bl>? zd!E}k6o4$8s4lCbG45WM49{;{xpLrI39G>&j?T7Nn(MGWx}n>7B*a3OngTG}xPN>D z$XbjT+po6;^0gfCRRmx~BFp3dOtWqFmn?;b3^5STj&?K+%t0=Zvjyu3YC6vk8zQ>vhks$Hh61F zgf8oP8G^#`B0rtI8jU9~?S*{IjM;DYN$`;l9l}q@)xd2mQwxl6v7?w`OJ1h$_vw5i zLHA1BqK^XnU5W!p-moGmWw>)6R$^kgj;F`tmOMiT0Yf)zN ze}8fLxi=1OneJdwFtkEPF&U}V)mm+OcO!Bkmxy+0rcu+o*J<-oGVF~-QzHGbj=48) ztL2|z_Jhkco#3H$2##`5q6;fR z@nL5XuQ^TsII4mPTR#?XRe%s`2;7##1B5@F&AZ_^yq>)ROfsIQyZVr9o;Zv7ijrrc$!Md0TZANml#GU^7C5QF$bPFRj<$n;Au+fWVpN`I9 zCAz}1G4$cPl?#*qHS{^rrSkWMBpl*IUXCI(0V^DgOCZEgVR^OyDvxjT2S2}1%d=?z zX2W!_$`E8iR6};r3nFI0k*emlyZtExmD{DheCBR_{^)Y8wP@Q{GRV2s=EHk#`RIJ` zgn|O$71}o;Woj>;*(tUPW3jEnSjgbz^-$s>8fl<%3ZI|`DuTm=(q?Am*x5XEhI%(? z9rg^DJ+cWY6H4C`yk<2fepI$m;z*=65B_*9mwB=YB>|(CpRx%ff9i#W6tcvG6lqKr z`F9AHsW{IFwLY3ho-TrM-?kA($^)U47Z7=RUU=_~0+@tL=b}>8#dBZ|BoD%Yi>KU_ z%Wu1d;Z=$TL0z3)T#s#~+3)Ker4M=wkil}boe`LFk=9MT$WVE1Y7fRWLiFblg`$16l=VUbwlD1Hsn$HIF#Q6kr zR04XM#yds>*qzZq@&#?WxH%WJ#7=Yz6RpI8D|etBOs3oQ?K>b9hj%kJ&*BWP4nw4Q z2+B+$Bd%Y`-xzGC7Q0gkGZaB#+s}zAibhF zu*RkPbjA-I6X4vi0f4UjsxuQX^S~>{#71Y0t&uYo!;Zy*f0z&15G?)p`>cbwZk65g z99V9z-p3{>ySw0#GB~P3rtaMBWld@h>OBCEij*Kgsp4wte>>d`wp5$qupS}1us=35 zKso0&XilS9e*-xn%9Vp zx)#vSgNw5m6U;bm9{hem;3Bk~pcru+8`CFc4P`T+f2|hE-69-M0Ap(ecJAz+a?B0b zowQ95yggcFA0s11Rj3G2Ja9JnwJmtd(|X%=qpfYLVYpEhh(Ev!L&h*gp<*CpOpREl zw;JMkgJA{a8iKAOa*3#H^xIJT84-48Io-G)}qk-RlOi z%ASu3e;LLV?YY7|6VQa5{xN((r!b2!c*puhZJNORf;s$Kd91Y(R)bUrhYZA!!F)Kf zDdu5)oQw|+aMs#X^RPY+45*}&vw!%BM&TJfSZwTbL* zBmltm>iMiz^GA!rBi^ptf)6I$F0Od?$tYi+e@_sMe=<8+JKftmoQ!AVy}eZIfw&bz z*6r}6rs*k@)8@_V$@jN*VLxSN*`D?3>GvDyI|#Y${mbP>#?H8n?Qn$Ixp_Us4gBT} z`S+Imdq@8Lp8wvuCjV~8zmoHo5W_I(N=;A ze;`Ih(ao(p$;!cQa{F3(e=E7Yk>dILTYUNb?et%Fl8x*9V?OphXu_r`{ji@ju{Qbl z#&!IAo&-ZF*QuZOlh!tRW>y+1zmq;d`Pb8DD3V7b%eu9jzGhiB?cW>n_r{I%r>(?% zfYzcUG_m>P>*Tks-2_AU;}*+le%wl)f89aC4QTV&aO6Y7CtEN)dvP+{9}nQ2X4LF2 zTkn$7kCc?Am0!l4IqVrAnGU=6++QM$b|_vV*jnsT!2Uwohm*Ad2R}R8aMUkp<~LI< z^-HSxjo>fm_7nrK5Ak_CT0H>3VcE7Dto!T<4}1L|Alap)4nGn5)SjB@F_sZXe>{C* z^eKB7e#`PRUve5ADS{U>KHlvO&Bo$}6io@B@aZryR}ltY!o4CrObi>6jsm{3loCrs z0Klj===2~FAo#Rr(eJT;JKo2fxNV&J9@#=^ViB*##b-g-4JFTgqtu)*lAFR7J~;s@ z`LwB|4%lnOg1ot#uKkKQ5ZF1}e-30F27WF7giXW$j>NZbV9)MNw6@m{P;cZj$^>tl zvMtTft~+*{j>+eZqn`JMdOkRkdG4rW`@BA}qw(pVYPTLVuHSrPu7dS9mK>9Z;Axe6 zjv?|l=AfL|ZT+qrMt^L+uT!vN-s;oyy*fQv#2akSCKont-Fn8e!EID0L*Xp*HDX_X z!`pH6$$Q_5k8AJsQ5@&P+LZ$qnY3u_BL`q!pW~1A4?-d?fp0|S%b~$hPPPC?K)An} zV|A

P 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�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

7q5QXmZB-wM9E7cq$&<%Vk@7 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�a?0RIuMQ~Uh&xc?C$ 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 z�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
duB2yrpi_Dd9;z;FN%ISC@ebKeTC&{$laN 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 koIwj_M?LW%-^jt05m{-aAkAgZ$ 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 %QGu*}LCYny%8KmB|mh!+ivMjI)b^3{i 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

N?AT5#__fz7(r>>?D--3bg>@7-OZ4EhCX3S<2a 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

W-p)~GETb6w6qBvG;A(ENij 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 z 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 z z;%7HqROW7Y+72)Y$8>E|l?$Q(6PwfWe>s5lDqTql{1U~g)zBMun}NQTLf2F1!xVaG zp$~c486(9ZlNAQIBbfpV-Rr|I$)S%;WKFT*=nxg{;Wlz_M4i=WK@$MTje8V0v6XH; zIvf^R#5(oBWVDHV47@!>d5=X5E%Wr}0Wg;5@6zc31fH8b^mr-2| z6o1>a6D#&69q?#{x*AQ8WWIR~%jM>s&rBkC(JlEOT++cn}IpzM6EqGA*8jw$l)!oTcs8 zSjw~D0!TN1S0)Zlo0g+XoV&3;17C{Z+kdu>9r#`Z-YkIcN8okufJ2v;BKRSBBQRAK z^F|9q4lYI`WC$ZUd-y)_Jms}RbydIV4ZF5i6uG=h)okUq43%zFft1~_;1B7Z+7 zohv7Fd76*Xgy!l*HWW%3&asSf#v5+ci%Im{j`y7``I4Mz=le0P9ZktS! zu0qAm5T>md2AfflpD}|F>?=BYUP<$mq12;p$lz4#ly*Ky{l~D>4Z%>obC@Ru80oXq9BL! z`Kl4{Wxu_Xt&m6VXD_=|%ZXxq!3ErJE{h9=>+s%FGXZYJ{Mt{vez=hkeE5+du7cal zl$}yHbr7QG_Lp0*0e}14CG4aqV;}s=XR@no+po@QLG!W!w*#G4KYQ_x(~!C&Ke|Kf zWb6o`0~TV6N`Fd)8_f^x38V4jpL}rji5@OKv-tYt=6g#^i~L-_eS1UE8y>w)lw6;B zu9KzZMVNiZ>sthGEv}y|-(Ej?mw)dq^Y14A2*1C?Kf>2k07>6l0iRm|&)3(Vy_lO{ zTi^KQ`GudZignxk3eToc`p`_8PdR$aZAWh*9^qrpku1HRgI?__yzd;T2nq+eJbCcy4;<}9yS@b^8rymh+M zj=aGi748wjb@PC?sWg~Odb6>HZew`7uB~+?PH{6dXc?-h;cn|p+MBN_|ID}Jp)O871n9^oBvt#R!Zg4K-5wR;crw}WoH z7WK96V1%Ysf8!bt^3o#4S*hRTt{p+73^36(sBz=|gD>>cMc!EPTaQ1|-&oGAP|mGb z&Mp7!!^ix&6LZ}Ox$eYVcRbf!<@z|*ct2*pAF|(%+3#aaYOFi@{gl@W_>)iWtB8lU zbpL()(fx-X^ZQ9G=aW#*C$XGQ{HrfwhE58EoGFfke}_gx?$zx}RHO7a3=$#_-i(eH zxH&rB>=-$Y!<2uGYP;!z2AVix({erSs~Bm-STX%rZ$GpHOQBvbqC@)Y)j-s{%eX7_ zz&jyuNr7$EGKj?tLNSB>Nmm~ZVsQgArK^CKxYxk}zJ3MU?{w7%OoxvI!{A0w7q7;_ z=2)HQf6Sr3vFpQF*)UWl*$%4&;R;>p`O!WyjB^JUCVc62YopQ6-ekP5F*ywTnq2Z5 z1HhX$vZ0b^HvQ~q7_n@R!mfTa82nt)&sRQW$b#`!%dgZD_?^UdPC`2;v7O$GiT|9& zY^OFsr-E)Yzl2+$?zbA>{1-f9YB&l0m)u58f5-Qm|4MqpW<=+k{~Dl8FX8{D(WDpx z|1CC+3^xe>cQ6%9WAU5+9!*MdAint@WCBRWEx!3%=rl8Ig#JfNrl{)#|0isMVArkj z&EJ;tu(JKnQZ$A!@y-7tTPR%>`@drM$3Xv^vNp+|@8L^={{x23Z8$f+`G<|B)0|f0_g@nZP5S*`C9DY|_}2&;t`PoL3ENox z{x^hNq4xLx8bOgYf`8g*I%y*O*BebIe?x>{5{^axmT)NgcLcq-zX3leX8tq6G4sDp zIAs1e2zus!lg}Q1MBv|QG@V=#{ z-LW`u*GU~=kk_akL9o{;8DY>@#EcNgYjlnv=xdaaAlU1~jWGD@1d1>y?9_`eNNfa* zAXqG-MF=Ez@%%H|C z3xF7pcN_*@+(Gu15LoeZ99Ag^QrzwAZ}t=hEACDB1t&h%FZl2|dfk5se=^*+Wv)6v zhX(?J3J-T!xPJ*AJQ{3UyO{gO9ev5vf0A0oG$_BT1k*O zHzi_%%oDPK3NcIDq0dZGFZ7v7>Zj6~rLR0Qv*ZD$2zf#aGD8FJGxM_>`pop~#Xd7X z`)V<>gGuDZUotZ%Y8lfaf8Q70XJ+OQ;2)qfBlYMu`VHd^%bpG6)t^GdCLyR#Ly-3NLJ&Nabq58( z({9Y6B48vD{Oc+r1XV-`s)!I&5g|wsocHCrv+?RBQ^9t_M)2w-6M*F;Z3?emG6OPM z#1{AJCF3p~UIzEoe@jLjiB4wY)l0^l&CtUP`T_Is>LpYhMgiOJtC!Gdj5{hsi%@}+ z38PmpX%Z?E$mJ-)qSAW;>-*J97LZsB3bI}X2l%N`m^EWI)n2_6&D6&J>Lq9|?!v2= z+OB23;?+yAzKb6bLJ&H$ruFJ2gbqv?_1W=Wy#&|C18WT!f694WMgEqa2~YIhZ`B=5 z({HIK_-J_bTh^r58LxiJLbSR4EsKx~DWTs9U#-gDF<7$Zq98ayNI8E8mdfLgf{fZw zM*)SQEsUD&Hm`oi0C1bJLR7Hr^{@U0&D!hsMcH5d8O`F>?_oxHPio2P`=7CMO8dkk z47+J}5@aM~e;h(Vom_@r5&D~ChKmE=kI0|XL70G>7KYMbpMN9+E3f{XCh*3yZ($aL z&V8+)G=3s81g*x8DU8;Az(DYG6@ueC{$DVoL*JAB0whB!-PZbFPz%>}4>OEk7;XLw z=!g^af6VZN4dNfONKl)wH7Fe1_n?Tt&LF_)`d3d6e}1JPhl8)4T8N{;o=jH0`kIr$ zXwO1m9nN>OtGxP}=IqBXNWV9>6Vj`%S*xQMhJ=qdLl_j?>xD3F8pSa9xEaIXV-H^o zvKjH}Yx;OIMd&1RiSD-|Y?pguKasuq8j?9m5r}4gqLbdMzxKBgqlG2SrLcM{N!Jj& zMA%ipf6w~igzhKljpna*XE^=6Ay2?|v%l;2`n$`LLj7`O{#U#1+Z`<875Dx@5T!9hWWvOT48`9 z{`q6XPm3Eh*W=8dmJs7P#-<9HI|mbyn>WG{f9=aiN7B~UUcl#9@gZzC@E|eT$lQ=l zzU;eDW@16S&4zV!-(2c+5D;hgf_r%&SxOTKIC>k_t(c!!?hao3k;*fu`6i-0IYEsc zw9~+yQ8WqJ1=W1htC%hf;m!dCo>f&A(S1X8ywn6X&j-;BzDb(q#~Q?`=FXkjib4Hr ze_kx`4Vi}a4j#jb=T~R^Rb34}3uX(Lg%|cL6&^^0e80T<{FjSYpMP*}aq;;gfyKph z7CR4fkvD&q%TV|y}2Oh7E|@oM9P)y9Ha>n=^} zZNw2-{!-jIQxDH0(R}8-$ri1`QQQJ8e}O>KY_YAZ#KbwHV=RJ&2K{MN1Rql)X-4OJ zH-N#Q0i`G3>0zK{FyxB@C*q`Gd|X`h)yB>HHy(fS;1)fIPqp)v+((inNV#2pcfsVN zuSN#fj*$+R9^G0WRpfYYAr6%K8f5{qD3P92D?aZ(;&n1OHRhe7rD(xbwP=f#&uSCw_5VRon+tic#5ddk&(s zG{1o5Y@V^kCXUEDHI^z*VRU>re`S8Wz@uZx5ULu+7lthwG)2gBJ3f0;`{HvX)X)en z!Uyr84RQeoH^w%?7qQ~UD{TsYf3`Wqs>>l`C(laK0J^gx6F9Qha;R{x*E%J&choxO zNB(>SHKC1d0DFVhCO^0w@GqWvLQU0=0_6YLf1!mBZ6;?F zR%+5vDBsBG-t6jLUso=GQT?YYfU$dh0dGlkdHShUea&yJ*q$;Yi&j?wmJJsKgX&;u zh1P-QflEiisg$1k4x9ob@lyxw)gk!J-|I=NX$rm_ka0!|%Cu8ZFvtWWYfxm$YOtN< zDages$fYUBJ5!LADahq1e~7uhnu6LgnSxH`+ebHi3Wmd>It&vYbr6q`HON$bdO5Fw z#0{M>;-=YI2To9nX`SO)?%WJ_?B=(;L?}tDRsfUUU|0vjmZ*a`{?|eKi0IWosLY!o zt~y+&=pj#4c{M?&zU^|X_NUVKy+N@+A&GA&61rmrykU*@rWQf3e^+TdH2C{9{@c`( ztNC zG+^KSAv*ZF+6sN2Tv;sK>ngNEevp|w8WnT+`457EN4=@;AtM!zJ~udXrL)f+oqghg z=UzPHJXS!5oLf4He^|!*)x!u0<%>FvJZN&ljIHEV-lgJaZ|#&{7tO}wPhHuiP#2K` z$QyfY5-Rn6OV|b^a)nXOnfa3>r@njzA=Vy_kyA>1wvLj4GyyHO*f~i5G~qAqfHQ}t zJf+PX9i7s$CP6->^`}p1)vU#E04z65glMd$l71s!Q-h@)f20aE6_Xk;ixw8E0IaFw z?5~lG1ZSm!In{eHJkB5rm6?lJ3H-6#X6Fk?l4wFm=4gJEI}&t;dpi<&Q$^OK^w_#{ z!$IjcHvC((y0-MRfTpm}C=T=XL-hoj5s~!zGVj7Bkhb>ZU->J#eZKYM3+<~S_UBXlWwd(8XZ}=K!8aH(K z)N2w0YZTu#)&V>zAk@@YU#e$Xn#zWJ=WrrRmuqW3A?*!C{$zcro@qvrrGWk{Mk2fh zd5pr4E_z-j-f1fk(SD&s!HFoDTDa^VhiiEKqmp$Ze_L>}opu`JgVC7HsS;T(BxBDI z?vDJ?VHBJ~ST@&aItubjUlI>mVGG0i)qb>+HBlch0&;?1ILVh5>f5@$zoFQfV&wTY z7;76eC#Ge84vxoMS9;<6W7i9dU5v@0i+G8NmL=D_QrupEL(e>p#l5T!tJZXNTrr`s zC1ZO)e^lsRyBn!=H^~drgmZOXQt{pM=X)yu0;MB(yvK&Xvx5g3KM}=hA@UEAtMEYo||LXsx7-nxl$fdYJeT5_8TACQZBbKn(W2 zwr5oPHfXdo_ux`{#3kZ07wMrDJCGXS2Ao*&e{-X#yr}~thc}ufXpfj`W&D!J|9JHX zE!a5d7Ea?HwV6>IO@;(yS3sirHpU7t#=5cb;X+$OoHW*E42rkDvRz0^HLhLTHHwx7 zzu`#yo5(TK60_Eje08a{%*wBSdQ)a_*Z{}LI_Fq9!;(LE+sJNnXu7e}+Ic}ak7X6d ze~LqkaR=vDkB~8M@ln$5oAJGA_XUl@tn%w+%qrCCJ9kd1KS@v83?3wfO(`ZOZQ_a^ zA{ZJUDFT()Yr_*Rs+r~v7o+t$?(p?xlVJzn);b&TiPLVbwk;t#dQ{U(U>BBUgQ|`% z<{?_B|Ic$acovK~w9eI$Qmpm-jhv*9e_tfsT*jqrF=hs_Gv;(TBQwW3s^4n~r(#xl z){|LS-(*F(G&D!weL&J!BJi(=+AunC`%WVSLC}JsrlLg4^9YNy68~JL`tkf#`#k_x z&0MwY)d>lNnI%YC8+vE>9xV=yq)1z*tF$)k_Jn+sp7&;FoA0L0FfZFGdkb^0f1n%f z#sbRB;iz;wJ)Hcwd^kBD?p(#Yi5}(N$lICCdhvtvJX@3t@c#ghEVNs199aqM^)EeD z^6`a-*l{7MXLuXTdvC>l3brlY`v@86y2kcSbjAEj$E$romZ z##Yhu=aMVn%m=OzS_QKuX%I{t_|Bw&cK@ly1}n60SxIUhLe@{3Z(%;(f5+ml78))4#p6FVi(FBRTe9CXclh(8PaS{VCbr9zWHmBNFM!q^I=bN!_#r!jp?7K`} z$eAOSRwaO>R{@r%b|@fI4Pv>}RCRm=%$OPpSD3(DK@afMol9{u~7$^BY_vOsa4i`usU-0{NQi!B}}~ zAn(ic#U$jc0F@VmXLfEPL-n5XXr+aMwIKp_fQoIWHF)thXkRn+a4^3*mv?jwOn=)l zFE+>PhOc-|`?6d00)AJZcd!>T?cz9}`Y1X!pwIEW^t>Lp=bk)yvbH{6f3)$_Rf5l- zto`!I`oYG+lX>J5eol^xMvP@%f3&_nj@jSlcmDa@>Idi6`EOo-*4NkOaxR2#_;15f zHtHGY=J-B@gK|yt3pH!~{Q7wc@qcz%ks&;;Z-xOku8XkP3Fm>7S>UiOzd)Dj%$V~uJnLj7Qs7ou=7Mo&qfQ`7}xxjP2?wc zqfAKcGwDX@Lrz4m|B%=At4rLCI_Rr%ot3$-H9ki9vdzy2x;BkN(uDKba(`;E639nF zP<@3t>J<(aWRnd53R`A35DBTJ#rMBFzqoP1C6R_Y|HTX>MfjfJvp<=juH9udbMs2y z?o>Nwot9a_1+$X`9#8r&su?10p_hQDooT3oB3Ey|$p=q9_~7of$G1NJ^8B-Yx(>d$ zdi4o~lRGPG2SYtV0w_b))0aSY3=ti2fp7~pt543KKmTm>;{5q1tw9Do8@vEeQAq#A zmu_|p7k|Pp=dP}ge>#65o6TC4N+H^C!{*-FGWM;;VQ>_S(o6F#E-AUcVIT)O(v*sd ztbWASu1ae=7}sMoZ`{9m>&xqR@89@2LmCC6d`J_^2n$9@=%Xy~0_*kBMp)0H0CB;x z?pfxdC+cYv??CD;C^*C*OmF-d%Efc&;lc9=rGJh?O%v$AqkvY}4m0eHHBVOOI^Oap zkdgDxupZ_n+aM%Qz&KrCTSb;NvXHi6X&RU2lk?ApFU~*Pd6AJQtAx{IC7plPeend# znq@yL1QGQ?{)gI)A$Ufr6rZApWro>=kZ}uSFw#LyPH4YR&dgRaFSO37V5izpi0IsE zdw;#Bk(Zt$Wmb}7iF50{h54&j!~AG&+)zVjjZ@7Sck!YF8->|9M^EUqQLb)8@=3c3 z8Zx|-x6L%R&#cB;5?1`8Wr-FiXHVeNezZ{Ek7&;MWd`rtd~X|Hn1AU2+6cus?$bucJ7~t9sEFwV zOpbK3cF2;FK2+*sS&xyK11)zYI3CVsfOOg&U;&1p$4%oLiWt=@;GygE%Lo$ z07B5&Xdx24In+89qVBpCr-Vg434dk{uLB3Y*v@y~?=GcwqU*;sGiG+XWK%Qa@c4aa zrFS`fzd6C}*q4KYSin6|uid8@z4xi2~8Z-2eJw3NDx zCy-Rk*2Ql3a!dk2d5a#@7lxJNh9vMR$8H^K#U_3p*D~`|rS5Anx3IIdwX*q6vE z@7+tCcOq*1QE0{Gt#>YVmw*5Hrxi;}E8XtO_oo$0mo9Eyj#T%xw4#6M^2Mb%=HHf9 zT<*Mk>D}HBMJp~|eDCt5&MaEt7(1I*_z-<7TJi3s6-e(Hv?8pEZ$~T2%x|O>-me*} zev5rz>zy-b#pb2u-o^K3eYMr^Z!JM9a7oVTe6+fLaG{A>dX)G1Cso|NX;xd=w(t2l zvlR**KZk%Vj3g=x%Ou9eL4=J9Tn6^T0tCngge74^U|Nx1vk%#T93yj#ygkX5KfVYV!$X$* zwr4gl-N>oP4Ez!(UZdVykt2{)&UdoaGUawLZAGkJ_NOQ}X-zdEqBMN}U)*=<9!TIQ z^uRel4(sT#Sfi}xnw1iQ9>W8dOnVF?f1p4yK9i04{!6YgE)PZqa`NZ74M4dB-gyG* z`2r6&-gmsGiaq@%#kEMF82t9;++0D3(-yDryhKFzfA$(r&}&#a z#{eo(jqj?7I59>sb8`u0R!|F5Z;|+C!WURvBojHE)1}?yOnFtop;fR)1$gSGf<3FC zb(G)dm28z8=jKe#%%U;!VcwXG zz(a*?HrmQxwQ@GCoImL0e@*3h&7Ek$mcAtGp@ka_<`FGiqlFuAHBU-w$@|9rXXp&Q zhcG6Y2FEqvp&GE}8}QIR-l75Tlg}#cGdH6fU^BS6gBw>6r~(1B%ClHYaW?WxU{4Ge z$|tbj3p)p83$Mber@;k_o^LMr7&(hqRbH4W9JkNQ96cO+ibn0uf1`qBv$Hh>{VyB} ze)W*CGBbnod_qu`Elv=JxUiw}$d@kk=+HNUuUjyEYbv<64#2&-k5^Z==+fXi`nYv_ z8+pmcYrpjlsp|`sxEFPVqNOc^-elufF&)akew-kg?iQW@p=SAr2uw#9#O3yccwoOK z&%?mJX|T62u&)`|e>W3L4?3mS@=Ti$O#sJXDBG+-vnFpA__!8VknK^~m`$e4;BcHddHc8`l-N!pit|eS%%s(bpz0M%uB$si=>1 z+HF=?0NrP|x_3u6!~52I?|^jFwq-CcCN-J!xt+_4q{OGDe{A03n!Qz$c3UsJ;ke?) zPUxtbqtcg&%hXLMZg095A?ni#(tW3@u%%P1d>Ep6mla2=^$`{ps0My(4oho|`)i<3 z$IRbM7jR>&`%$m|u(ToObLO1YBHavDV=n#9NS$oJxjjcf>S8y1S!Ny8Au**p;A#5>!iB^a#2BS@?Nc;Ky% z1)lkeURsa*wT3(!jr9>D*xXXcZ$`^HxE3PmxGWE)e?-3#aFX|phk19opv;O^2Jk-* zeIha>WtQFxG1pu|WR{RKXZ#_)j3n6zhXW8R3MI+?g55woi`+T9q%#ia~ zhwgr!e+bmVk^pMeeD&4zZUeJ3YOeADK-aQZttpq{QiEqxxf@GW&4pK7m}Zle;Q z3}lIl90R_mw{94-TTy@^cfuRzsr(%T9Y#k0f7s(2ig`Sy7;nNDoI{LvxNKfxMLrD` z6rd`vIJph(t1tDz*g^qKA1f>l%6zG(7Y>#?eURG+H-UOEfj>BL-FtdroI6(JP#V+m zN*loUY-xP@Ukf+b2NJaiPB}+rp>2$Y4f?K;fuw>gYLf!8NJd|f#<`@f6T6>C{zp6cez**0^R+wL+~kxLdQ>4H{;nC zWKcA6)}z#;D848LU=$S{w-4|mkT(lR6_~@;_U`7%{4TCFBM8ELX1BV2J`W}c^En`b zeo7A|8<^7X{??TKpKofnF5+98x(z=BtHDb-Fe?*Q^vY3ukmKPtV_7f2~c= z6&9u!YFujbg*lQH=6Z{~tm@_6>ASVX!u&K2g5#V8<*d$-sxm)aUC?!&WpG!yD|dTk z@|TsrZ28NUUlU#)lhDfC1!{O3E$p(E^oznx?dJ86u8YCB{BGjvaqflKYxy_upORa- zH;==ybcDNMX{w!Aypod8_k2q9f0C2;ME%n!D#>yw|?55uJ3wuIv z0%H9BBj zI6@L_h*Cz;SStfZw2!12u(g4vY;+1fA*8QnGtz3fIOEVWheIxzc8FMZjV(ByUV^v~C&jcMPkFbUV(M2Wz&hCdAynfn?SkD@T|*5dhf z{2$ut4QQEX@a)pIiat-C!Lr*(Sq%PFQ@^p70(f~U*ceo~vcEKpf1@}|OpIO=86v+f zL_S?kBW64W#2BF#|8Sb2gVwsaVfz3 zs4Jzhnv*<>`T*Gsv5z6I9MAK-0h5W@z6l%cd?MLyunldZ>UbA+tK*L1aV~kmy9D0p zWxPiiy5DiXnXu3>TgFk#EX;jyz?;}*OMeoqHwlsxhwLG+ zf>SBCmEOP&-bzT4f$H>~5(45PrkY7G8 zSHT}GwdZ)oq9fy*_l_O^{FrldPvUvpHrw$>Vkbn(f0(8Eb5FlU>@|22Kg~6@cRj+$ z6O7)GGqpqv(>5%?ebAyNzb9DB_V{gGh=2OFw1>DMVx8ue!7{;4$`?qN5oFB~#RUmb z+r8}48~>)`-T>m(iF@ZBn-}(!&F9_0!a2;r=B1;LTrLzIUdr2s#hCF``1izCsTW^6 zbETpUfA(2}fn&BEYEPhZ=tJWe4i3AP`W{O?In|qegWZeLzP1S@NXmMwB!}7!j8}ir z*z{cc?FQYU%vH9V?TMw+Gi?>=lJX)5c~!NkX(N0Nw6ht!!Qt)8de~q(Qr3IQdPu#e zk$~p7TdowcnQe{wtVX?`Sn``kzhC;Cd}85gfBymB@qI5S-p^5B`EMj(xMP-u75YVm zuBJU*Z)`|lc1FgmTPSXHaHZPCBkA~#tx*$M5ns51-#5;LanRV$*4FpQr``T}o%VkA zB8g5~&TW>k=WdRg64^c*!w?oN=Q^`m zVGlB3dYPdcAoe3>$vU$HVh5S`dbIV;GC^j;1ldq~z}d11vf(EP>n9TfZFBlv3$<_7 z>uxDMZZ|nv`SwDqNQDbNq~Q2E+w=?ompYew)|Ot&SNw zKcOz@v^50h>3w&?rurB@fdfJz{)9-ytl<2YSPU6I4W8=<&C|5BkSYc4qo^DC(@NcV z6@7i#g62!p2m>R*`bfbjNA=TDe*lmiKG$vMW^rJM_<)yn@NLLMuTpZ>?MYeBiMdDP z8y=OjZ!s3~ieCii;0*HYegID5%FY9drd0>W=Dar!vl%yD>14B^Hr+gYDie32cz;vU z8X`o)pCiCP6CJ{?nybl_A7i(Z2vN0q@63Uyf`%2K1}nbE&PgYi3vSA3y`z05VuwraDEoZY>(lG-m^-o<>}VUkQ(<3>Hk89^e^h7h-lrYlw16xL* zF=E=n6tf(&ATKz{Rm{#* zelA(fyblF66zmb5e_{#&S9#OM83b=JF}2T;-W~*yqltm+a(YJ`;YZ!+{T9p?H%mlC zL!D=o(;gY0VdkWf3*zuI5Vs|fknj{63%Vd|8IQMSDF4A{)R~{}tg8 zK)@aU=t-wk{0FY0u98ZthNY)V@4}T%04x*(`e$;k!eIaSk$bK!ThD{LiGcT%*;`u* zqm4N}8y@mw8-YZIE?$k9(tkFj=DDu&H!3KrN3Fx_mr{iIRo2D zf_i95FMo^Z<>#qBA9RQ5^N|ys4d_4=`T{3xFXOunG6~#C7E^z>lE;Di_V}G7??5A{jQLoG-duNU=uGeOG z0BOFcBgDni4&^?VHlm}b)nTz5j3SmX`*TM&rxfUy6gq1WbU^Jh=p?uF`x@XL(qy?# z)B11AJc&ru76dn@k~#8XtS|!A>lU%9@_dJu7!Soj5PwcAttip^@ldf`kJa#7;t2t9 znuc`Kgp9B84QmrtVnuU)WD5_*meY%kXA=ARkuZHXvhV`HjbQoD84?%RrbvEUb0x__ovNrc3fOP}dQx1|0c4hRlKh=h=9 zgjz`xo>&WL;D=*T|4(re!88n`=oY@ zA81%h@{8g2?brR%H+4nBo_0(b7)tBg(8~CuRr-^79{hCs!V*JXKXl6bAhE$4u|}3( z!+*~uH$NEbDYtl2ELlP5o#xx)bh_>5=KxHRXuA3RU9%?RnbGD07+v(;AVsQyt&*ja z?Um^c8MXXfX!#ktBaPhWy;}_5TWa0Av~|z&t%Lo-F80q>`@NNiSOB)Q;hDAJh4x%K zx2z$rwc))pV61CR*R?hje{K1idEvRIQk9PN;+MXgqf&aglT)-E)t!Y%xasxEWWr% z)tMF;7T-lku+g_;X4Ccj7dvMz`h*~*AlBwkIzn0&ZaZdBoL1vTOD*}(BDv^m!GG5I zVSz`B#5Y)ZSv}U~QLE%xpQQ+rMuc&<#*`Px0>iQFUz2vYN$R%jk%wUJykf{Nq9OO# z9W)7aPlV+K;^AsMCKTqu^>b!;lB8!pGey7#!QC~5?HjxMLi7G#ffj9ew8-H@=w~=k znnlh=y4>GK_z*0>vDo6_SP)18{eP2qqvmhG8pFx^E*vAR1{_QhupvFs{-hPd{_&G5 z=3SyKP3LP=AWY923mhuLZS*R|B!BO0Uw@Zv>;DZf+J`oDChd5Rc+HQT3ELi~Blk5L zIe4^Tm;T90XNM~NY?ZcMrC;6F3<>i>^o&1>BwjgA#Vdynal4K+l@qmakbkWrXSWkt zS`^mYZ`RHS7`NpQeOl_;cY+d0CT7_f$9%hv&n8~ue*mA&@V$S6y_PZOMd&&<${=s; z@37Sd`0`PU#9uFx>dX9IK;WxqpDwFA>NPG#?Go#bKqNo*jvDACF?I04m$n`sj#MK2x!~ z9+lcv62b~PyG)YwgkpHfyUZvM0EVjbBkoE^JpV#%2Bpp|g!aE@A)FdVqzVH0cR3Y%32Jo0F&VHndqjH?O zg{F|x`&;_fl_uT1SL%Zr-)`JT0nqDF07Zt#8Qx+~HrpC$@BJiK?=6 zvWJFyzWf!XqWV|#ZX70+A~mSL4{8vFdGJ$4!rxFx^vW@ANYN5?P7~yA~`IZS}(0&ooN4I5dk8<)J!Yx9M_ys`0L z*KTo#y=it)Z1~!H7Kj4JzWqB}ra7N(bAxI46!tnkopq1c@0#7+L;OJ#L))Cr74h-1 zt+HH9Qg7ue(U@}mjsPfy;g27Gpl#=knMFjII4KxCo0m3}3=V&1O7~f>_e-lmZTd@N zb$YkoJ%T;@N*)Wg$(trHc0x9G; z>e=2S9Vc2o`lEl)hDa*mgf9ZPLJ#a2=pCS=WUxyHlQC2wSzepjbjpy*03afCWE#$5 ztq}XbLk>Ahk3O(YOgB2!h#oB*%zcjz-sS5y-euY6Fj?`=OeREwGLUuUdNAgT_My{E z*yzQK77}}CY5e$c&5F8xn~zQmh6+4#x4{>+Y|h>+FT8(RTGd=|94o2RYc_nD&Pfp) znG`Xk)cH47O8EtCcT<61r_-hN0U=@Txkh)sbX2q*m@mE&8DaN7K`rm7;8xO|j zO;DM?Xs~}zf)K1xxfd1`lUKXRzWe-*Q|baW_}_$iq+0et>h=CLXZ>Zjy?bZ|c|D6T zG2s5B`&NQClRkJW6PYE(Y>YE6QJ@b)-{fJUbHZTnw+ZQgtb60CPCjRg$sp`K zdz`v!ULs%f&iOYjEAljgW+O4oiQ;uQfQk zfT|9Yhh75~bdJ-OYTsM6yN?s&0FdJiHyH^w$jEt}+)^S87PcRIw;+#Yw{Vm^wqbQx z&JiOz_Mnb5hEqP?^OTL(LvQ+cuP%ME@)jve<+39E?lim3vU1|1NvhQJ&(2*B5PO5g zDXo8c&5aw}yl5%%@uG4whcZ^nOyRHc*4>$zkDTO=;tYgW8J0{z@?taAq}38jJx`@l z&ZQeCrdM^W7b-a4unW=r17`D8J^kzlnYPl<*Zhotc1CQWmZcxOvlUY3jEC(#6i-Hs zg%c7QA6gtPgbj~OtmQOXLh|M1H79|B6L)_N67_;Vj$F7D6ZlXb5iha* zm}@%R-I|WOKyiAGGiAfI*Jb~8P2t;8iIEMZ6;g!WVd`|;qHy#roF>D#ybA_;MGeZw}h##3DGiya+`m5 zG!TI^c)%jBfAh}K{JwtD*zE-yJq$!zb&K(WYpk7CotS9SVn|;QBB%MSEh7>fWaiRk z@8i^Gr>2z3cYlY=v#(U2WsMw|(=J(!<|4k;z^kS_>lDqS>?pD^<)xyjZ zmk9gpIZLN+)0MmUACT>~edF#gd1_Oqya{&7qO1(FD64@->G+dyiw-M8%*cNmn2^qv zYe4l>vxk8^1*wq^uuUYCPkpui^|0n|mgUY}#{F@p@LT7&b?=U=V=SZS%@7skyuRS! z@MGg-m3^{pE2h6%V$Ib&@P^1c9UfYXp9&A$F1Br4`4aIGq z4tj^EMz|5o8PGBlX4a3AR424f9Gek}pu83$3o@$aIo=lgCsX8D7}9@ftjWbG?v%M; zhk1Q2SZ-eT$}mh}q2A2XGvqMsl<*`oXSe_5oeR1jQSz zbNPz%)MCfR78(^7aVn2}gV3R_rLBCE#;a^fv3|IIh(|`xqj!J&le0>cYuyo?mqs5G z{YA^h4U5eM7WLnpZ0~PkzK!Odebpwq+4l6WTJdt>#}C(%rot9^ahZv~h%bfyX?GMi zheh2NYrutNEv0`2IR88YY16MgT$wy|`v7b%!gFfXvt`S?Io+#^nP9G5SXnP%?Tx?Mb?IwkT_CZIG*mgSGZ7w3kuPF+TqLzk3@1%ETe0_jKl{&II^b?EJ-lrn&Ox zO>@PutYki(bW=~Zrp4YjKAH_RF&xbkwMhkbI|v3HBg%gU(tD-I=2bf8>QQb!So$#M z!V!+AnV3VP*jR3XJ4VpG;#ukq%ArG-;_Wi?!t%yCrc`{+#3It7s$@^%USUGDPYl8iKt7Nby=|ox7vw7#tMy}7Zlvtjn4cC8>N3o_g+PsQ+;Pvi2 zSzmvBw6XaJI&CJ+_WA^*6N`n`*E0YOHH7(r!$4%&c7&TDnW0H_*IbmCTO$q*qA?VD zo&7#Xts4duue?X27<8eX^gm7@=lLgv;>u=WeY042u(G+nnOG@r*I)hi?Dea{+m)9u zS2kX)KiVujds$e0w()TN)%vpyp4JL08}EM$f2?mjBxWgqqaxx&fOquN(6)fu+H(-x zYzg#PBmAtv%&)cE-f!=wu15+7qUvO^5u@|6O|f#0+5|MUS<)NsnpKs~WDY%>$80<3 zF8<5ru$;a4^>Vtm|G5`tV52ZMJqx{_eR)9Gi#^^~@6PS-)LOgtiR=OS{G}9ds9%2? ze%tk4XMX(fH&aEv6}Mcn@bx1?34c4S-9o^aKKVZ4rMV0O&%b>;d{RANY&#%nU|igy;N-XdZ?gxQCU z`B_AJmFgn2Q*~}0;-YAfAr^?m_B?;ume{J(-9~4!QNx|ZT}Y}*E!k;Q<{+vn)c?J4 z`TXVj#;f{l^7Prm^|klg%)nQVHePMk7n9Xz&)?Un$bVVc*m(A8#U^LHR!!E{pFG(n z>!X(|tFPAIJlbA+_VVdwT@6u2J#Me8u0Gn_Tz|0sWc}6q`dp=&tZZ&RdisCh$s<(Z z=$F;K{oDHE-?m@8Ua>^gnc2lFh`SkN_p|upslcGDLi*K^uUC>++&|;~Dc>G8=8~6< zd3-o5B#!{f6Z-d=UP1m2so*_@|EZ)e8uWj&)iMzGTMf0p$&+}z)r4bVcINJULQKs?SUyMtNWCz> zm~>hV{PET16JoDcYL%IVs#GB>^lNT`Q6uln-G$0r6+e58#oFTH{0sv~g87Aog(|h8 zELlO8K@~(%sBsF?oE>UU(7e5Tq_asotuuQ{-lfmyZJ4P5&q$9|&@ zRnbLN44Br7-h!X^l)KtI+9k#ePgha{y?o2Nx13GBuD6@+QL51NgQth>J@@eTx%>2- zQ(ArGk#FvasX|$~PUL_3z$q_qt_XgxADK-8>^A{+O@KwyeJ**$h$Sf7FCpaTkjk$$njq75v&h>8cs^6HO zk*4{4C3(uVnmm8xT1y^qolRbHokN|yF+ZO?;<}JL=gNBJ%8Knb7Fe=eS+iVOv|L%W zTv@hUS+`tSxLjGe{l+3omn-_UTx-c6TxXNtxz6E2q_H@k{K<78dBJrtX*C;*cawgz zad#$Za%J^$W%+WgAu?#(olSa8wwn&yaI)KEb{sXC9fw4EJmb;GioIrIlej>E_JHc- zVA>%*bN}KA+60mRqrGM(>u;azcSPLpHSaf8I2dBI{?j@irDY|iMwZ10dY@%;Fw0w) zY@!Szf1`oS>5`GWwt!c>r0#Y1NZE`!=FBpM1@qw73eFo%r$nK8jcXyCy4VP3uj6qv zMSpme0Wjx&2l3kN+Xz)6x7)($_yY;jaBM}K#7(V}>Jc50)wWRD^Z z8~v+XY6nh>FqBU4rF;r&kAzU2ZX@?4G&%S3N{%ljDk(hYqVRX=C-7}3-aRN9g+@yY zbqz+<6TlY>SxROqk>$9?~a#z)DsMz4q?^0#1+ z&yn-fyK_OXuF{8nyo#8d;;i3h9;9yGuf6xU0T>vmO)tzW=A&jif&2j!vq4j2^&t97CYy(ZN zRn_Y8@GrIQ->=TzrpSc5%6zz6v>U4_0*9MFn_^36rTRS@hP@yZ!j1Vg!I8{H`U(;I zrIrtLz2t9g0$TLpwLLo7gUga(BK`!>`ohXCm#COzILct|IIMaEL&5>Jf3{{m5~0r* zUy6JT5hg+ zWa`n?#z}K^Dt4=4eTHGae+)0`Fh{`)SJ3_JBR*?*l^KrKQH=??5V^H`D<^whw!L~k zl5zWY(tKumot&N5V|OF=#=bpm?&iMmZ13M1^SPJ%#yk7A28U_CbDpcuzmvQ*58~C$ z&6nbQ-VENMlrT+>Iy=pyS2~~gx*UvK(1ry`m7+=A>B*E(Bso1#e+re;^9lJ(_6X5I zGmbsu76{yt3Aeamvtx}-oRe^*RQN)CUvp_zswTx5iVB#?>wfzvEcxT+m)38sb5o!R z$F0|~`v-FBCc!reuFr4Z|299ODCaZxWSa4`ee$$~o9MF0(f7wtfd*g2{V=c`{C`etntLd)hGFB|Lf8%biS{RfK)D}UGt-?&?QJH_p+t4g8S3fFr++ZVv1FTg>Sjjo1cyY*Mwu&sgWR5I0B z=kZ=a1u{`o7qL)Ohj#e^=HVpobCUP(%`Xu=wwgr}Rdf0u;f>mjZ#ZunN0Z&D!^xAW zj(edtA5FG-f7P4Xy~?!}qyr9bD+ie@lB(bhJtgQ`YYqCfk7b*0HjnI>EH&M0!Nox3 z$A)yXF2}^3Hc4qlsjRdB&qLRzs3`56n-`=_n|O{WdxfZQ?D*#ToxKAMy08=cO=!YN zwhjqiq&&094m;Uasi3^i$R15~U?8K#!u=Wd$Bk2Xf5^Sb!>L`^$U88Rdy{+IpEtg1 zfeHU@|M;PwC^&C>@(A8Rd-6=^+2kQ0Jek~E+6NC^I@aZMs?l9K&}D~Zv~;e^_bKRu z3ochp!8Aov^_0+__OBPvuf?a<|;!j)Teef6eIo6r>JzRJIRCugms2bb)wv$EJw! z5+pYVOds7DDZW2~?yJ?{cd91cjICp0@Tg~`0C1$B#`ILNKBsYgvvGu3t^nhCFr|Z^ z&K?7t)tsd7Y$>UBgu&fxqNSOK^6)OoV+^tT-5ifB$oxk&!1jJR7B_%*wq+3fWMl&d zfAUxZ(mVl$Yu`UvR_*nzX3|c&$w@l1%mwU-&1A%?gRC5}-XO3>tTanIw8r2v`fBAu zbf{Ju)&>vB)vTwaMT?f&xw`daL9=-u*RH3KKCWL+mfpAEAGT~!h9%*q%qZF6zmpjXS6((uVHYbRXkl!z`!1m1HGP@F_@q4=76s! z^5WHCHwS(_h4k?N=*gvb?bQfqwe>XZsJxTZCQJNlmfI8M))Y$2^OL1kxjNaLLh;5v zASOm*_xkKaT%IWRrwFS}c9h1!mw&4a3xCbVmSoL;=l=ynQ40vY77%|eAdp%>__Tm9 zY5}nn3hjThwEuknFIJJeahcU+jtl)-tRmmzQb}fKbb~Z&v5HV^v5HJ=aRC7ykCs(; z$o9BYltCpS{Nu8iEY2=gllj>y!ZBSJlNxDi28F5_=@qb#4 zJQP=(2bCUTl);M){6=smvGBv;*eL$n|B3EcO1%~T?f-@mX~!e7mw)?z+(U)qvDqk| z_4l#&*l87)0*mawR2vPfDWO2qgEuKxAYDa`;oy_AK_5c1~ zp)5W4TBS1@orQ-iogm;1y)I&#{PgnAxeEpkqF;fz}( zo_2Zy5{>m2se=Z#!H4t81KggTU<2fX4JphNa;Edj&engmpO2HJ<+|PdxTRf249!$& z*C_-KjaI!-lqjk=jWEhDMAl(Oxxj-IR_0*`JF>mhotnznv4iYL$=Le0Z+}-8#BoE4 zLNVfB-fQcfn9T#}jU{SfaeeK*#%XiwEN|Ak; z|C*?}MYtOK-qkBYY-Qiojg(xF7W3;@t7{-)gX+Cqw3|ZhmKV?wy1Ta;JKM%5u zaO&hzTO~i0@;97>!jJlyq;QT91pj2>P4lC1ed3SV?9!kdJF#-I<9~j$9Z?7DD(a)B zd5)L8A3%mBz`ze$nzi47TP6ltG`}*wb|y}wl_bQyw*BHW=o5nQsF3t;gl(52$`5Z7-~y(_Oe-Ol`Mrf${taR!=cWOaUQixK580x z6V;Yh)MAs{J7aGy8Gn#qK28BDnSOiR>;feRQ;Ef*VEyIl>nAHOw_iS5V@SVeUmiW< zg|P0x`fpKpWLn6QRy zA7j&~s-8Aa9j=FW+5I5*Ml!VSJ#;u(DU4_7eWJ?Hy)eX&QqwVhM9oY?KZ zTersdC(H3uV`a^BJFY*|g@n*R?5PZ)%tW{?PVPSM{mI=zn%m;!?y`QbZ4KXt8^p`; zZAyntpnlmzn`XqKaZpwY=|QH;YD-&qn#hTKKKgQugMT+Jsj1>vV*E=)x-o8r`d9k4 zzQ55ySpj8pFy1uTVN>|;j~}j6`Q&HEJC5^?=p98L9y09(5X=!-()l%UIWRhX>ae>9 zCh_I{8*I5{1v9cBbiO2`bVX@r<18DQ(Cy^b#6cCZzFQ+Mz0&zPJ5iUNK|1pKGFY^O z%JAU1_kUNDTizA~n|Rz#bh;mI-sWm0$y3@1vW{mw(N(9W}34Z*nSKWg>{Q-RA5s9Clf> z-j=JFLfEb1y-hf`$gH*vJM8w1oc%>AiMh?nYMBUh z57hKR*`eYv{!CXXxy8R9B*h#cJXi*S(aiPRYWMwa zXMfXG3(r6LdH{nR-Ey#&YXO#7ZD;Ms_L(Z?xTGiysuj~V+MrDkSEJ@!I*a4R;`YX` zhIH4PuxS}4x!*1UNvO7Uh2uwz*G#w7?y}`1iFK-Hwm+-~=P<#ufq&ok$a1rB=f9RdeAt_s zc&VSsiCcH3Tjwosj7)zB4#$j)K*S?owxSHMbh2c+q}YEN{~Uq^7RYk+4#7bk&t9g| z8KbMQ^uoHUeztrE`K4!9pF;iA*bFGG>a?9O1N3I=Is{dlj53l+O00Swy^SgswST>j z$h?UwB2uK7rzJt}cOZ!~EzGA1lO&gL)aE?Ygm7%qKb!ASq5e(2>#H&v%k_T*YW|bh z@;Iy@*Nbb9pkdgJIQL_&0E0m?Lb=k}@PlXr~L1WRdP=yO&`FVShgvKJl}Y06t&Kk&eQ0<8q9$8&?b;he{E}I9Q0= zy~mZJuLH$|_B(5J^M0Ta%oPd$|=}~)^o6b^Z25y-Anl}!2 zL;>_1W`GVq>L?hwkwpG|KDlI{d~83tIk35of}O`cuFvk%jmQt*srdxE;D2jWt+FI8 z*cchbw;fxl9BXv;3ZHzsPlnutDpO_BpUT^dGN-hmQV)Q!jx(B}QHcz6@*7h})jzh!a#A*MW`hrvIxAfV_*a36eYJKqo z5YGR&^WYBUirCB^yG84uTz}5a^^n^JA)K27!1MAfW;;1r%9mh`V05@zN zGpCZw4h0V_s1(C5{#zy(!?`kpj&~fA*u8cy{#J>@x$-4ijemc;#C)!tsfgK4xc!)g zJhV5aGAHTE8FCRx0wRrjrwe5}+n5xlA?7`%%?z11NT%47N^1Axv^JF|uGW}5kII6I z3xY_vlnnEbKyb>kq#sq6vCsxXii#=npe;^>J9@J!;?SUufB8#a zo}32F8b7VMaDSONYp}%5@r0ATI#(0i_r0Z&q{k+b4Qp+%|5hni{d7yQy5wSur&F!4N#XGS1-l$`PhpgJxd)p7fNg&OjM-1vqqcF)| z@NFT1fC;Z1wP4Q>*A^F6_c&&TgCV@%eexBc?T0`s<$n`n#~65K8RvwPz2}_Zgjv>G zDxtp#D+O_#$%|p6Fl!BYW!fWzWx5BYGQTZ9)4s^ox2ivPvFk%F_NS+Z_KvH4ddfwc zrT*N-u1~nwpPruBJFfOg+4#4vKX;-Y;ARMOq2OdGTpc zIt6UnB|K)fYCmQsrk=q8_%Gb!L38E@ioQHoW~NHKo0;JqN$g#9W=gMuHYsdR%vob+ zg7wHS3A^CfC`pVR69w+J5O~_1PXRw6%f(@`M}IFD^RxyQ1Hy`A!!(o>iiEc}`y;@`%HsKua5*iON+BFm-80VU7 zzklR8p%2;zKz@GKQd7ymH-XE4l+UO!t%;|K@DJuhx9yET!Wtgv^Zdke3nQR`j80|u znryQpvu&8l@6TkGjDC7hLpUzb_+#(ZRzTNG{U)3jcS_S!6CXZoIdYK77M;L5jCmpo3s>!9>Y=n`P_T^XUajGR|#1HX|7I)j2cCk$ptZ{JQ;^)ltguDC$)&@l`%I_fQh zS6U;izKbA#6%Rv@G!!>L@5EFy5L}@d*Y&RJfNSK{!sV3jM|wGEGc!tUrGMSH7V+yF z;#XW*DGp$J<{?4gwlQ<|N^L*4%jj<0m-SM)oGJaaIq8%^UPH#n!kpaYBoex$n}w|X z3{h@pGOd6DviC$Fv+PbdBL!yM7X=KIkmymQ9z^5qk6?zjm>q||xRT8eQ)rBewHaV3 zq>ynWPPDkk$)?hbTUTjUOX zFx}2_`}M42ukY$LJ2TGzQ^apljI!slaaf1U*M1S%kioJ@_h78+F(*s+V0}rmvI(m% z_vhwtI3{h?dvgo5*;!mZ-j}y0h4&!qlJT>#9FO)YQ(=77d3Ss?EPr46=gx(wP3~Z* zRqr*J^X+^1DVmS%`WZu;R6n_?W9jdAaA%hJQwPEAf1D2<1w6byWt}*D^=gTep`Ajm z9U#|EAx8)QTOA$V4Q@+(n;=y%Dj*W;6@PsAbz*wb{YG*<=i0{XUnJC%eUgA{bN%4a z`Dy8sw1(Y(A8~vsQ-7pS00V=4wbk@kDyA3>XNPbwrar8Otl`A-=t2&BQ%<sDt!3R|2TDLLh^Mdsr*qY+fSM5@3=-aktP2E zJMF`V?`3QB6utFdZfIg~V}1{ZV*So>nfM?l{re-@IjlJwh6@0rYLy(Xhahp>DwpxQ z3=@BOyDr#u(XIp!;Yu$3I4qJI^P=y5(In$TEvW0LpUtD?lMPJDtseO3d#jp=}c^Gr611B;ll*qxK2=9n<@qb?0A2I zlHB|fuh4Zfaiv$zb$~e+k2<0q#hDyfY&Cnt_-{jmy=H-EZwjS}}i4*~T61AgSi~Z?A<}t*gta+rVJUe>TONRG%i@ zioM!Nf6z~rM+aAWyY2R~E+z$)`3H|8q~6iBkm|A0zY_aS4?B?=(%L7pZF1)`Gi-C` z3u_-I!#+n_Ma#G9kxfHoKDD}$cyg54LuDQv@sY>*4fX|@b$v|U!F=^c8ajXGUGFdk zOFqsRoW?-AWMI738Y60X{!r66rKmLaJec=n3YEfwqNes~YJ>$1G}REgan68Bq3v>d zJ^a-=bG>PakW)XgGfsthl=A-6oENpi-5Kxy4Er`6sYrYJ$a|LTV`VY@YF}iGq*DCn z>Oz#6FD?mRgJ-otMsw;OS#6QekzBbFNc;9VB6UE5`;TVIiCK=M0%8=o&qIH%nw(~cmFS%b z0c(qz*7O_N0~v}9JH3g_!xR)UXD;Rq%Wzk70BX>B@a(DF*<}`F3X`Rjbr<==hTji; zRE#NBLMykAL;6;g_Y6>UDzc52;G5#mzidX( z!;nbDz68%sXwiXaafl| zx76#{Ht%5kPZb&6lJ^eyC^i4^PSh`7K7O!RXW`Y0x+^AJR~GB6MtiZsn+K0y@}`cTOA(6~y6PfpSYxy2ViKHZ=E|}TjQXP3(iyvH`}@uT z(K!3t`1+RLp=fbk@~Mu$O7KMPumVw1xlKpFuNa;?GmEX(!d`Wuwhz&@M{J$U`iNov zCE|#jUTnKe(F}jM%%4 zw-i&@OE=n_kSCmwcwX&HHD=jEw>q#NkS;E9CvPp>%bkm!u*BAr9B%N0{WS+mMh^XJ zigx8W!KSpfy*Ip8VpdZymE`OV;ZR>!NZg@;IM~_Vo1atJZB-U_c4p@G?(WPl~9-KE^B1AJlG7QTzJiA`E1K-1co7d zyE(J7k)26=uw?(-pBjEsNg~C2o~ssYBs|qDg41wQ?GPDQc7u3D4uvp$Nt#^Ib}T?h znjhSjhO=bcR-B)uf~2V#X3AOvn+qqG30n-XuF8kn!yUwWOD>f@#$Ee=P6M}zT7 zQftoT(xq$RHvaDwd#~Ptke{gM11Ft1m6sM48CdbcZn2m#Xdrjd|L`#s(&$09qo*BM zvLh6(i;6()zy}c!^A=HmrUDWLqF}^6zLZienOKk*D5;@m`t~KkDp>r86!XFadpj}* z)b2oP-bg;kLh+&n-?Yn+hE2u6O52GKaWiVLELd?cvL4x3=j(N-weIz}Y(%VEK>~lg zbA+tJvH@=dxFNQUIRXgigthLb98O!)nd$r1#<9jUf2qDT?c;@iIo5S9IN5|(HgVei z*@XFYQ`Mi)8#1Mo9cGj~?-L;ftpOK~Yp>Jl84_vF1ub-^r}AmAd7lbT*PlKrm|b#V z4gEOH)14;4_)vBk*N9Jw3WORA;WP;Tin_pb;TfS|w8mYKJ{%c&&2!+yhik0# zlA>hJ$Y--q0cqHD2DA$%mUf_qdq&99|HMW7M-dS+vz-xDbg3=(jt5CI+EC2XXvr} zD2wwv0-j~GOj%E+|B-p9HIaGlJT)gxCcQTPv@brY8=2*QwKii>MOj{_o5_QpBRPLM zf44wahAZ;fSs&S_Lmo%y(OzFxoSEX> z?@78yx{caoM{>_Ym)^t-7=J8{AY@a?lqLlu%a0f>yLVnC(pwX%1uCHb3@DfE`hoY(WCNk_CVovHaEL>CdA6TlrhE(}`%QN+! zA49wV-f80juzSZTFwhJj5+?58tiVgv9?)qH%ne*wGB?gNH)@l{<9{Mvy7tjYTw&$) zNkxi9%*7~ib8>e=J|T0-q284I29e799~!RoqTx?E^2>BV!W7nyP zOElcj0R5 zSk`v`ihqOm@<8Z=#py>{L1TA-FUf`3|4#% z1nl8zmxEkO@9E?Us!S{if!Fq)1S3=g!(LRh@xeeAm@5_-KLsQ^i7(FrVFHM@AIt&w zE|>1e3=TIROulNpB!y^Q)Fp;xljU-f*&m2_h5f_gA<0Hc>O{cJ&XWe&dxs8UB?{!FjiNzdq31 zlI8clg4|;oh&TOvtJ}0;?mlhJm!ioGCV$t1h?9tEE2a|KbA+a?ezV?d_S&6lGudld zxu#mKFkBH*FP^DlvJBuLlUJpMiq;*@TvEArk5~#!F?6+p+7XQVdG5D)%@MttyIG9} zP4&VX2es*r4iAnA=9yU)w=l_$8JKwym?&wzZ!+EzF2bf>4y?x4uJHJ7+uT z(8<5ip&YMySML-k+Z~hr_}!yPVt)CeyR)3q%F(56=CQ*h*Zxq`{nED5rc%)BXfoKp z`268dPX_8QAd|sEyvq_a`T)$!+`KgudNiGsxt!@GbPhvCsfD9q8&TJJrcnqLHkYo- z3^4(Vm*C0_Gy<(fmln$mEdh*|M9T~>0Y|rV%M7;xf3nA!%ETWhJkxnZ%w|p5u{4Tb zQh>IbrUIb=`J=4i`PZrF>5aPkOgHN0wVS{B-O!*}jVgKI$T-;r&pBv@TJ2a5!wL2g z_C?9imxk@eq1N-4pY5#VSNHd~pXHFiJ$ve&xxc?XMen}5GhzZ}bGi3oFvNx!jzoU> zc^4;lf0vS6ih0pxuzvS$KAKTQ!Y;{9^F0I{ry+n_OhFC6NTP?T!KqIIReTwqhBEw` zT>i!-%dHSQha8{c_Wr?gT+K%Eh!1a_kEw)6xNKa-+~41x4ywz5WcSNcQ{mk!(U0Gr z-rZSrMmoQwF#QL=JQZt&ONeK`Ccl4`-@hfle}9wTvndfCu7DDyfs+AX7UKtw_-=eG zrS|RfLbj#phIlc&xEO{cUo8JZbG#U^FU?nupl;>&@*N zF?ApuZFjRy3MQe+T<=T_fAdr?sk*J=p-Q;}QpVlHC4{@>p|T6PCr4oxlBqtgezrEe z_|evc7cbmj)&^FB^{s86z53;ez5nW0fAO2Y@XO6Bzuvt1&0qYo?;rVpi{JLybLHn} zY%$?4d20l|1Yh|TY5IR*Et*MYBl+k2Ppv$H;WSeWr;+}9zI^xP**EI8oIcY?VC%K8 z9=>>yT;?o|x*|wX+;;{lWgkY@PnYlh%3ATG3EPVo?(b7wJQV0O(3i!0o667#(V}C@ z@j)uTCFC#n!Q>-dQ0ZSt??Gx{&v06EHEp>UM=4&AF7XX$fLSff3`L3XcO8h zQta*luu){P@-tR{yycgs%ERO3!+=%q!hFpzZC4VWXIBzftBs)yt=a%e@~So0PDz<8 z9nL(ZsEP$+vsRuLw)xlJRhTTH1ge#x(#m_z=q{i_)XI2O@5|1p2){1eyAm(h#Yu3gP@BwBYl@xJu^a*;~eK5zk5 z$-EBvDb%O-!BI{QpQ4@{l`cw0fgC0$^|+g79NvF+nzfu#*c%s{pB1AnI?zZS$eJ3R zYa|cWIWGQR*2Eise?}A6!wRR3e?R<+!=dy(olpL5#Z8j@n*F)>E!*88+b6p^3ipn< zr#cy-lvPF=|M`n|U$?>kH#YSl@G@7CTBA1^f85vY;X?+ACbd@Y@Q9bWJ9eL=H0I;b zm@Y$UO}i0NzHm1?zqU>v{?X8oY%K;nP4rc<_ z#ag9TYx9hqIu`nqoeR`IjI(@I;Y@)CwF;Km&en+?f5J$z?3mk@EF0#!OBd6rOBZ9X zrrYhbx|%TiWtVV^gf!)9Q&YBt{h^1se=5N%thI?Y8$Pe z^#6=~_Rr7x_c)j1gz@h?gtEvbVOtu)bD&gKX)KRlUVZ=F)fFIp8W{wdfFO2kZoK&R zEk2Wye+aiYa@If`iEtTg=rN|9`)w$Q1FkpbbQZ7%{0H7wY&1&Nvb^Q(;fI}v``&W# z5xi4>{X7mDfB4cimlm|4F)tvIKx5<(6QfAOe~m5{?~j4pdJllKQLr0;6TxQdo(Y}< zpnR*A67%6nRe}@FpBA!atYFJ-yq-OHxxb%Ue^8wnlnL1uZKYl@Xf%gTAZoM%5PSIQo~7(7l_k8%HDFa~OABME&kh!`$dHoNu83(8N2Rf1}CK4TG? z3|Yp=GLd$XY!oI{_h~;2D@nY&16a0lua1KRW7%-=vZI30kRDPGUovmVaF!7w z)0$5@8|vg_z^3&iBq|*9%{W(=7d|++o+;eQ2f9i{H zgz5q+Xook7*1p)hWvP`K0OKlGv-yYd{JE^HgxgE}A$}1E#@J#dBpT|&oQ7s%8}5BK^h1k zbOQKGSsn-Xnc_Bx^~PBee}Gao@zw_s%SREDP?Avy4wE~Aj62YkJ7J@Wo$>kJZ0nk4 zhIcB<danDZH$^D1u;rzi@}Ac19Oogi-!f4oqTWJ8uTcZBqT z6M*Ob$?35a!%y79?$vuZd?KC<_cSVisUGH{8p|tEpOM-;iS@GTq3aTMBbU-^O7P`$ z*32-Va)#OK?0WiP4CVY6ixgX9SH=d0EAWJph^&z$E1+*a1W~aun8M_~IYbDhN6<#> zc7g(jqT*75j{-N|e{kx;d~z!6uwYCnOPU8~v!O6tTpe61;o8ad`L}FIfHI@yG<)+UgSI!wm|e8I@XLmFAux16LrW#Ss1xOAE9X&nEq zx0hlrpcSo!a!?aO=O_sKKXAXVu2RQ59STGT*cj~N6j(`te``5e4zAwCn8rqunrl+1 z;NEN<&wTkgAZ=0lb4foQ#0=Uj{GBK#;hZh@PTwY0!_Ldx9qh8T0(XmveG8yi^{Nk{ zXzA8h3eG~(e&~s@umv_MH#y{qVu<^X3UXyycWCx6)lt|T)z-!aCTZY%#6O861U5a) z_Gzim^Xs(*e@Yr?n2y!UZJ==&Sx)=Ln|*ERJdl41{?+$cwj4@D?56opbU_aHB6aT& zHv`t%5gLhL9$}Y)LWR)Fd#4g8ysQnPbxN9n)(^Y|Y+`or5tMYZq~s;HS%%q0Nqz5N z0x-zOaTl9cG6FJ*0oRpDDGKl(6521lKaow?x|W=Le??2O=uTNpRB6#qS2T-cYR%GV z6^oI{2X~2K;U8Ct4Q91GKsg2yt(XvxXCdqLQ?6q;PxPl0KBpk%yPoyhhG$mX@i%k( z*Kt9nhRUj*@^>j=w{sJZFBiomR#mio%}uc|S2VZDpH1JpI{XK;J@?>i%M!yOt<@0M zYk60Df2?$WHb+6169=L{DIdYQky6Vj7iyT4t8lx_f0CFkG9(?6Nnz(pABj;Ur5NR5 z2Bzl`f|=qKB`D6@tX`?v%$~`XhPgNjmCxFmKxG6>qa-Pm0Jv+O(Zgo;h%d$@=LCwEM{6vPO zCzmTR;I9=Z`f#E`h z3tcM%CGbwn*A1g}1KAZV^6GS}f0k=;DJ6QUDXzIwg~DdKO^tXjE6G6aiw+{3SN$@# zbQ}VLwt-iDV2H{RfD>$g={f|BYo!sBw~dEbU$q0dWD<7EwQL@)WP!oOz5uTNft+#Bk{5cGLBAl#M$nfI*UrtriPYSQ2bM5Hx3e_cdtkS=K! zF7jz;1=(ghJ(~MOaC-@3CQIoj$&NVmPD-83j0@D-xPUTTA&Sj1V8oO}Ii&7MDZ#au zAGu{6nm!z1dg~#n?4O8DpN`J2IUH0DBS)TrB@(%&y~DITF0(JbuR8Q&EM$4qTrfn; z`6q=FhwEElaaMy%DoPx*f54$C`b-i!KIWh}3(J)SjlfB)#l1~r7N}D%nSG(b5*{v@ z^3_>9OMA8EI~>$xis!q)2_7v2o-sbr9L(ise_h%-HqY7xa8sO^ z8OI7|G`aTjB>S>ilhjnZ@=UE2!IrKqwAP~Lt-Seqk|83*V?VQC&ec#BJ&sj-x6-d$ z*8BnyeeS1=S$YBhg#)}pnE=u&-aYfZSEN^7IUbXy?e)^LK!nP3-+C!oC>f4zj6~#< zBt3`F-Q6sVcO{Iof0;I`Hb=p-t1FW9q#geSlJ)f>pDBCxCE;^ix0*9OGR0^=roF8_4ioCTT&ShVS-dX{b9)dk;m-@39M-fhfmElZ{NS0 z&4RbwtGA2!2yYqw{Q=%%IYSc99M&KCBew*|xG3iYm-~A%M7Qx1`HQj0u ztuupW98cX7UaabMcTiI&<-f&SYQ?+kd^Le>k5-Ra7o@sY>^b2cd47r&NJI z{=QU7N+sMXUt1YR)ovA1s&=c9rD8HBf}|o;oF%dYh)=RzOB2N1Bfe{8(&TXNk|w; zeMfize|%^SVgovl<^%&Iu6`?Gj~Z+UOb)I!3s3DhV3X+sb-9>B)poUeyeB@dQY3m& zF;i>x?xXo05RU#vyP5vosHcC|+Ueh!&of_VKenHq$MrhPM;yw?%Ua4jka3sR{1Hx* zo$^={%t%j=os$4%Du7t*e3`H3-XrPFfFOmge|J28mFZ9Y!clbv3(6WE0NmE}6v*4{ z-cKN2T*z5j{}XiaQL<}1{a0UvmqA^PUhTzqDWrJohr(@cOyueI(Z%IPp`SGd zU^fXKQByQ4u_(C~Nr*cL4Yr)#pk0LP43FvUt0%v_fA;bfPLTSB9TJJl&tva^$jTSa zf6BM?0L$71_2<>_(-RiKaBOAA3zFoMAHRK~8zNK1AHLbzswY{8GyolWF`FGfn_%r# z3LEFi^(I02a5qZP%AEv~P#{Qd6AoJcwWWT_+A3uXX@DpS)I{QfJb!GDe2IM{NnxYz z{&9SKJt8U%rVWDD{`tc%S$}Sd!E9V7f7+_Lz1b8HyP&M*c2Ck^6Wg9-Cvdk}qclDOTHQyiL#)|0Rtx-wxIU!l9FP%JLOzma{~nM8I91Yoyveb)uZKvy8!# za6NZ4R(B;uDZ6)1isVO>t99APCoB2*{tTT*VO-b7U57a;$=03lvq8@>7 zJ!D*e44*qj$o^PN2y12=RxMp{vRSipNQ)raN!^E6ze;AEm7$_G<`@J}9Kbm(8&CJO zY~}&W9$WSU%6an%@|!xox>$!5#ZuHwgTBC9z#9kW^19VPcBcM$1xDl{@Cg`+b{NG zm(3xqJM>yb@BuY$BRfD0Ac|^pj_mvKVxmpPjy3uM1E!{uzUisZ+)^Rl)rOU9`pA{n zN0?M~+X-37R`c=4Fk^Vq%x9QwMJNN$a2n{~y-~_Pef5JQl|;W$tAx_yf5au1O-N>) zLEKd=Qj65BbR+tb93b|iC8mTAI9kb*DYum0knlSTGl7`y(8nUY!|XI2OajqmYzH;R zW{UbiQ#BF-ag8;aq~Lbt_bN$qf^`gTvN{hvJ)a$InlC|Icb|RfHd}77vT`<|KH=v? zl_{;~q%u06DIYygbw@rOf83W}s9tXR(IjkBug=0UAJ3M9xDVLtB#YKI(X9NJOvZ@7 zHghmLq43hEglM0od8D^C0ayeI62{nCb^9EZGP~~SYz_B4dZtvtakv!g(h4wgGj|*d z*1-ABu~Nk23a`w!X8>L7?q0i-E@D#wDDXt9myXuSuxBp@mlbV+f4jSgO4_Usk%i<0 zliumhNnE}Y&c(5joW}P~?OuFjoSmpnN)kW1GEG&E=ffKta6%a%yuT7y44tdIf8jfs zNL6^)ovgl{#a%4))FSZijE(a?xjncL5IR`>LCI%QPd3ZWk&a+Dn^sMI z&Xov^!t|}qsXH2OvXTnwiC8==0?s8kE`y}wM9|H-?lse6lCX~9*4b85n0bPcdUGWQ zp&-oi$@q=Wd4QfZxs9LAz}5BpA;i+_o0m}o&bQAB&{NF+e{m-4>2Q<&<1DkGxQt6^&9&H0LNE=jctGm1@>(!o3?;GPif!~mx$TX1#$klH3;J9JT zTqoW-sOP(j9K2%~q4?tX@KjOD59KX9ADHx0)BTE8DFD=X9htZv2LUHFFW@6CrM`oY z;dooN-yR_(e{Wz)qB}>~fhnt;Xb;2V=W4E;UY&ndzYuJ-k>-%BJ^t4!3CVE~3du?a zxA1M|4B4Y~BRs#RVJOF|h#S(@zhmFOS2l9p_9yKA%pU;7BXw7c#sFXOLl^LD#xz=F zIzISA|8|aswDLtPMSH^iE>WuCKSLs`VqI`osi(pif1ex(j*A^JJpg}QY&ovt26}tJ$WJGU*iK7RPUYk@87$|epGwTK zIH+s(jYr{tVF*bSaj33rG#n5U5ze?L0`Vo128@RhY7ixoQ_C?WN`_HX9&u4y8AE&{ z_Nv}f7io{A5{Q`d}`SorITQFyEfYqm{g>4}FBWpL9CD~96LHd?|(#O9?$Rce|{=aqgVf0O0fq-A%QR~oW(g?DYYmZ6{7Siw{z z{&`4r&{0>(B=%QdZDf8=bAz z>vXzWff3|b$wO)}g4oSHXl5Q*m2)1X3b^j2^UMPdj`Ti&54rct7HFML$x5G7a(ysg ze^;g1*H+1A{fH}Y<<@*(8 zeaXTB%gdtil|gx#aJ=^@t*<6i^Yn7(zi84?l%0p}iQjPd2;K``bT0h+d$;Yyijztc z)N+x5%I+9NFz5c(pq>fE(J37(r@`W;J?oZXPCPv9Qggv^GhbCLi}hvKZTTI6mjr^1bjcrv)lbT-lOW!ZfS* z_~nP7e;GwKn%B3qW3^0_zpJ&Pe>!~h=$>@K5nMLtGZpT+#vePhj5RJ7+K%y?ecfE7 z!kZTdx?31!C)Rkj&H8b>HWDxntQ&$fBF3gvuye#2XIi8u9Z5M54vParD{x=MneIV) zzdCF8gV(st@8YeJ2m}$=ZoYT!3}}5(^X9p;>e-6t%Hg zniO<`)hL|RMNK)s((;puQq6iuxQ2@6!WF^VL9ShZYNb*^M*UtdxRy%Hdn9~GxWB+M zEZl*iU|nE6x*cJ)FMY!Jf5}ErPS>tM%USeoY?ko#cPg327 zl~LII==jy!VByKc@$%&L>`Lz(XAholS2O=R@?9F8mv9a13XQ^0?Ab{9l7-6DY$s%e^wSe7e%g#g-~<& zQzUhkmTQo3zDZ}27pNBw)RKcz=S+iGnv9dy2xx793RPsaWf)tJ9}3yK&k8Ugx&!7Pqd2c+C;M4K7wyDlv^?F z+y@h1M0?W}QH6|Qe;R~ro+o6JH9|I(s!%HC-l6sW%M&Rpas1id4-QI>ikzXl@nWN| zePLn%$soW@_ce*-$-VtQt-lAp>$+cqvb z-K$QcW0Whi!Yr3|1oKl&Xqps54`2*%JvoI5%`d}ah4eBiVchA0^J@cKUB1M0r zPu&A~DeYlCe|Mg(;XhCa_sEyTy6ZUg3=8^v@@b`*isfvjETIo*IXyfN&8rEWC{%lT z+7j_(?#j&UNpJ9Vssj4Ix#xAWrU)w-g2iq79yDc&;_1flXq!yKuiU_Y7H9dU-mX3E&D9^0e>UAxFR}Xw3?yGv^Q; z5=};>m~mI0$ROlFbLD}KxWwj}%%(z>SA#TOjrk+Cl#T?Q>W#z=CKYHGrdzS$s6e`b z?m4JQmn!ZI6MyHd95xWx*b~6BLQ^({IM>V%#)68bfKKtW^V*M+o4ipy8>A=Go5J3W z(@*=Hg+|o?pE6YA6N;D%cU~!6M5!;wG9{3cwKRhL{ddkRR+59%3kFb|Dvko5>-=$$ zER25r0r%~Ee1Vju79a;17w}P5mZ1CBujupq6)bW!k|Ez~JeTAVoa&;I!X4(vpOaHtapX&ZH?Bq{|`KD1~ z)x*mPBmJ}2-@h6P9^?Iqh!Pu;Nq^%J(-#Lgk7}i6i7V)}c%@xxG)hg5e@wciW~~GT z735fTzG;-&r49!GrFyM|?;0#z@LDx{CD^K3ol=Vr8l^_N1iMz9ggE%)XSIZHU6aIX zrB=5DiB*eFTBQb`lXS1tgfA%x?VR}fBlp+Ytz8aG$t12Iia9}^Mx&G-;2>ARi6v|M&`%wljzoG=N^$J4&VUCZ>_uP!Yb zk2!9z5XKZqBSq0GH_TUB094Igns>3Y$#L+ASPo0`a75@JNy-@?e{p(R7I*7$b*B)2 zqBo1h9qx!-f%V7S@ZFS+Ee*4;d&rJGuhjWD&%!+>{TX3?MOkyjwNvpK|nwShBI5f#<2y->Jk0pCTzfSmp8K(?_+XD5T;| zt|a`e7HUXPMcGV;N49-}P?i_iCkM+qCVw(<2VPWzqb^0K(sPu#NT~pRv90#ANrVoR zo_7FC7I!VV3+2Duey~~n^!)j={lWt%TY!la>yqeSlGX!pe;U{jBexzeOWA52DVvrv z6mLBE3?Ht>feRq(WI?m+b^9DjsoN^WiyXzGQsQ6rc+mP{S()C_W$mpkYv}%{~( zRs7sR%>_X1bEHZB9otV*X`zs z1fI-+D3}>Af8izs4ua9WJRNi*8G78wO0=895Q3E1!YZ4B!&#Vl17n^llR-R~BXpm@9Kr?Lv*~AnkWhDCME);WT zTrMXu!P!KJsrgoyL1$XikYlgM%a4!_j7h;|4_Bs8e}_Hiz41cQ|s7D<6yVuvkp_%>n+7Okiu~ zwa?<@p6y~Y$h%38Ex>kWvg2enm^uEDd3Jwhz;!tl;RdUZvyn@MKa~zjA4>bBkEQ23 z&j;6ge=-qG_21cErgYEtpHJpl*prNGR-A{XGwOwSGrySw7(rPYwV zDI@Iv`h_V!BG^=KCuBgi24)O$e^Sh3N5Pbu*H(e;_+tO?PW8atwkxEffPIh}p(C{XrcG z>M$rPhJ6uSlBgf9)WUa#HrUOd4xv35KYwwqC;#+QaH zo{z0Z;x37+bC5mLdUVKI!x35=~0ot;LBf0M>r-<>C$Z`rNrWZ>cMlkEdEcJQZgM!S(HavS}P zF&0*xIX9LMUhV(nv`|4}!iwY-y@`^qgv1qNcks4iu)B&5LC*Fr^k=PRxBKXkzp*Pf zdPG%NAw}yCich`IJ;iD zOMFx>+$Eu0NA9xu4z0^BTkm#m+-3XS4hBiR>>!<6h?BUxvOBxGyt}wNy8C>0a|g%W zsXozM>`F4RE6KyIBn!Kee;n*eGO#PspAP$9AWf+&PnZ885-XXZeHQb&*hc!rjIBw!GLm7|gbQ9u`Mi-?0hzsn7UT z9?5-oYcx0@v-2XfX!7ax;JkcIUdP2VyKy!+E}v=Q1nbBRXv1NQe_agVhP4~B!J<4P zxAU!k4U5NHzYL2K8p)HoB+T#fu{;SkkIC_1aJKc+uz0=oK6-G*&G*CdwLA$ouX%eY ze#g_|v0TuA6u>SC{$CWY^|H++1(!?VyeEuYE?ZnudbuR>AO2dsY;svXw}t+|`T`F_ zaueVKa?%VXal0Trf4d+FyC4C(Abq`R^UYeV zUL@wmgiDAHv(go1lE_!M`TqwAJ5llaq>^>2LUp6^bg82Be_5sILIvnZWM}6DAc#E- zJN=W#m>IiOuCdbai=R8E@{m=ef9f8d>cdlgcqtEA6#JL%;iW#j)Q1=H@PdaI?%{<# zywHb7@(?wtf8-vb_VMsYAAXjH>^}RS-NVoN@UuR=k%u=tym1e2^x=&@{3H)Q@$i#- z_(>mr(uX#^e-b-plVkTCv14wgMdUBtHIj?8xVe_$!qJ&cw#4RfzGl~ad*iN=;K8TV z_`|(k24ItJJJ>DLHC2?igU0|J)SG)!oCEr+)mGigio~koi{vk*Nd8)inT4`r(e;DCh5JWS(lu5XUDJKao1|YGb z)a0zs1TyCB(68`eB(6wN>>OruSfV4E#axX>AgbdP-}d(GCLN^o?$sVKfO^>d7=<

HwKB{Z?B(Wu*6$rKhm#~h!)m1(tj(Z)$Ski?yD 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

@ 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 K*Qm%ZnlS)Br_`SS diff --git a/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte b/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte index e891f7efdc5..c736178fe22 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatScreen/ChatScreen.svelte @@ -29,6 +29,7 @@ sendMessage, stopGeneration } from '$lib/stores/chat.svelte'; + import { config } from '$lib/stores/settings.svelte'; import { supportsVision, supportsAudio, @@ -47,6 +48,7 @@ let { showCenteredEmpty = false } = $props(); + let disableAutoScroll = $derived(Boolean(config().disableAutoScroll)); let autoScrollEnabled = $state(true); let chatScrollContainer: HTMLDivElement | undefined = $state(); let dragCounter = $state(0); @@ -149,7 +151,7 @@ } function handleScroll() { - if (!chatScrollContainer) return; + if (disableAutoScroll || !chatScrollContainer) return; const { scrollTop, scrollHeight, clientHeight } = chatScrollContainer; const distanceFromBottom = scrollHeight - scrollTop - clientHeight; @@ -194,8 +196,10 @@ const extras = result?.extras; // Enable autoscroll for user-initiated message sending - userScrolledUp = false; - autoScrollEnabled = true; + if (!disableAutoScroll) { + userScrolledUp = false; + autoScrollEnabled = true; + } await sendMessage(message, extras); scrollChatToBottom(); @@ -241,6 +245,8 @@ } function scrollChatToBottom(behavior: ScrollBehavior = 'smooth') { + if (disableAutoScroll) return; + chatScrollContainer?.scrollTo({ top: chatScrollContainer?.scrollHeight, behavior @@ -248,14 +254,27 @@ } afterNavigate(() => { - setTimeout(() => scrollChatToBottom('instant'), INITIAL_SCROLL_DELAY); + if (!disableAutoScroll) { + setTimeout(() => scrollChatToBottom('instant'), INITIAL_SCROLL_DELAY); + } }); onMount(() => { - setTimeout(() => scrollChatToBottom('instant'), INITIAL_SCROLL_DELAY); + if (!disableAutoScroll) { + setTimeout(() => scrollChatToBottom('instant'), INITIAL_SCROLL_DELAY); + } }); $effect(() => { + if (disableAutoScroll) { + autoScrollEnabled = false; + if (scrollInterval) { + clearInterval(scrollInterval); + scrollInterval = undefined; + } + return; + } + if (isCurrentConversationLoading && autoScrollEnabled) { scrollInterval = setInterval(scrollChatToBottom, AUTO_SCROLL_INTERVAL); } else if (scrollInterval) { @@ -289,9 +308,11 @@ class="mb-16 md:mb-24" messages={activeMessages()} onUserAction={() => { - userScrolledUp = false; - autoScrollEnabled = true; - scrollChatToBottom(); + if (!disableAutoScroll) { + userScrolledUp = false; + autoScrollEnabled = true; + scrollChatToBottom(); + } }} /> diff --git a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte index d00ae128538..204f0d7551e 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatSettings/ChatSettings.svelte @@ -3,7 +3,6 @@ Settings, Funnel, AlertTriangle, - Brain, Code, Monitor, Sun, @@ -58,6 +57,33 @@ label: 'Paste long text to file length', type: 'input' }, + { + key: 'enableContinueGeneration', + label: 'Enable "Continue" button', + type: 'checkbox', + isExperimental: true + }, + { + key: 'pdfAsImage', + label: 'Parse PDF as image', + type: 'checkbox' + }, + { + key: 'askForTitleConfirmation', + label: 'Ask for confirmation before changing conversation title', + type: 'checkbox' + } + ] + }, + { + title: 'Display', + icon: Monitor, + fields: [ + { + key: 'showThoughtInProgress', + label: 'Show thought in progress', + type: 'checkbox' + }, { key: 'showMessageStats', label: 'Show message generation statistics', @@ -79,25 +105,14 @@ type: 'checkbox' }, { - key: 'enableContinueGeneration', - label: 'Enable "Continue" button', - type: 'checkbox', - isExperimental: true - }, - { - key: 'pdfAsImage', - label: 'Parse PDF as image', + key: 'disableAutoScroll', + label: 'Disable automatic scroll', type: 'checkbox' }, { key: 'renderUserContentAsMarkdown', label: 'Render user content as Markdown', type: 'checkbox' - }, - { - key: 'askForTitleConfirmation', - label: 'Ask for confirmation before changing conversation title', - type: 'checkbox' } ] }, @@ -208,17 +223,6 @@ } ] }, - { - title: 'Reasoning', - icon: Brain, - fields: [ - { - key: 'showThoughtInProgress', - label: 'Show thought in progress', - type: 'checkbox' - } - ] - }, { title: 'Import/Export', icon: Database, diff --git a/tools/server/webui/src/lib/constants/settings-config.ts b/tools/server/webui/src/lib/constants/settings-config.ts index c25ea23f37b..6783757e6b4 100644 --- a/tools/server/webui/src/lib/constants/settings-config.ts +++ b/tools/server/webui/src/lib/constants/settings-config.ts @@ -14,6 +14,7 @@ export const SETTING_CONFIG_DEFAULT: Record = pasteLongTextToFileLen: 2500, pdfAsImage: false, showModelInfo: false, + disableAutoScroll: false, renderUserContentAsMarkdown: false, modelSelectorEnabled: false, // make sure these default values are in sync with `common.h` @@ -93,6 +94,8 @@ export const SETTING_CONFIG_INFO: Record = { 'Ask for confirmation before automatically changing conversation title when editing the first message.', pdfAsImage: 'Parse PDF as image instead of text (requires vision-capable model).', showModelInfo: 'Display the model name used to generate each message below the message content.', + disableAutoScroll: + 'Disable automatic scrolling while messages stream so you can control the viewport position manually.', renderUserContentAsMarkdown: 'Render user messages using markdown formatting in the chat.', modelSelectorEnabled: 'Enable the model selector in the chat input to choose the inference model. Sends the associated model field in API requests.', From d5bc1ad11062563faa3e57320399c0938c4803fa Mon Sep 17 00:00:00 2001 From: nullname Date: Mon, 24 Nov 2025 06:26:36 +0800 Subject: [PATCH 10/37] ggml-hexagon: add `hex_supported_buffer` for better buffer supported check (#17212) * hexagon: add buffer support checks for hexagon sessions * refactor: simplify buffer support checks in hexagon operations * hexagon: update buffer support checks to use tensor structure * refactor: streamline buffer initialization for DSP queue in hexagon operations * refactor: simplify buffer initialization in DSP queue for hexagon operations * refactor: optimize hex_supported_buffer function by fold expression * wip * refactor: simplify dspqueue_buffers_init function and its usage in hexagon operations * fix: improve nan handling at hvx_vec_fast_sigmoid_fp32_guard * refactor: optimize hvx_vec_inverse_fp32_guard for better nan handling * refactor: update hvx_vec_fast_sigmoid_fp32_guard to use adjusted exponent limits * refactor: modify hvx_vec_fast_sigmoid_fp32_guard to accept parameters for improved flexibility * refactor: update hvx_vec_exp_fp32_guard to accept max_exp and inf parameters to save some instructions * refactor: move hvx_vec_inverse_fp32_guard implementation to hvx-inverse.c for better perf --- ggml/src/ggml-hexagon/ggml-hexagon.cpp | 460 +++++------------------- ggml/src/ggml-hexagon/htp/hvx-exp.c | 27 +- ggml/src/ggml-hexagon/htp/hvx-inverse.c | 18 +- ggml/src/ggml-hexagon/htp/hvx-utils.h | 41 +-- 4 files changed, 142 insertions(+), 404 deletions(-) diff --git a/ggml/src/ggml-hexagon/ggml-hexagon.cpp b/ggml/src/ggml-hexagon/ggml-hexagon.cpp index cabd301ad35..0b4e2c3d4df 100644 --- a/ggml/src/ggml-hexagon/ggml-hexagon.cpp +++ b/ggml/src/ggml-hexagon/ggml-hexagon.cpp @@ -240,6 +240,23 @@ struct ggml_hexagon_session { uint32_t prof_pkts; }; +static inline void hex_print_op_info(const ggml_tensor * op, ggml_hexagon_session * sess, const uint32_t req_flags) { + char dims[64 * GGML_MAX_SRC]; + char strides[64 * GGML_MAX_SRC]; + char types[16 * GGML_MAX_SRC]; + char buffs[64 * GGML_MAX_SRC]; + char names[64 * GGML_MAX_SRC]; + + hex_format_op_dims(dims, op); + hex_format_op_strides(strides, op); + hex_format_op_types(types, op); + hex_format_op_buffs(buffs, op); + hex_format_op_names(names, op); + + HEX_VERBOSE("ggml-hex: %s %s: %s : %s : %s : %s : %s: flags 0x%x\n", sess->name.c_str(), ggml_op_name(op->op), + names, dims, types, strides, buffs, req_flags); +} + void ggml_hexagon_session::enqueue(struct htp_general_req &req, struct dspqueue_buffer *bufs, uint32_t n_bufs, bool sync) { // Bump pending flag (cleared in the session::flush once we get the responce) this->op_pending++; // atomic inc @@ -1912,6 +1929,15 @@ static bool hex_supported_dims(const struct ggml_tensor * x, const struct ggml_t return true; } +template +static inline bool hex_supported_buffer(const struct ggml_hexagon_session * sess, _TTensor... tensors) { + return ([&]() -> bool { + return !tensors || !tensors->buffer || + (ggml_backend_buffer_is_hexagon(tensors->buffer) && + ggml_backend_hexagon_buffer_get_sess(tensors->buffer) == sess); + }() && ...); +} + static bool ggml_hexagon_supported_mul_mat(const struct ggml_hexagon_session * sess, const struct ggml_tensor * dst) { const struct ggml_tensor * src0 = dst->src[0]; const struct ggml_tensor * src1 = dst->src[1]; @@ -1959,16 +1985,7 @@ static bool ggml_hexagon_supported_mul_mat(const struct ggml_hexagon_session * s } // src0 & src1 & dst must be mapped to the same session - if (src0->buffer && - (!ggml_backend_buffer_is_hexagon(src0->buffer) || ggml_backend_hexagon_buffer_get_sess(src0->buffer) != sess)) { - return false; - } - if (src1->buffer && - (!ggml_backend_buffer_is_hexagon(src1->buffer) || ggml_backend_hexagon_buffer_get_sess(src1->buffer) != sess)) { - return false; - } - if (dst->buffer && - (!ggml_backend_buffer_is_hexagon(dst->buffer) || ggml_backend_hexagon_buffer_get_sess(dst->buffer) != sess)) { + if (!hex_supported_buffer(sess, src0, src1, dst)) { return false; } @@ -2016,20 +2033,7 @@ static bool ggml_hexagon_supported_mul_mat_id(const struct ggml_hexagon_session // src0 (weights) must be repacked and mapped to the same session // src1 & sr2 & dst must be mapped to the same session - if (src0->buffer && - (!ggml_backend_buffer_is_hexagon(src0->buffer) || ggml_backend_hexagon_buffer_get_sess(src0->buffer) != sess)) { - return false; - } - if (src1->buffer && - (!ggml_backend_buffer_is_hexagon(src1->buffer) || ggml_backend_hexagon_buffer_get_sess(src1->buffer) != sess)) { - return false; - } - if (src2->buffer && - (!ggml_backend_buffer_is_hexagon(src2->buffer) || ggml_backend_hexagon_buffer_get_sess(src2->buffer) != sess)) { - return false; - } - if (dst->buffer && - (!ggml_backend_buffer_is_hexagon(dst->buffer) || ggml_backend_hexagon_buffer_get_sess(dst->buffer) != sess)) { + if (!hex_supported_buffer(sess, src0, src1, src2, dst)) { return false; } @@ -2063,16 +2067,7 @@ static bool ggml_hexagon_supported_binary(const struct ggml_hexagon_session * se } // src0, src1 & dst must be mapped to the same session - if (src0->buffer && - (!ggml_backend_buffer_is_hexagon(src0->buffer) || ggml_backend_hexagon_buffer_get_sess(src0->buffer) != sess)) { - return false; - } - if (src1->buffer && - (!ggml_backend_buffer_is_hexagon(src1->buffer) || ggml_backend_hexagon_buffer_get_sess(src1->buffer) != sess)) { - return false; - } - if (dst->buffer && - (!ggml_backend_buffer_is_hexagon(dst->buffer) || ggml_backend_hexagon_buffer_get_sess(dst->buffer) != sess)) { + if (!hex_supported_buffer(sess, src0, src1, dst)) { return false; } @@ -2104,20 +2099,7 @@ static bool ggml_hexagon_supported_add_id(const struct ggml_hexagon_session * se } // src0, src1 & dst must be mapped to the same session - if (src0->buffer && - (!ggml_backend_buffer_is_hexagon(src0->buffer) || ggml_backend_hexagon_buffer_get_sess(src0->buffer) != sess)) { - return false; - } - if (src1->buffer && - (!ggml_backend_buffer_is_hexagon(src1->buffer) || ggml_backend_hexagon_buffer_get_sess(src1->buffer) != sess)) { - return false; - } - if (src2->buffer && - (!ggml_backend_buffer_is_hexagon(src2->buffer) || ggml_backend_hexagon_buffer_get_sess(src2->buffer) != sess)) { - return false; - } - if (dst->buffer && - (!ggml_backend_buffer_is_hexagon(dst->buffer) || ggml_backend_hexagon_buffer_get_sess(dst->buffer) != sess)) { + if (!hex_supported_buffer(sess, src0, src1, src2, dst)) { return false; } @@ -2144,12 +2126,7 @@ static bool ggml_hexagon_supported_unary(const struct ggml_hexagon_session * ses } // src0 & dst must be mapped to the same session - if (src0->buffer && - (!ggml_backend_buffer_is_hexagon(src0->buffer) || ggml_backend_hexagon_buffer_get_sess(src0->buffer) != sess)) { - return false; - } - if (dst->buffer && - (!ggml_backend_buffer_is_hexagon(dst->buffer) || ggml_backend_hexagon_buffer_get_sess(dst->buffer) != sess)) { + if (!hex_supported_buffer(sess, src0, dst)) { return false; } @@ -2186,16 +2163,7 @@ static bool ggml_hexagon_supported_activations(const struct ggml_hexagon_session } // src0, src1 & dst must be mapped to the same session - if (src0->buffer && - (!ggml_backend_buffer_is_hexagon(src0->buffer) || ggml_backend_hexagon_buffer_get_sess(src0->buffer) != sess)) { - return false; - } - if (src1 && src1->buffer && - (!ggml_backend_buffer_is_hexagon(src1->buffer) || ggml_backend_hexagon_buffer_get_sess(src1->buffer) != sess)) { - return false; - } - if (dst->buffer && - (!ggml_backend_buffer_is_hexagon(dst->buffer) || ggml_backend_hexagon_buffer_get_sess(dst->buffer) != sess)) { + if (!hex_supported_buffer(sess, src0, src1, dst)) { return false; } @@ -2248,16 +2216,7 @@ static bool ggml_hexagon_supported_softmax(const struct ggml_hexagon_session * s } // src0, src1 & dst must be mapped to the same session - if (src0->buffer && - (!ggml_backend_buffer_is_hexagon(src0->buffer) || ggml_backend_hexagon_buffer_get_sess(src0->buffer) != sess)) { - return false; - } - if (src1 && src1->buffer && - (!ggml_backend_buffer_is_hexagon(src1->buffer) || ggml_backend_hexagon_buffer_get_sess(src1->buffer) != sess)) { - return false; - } - if (dst->buffer && - (!ggml_backend_buffer_is_hexagon(dst->buffer) || ggml_backend_hexagon_buffer_get_sess(dst->buffer) != sess)) { + if (!hex_supported_buffer(sess, src0, src1, dst)) { return false; } @@ -2312,20 +2271,7 @@ static bool ggml_hexagon_supported_rope(const struct ggml_hexagon_session * sess } // src0, src1, src2 & dst must be mapped to the same session - if (src0->buffer && - (!ggml_backend_buffer_is_hexagon(src0->buffer) || ggml_backend_hexagon_buffer_get_sess(src0->buffer) != sess)) { - return false; - } - if (src1->buffer && - (!ggml_backend_buffer_is_hexagon(src1->buffer) || ggml_backend_hexagon_buffer_get_sess(src1->buffer) != sess)) { - return false; - } - if (src2 && src2->buffer && - (!ggml_backend_buffer_is_hexagon(src2->buffer) || ggml_backend_hexagon_buffer_get_sess(src2->buffer) != sess)) { - return false; - } - if (dst->buffer && - (!ggml_backend_buffer_is_hexagon(dst->buffer) || ggml_backend_hexagon_buffer_get_sess(dst->buffer) != sess)) { + if (!hex_supported_buffer(sess, src0, src1, src2, dst)) { return false; } @@ -2346,6 +2292,26 @@ static void init_htp_tensor(htp_tensor * h, const ggml_tensor * t) { h->nb[3] = t->nb[3]; } +static size_t dspqueue_buffers_init(dspqueue_buffer * buf, const ggml_tensor * t, bool flush_host, bool flush_htp) { + if (!t) { + return 0; + } + + memset(buf, 0, sizeof(*buf)); + auto tensor_buf = static_cast(t->buffer->context); + buf->fd = tensor_buf->fd; + buf->ptr = t->data; + buf->offset = (uint8_t *) t->data - tensor_buf->base; + buf->size = ggml_nbytes(t); + buf->flags = (flush_host ? DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER : 0); // Flush CPU + buf->flags |= (flush_htp ? DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT : 0); // Invalidate DSP + return 1; +} + +static ggml_hexagon_session * get_session_from_tensor(const ggml_tensor * t) { + return static_cast(t->buffer->context)->sess; +} + static void hex_dump_dspbuf(const struct ggml_tensor * t, const dspqueue_buffer * d) { auto buf = static_cast(t->buffer->context); auto sess = buf->sess; @@ -2360,10 +2326,6 @@ static void ggml_hexagon_mul_mat(const struct ggml_tensor * op, uint32_t flags) const struct ggml_tensor * src1 = op->src[1]; const struct ggml_tensor * dst = op; - auto src0_buf = static_cast(src0->buffer->context); - auto src1_buf = static_cast(src1->buffer->context); - auto dst_buf = static_cast(dst->buffer->context); - uint64_t t1, t2; t1 = ggml_time_us(); @@ -2385,55 +2347,27 @@ static void ggml_hexagon_mul_mat(const struct ggml_tensor * op, uint32_t flags) } dspqueue_buffer bufs[3]; - memset(bufs, 0, sizeof(bufs)); // First buffer Weights. // The content is static, there is no need to do any cache management - bufs[0].fd = src0_buf->fd; - bufs[0].ptr = src0->data; - bufs[0].offset = (uint8_t *) src0->data - src0_buf->base; - bufs[0].size = ggml_nbytes(src0); - bufs[0].flags = 0; + dspqueue_buffers_init(bufs, src0, false, false); // Second buffer Input Activations. This is a buffer that the CPU // writes and the DSP reads, so we'll need to flush CPU caches and // invalidate DSP ones. On platforms with I/O coherency support the // framework will automatically skip cache operations where possible. - bufs[1].fd = src1_buf->fd; - bufs[1].ptr = src1->data; - bufs[1].offset = (uint8_t *) src1->data - src1_buf->base; - bufs[1].size = ggml_nbytes(src1); - bufs[1].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP + dspqueue_buffers_init(&bufs[1], src1, true, true); // Third buffer Output Activations. We'll handle DSP // cache maintenance in the response message but need to flush // CPU caches to ensure any previously written dirty lines are // written out before writes from the DSP start. - bufs[2].fd = dst_buf->fd; - bufs[2].ptr = dst->data; - bufs[2].offset = (uint8_t *) dst->data - dst_buf->base; - bufs[2].size = ggml_nbytes(dst); - bufs[2].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER); + dspqueue_buffers_init(&bufs[2], dst, true, false); - // Primary DSP session from the src0 (normally weight) tensor - auto sess = src0_buf->sess; + auto * sess = get_session_from_tensor(src0); if (opt_verbose) { - char dims[64 * GGML_MAX_SRC]; - char strides[64 * GGML_MAX_SRC]; - char types[16 * GGML_MAX_SRC]; - char buffs[64 * GGML_MAX_SRC]; - char names[64 * GGML_MAX_SRC]; - - hex_format_op_dims(dims, op); - hex_format_op_strides(strides, op); - hex_format_op_types(types, op); - hex_format_op_buffs(buffs, op); - hex_format_op_names(names, op); - - HEX_VERBOSE("ggml-hex: %s %s: %s : %s : %s : %s : %s: flags 0x%x\n", sess->name.c_str(), ggml_op_name(op->op), - names, dims, types, strides, buffs, req.flags); + hex_print_op_info(op, sess, req.flags); if (opt_verbose > 1) { hex_dump_dspbuf(src0, &bufs[0]); hex_dump_dspbuf(src1, &bufs[1]); @@ -2463,11 +2397,6 @@ static void ggml_hexagon_mul_mat_id(const struct ggml_tensor * op, uint32_t flag const struct ggml_tensor * src2 = op->src[2]; const struct ggml_tensor * dst = op; - auto src0_buf = static_cast(src0->buffer->context); - auto src1_buf = static_cast(src1->buffer->context); - auto src2_buf = static_cast(src2->buffer->context); - auto dst_buf = static_cast(dst->buffer->context); - uint64_t t1, t2; t1 = ggml_time_us(); @@ -2490,66 +2419,32 @@ static void ggml_hexagon_mul_mat_id(const struct ggml_tensor * op, uint32_t flag } dspqueue_buffer bufs[4]; - memset(bufs, 0, sizeof(bufs)); - // First buffer Weights. // The content is static, there is no need to do any cache management - bufs[0].fd = src0_buf->fd; - bufs[0].ptr = src0->data; - bufs[0].offset = (uint8_t *) src0->data - src0_buf->base; - bufs[0].size = ggml_nbytes(src0); - bufs[0].flags = 0; + dspqueue_buffers_init(bufs, src0, false, false); // Second buffer Input Activations. This is a buffer that the CPU // writes and the DSP reads, so we'll need to flush CPU caches and // invalidate DSP ones. On platforms with I/O coherency support the // framework will automatically skip cache operations where possible. - bufs[1].fd = src1_buf->fd; - bufs[1].ptr = src1->data; - bufs[1].offset = (uint8_t *) src1->data - src1_buf->base; - bufs[1].size = ggml_nbytes(src1); - bufs[1].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP + dspqueue_buffers_init(&bufs[1], src1, true, true); // Third buffer expert IDs. This is a buffer that the CPU // writes and the DSP reads, so we'll need to flush CPU caches and // invalidate DSP ones. On platforms with I/O coherency support the // framework will automatically skip cache operations where possible. - bufs[2].fd = src2_buf->fd; - bufs[2].ptr = src2->data; - bufs[2].offset = (uint8_t *) src2->data - src2_buf->base; - bufs[2].size = ggml_nbytes(src2); - bufs[2].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP + dspqueue_buffers_init(&bufs[2], src2, true, true); // Forth buffer Output Activations. We'll handle DSP // cache maintenance in the response message but need to flush // CPU caches to ensure any previously written dirty lines are // written out before writes from the DSP start. - bufs[3].fd = dst_buf->fd; - bufs[3].ptr = dst->data; - bufs[3].offset = (uint8_t *) dst->data - dst_buf->base; - bufs[3].size = ggml_nbytes(dst); - bufs[3].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER); + dspqueue_buffers_init(&bufs[3], dst, true, false); - // Primary DSP session from the src0 (normally weight) tensor - auto sess = src0_buf->sess; + auto * sess = get_session_from_tensor(src0); if (opt_verbose) { - char dims[64 * GGML_MAX_SRC]; - char strides[64 * GGML_MAX_SRC]; - char types[16 * GGML_MAX_SRC]; - char buffs[64 * GGML_MAX_SRC]; - char names[64 * GGML_MAX_SRC]; - - hex_format_op_dims(dims, op); - hex_format_op_types(types, op); - hex_format_op_buffs(buffs, op); - hex_format_op_names(names, op); - - HEX_VERBOSE("ggml-hex: %s %s: %s : %s : %s : %s : %s: flags 0x%x\n", sess->name.c_str(), ggml_op_name(op->op), - names, dims, types, strides, buffs, req.flags); - + hex_print_op_info(op, sess, req.flags); if (opt_verbose > 1) { hex_dump_dspbuf(src0, &bufs[0]); hex_dump_dspbuf(src1, &bufs[1]); @@ -2581,10 +2476,6 @@ static void ggml_hexagon_binary(const struct ggml_tensor * op, uint32_t flags) { const struct ggml_tensor * src1 = node->src[1]; const struct ggml_tensor * dst = node; - auto src0_buf = static_cast(src0->buffer->context); - auto src1_buf = static_cast(src1->buffer->context); - auto dst_buf = static_cast(dst->buffer->context); - uint64_t t1 = 0; uint64_t t2 = 0; @@ -2621,60 +2512,30 @@ static void ggml_hexagon_binary(const struct ggml_tensor * op, uint32_t flags) { init_htp_tensor(&req.dst, dst); dspqueue_buffer bufs[3]; - memset(bufs, 0, sizeof(bufs)); - // First buffer = First Operand of Binary op // This is a buffer that the CPU writes and the DSP reads, so we'll // need to flush CPU caches and invalidate DSP ones. On platforms // with I/O coherency support the framework will automatically skip // cache operations where possible. - bufs[0].fd = src0_buf->fd; - bufs[0].ptr = src0->data; - bufs[0].offset = (uint8_t *) src0->data - src0_buf->base; - bufs[0].size = ggml_nbytes(src0); - bufs[0].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP; + dspqueue_buffers_init(bufs, src0, true, true); // Second buffer = Second Operand of Binary op // This is a buffer that the CPU writes and the DSP reads, so we'll // need to flush CPU caches and invalidate DSP ones. On platforms // with I/O coherency support the framework will automatically skip // cache operations where possible. - bufs[1].fd = src1_buf->fd; - bufs[1].ptr = src1->data; - bufs[1].offset = (uint8_t *) src1->data - src1_buf->base; - bufs[1].size = ggml_nbytes(src1); - bufs[1].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP + dspqueue_buffers_init(&bufs[1], src1, true, true); // Third buffer = Output Activations. We'll handle DSP // cache maintenance in the response message but need to flush // CPU caches to ensure any previously written dirty lines are // written out before writes from the DSP start. - bufs[2].fd = dst_buf->fd; - bufs[2].ptr = dst->data; - bufs[2].offset = (uint8_t *) dst->data - dst_buf->base; - bufs[2].size = ggml_nbytes(dst); - bufs[2].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER); + dspqueue_buffers_init(&bufs[2], dst, true, false); - // Primary DSP session from the src0 tensor - ggml_hexagon_session * sess = src0_buf->sess; + auto * sess = get_session_from_tensor(src0); if (opt_verbose) { - char dims[64 * GGML_MAX_SRC]; - char strides[16 * GGML_MAX_SRC]; - char types[16 * GGML_MAX_SRC]; - char buffs[64 * GGML_MAX_SRC]; - char names[64 * GGML_MAX_SRC]; - - hex_format_op_dims(dims, op); - hex_format_op_strides(strides, op); - hex_format_op_types(types, op); - hex_format_op_buffs(buffs, op); - hex_format_op_names(names, op); - - HEX_VERBOSE("ggml-hex: %s %s : %s : %s : %s : %s : %s : flags 0x%x\n", sess->name.c_str(), - ggml_op_name(node->op), names, dims, types, strides, buffs, req.flags); + hex_print_op_info(op, sess, req.flags); if (opt_verbose > 1) { hex_dump_dspbuf(src0, &bufs[0]); hex_dump_dspbuf(src1, &bufs[1]); @@ -2705,11 +2566,6 @@ static void ggml_hexagon_add_id(const struct ggml_tensor * op, uint32_t flags) { const struct ggml_tensor * src2 = node->src[2]; const struct ggml_tensor * dst = node; - auto src0_buf = static_cast(src0->buffer->context); - auto src1_buf = static_cast(src1->buffer->context); - auto src2_buf = static_cast(src2->buffer->context); - auto dst_buf = static_cast(dst->buffer->context); - uint64_t t1 = 0; uint64_t t2 = 0; @@ -2741,58 +2597,19 @@ static void ggml_hexagon_add_id(const struct ggml_tensor * op, uint32_t flags) { init_htp_tensor(&req.dst, dst); dspqueue_buffer bufs[4]; - memset(bufs, 0, sizeof(bufs)); - // First buffer = input activations - bufs[0].fd = src0_buf->fd; - bufs[0].ptr = src0->data; - bufs[0].offset = (uint8_t *) src0->data - src0_buf->base; - bufs[0].size = ggml_nbytes(src0); - bufs[0].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP; - + dspqueue_buffers_init(bufs, src0, true, true); // Second buffer = experts bias - bufs[1].fd = src1_buf->fd; - bufs[1].ptr = src1->data; - bufs[1].offset = (uint8_t *) src1->data - src1_buf->base; - bufs[1].size = ggml_nbytes(src1); - bufs[1].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP - + dspqueue_buffers_init(&bufs[1], src1, true, true); // Third buffer = activated experts - bufs[2].fd = src2_buf->fd; - bufs[2].ptr = src2->data; - bufs[2].offset = (uint8_t *) src2->data - src2_buf->base; - bufs[2].size = ggml_nbytes(src2); - bufs[2].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP - + dspqueue_buffers_init(&bufs[2], src2, true, true); // Forth buffer = output activations - bufs[3].fd = dst_buf->fd; - bufs[3].ptr = dst->data; - bufs[3].offset = (uint8_t *) dst->data - dst_buf->base; - bufs[3].size = ggml_nbytes(dst); - bufs[3].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER); + dspqueue_buffers_init(&bufs[3], dst, true, true); - // Primary DSP session from the src0 tensor - ggml_hexagon_session * sess = src0_buf->sess; + auto * sess = get_session_from_tensor(src0); if (opt_verbose) { - char dims[64 * GGML_MAX_SRC]; - char strides[16 * GGML_MAX_SRC]; - char types[16 * GGML_MAX_SRC]; - char buffs[64 * GGML_MAX_SRC]; - char names[64 * GGML_MAX_SRC]; - - hex_format_op_dims(dims, op); - hex_format_op_strides(strides, op); - hex_format_op_types(types, op); - hex_format_op_buffs(buffs, op); - hex_format_op_names(names, op); - - HEX_VERBOSE("ggml-hex: %s %s : %s : %s : %s : %s : %s : flags 0x%x\n", sess->name.c_str(), - ggml_op_name(node->op), names, dims, types, strides, buffs, req.flags); - + hex_print_op_info(op, sess, req.flags); if (opt_verbose > 1) { hex_dump_dspbuf(src0, &bufs[0]); hex_dump_dspbuf(src1, &bufs[1]); @@ -2886,71 +2703,33 @@ static void ggml_hexagon_unary(const struct ggml_tensor * op, uint32_t flags) { } dspqueue_buffer bufs[3]; - int n_bufs = 0; - - memset(bufs, 0, sizeof(bufs)); // First buffer = Only Operand of Unary op // This is a buffer that the CPU writes and the DSP reads, so we'll // need to flush CPU caches and invalidate DSP ones. On platforms // with I/O coherency support the framework will automatically skip // cache operations where possible. - auto src0_buf = static_cast(src0->buffer->context); - bufs[n_bufs].fd = src0_buf->fd; - bufs[n_bufs].ptr = src0->data; - bufs[n_bufs].offset = (uint8_t *) src0->data - src0_buf->base; - bufs[n_bufs].size = ggml_nbytes(src0); - bufs[n_bufs].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP; - ++n_bufs; + size_t n_bufs = dspqueue_buffers_init(bufs, src0, true, true); - if (src1) { - // Second buffer = Second Operand of Binary op - // This is a buffer that the CPU writes and the DSP reads, so we'll - // need to flush CPU caches and invalidate DSP ones. On platforms - // with I/O coherency support the framework will automatically skip - // cache operations where possible. - auto src1_buf = static_cast(src1->buffer->context); - bufs[n_bufs].fd = src1_buf->fd; - bufs[n_bufs].ptr = src1->data; - bufs[n_bufs].offset = (uint8_t *) src1->data - src1_buf->base; - bufs[n_bufs].size = ggml_nbytes(src1); - bufs[n_bufs].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP - ++n_bufs; - } + // Second buffer(nullable) = Second Operand of Binary op + // This is a buffer that the CPU writes and the DSP reads, so we'll + // need to flush CPU caches and invalidate DSP ones. On platforms + // with I/O coherency support the framework will automatically skip + // cache operations where possible. + n_bufs += dspqueue_buffers_init(&bufs[n_bufs], src1, true, true); // Second or third buffer = Output Activations. We'll handle DSP // Second buffer = Output Activations. We'll handle DSP // cache maintenance in the response message but need to flush // CPU caches to ensure any previously written dirty lines are // written out before writes from the DSP start. - auto dst_buf = static_cast(dst->buffer->context); - bufs[n_bufs].fd = dst_buf->fd; - bufs[n_bufs].ptr = dst->data; - bufs[n_bufs].offset = (uint8_t *) dst->data - dst_buf->base; - bufs[n_bufs].size = ggml_nbytes(dst); - bufs[n_bufs].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER); - ++n_bufs; + n_bufs += dspqueue_buffers_init(&bufs[n_bufs], dst, true, false); // Primary DSP session from the src0 tensor - ggml_hexagon_session * sess = src0_buf->sess; + auto * sess = get_session_from_tensor(src0); if (opt_verbose) { - char dims[64 * GGML_MAX_SRC]; - char strides[64 * GGML_MAX_SRC]; - char types[16 * GGML_MAX_SRC]; - char buffs[64 * GGML_MAX_SRC]; - char names[64 * GGML_MAX_SRC]; - - hex_format_op_dims(dims, op); - hex_format_op_strides(strides, op); - hex_format_op_types(types, op); - hex_format_op_buffs(buffs, op); - hex_format_op_names(names, op); - - HEX_VERBOSE("ggml-hex: %s %s : %s : %s : %s : %s : %s : flags 0x%x\n", sess->name.c_str(), ggml_op_name(op->op), - names, dims, types, strides, buffs, req.flags); + hex_print_op_info(op, sess, req.flags); if (opt_verbose > 1) { hex_dump_dspbuf(src0, &bufs[0]); if (src1) { @@ -3023,85 +2802,40 @@ static void ggml_hexagon_rope(const struct ggml_tensor * op, uint32_t flags) { } dspqueue_buffer bufs[4]; - int n_bufs = 0; - - memset(bufs, 0, sizeof(bufs)); // First buffer // This is a buffer that the CPU writes and the DSP reads, so we'll // need to flush CPU caches and invalidate DSP ones. On platforms // with I/O coherency support the framework will automatically skip // cache operations where possible. - auto src0_buf = static_cast(src0->buffer->context); - bufs[n_bufs].fd = src0_buf->fd; - bufs[n_bufs].ptr = src0->data; - bufs[n_bufs].offset = (uint8_t *) src0->data - src0_buf->base; - bufs[n_bufs].size = ggml_nbytes(src0); - bufs[n_bufs].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP; - ++n_bufs; + size_t n_bufs = dspqueue_buffers_init(bufs, src0, true, true); // Second buffer // This is a buffer that the CPU writes and the DSP reads, so we'll // need to flush CPU caches and invalidate DSP ones. On platforms // with I/O coherency support the framework will automatically skip // cache operations where possible. - auto src1_buf = static_cast(src1->buffer->context); - bufs[n_bufs].fd = src1_buf->fd; - bufs[n_bufs].ptr = src1->data; - bufs[n_bufs].offset = (uint8_t *) src1->data - src1_buf->base; - bufs[n_bufs].size = ggml_nbytes(src1); - bufs[n_bufs].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP - ++n_bufs; + n_bufs += dspqueue_buffers_init(&bufs[n_bufs], src1, true, true); - if (src2) { - // Third buffer - // This is a buffer that the CPU writes and the DSP reads, so we'll - // need to flush CPU caches and invalidate DSP ones. On platforms - // with I/O coherency support the framework will automatically skip - // cache operations where possible. - auto src2_buf = static_cast(src2->buffer->context); - bufs[n_bufs].fd = src2_buf->fd; - bufs[n_bufs].ptr = src2->data; - bufs[n_bufs].offset = (uint8_t *) src2->data - src2_buf->base; - bufs[n_bufs].size = ggml_nbytes(src2); - bufs[n_bufs].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER | // Flush CPU - DSPQUEUE_BUFFER_FLAG_INVALIDATE_RECIPIENT); // Invalidate DSP - ++n_bufs; - } + // Third buffer(nullable) + // This is a buffer that the CPU writes and the DSP reads, so we'll + // need to flush CPU caches and invalidate DSP ones. On platforms + // with I/O coherency support the framework will automatically skip + // cache operations where possible. + n_bufs += dspqueue_buffers_init(&bufs[n_bufs], src2, true, true); // Final buffer = Output Activations. We'll handle DSP // Second buffer = Output Activations. We'll handle DSP // cache maintenance in the response message but need to flush // CPU caches to ensure any previously written dirty lines are // written out before writes from the DSP start. - auto dst_buf = static_cast(dst->buffer->context); - bufs[n_bufs].fd = dst_buf->fd; - bufs[n_bufs].ptr = dst->data; - bufs[n_bufs].offset = (uint8_t *) dst->data - dst_buf->base; - bufs[n_bufs].size = ggml_nbytes(dst); - bufs[n_bufs].flags = (DSPQUEUE_BUFFER_FLAG_FLUSH_SENDER); - ++n_bufs; + n_bufs += dspqueue_buffers_init(&bufs[n_bufs], dst, true, false); // Primary DSP session from the src0 tensor - ggml_hexagon_session * sess = src0_buf->sess; + auto * sess = get_session_from_tensor(src0); if (opt_verbose) { - char dims[64 * GGML_MAX_SRC]; - char strides[64 * GGML_MAX_SRC]; - char types[16 * GGML_MAX_SRC]; - char buffs[64 * GGML_MAX_SRC]; - char names[64 * GGML_MAX_SRC]; - - hex_format_op_dims(dims, op); - hex_format_op_strides(strides, op); - hex_format_op_types(types, op); - hex_format_op_buffs(buffs, op); - hex_format_op_names(names, op); - - HEX_VERBOSE("ggml-hex: %s %s : %s : %s : %s : %s : %s : flags 0x%x\n", sess->name.c_str(), ggml_op_name(op->op), - names, dims, types, strides, buffs, req.flags); + hex_print_op_info(op, sess, req.flags); if (opt_verbose > 1) { hex_dump_dspbuf(src0, &bufs[0]); if (src1) { diff --git a/ggml/src/ggml-hexagon/htp/hvx-exp.c b/ggml/src/ggml-hexagon/htp/hvx-exp.c index d0735e9325e..21bf46a542f 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-exp.c +++ b/ggml/src/ggml-hexagon/htp/hvx-exp.c @@ -16,13 +16,8 @@ #include "hvx-utils.h" #include "ops-utils.h" -static inline HVX_Vector hvx_vec_exp_fp32_guard(HVX_Vector in_vec) { - static const float kInf = INFINITY; - static const float kMaxExp = 88.02f; // log(INF) - - const HVX_Vector max_exp = hvx_vec_splat_fp32(kMaxExp); - const HVX_Vector inf = hvx_vec_splat_fp32(kInf); - const HVX_VectorPred pred0 = Q6_Q_vcmp_gt_VsfVsf(in_vec, max_exp); +static inline HVX_Vector hvx_vec_exp_fp32_guard(HVX_Vector in_vec, HVX_Vector max_exp, HVX_Vector inf) { + const HVX_VectorPred pred0 = Q6_Q_vcmp_gt_VsfVsf(in_vec, max_exp); HVX_Vector out = hvx_vec_exp_fp32(in_vec); @@ -47,6 +42,12 @@ void hvx_exp_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int HVX_Vector vec_out = Q6_V_vzero(); + static const float kInf = INFINITY; + static const float kMaxExp = 88.02f; // log(INF) + + const HVX_Vector max_exp = hvx_vec_splat_fp32(kMaxExp); + const HVX_Vector inf = hvx_vec_splat_fp32(kInf); + if (0 == unaligned_loop) { HVX_Vector * p_vec_in1 = (HVX_Vector *) src; HVX_Vector * p_vec_out = (HVX_Vector *) dst; @@ -55,9 +56,9 @@ void hvx_exp_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int for (int i = 0; i < num_elems_whole; i += VLEN_FP32) { if (true == negate) { HVX_Vector neg_vec_in = hvx_vec_neg_fp32(*p_vec_in1++); - *p_vec_out++ = hvx_vec_exp_fp32_guard(neg_vec_in); + *p_vec_out++ = hvx_vec_exp_fp32_guard(neg_vec_in, max_exp, inf); } else { - *p_vec_out++ = hvx_vec_exp_fp32_guard(*p_vec_in1++); + *p_vec_out++ = hvx_vec_exp_fp32_guard(*p_vec_in1++, max_exp, inf); } } } else { @@ -67,9 +68,9 @@ void hvx_exp_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int if (true == negate) { HVX_Vector neg_vec_in = hvx_vec_neg_fp32(in); - *(HVX_UVector *) (dst + i * SIZEOF_FP32) = hvx_vec_exp_fp32_guard(neg_vec_in); + *(HVX_UVector *) (dst + i * SIZEOF_FP32) = hvx_vec_exp_fp32_guard(neg_vec_in, max_exp, inf); } else { - *(HVX_UVector *) (dst + i * SIZEOF_FP32) = hvx_vec_exp_fp32_guard(in); + *(HVX_UVector *) (dst + i * SIZEOF_FP32) = hvx_vec_exp_fp32_guard(in, max_exp, inf); } } } @@ -83,9 +84,9 @@ void hvx_exp_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int if (true == negate) { HVX_Vector neg_vec_in = hvx_vec_neg_fp32(in); - vec_out = hvx_vec_exp_fp32_guard(neg_vec_in); + vec_out = hvx_vec_exp_fp32_guard(neg_vec_in, max_exp, inf); } else { - vec_out = hvx_vec_exp_fp32_guard(in); + vec_out = hvx_vec_exp_fp32_guard(in, max_exp, inf); } hvx_vec_store_u((void *) dstf, left_over * SIZEOF_FP32, vec_out); diff --git a/ggml/src/ggml-hexagon/htp/hvx-inverse.c b/ggml/src/ggml-hexagon/htp/hvx-inverse.c index 953d3e6c167..4d70634fcd4 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-inverse.c +++ b/ggml/src/ggml-hexagon/htp/hvx-inverse.c @@ -16,6 +16,15 @@ #include "hvx-utils.h" #include "ops-utils.h" +static inline HVX_Vector hvx_vec_inverse_fp32_guard(HVX_Vector v_sf, HVX_Vector nan_inf_mask) { + HVX_Vector out = hvx_vec_inverse_fp32(v_sf); + + HVX_Vector masked_out = Q6_V_vand_VV(out, nan_inf_mask); + const HVX_VectorPred pred = Q6_Q_vcmp_eq_VwVw(nan_inf_mask, masked_out); + + return Q6_V_vmux_QVV(pred, Q6_V_vzero(), out); +} + void hvx_inverse_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int num_elems) { int left_over = num_elems & (VLEN_FP32 - 1); int num_elems_whole = num_elems - left_over; @@ -32,19 +41,22 @@ void hvx_inverse_f32(const uint8_t * restrict src, uint8_t * restrict dst, const FARF(HIGH, "hvx_inverse_f32: unaligned loop in hvx op, possibly slower execution\n"); } + static const uint32_t kNanInfMask = 0x7f800000; + const HVX_Vector nan_inf_mask = Q6_V_vsplat_R(kNanInfMask); + if (0 == unaligned_loop) { HVX_Vector * p_vec_in = (HVX_Vector *) src; HVX_Vector * p_vec_out = (HVX_Vector *) dst; #pragma unroll(4) for (int i = 0; i < num_elems_whole; i += VLEN_FP32) { - *p_vec_out++ = hvx_vec_inverse_fp32_guard(*p_vec_in++); + *p_vec_out++ = hvx_vec_inverse_fp32_guard(*p_vec_in++, nan_inf_mask); } } else { #pragma unroll(4) for (int i = 0; i < num_elems_whole; i += VLEN_FP32) { HVX_Vector in = *(HVX_UVector *) (src + i * SIZEOF_FP32); - *(HVX_UVector *) (dst + i * SIZEOF_FP32) = hvx_vec_inverse_fp32_guard(in); + *(HVX_UVector *) (dst + i * SIZEOF_FP32) = hvx_vec_inverse_fp32_guard(in, nan_inf_mask); } } @@ -53,7 +65,7 @@ void hvx_inverse_f32(const uint8_t * restrict src, uint8_t * restrict dst, const float * dstf = (float *) dst + num_elems_whole; HVX_Vector in = *(HVX_UVector *) srcf; - HVX_Vector out = hvx_vec_inverse_fp32_guard(in); + HVX_Vector out = hvx_vec_inverse_fp32_guard(in, nan_inf_mask); hvx_vec_store_u((void *) dstf, left_over * SIZEOF_FP32, out); } diff --git a/ggml/src/ggml-hexagon/htp/hvx-utils.h b/ggml/src/ggml-hexagon/htp/hvx-utils.h index 5f94645cde3..28b0014fb5a 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-utils.h +++ b/ggml/src/ggml-hexagon/htp/hvx-utils.h @@ -726,24 +726,6 @@ static inline HVX_Vector hvx_vec_inverse_fp32(HVX_Vector v_sf) { return Q6_Vsf_equals_Vqf32(r_qf); } -static inline HVX_Vector hvx_vec_inverse_fp32_guard(HVX_Vector v_sf) { - static const float kInf = INFINITY; - static const uint32_t kNanMask = 0x7fffffff; - static const uint32_t kNanMin = 0x7f800000; - - const HVX_Vector inf = hvx_vec_splat_fp32(kInf); - const HVX_VectorPred pred_inf = Q6_Q_vcmp_gt_VsfVsf(inf, v_sf); - - HVX_Vector out = hvx_vec_inverse_fp32(v_sf); - - const HVX_Vector nan_mask = Q6_V_vsplat_R(kNanMask); - const HVX_Vector nan_min = Q6_V_vsplat_R(kNanMin); - HVX_Vector masked_out = Q6_V_vand_VV(out, nan_mask); - const HVX_VectorPred pred = Q6_Q_vcmp_gtand_QVuwVuw(pred_inf, nan_min, masked_out); - - return Q6_V_vmux_QVV(pred, out, Q6_V_vzero()); -} - #define FAST_SIGMOID_LOG2F (0x3fb8aa3b) // 1.442695022 #define FAST_SIGMOID_C1 (0x3d009076) // 0.03138777 #define FAST_SIGMOID_C2 (0x3e8d74bd) // 0.276281267 @@ -958,14 +940,16 @@ static inline HVX_Vector hvx_vec_rsqrt_fp32(HVX_Vector in_vec) { return Q6_Vsf_equals_Vqf32(temp); } -static inline HVX_Vector hvx_vec_fast_sigmoid_fp32_guard(HVX_Vector v) { - static const float kMaxExp = -88.02f; // log(INF) - - const HVX_Vector max_exp = Q6_V_vsplat_R(*((uint32_t *) &kMaxExp)); - const HVX_VectorPred pred_inf = Q6_Q_vcmp_gt_VsfVsf(v, max_exp); +static inline HVX_Vector hvx_vec_fast_sigmoid_fp32_guard(HVX_Vector v, + HVX_Vector one, + HVX_Vector max_exp, + HVX_Vector min_exp) { + const HVX_VectorPred pred_max = Q6_Q_vcmp_gt_VsfVsf(max_exp, v); + const HVX_VectorPred pred_min = Q6_Q_vcmp_gt_VsfVsf(v, min_exp); HVX_Vector out = hvx_vec_fast_sigmoid_fp32(v); - return Q6_V_vmux_QVV(pred_inf, out, Q6_V_vzero()); + out = Q6_V_vmux_QVV(pred_max, out, one); + return Q6_V_vmux_QVV(pred_min, out, Q6_V_vzero()); } static inline void hvx_fast_sigmoid_f32(const uint8_t * restrict src, uint8_t * restrict dst, const int num_elems) { @@ -977,9 +961,16 @@ static inline void hvx_fast_sigmoid_f32(const uint8_t * restrict src, uint8_t * const HVX_Vector * restrict v_src = (HVX_Vector *) src; HVX_Vector * restrict v_dst = (HVX_Vector *) dst; + static const float kMinExp = -87.f; // 0 + static const float kMaxExp = 87.f; // 1 + + const HVX_Vector one = hvx_vec_splat_fp32(1.f); + const HVX_Vector max_exp = hvx_vec_splat_fp32(kMaxExp); + const HVX_Vector min_exp = hvx_vec_splat_fp32(kMinExp); + #pragma unroll(4) for (int i = 0; i < step_of_1; i++) { - v_dst[i] = hvx_vec_fast_sigmoid_fp32_guard(v_src[i]); + v_dst[i] = hvx_vec_fast_sigmoid_fp32_guard(v_src[i], one, max_exp, min_exp); } } From fcb013847c2c983967e9d8c9a13b16829fb799e6 Mon Sep 17 00:00:00 2001 From: "M. Mediouni" Date: Mon, 24 Nov 2025 01:54:49 +0100 Subject: [PATCH 11/37] ggml-hexagon: Initial Hexagon v68/v69 support (#17394) * ggml-hexagon: fix build error with GCC Add stdexcept include to fix GCC build errors Signed-off-by: Mohamed Mediouni * ggml-hexagon: check VTCM acquire failures Signed-off-by: Mohamed Mediouni * ggml-hexagon: disable destination bypass on older than v73 v68 errors out if having bypass enabled when the VTCM is the destination. At least on v68 this made things actually work... not a proper fix though, so to look at later... Signed-off-by: Mohamed Mediouni * ggml-hexagon: add initial v68/v69 support v68 is the Hexagon revision notably used on the Snapdragon 8cx Gen 3 and the QCM6490. Also add support for v69. 8MB isn't a supported page size, so relax asked for page size constraint for HAP_compute_res_attr_set_vtcm_param_v2 to optimal. Signed-off-by: Mohamed Mediouni --------- Signed-off-by: Mohamed Mediouni --- ggml/src/ggml-hexagon/CMakeLists.txt | 10 ++++++++++ ggml/src/ggml-hexagon/ggml-hexagon.cpp | 1 + ggml/src/ggml-hexagon/htp-utils.c | 6 ++++++ ggml/src/ggml-hexagon/htp/htp-dma.h | 7 +++++++ ggml/src/ggml-hexagon/htp/hvx-utils.h | 20 ++++++++++++++++++++ ggml/src/ggml-hexagon/htp/main.c | 15 ++++++++++++--- 6 files changed, 56 insertions(+), 3 deletions(-) diff --git a/ggml/src/ggml-hexagon/CMakeLists.txt b/ggml/src/ggml-hexagon/CMakeLists.txt index 166825c2c5f..ac422027b91 100644 --- a/ggml/src/ggml-hexagon/CMakeLists.txt +++ b/ggml/src/ggml-hexagon/CMakeLists.txt @@ -43,6 +43,14 @@ set(HTP_CMAKE_ARGS -DHEXAGON_TOOLS_ROOT=$ENV{HEXAGON_TOOLS_ROOT} -DHEXAGON_HTP_DEBUG=${GGML_HEXAGON_HTP_DEBUG}) +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") @@ -61,6 +69,8 @@ ExternalProject_Add(htp-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 diff --git a/ggml/src/ggml-hexagon/ggml-hexagon.cpp b/ggml/src/ggml-hexagon/ggml-hexagon.cpp index 0b4e2c3d4df..881ed39ae3e 100644 --- a/ggml/src/ggml-hexagon/ggml-hexagon.cpp +++ b/ggml/src/ggml-hexagon/ggml-hexagon.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #ifdef _WIN32 # include diff --git a/ggml/src/ggml-hexagon/htp-utils.c b/ggml/src/ggml-hexagon/htp-utils.c index e8a035af8c6..3f335bf71c0 100644 --- a/ggml/src/ggml-hexagon/htp-utils.c +++ b/ggml/src/ggml-hexagon/htp-utils.c @@ -390,6 +390,12 @@ int get_hex_arch_ver(int domain, int * arch) { } switch (arch_ver.capability & 0xff) { + case 0x68: + *arch = 68; + return 0; + case 0x69: + *arch = 69; + return 0; case 0x73: *arch = 73; return 0; diff --git a/ggml/src/ggml-hexagon/htp/htp-dma.h b/ggml/src/ggml-hexagon/htp/htp-dma.h index 4d0d54ce859..7d3fc4078cc 100644 --- a/ggml/src/ggml-hexagon/htp/htp-dma.h +++ b/ggml/src/ggml-hexagon/htp/htp-dma.h @@ -66,6 +66,13 @@ static inline bool dma_queue_push(dma_queue * q, desc->desctype = HEXAGON_UDMA_DESC_DESCTYPE_TYPE1; desc->dstbypass = 1; desc->srcbypass = 1; +#if __HVX_ARCH__ >= 73 + desc->dstbypass = 1; + desc->srcbypass = 1; +#else + desc->dstbypass = 0; + desc->srcbypass = 1; +#endif desc->order = 0; desc->dstate = HEXAGON_UDMA_DESC_DSTATE_INCOMPLETE; desc->src = (void *) src; diff --git a/ggml/src/ggml-hexagon/htp/hvx-utils.h b/ggml/src/ggml-hexagon/htp/hvx-utils.h index 28b0014fb5a..80658105c55 100644 --- a/ggml/src/ggml-hexagon/htp/hvx-utils.h +++ b/ggml/src/ggml-hexagon/htp/hvx-utils.h @@ -21,6 +21,26 @@ typedef union { float fp32[VLEN_FP32]; } __attribute__((aligned(VLEN), packed)) HVX_VectorAlias; +/* Q6_Vsf_equals_Vw is only available on v73+.*/ +#if __HVX_ARCH__ < 73 +static inline HVX_Vector int32_to_qfloat(HVX_Vector const in) +{ + HVX_Vector const vzero = Q6_V_vzero(); + HVX_VectorPred is_zero = Q6_Q_vcmp_eq_VwVw(in, vzero); + HVX_Vector lshift = Q6_Vw_vnormamt_Vw(in); + HVX_Vector normalized = Q6_Vw_vasl_VwVw(in, lshift); + HVX_Vector vexp = Q6_Vw_vsub_VwVw(Q6_V_vsplat_R(0x7f + 30), lshift); + HVX_Vector mant = Q6_V_vand_VV(Q6_V_vsplat_R(0xFFFFFF00), normalized); + HVX_Vector ret = Q6_V_vmux_QVV(is_zero, vzero, Q6_Vw_vadd_VwVw(mant, vexp)); + return ret; +} + +static inline HVX_Vector Q6_Vsf_equals_Vw(HVX_Vector const in) +{ + return Q6_Vsf_equals_Vqf32(int32_to_qfloat(in)); +} +#endif + static inline HVX_Vector hvx_vec_splat_fp32(float i) { union { float f; diff --git a/ggml/src/ggml-hexagon/htp/main.c b/ggml/src/ggml-hexagon/htp/main.c index 10e27333243..b60b352a7b4 100644 --- a/ggml/src/ggml-hexagon/htp/main.c +++ b/ggml/src/ggml-hexagon/htp/main.c @@ -143,16 +143,25 @@ AEEResult htp_iface_disable_etm(remote_handle64 handle) { } static int vtcm_acquire(struct htp_context * ctx) { + int err; if (!ctx->vtcm_valid) { // Temporarily bump thread priority to make sure it's higher than other sessions. // This way the resource manager will notify the other thread to release VTCM. // Note that we need to reaquire VTCM at normal priority for this to work next time. qurt_thread_set_priority(qurt_thread_get_id(), ctx->thread_prio - 10); - HAP_compute_res_acquire_cached(ctx->vtcm_rctx, 1000000); + err = HAP_compute_res_acquire_cached(ctx->vtcm_rctx, 1000000); + if (err != 0) { + FARF(ERROR, "Failed to acquire VTCM: 0x%08x", (unsigned)err); + abort(); + } HAP_compute_res_release_cached(ctx->vtcm_rctx); qurt_thread_set_priority(qurt_thread_get_id(), ctx->thread_prio); - HAP_compute_res_acquire_cached(ctx->vtcm_rctx, 1000000); + err = HAP_compute_res_acquire_cached(ctx->vtcm_rctx, 1000000); + if (err != 0) { + FARF(ERROR, "Failed to acquire VTCM: 0x%08x", (unsigned)err); + abort(); + } ctx->vtcm_valid = true; } @@ -201,7 +210,7 @@ static int vtcm_alloc(struct htp_context * ctx) { HAP_compute_res_attr_init(&attr); HAP_compute_res_attr_set_serialize(&attr, 0); HAP_compute_res_attr_set_cache_mode(&attr, 1); - HAP_compute_res_attr_set_vtcm_param_v2(&attr, vtcm_size, vtcm_size, vtcm_size); + HAP_compute_res_attr_set_vtcm_param_v2(&attr, vtcm_size, 0, vtcm_size); HAP_compute_res_attr_set_release_callback(&attr, vtcm_release_callback, (void *) ctx); HAP_compute_res_attr_set_hmx_param(&attr, 1); From 01ad35e6d65916c74fb3edfbab474c569d818294 Mon Sep 17 00:00:00 2001 From: Raul Torres <138264735+rauletorresc@users.noreply.github.com> Date: Mon, 24 Nov 2025 02:02:52 +0000 Subject: [PATCH 12/37] CANN: Define `cann_graph_update_required` before macro (#17434) **Description of the problem** `cann_graph_update_required` is redundantly defined and initialized as `false` inside two mutually exclusive macro branches. **Proposed solution** Define it right before the macro so that it could serve both branches. --- ggml/src/ggml-cann/ggml-cann.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ggml/src/ggml-cann/ggml-cann.cpp b/ggml/src/ggml-cann/ggml-cann.cpp index 5cbf5683e1d..3c67c48ffa1 100644 --- a/ggml/src/ggml-cann/ggml-cann.cpp +++ b/ggml/src/ggml-cann/ggml-cann.cpp @@ -2303,9 +2303,9 @@ static enum ggml_status ggml_backend_cann_graph_compute(ggml_backend_t backend, // calculate rope cache for fist layer in current device. cann_ctx->rope_cache.cached = false; + bool cann_graph_update_required = false; #ifdef USE_ACL_GRAPH bool use_cann_graph = true; - bool cann_graph_update_required = false; static bool prefill_use_graph = parse_bool(get_env("GGML_CANN_PREFILL_USE_GRAPH").value_or("")); if (!prefill_use_graph) { @@ -2336,7 +2336,6 @@ static enum ggml_status ggml_backend_cann_graph_compute(ggml_backend_t backend, } #else bool use_cann_graph = false; - bool cann_graph_update_required = false; #endif // USE_ACL_GRAPH evaluate_and_capture_cann_graph(cann_ctx, cgraph, use_cann_graph, cann_graph_update_required); From 923ae3c61983e60a2324ae56b412be5b8b511a53 Mon Sep 17 00:00:00 2001 From: Max Krasnyansky Date: Sun, 23 Nov 2025 18:55:56 -0800 Subject: [PATCH 13/37] hexagon: add support for ROPE_NEOX (#17458) --- ggml/src/ggml-hexagon/ggml-hexagon.cpp | 2 +- ggml/src/ggml-hexagon/htp/rope-ops.c | 87 +++++++++++++++++++++++--- 2 files changed, 81 insertions(+), 8 deletions(-) diff --git a/ggml/src/ggml-hexagon/ggml-hexagon.cpp b/ggml/src/ggml-hexagon/ggml-hexagon.cpp index 881ed39ae3e..72a82a89116 100644 --- a/ggml/src/ggml-hexagon/ggml-hexagon.cpp +++ b/ggml/src/ggml-hexagon/ggml-hexagon.cpp @@ -2229,7 +2229,7 @@ static bool ggml_hexagon_supported_rope(const struct ggml_hexagon_session * sess int mode = op_params[2]; - if ((mode & GGML_ROPE_TYPE_NEOX) || (mode & GGML_ROPE_TYPE_MROPE) || (mode & GGML_ROPE_TYPE_VISION)) { + if ((mode & GGML_ROPE_TYPE_MROPE) || (mode & GGML_ROPE_TYPE_VISION)) { return false; } if (mode & 1) { diff --git a/ggml/src/ggml-hexagon/htp/rope-ops.c b/ggml/src/ggml-hexagon/htp/rope-ops.c index 16afa50f5b0..00419bcba6b 100644 --- a/ggml/src/ggml-hexagon/htp/rope-ops.c +++ b/ggml/src/ggml-hexagon/htp/rope-ops.c @@ -24,6 +24,10 @@ #include "hvx-utils.h" #include "ops-utils.h" +// Redefined the types GGML_ROPE_TYPE_NORMAL & GGML_ROPE_TYPE_NEOX as we cant include ggml.h +#define HTP_ROPE_TYPE_NORMAL 0 +#define HTP_ROPE_TYPE_NEOX 2 + #define htp_rope_preamble \ const uint32_t ne00 = src0->ne[0]; \ const uint32_t ne01 = src0->ne[1]; \ @@ -146,6 +150,57 @@ static void init_rope_ctx(struct rope_th_ctx * rope_ctx, struct htp_ops_context rope_ctx->ext_factor, rope_ctx->theta_scale, rope_ctx->attn_factor); } +static void hvx_calc_rope_neox_f32(const float * restrict src0, + float * restrict dst, + const int num_elems, + const float * restrict theta_cache) { + // for (int i = 0; i < num_elems; i += 2) { + //const float cos_theta = theta_cache[i + 0]; + //const float sin_theta = theta_cache[i + 1]; + + //const float x0 = src[0]; + //const float x1 = src[num_elems/2]; + + //dst[0] = x0*cos_theta - x1*sin_theta; + //dst[num_elems/2] = x0*sin_theta + x1*cos_theta; + + //src += 1; + //dst += 1; + // } + + const uint8_t * restrict src0_curr = (const uint8_t *) src0; + const uint8_t * restrict theta_curr = (const uint8_t *) theta_cache; + uint8_t * restrict dst_curr = (uint8_t *) dst; + + int step_of_1 = num_elems >> 6; // 6 because we process two vectors at once + int half_size = (sizeof(float) * (num_elems / 2)); + + for (int i = 0; i < step_of_1; i++) { + HVX_Vector v0 = *(HVX_Vector *) src0_curr; + HVX_Vector v1 = *(HVX_Vector *) (src0_curr + half_size); + + HVX_Vector v2 = *(HVX_Vector *) theta_curr; + HVX_Vector v3 = *(HVX_Vector *) (theta_curr + VLEN); + + HVX_VectorPair vcos_sin = Q6_W_vdeal_VVR(v3, v2, -4); // vcos_sin[0] = cos_theta, vcos_sin[1] = sin_theta + + HVX_Vector vx0_c = Q6_Vqf32_vmpy_VsfVsf(v0, Q6_V_lo_W(vcos_sin)); + HVX_Vector vx0_s = Q6_Vqf32_vmpy_VsfVsf(v0, Q6_V_hi_W(vcos_sin)); + HVX_Vector vx1_c = Q6_Vqf32_vmpy_VsfVsf(v1, Q6_V_lo_W(vcos_sin)); + HVX_Vector vx1_s = Q6_Vqf32_vmpy_VsfVsf(v1, Q6_V_hi_W(vcos_sin)); + + HVX_Vector v4 = Q6_Vqf32_vsub_Vqf32Vqf32(vx0_c, vx1_s); + HVX_Vector v5 = Q6_Vqf32_vadd_Vqf32Vqf32(vx0_s, vx1_c); + + *(HVX_Vector *) dst_curr = Q6_Vsf_equals_Vqf32(v4); + *(HVX_Vector *) (dst_curr + half_size) = Q6_Vsf_equals_Vqf32(v5); + + src0_curr += VLEN; + theta_curr += 2 * VLEN; + dst_curr += VLEN; + } +} + static void hvx_calc_rope_f32(const float * restrict src0, float * restrict dst, const int num_elems, @@ -212,6 +267,9 @@ static void rope_hex_f32(struct rope_th_ctx * rope_ctx, const struct htp_tensor * src2 = &octx->src2; struct htp_tensor * dst = &octx->dst; + const int32_t mode = rope_ctx->mode; + const bool is_neox = mode & HTP_ROPE_TYPE_NEOX; + htp_rope_preamble; const int32_t * pos = (const int32_t *) src1->data; @@ -247,20 +305,35 @@ static void rope_hex_f32(struct rope_th_ctx * rope_ctx, float * dst_data_loc = dst_data; if (1 == opt_path) { - hvx_calc_rope_f32(src_loc, dst_data_loc, rope_ctx->n_dims, wp0); + if (is_neox) { + hvx_calc_rope_neox_f32(src_loc, dst_data_loc, rope_ctx->n_dims, wp0); + } else { + hvx_calc_rope_f32(src_loc, dst_data_loc, rope_ctx->n_dims, wp0); + } } else { for (uint32_t i0 = 0; i0 < rope_ctx->n_dims; i0 += 2) { const float cos_theta = wp0[i0 + 0]; const float sin_theta = wp0[i0 + 1]; - const float x0 = src_loc[0]; - const float x1 = src_loc[1]; + if (is_neox) { + const float x0 = src_loc[0]; + const float x1 = src_loc[rope_ctx->n_dims/2]; + + dst_data_loc[0] = x0 * cos_theta - x1 * sin_theta; + dst_data_loc[rope_ctx->n_dims/2] = x0 * sin_theta + x1 * cos_theta; + + src_loc += 1; + dst_data_loc += 1; + } else { + const float x0 = src_loc[0]; + const float x1 = src_loc[1]; - dst_data_loc[0] = x0 * cos_theta - x1 * sin_theta; - dst_data_loc[1] = x0 * sin_theta + x1 * cos_theta; + dst_data_loc[0] = x0 * cos_theta - x1 * sin_theta; + dst_data_loc[1] = x0 * sin_theta + x1 * cos_theta; - src_loc += 2; - dst_data_loc += 2; + src_loc += 2; + dst_data_loc += 2; + } } } From 4902eebe33ed2341ef9bd7c80195bbd9d24f4d5f Mon Sep 17 00:00:00 2001 From: william pan <61359596+wp4032@users.noreply.github.com> Date: Sun, 23 Nov 2025 22:16:56 -0800 Subject: [PATCH 14/37] models : Added support for RND1 Diffusion Language Model (#17433) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Converted RND1 model to GGUF weights * RND1 llama.cpp support v1 * RND1 llama.cpp support v2 non causal bug * RND1 llama.cpp support v3 doccumentation * RND1 llama.cpp support v4 clean code * linting issues * RND1 pr fixes v1 * RND1 pr fixes v2 Co-authored-by: Sigbjørn Skjæret * Diffusion documentation edits --------- Co-authored-by: Sigbjørn Skjæret --- convert_hf_to_gguf.py | 15 +++++ examples/diffusion/README.md | 50 +++++++++++++- gguf-py/gguf/constants.py | 19 ++++++ src/CMakeLists.txt | 1 + src/llama-arch.cpp | 22 ++++++ src/llama-arch.h | 1 + src/llama-model.cpp | 22 +++++- src/models/models.h | 4 ++ src/models/rnd1.cpp | 126 +++++++++++++++++++++++++++++++++++ 9 files changed, 257 insertions(+), 3 deletions(-) create mode 100644 src/models/rnd1.cpp diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 8743202ad6c..6cbaee03dfd 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -4183,6 +4183,21 @@ def set_vocab(self): super().set_vocab() +@ModelBase.register("RND1") +class RND1Model(Qwen2MoeModel): + model_arch = gguf.MODEL_ARCH.RND1 + + def set_gguf_parameters(self): + super().set_gguf_parameters() + + # RND1 specific parameters + # RND1 uses bidirectional attention + self.gguf_writer.add_causal_attention(False) + + if (mask_token_id := self.hparams.get("mask_token_id")) is not None: + self.gguf_writer.add_mask_token_id(mask_token_id) + + @ModelBase.register("Qwen3VLForConditionalGeneration", "Qwen3VLMoeForConditionalGeneration") class Qwen3VLVisionModel(MmprojModel): def __init__(self, *args, **kwargs): diff --git a/examples/diffusion/README.md b/examples/diffusion/README.md index 26de5668aa8..f71d2413193 100644 --- a/examples/diffusion/README.md +++ b/examples/diffusion/README.md @@ -6,8 +6,54 @@ More Info: - https://github.com/ggml-org/llama.cpp/pull/14644 - https://github.com/ggml-org/llama.cpp/pull/14771 +## Parameters +The diffusion CLI supports various parameters to control the generation process: -Example of using Dream architechture: `llama-diffusion-cli -m dream7b.gguf -p "write code to train MNIST in pytorch" -ub 512 --diffusion-eps 0.001 --diffusion-algorithm 3 --diffusion-steps 256 --diffusion-visual` +### Core Diffusion Parameters +- `--diffusion-steps`: Number of diffusion steps (default: 256) +- `--diffusion-algorithm`: Algorithm for token selection + - `0`: ORIGIN - Token will be generated in a purely random order from https://arxiv.org/abs/2107.03006. + - `1`: ENTROPY_BASED - Entropy-based selection + - `2`: MARGIN_BASED - Margin-based selection + - `3`: RANDOM - Random selection + - `4`: CONFIDENCE_BASED - Confidence-based selection (default) + - More documentation here https://github.com/DreamLM/Dream +- `--diffusion-visual`: Enable live visualization during generation -Example of using LLaDA architechture: `llama-diffusion-cli -m llada-8b.gguf -p "write code to train MNIST in pytorch" -ub 512 --diffusion-block-length 32 --diffusion-steps 256 --diffusion-visual` +### Scheduling Parameters +Choose one of the following scheduling methods: +**Timestep-based scheduling:** +- `--diffusion-eps`: Epsilon value for timestep scheduling (e.g., 0.001) + +**Block-based scheduling:** +- `--diffusion-block-length`: Block size for block-based scheduling (e.g., 32) + +### Sampling Parameters +- `--temp`: Temperature for sampling (0.0 = greedy/deterministic, higher = more random) +- `--top-k`: Top-k filtering for sampling +- `--top-p`: Top-p (nucleus) filtering for sampling +- `--seed`: Random seed for reproducibility + +### Model Parameters +- `-m`: Path to the GGUF model file +- `-p`: Input prompt text +- `-ub`: Maximum sequence length (ubatch size) +- `-c`: Context size +- `-b`: Batch size + +### Examples +#### Dream architechture: +``` +llama-diffusion-cli -m dream7b.gguf -p "write code to train MNIST in pytorch" -ub 512 --diffusion-eps 0.001 --diffusion-algorithm 3 --diffusion-steps 256 --diffusion-visual +``` + +#### LLaDA architechture: +``` +llama-diffusion-cli -m llada-8b.gguf -p "write code to train MNIST in pytorch" -ub 512 --diffusion-block-length 32 --diffusion-steps 256 --diffusion-visual +``` + +#### RND1 architecture: +``` +llama-diffusion-cli -m RND1-Base-0910.gguf -p "write code to train MNIST in pytorch" -ub 512 --diffusion-algorithm 1 --diffusion-steps 256 --diffusion-visual --temp 0.5 --diffusion-eps 0.001 +``` diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index 1cd0efad4a8..8bc558fe4b5 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -427,6 +427,7 @@ class MODEL_ARCH(IntEnum): APERTUS = auto() COGVLM = auto() MINIMAXM2 = auto() + RND1 = auto() PANGU_EMBED = auto() @@ -797,6 +798,7 @@ class MODEL_TENSOR(IntEnum): MODEL_ARCH.APERTUS: "apertus", MODEL_ARCH.MINIMAXM2: "minimax-m2", MODEL_ARCH.COGVLM: "cogvlm", + MODEL_ARCH.RND1: "rnd1", MODEL_ARCH.PANGU_EMBED: "pangu-embedded", } @@ -2991,6 +2993,23 @@ class MODEL_TENSOR(IntEnum): MODEL_TENSOR.VISEXP_UP, MODEL_TENSOR.VISEXP_DOWN, ], + MODEL_ARCH.RND1: [ + MODEL_TENSOR.TOKEN_EMBD, + MODEL_TENSOR.OUTPUT_NORM, + MODEL_TENSOR.OUTPUT, + MODEL_TENSOR.ATTN_NORM, + MODEL_TENSOR.ATTN_Q, + MODEL_TENSOR.ATTN_Q_NORM, + MODEL_TENSOR.ATTN_K, + MODEL_TENSOR.ATTN_K_NORM, + MODEL_TENSOR.ATTN_V, + MODEL_TENSOR.ATTN_OUT, + MODEL_TENSOR.FFN_NORM, + MODEL_TENSOR.FFN_GATE_INP, + MODEL_TENSOR.FFN_GATE_EXP, + MODEL_TENSOR.FFN_DOWN_EXP, + MODEL_TENSOR.FFN_UP_EXP, + ], MODEL_ARCH.PANGU_EMBED: [ MODEL_TENSOR.TOKEN_EMBD, MODEL_TENSOR.OUTPUT_NORM, diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 8ec95ee1762..f7a8c9841ec 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -115,6 +115,7 @@ add_library(llama models/qwen3vl-moe.cpp models/qwen3moe.cpp models/refact.cpp + models/rnd1.cpp models/rwkv6-base.cpp models/rwkv6.cpp models/rwkv6qwen2.cpp diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index b2eb2477f93..fc6cddc92f5 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -108,6 +108,7 @@ static const std::map LLM_ARCH_NAMES = { { LLM_ARCH_APERTUS, "apertus" }, { LLM_ARCH_MINIMAX_M2, "minimax-m2" }, { LLM_ARCH_COGVLM, "cogvlm" }, + { LLM_ARCH_RND1, "rnd1" }, { LLM_ARCH_PANGU_EMBED, "pangu-embedded" }, { LLM_ARCH_UNKNOWN, "(unknown)" }, }; @@ -2446,6 +2447,26 @@ static const std::map> LLM_TENSOR_N { LLM_TENSOR_VISEXP_FFN_UP, "blk.%d.vis_up" }, }, }, + { + LLM_ARCH_RND1, + { + { LLM_TENSOR_TOKEN_EMBD, "token_embd" }, + { LLM_TENSOR_OUTPUT_NORM, "output_norm" }, + { LLM_TENSOR_OUTPUT, "output" }, + { LLM_TENSOR_ATTN_NORM, "blk.%d.attn_norm" }, + { LLM_TENSOR_ATTN_Q, "blk.%d.attn_q" }, + { LLM_TENSOR_ATTN_Q_NORM, "blk.%d.attn_q_norm" }, + { LLM_TENSOR_ATTN_K, "blk.%d.attn_k" }, + { LLM_TENSOR_ATTN_K_NORM, "blk.%d.attn_k_norm" }, + { LLM_TENSOR_ATTN_V, "blk.%d.attn_v" }, + { LLM_TENSOR_ATTN_OUT, "blk.%d.attn_output" }, + { LLM_TENSOR_FFN_NORM, "blk.%d.ffn_norm" }, + { LLM_TENSOR_FFN_GATE_INP, "blk.%d.ffn_gate_inp" }, + { LLM_TENSOR_FFN_GATE_EXPS, "blk.%d.ffn_gate_exps" }, + { LLM_TENSOR_FFN_DOWN_EXPS, "blk.%d.ffn_down_exps" }, + { LLM_TENSOR_FFN_UP_EXPS, "blk.%d.ffn_up_exps" }, + }, + }, { LLM_ARCH_UNKNOWN, { @@ -2722,6 +2743,7 @@ bool llm_arch_is_diffusion(const llm_arch & arch) { case LLM_ARCH_DREAM: case LLM_ARCH_LLADA: case LLM_ARCH_LLADA_MOE: + case LLM_ARCH_RND1: return true; default: return false; diff --git a/src/llama-arch.h b/src/llama-arch.h index ae7fa222aca..02a1c2dc258 100644 --- a/src/llama-arch.h +++ b/src/llama-arch.h @@ -112,6 +112,7 @@ enum llm_arch { LLM_ARCH_APERTUS, LLM_ARCH_MINIMAX_M2, LLM_ARCH_COGVLM, + LLM_ARCH_RND1, LLM_ARCH_PANGU_EMBED, LLM_ARCH_UNKNOWN, }; diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 175549a9e30..35179a98e0c 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -1036,6 +1036,18 @@ void llama_model::load_hparams(llama_model_loader & ml) { default: type = LLM_TYPE_UNKNOWN; } } break; + case LLM_ARCH_RND1: + { + ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH, hparams.n_ff_exp, false); + + ml.get_key(LLM_KV_ATTENTION_LAYERNORM_RMS_EPS, hparams.f_norm_rms_eps); + switch (hparams.n_layer) { + case 48: type = LLM_TYPE_30B_A3B; break; + default: type = LLM_TYPE_UNKNOWN; + } + // Set non-causal attention for diffusion models + hparams.causal_attn = false; + } break; case LLM_ARCH_QWEN2MOE: { ml.get_key(LLM_KV_EXPERT_FEED_FORWARD_LENGTH, hparams.n_ff_exp, false); @@ -3402,6 +3414,7 @@ bool llama_model::load_tensors(llama_model_loader & ml) { } break; case LLM_ARCH_QWEN3MOE: case LLM_ARCH_QWEN3VLMOE: + case LLM_ARCH_RND1: { tok_embd = create_tensor(tn(LLM_TENSOR_TOKEN_EMBD, "weight"), {n_embd, n_vocab}, 0); @@ -6720,7 +6733,7 @@ void llama_model::print_info() const { LLAMA_LOG_INFO("%s: n_ff_shexp = %d\n", __func__, hparams.n_ff_shexp); } - if (arch == LLM_ARCH_QWEN3MOE || arch == LLM_ARCH_OPENAI_MOE || arch == LLM_ARCH_QWEN3VLMOE) { + if (arch == LLM_ARCH_QWEN3MOE || arch == LLM_ARCH_OPENAI_MOE || arch == LLM_ARCH_QWEN3VLMOE || arch == LLM_ARCH_RND1) { LLAMA_LOG_INFO("%s: n_ff_exp = %d\n", __func__, hparams.n_ff_exp); } @@ -6882,6 +6895,7 @@ llama_memory_i * llama_model::create_memory(const llama_memory_params & params, case LLM_ARCH_DREAM: case LLM_ARCH_LLADA: case LLM_ARCH_LLADA_MOE: + case LLM_ARCH_RND1: { res = nullptr; } break; @@ -7075,6 +7089,11 @@ ggml_cgraph * llama_model::build_graph(const llm_graph_params & params) const { llm = std::make_unique(*this, params); } break; + case LLM_ARCH_RND1: + { + llm = std::make_unique(*this, params); + } + break; case LLM_ARCH_QWEN2VL: { llm = std::make_unique(*this, params); @@ -7595,6 +7614,7 @@ llama_rope_type llama_model_rope_type(const llama_model * model) { case LLM_ARCH_QWEN3: case LLM_ARCH_QWEN3MOE: case LLM_ARCH_LLADA_MOE: + case LLM_ARCH_RND1: case LLM_ARCH_OLMO2: case LLM_ARCH_OLMOE: case LLM_ARCH_PHI2: diff --git a/src/models/models.h b/src/models/models.h index 4d7aeb4f42c..5f019c59be8 100644 --- a/src/models/models.h +++ b/src/models/models.h @@ -431,6 +431,10 @@ struct llm_build_refact : public llm_graph_context { llm_build_refact(const llama_model & model, const llm_graph_params & params); }; +struct llm_build_rnd1 : public llm_graph_context { + llm_build_rnd1(const llama_model & model, const llm_graph_params & params); +}; + struct llm_build_rwkv6 : public llm_build_rwkv6_base { llm_build_rwkv6(const llama_model & model, const llm_graph_params & params); }; diff --git a/src/models/rnd1.cpp b/src/models/rnd1.cpp new file mode 100644 index 00000000000..46b3dc3efca --- /dev/null +++ b/src/models/rnd1.cpp @@ -0,0 +1,126 @@ +#include "models.h" + +// RND1 is a Qwen3Moe AR model converted to diffusion model. +llm_build_rnd1::llm_build_rnd1(const llama_model & model, const llm_graph_params & params) : llm_graph_context(params) { + const int64_t n_embd_head = hparams.n_embd_head_v; + + GGML_ASSERT(n_embd_head == hparams.n_embd_head_k); + GGML_ASSERT(n_embd_head == hparams.n_rot); + + ggml_tensor * cur; + ggml_tensor * inpL; + + inpL = build_inp_embd(model.tok_embd); + + // inp_pos - contains the positions + ggml_tensor * inp_pos = build_inp_pos(); + + // Non-causal attention for diffusion + auto * inp_attn = build_attn_inp_no_cache(); + + ggml_tensor * inp_out_ids = build_inp_out_ids(); + + for (int il = 0; il < n_layer; ++il) { + ggml_tensor * inpSA = inpL; + + // norm + cur = build_norm(inpL, + model.layers[il].attn_norm, NULL, + LLM_NORM_RMS, il); + cb(cur, "attn_norm", il); + + // self_attention + { + // compute Q and K and RoPE them + ggml_tensor * Qcur = build_lora_mm(model.layers[il].wq, cur); + cb(Qcur, "Qcur", il); + + ggml_tensor * Kcur = build_lora_mm(model.layers[il].wk, cur); + cb(Kcur, "Kcur", il); + + ggml_tensor * Vcur = build_lora_mm(model.layers[il].wv, cur); + cb(Vcur, "Vcur", il); + + Qcur = ggml_reshape_3d(ctx0, Qcur, n_embd_head, n_head, n_tokens); + Kcur = ggml_reshape_3d(ctx0, Kcur, n_embd_head, n_head_kv, n_tokens); + Vcur = ggml_reshape_3d(ctx0, Vcur, n_embd_head, n_head_kv, n_tokens); + + Qcur = build_norm(Qcur, model.layers[il].attn_q_norm, NULL, LLM_NORM_RMS, il); + cb(Qcur, "Qcur_normed", il); + + Qcur = ggml_rope_ext( + ctx0, Qcur, inp_pos, nullptr, + n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + ext_factor, attn_factor, beta_fast, beta_slow + ); + + Kcur = build_norm(Kcur, model.layers[il].attn_k_norm, NULL, LLM_NORM_RMS, il); + cb(Kcur, "Kcur_normed", il); + + Kcur = ggml_rope_ext( + ctx0, Kcur, inp_pos, nullptr, + n_rot, rope_type, n_ctx_orig, freq_base, freq_scale, + ext_factor, attn_factor, beta_fast, beta_slow + ); + + cb(Qcur, "Qcur", il); + cb(Kcur, "Kcur", il); + cb(Vcur, "Vcur", il); + + cur = build_attn(inp_attn, + model.layers[il].wo, model.layers[il].bo, + Qcur, Kcur, Vcur, nullptr, nullptr, nullptr, 1.0f/sqrtf(float(n_embd_head)), il); + } + if (il == n_layer - 1 && inp_out_ids) { + cur = ggml_get_rows(ctx0, cur, inp_out_ids); + inpSA = ggml_get_rows(ctx0, inpSA, inp_out_ids); + } + ggml_tensor * ffn_inp = ggml_add(ctx0, cur, inpSA); + cb(ffn_inp, "ffn_inp", il); + + // MoE branch + cur = build_norm(ffn_inp, + model.layers[il].ffn_norm, NULL, + LLM_NORM_RMS, il); + cb(cur, "ffn_norm", il); + + ggml_tensor * moe_out = + build_moe_ffn(cur, + model.layers[il].ffn_gate_inp, + model.layers[il].ffn_up_exps, + model.layers[il].ffn_gate_exps, + model.layers[il].ffn_down_exps, + nullptr, + n_expert, n_expert_used, + LLM_FFN_SILU, true, + false, 0.0, + LLAMA_EXPERT_GATING_FUNC_TYPE_SOFTMAX, + il); + cb(moe_out, "ffn_moe_out", il); + cur = moe_out; + + cur = ggml_add(ctx0, cur, ffn_inp); + + cur = build_cvec(cur, il); + cb(cur, "l_out", il); + + // input for next layer + inpL = cur; + } + cur = inpL; + + cur = build_norm(cur, + model.output_norm, NULL, + LLM_NORM_RMS, -1); + + cb(cur, "result_norm", -1); + res->t_embd = cur; + + // lm_head + cur = build_lora_mm(model.output, cur); + + cb(cur, "result_output", -1); + res->t_logits = cur; + + ggml_build_forward_expand(gf, cur); +} From 5f55c385cbff7bcee0901782dec6d01de53f4dfe Mon Sep 17 00:00:00 2001 From: ixgbe <1113177880@qq.com> Date: Mon, 24 Nov 2025 19:07:14 +0800 Subject: [PATCH 15/37] ggml: add RISC-V cpu-feats (#17461) * ggml: add RISC-V cpu-feats Signed-off-by: Wang Yang * fix comment[1] --------- Signed-off-by: Wang Yang --- ggml/src/CMakeLists.txt | 15 ++++++++ ggml/src/ggml-cpu/CMakeLists.txt | 41 ++++++++++++++-------- ggml/src/ggml-cpu/arch/riscv/cpu-feats.cpp | 35 ++++++++++++++++++ 3 files changed, 77 insertions(+), 14 deletions(-) create mode 100644 ggml/src/ggml-cpu/arch/riscv/cpu-feats.cpp diff --git a/ggml/src/CMakeLists.txt b/ggml/src/CMakeLists.txt index 628db3fd655..a4499509ece 100644 --- a/ggml/src/CMakeLists.txt +++ b/ggml/src/CMakeLists.txt @@ -328,6 +328,14 @@ function(ggml_add_cpu_backend_variant tag_name) set(GGML_INTERNAL_${feat} OFF) endforeach() + foreach (feat ${ARGN}) + set(GGML_INTERNAL_${feat} ON) + endforeach() + elseif (GGML_SYSTEM_ARCH STREQUAL "riscv64") + foreach (feat RVV) + set(GGML_INTERNAL_${feat} OFF) + endforeach() + foreach (feat ${ARGN}) set(GGML_INTERNAL_${feat} ON) endforeach() @@ -402,6 +410,13 @@ if (GGML_CPU_ALL_VARIANTS) else() message(FATAL_ERROR "Unsupported s390x target OS: ${CMAKE_SYSTEM_NAME}") endif() + elseif (GGML_SYSTEM_ARCH STREQUAL "riscv64") + if (CMAKE_SYSTEM_NAME MATCHES "Linux") + ggml_add_cpu_backend_variant(riscv64_0) + ggml_add_cpu_backend_variant(riscv64_v RVV) + else() + message(FATAL_ERROR "Unsupported RISC-V target OS: ${CMAKE_SYSTEM_NAME}") + endif() else() message(FATAL_ERROR "GGML_CPU_ALL_VARIANTS not yet supported with ${GGML_SYSTEM_ARCH} on ${CMAKE_SYSTEM_NAME}") endif() diff --git a/ggml/src/ggml-cpu/CMakeLists.txt b/ggml/src/ggml-cpu/CMakeLists.txt index d0cab0bcb9c..feb56173861 100644 --- a/ggml/src/ggml-cpu/CMakeLists.txt +++ b/ggml/src/ggml-cpu/CMakeLists.txt @@ -452,22 +452,35 @@ function(ggml_add_cpu_backend_variant_impl tag_name) ggml-cpu/spacemit/ime_kernels.h ) endif() - set(MARCH_STR "rv64gc") - if (GGML_RV_ZFH) - string(APPEND MARCH_STR "_zfh") - endif() - if (GGML_XTHEADVECTOR) - string(APPEND MARCH_STR "_xtheadvector") - elseif (GGML_RVV) - string(APPEND MARCH_STR "_v") - if (GGML_RV_ZVFH) - string(APPEND MARCH_STR "_zvfh") + if(NOT GGML_CPU_ALL_VARIANTS) + set(MARCH_STR "rv64gc") + if (GGML_RV_ZFH) + string(APPEND MARCH_STR "_zfh") endif() + if (GGML_XTHEADVECTOR) + string(APPEND MARCH_STR "_xtheadvector") + elseif (GGML_RVV) + string(APPEND MARCH_STR "_v") + if (GGML_RV_ZVFH) + string(APPEND MARCH_STR "_zvfh") + endif() + endif() + if (GGML_RV_ZICBOP) + string(APPEND MARCH_STR "_zicbop") + endif() + list(APPEND ARCH_FLAGS "-march=${MARCH_STR}" -mabi=lp64d) + else() + # Begin with the lowest baseline + set(ARCH_DEFINITIONS "") + + if (GGML_INTERNAL_RVV) + message(STATUS "RVV enabled") + list(APPEND ARCH_DEFINITIONS GGML_USE_RVV) + list(APPEND ARCH_FLAGS -march=rv64gc_v -mabi=lp64d) + endif() + + ggml_add_cpu_backend_features(${GGML_CPU_NAME} riscv ${ARCH_DEFINITIONS}) endif() - if (GGML_RV_ZICBOP) - string(APPEND MARCH_STR "_zicbop") - endif() - list(APPEND ARCH_FLAGS "-march=${MARCH_STR}" -mabi=lp64d) elseif (GGML_SYSTEM_ARCH STREQUAL "s390x") message(STATUS "s390x detected") list(APPEND GGML_CPU_SOURCES diff --git a/ggml/src/ggml-cpu/arch/riscv/cpu-feats.cpp b/ggml/src/ggml-cpu/arch/riscv/cpu-feats.cpp new file mode 100644 index 00000000000..b1818988185 --- /dev/null +++ b/ggml/src/ggml-cpu/arch/riscv/cpu-feats.cpp @@ -0,0 +1,35 @@ +#include "ggml-backend-impl.h" + +#if defined(__riscv) && __riscv_xlen == 64 +#include + +//https://github.com/torvalds/linux/blob/master/arch/riscv/include/uapi/asm/hwcap.h#L24 +#ifndef COMPAT_HWCAP_ISA_V +#define COMPAT_HWCAP_ISA_V (1 << ('V' - 'A')) +#endif + +struct riscv64_features { + bool has_rvv = false; + + riscv64_features() { + uint32_t hwcap = getauxval(AT_HWCAP); + + has_rvv = !!(hwcap & COMPAT_HWCAP_ISA_V); + } +}; + +static int ggml_backend_cpu_riscv64_score() { + int score = 1; + riscv64_features rf; + +#ifdef GGML_USE_RVV + if (!rf.has_rvv) { return 0; } + score += 1 << 1; +#endif + + return score; +} + +GGML_BACKEND_DL_SCORE_IMPL(ggml_backend_cpu_riscv64_score) + +#endif // __riscv && __riscv_xlen == 64 From dbb852b549adf29609ec53b518f7922a982f14b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alberto=20Cabrera=20P=C3=A9rez?= <1478977+Alcpz@users.noreply.github.com> Date: Mon, 24 Nov 2025 11:08:11 +0000 Subject: [PATCH 16/37] ggml-cpu: arm64: q4_K repack gemm and gemv implementations (i8mm) (#16739) * Enabled q4_K_8x8_q8_K path on ARM * wip: I8mm qs multiplication, pending bias * cpu : arm : REPACK gemm q4_K8x8 implementation Signed-off-by: Alberto Cabrera * Guard gemm with proper features, improved superblock scale and min calc Signed-off-by: Alberto Cabrera * cpu: arm: Implemented REPACK gemv for Q4_K Signed-off-by: Alberto Cabrera * Removed completed TODO * Fixed missing guards when selecting optimal repack type for Q4_K Signed-off-by: Alberto Cabrera * Fixed macro guard for gemv * Fixed wrong comment in GEMV * Fixed warning for unused variable * vdotq_s32 -> ggml_vdotq_s32 Signed-off-by: Alberto Cabrera * Clang-format issues * Apply suggestions from code review Co-authored-by: Diego Devesa * Removed unnecessary GGML_UNUSED * Fixed guards in q4_k gemm and gemv (repack) --------- Signed-off-by: Alberto Cabrera Co-authored-by: Diego Devesa --- ggml/src/ggml-cpu/arch-fallback.h | 2 - ggml/src/ggml-cpu/arch/arm/repack.cpp | 388 ++++++++++++++++++++++++++ ggml/src/ggml-cpu/repack.cpp | 5 + 3 files changed, 393 insertions(+), 2 deletions(-) diff --git a/ggml/src/ggml-cpu/arch-fallback.h b/ggml/src/ggml-cpu/arch-fallback.h index edfd7913903..d27a9697060 100644 --- a/ggml/src/ggml-cpu/arch-fallback.h +++ b/ggml/src/ggml-cpu/arch-fallback.h @@ -51,10 +51,8 @@ #elif defined(__aarch64__) || defined(__arm__) || defined(_M_ARM) || defined(_M_ARM64) // repack.cpp #define ggml_quantize_mat_q8_K_4x8_generic ggml_quantize_mat_q8_K_4x8 -#define ggml_gemv_q4_K_8x8_q8_K_generic ggml_gemv_q4_K_8x8_q8_K #define ggml_gemv_iq4_nl_8x8_q8_0_generic ggml_gemv_iq4_nl_8x8_q8_0 #define ggml_gemv_q2_K_8x8_q8_K_generic ggml_gemv_q2_K_8x8_q8_K -#define ggml_gemm_q4_K_8x8_q8_K_generic ggml_gemm_q4_K_8x8_q8_K #define ggml_gemm_iq4_nl_8x8_q8_0_generic ggml_gemm_iq4_nl_8x8_q8_0 #define ggml_gemm_q2_K_8x8_q8_K_generic ggml_gemm_q2_K_8x8_q8_K #elif defined(__x86_64__) || defined(__i386__) || defined(_M_IX86) || defined(_M_X64) diff --git a/ggml/src/ggml-cpu/arch/arm/repack.cpp b/ggml/src/ggml-cpu/arch/arm/repack.cpp index fdd0a513b83..d2adfbea873 100644 --- a/ggml/src/ggml-cpu/arch/arm/repack.cpp +++ b/ggml/src/ggml-cpu/arch/arm/repack.cpp @@ -24,6 +24,29 @@ #define UNUSED GGML_UNUSED +static inline void decode_q4_Kx8_scales_mins(const uint8_t * scales_in, + int16x8_t * out_mins, + int8_t * out_scales) { + constexpr uint32_t kmask1 = 0x3f3f3f3f; + constexpr uint32_t kmask2 = 0x0f0f0f0f; + constexpr uint32_t kmask3 = 0x03030303; + constexpr uint8_t scales_size = 12; + + uint32_t sm[3]; + memcpy(sm, scales_in, scales_size); + + const uint32_t mins_0_3 = sm[1] & kmask1; + const uint32_t mins_4_7 = ((sm[2] >> 4) & kmask2) | (((sm[1] >> 6) & kmask3) << 4); + const uint32x2_t mins_u32 = { mins_0_3, mins_4_7 }; + + *out_mins = vreinterpretq_s16_u16(vmovl_u8(vreinterpret_u8_u32(mins_u32))); + + uint32_t scales_u32[2]; + scales_u32[0] = sm[0] & kmask1; + scales_u32[1] = (sm[2] & kmask2) | (((sm[0] >> 6) & kmask3) << 4); + memcpy(out_scales, scales_u32, 8); +} + void ggml_quantize_mat_q8_0_4x4(const float * GGML_RESTRICT x, void * GGML_RESTRICT vy, int64_t k) { assert(QK8_0 == 32); assert(k % QK8_0 == 0); @@ -474,6 +497,162 @@ void ggml_gemv_iq4_nl_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const ggml_gemv_iq4_nl_4x4_q8_0_generic(n, s, bs, vx, vy, nr, nc); } +void ggml_gemv_q4_K_8x8_q8_K(int n, + float * GGML_RESTRICT s, + size_t bs, + const void * GGML_RESTRICT vx, + const void * GGML_RESTRICT vy, + int nr, + int nc) { + constexpr int qk = QK_K; + const int nb = n / qk; + + constexpr int ncols_interleaved = 8; + constexpr int blocklen = 8; + + assert(n % qk == 0); + assert(nr % 4 == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(nb); + UNUSED(ncols_interleaved); + UNUSED(blocklen); + +#if defined(__aarch64__) && defined(__ARM_NEON) + constexpr int col_pairs = ncols_interleaved / 2; + const uint8x16_t m4b = vdupq_n_u8(0x0f); + + // 1x8 tile = 2 x 4 + float32x4_t acc_f32[ncols_interleaved / 4]; + + const block_q8_K * GGML_RESTRICT q8_ptr = (const block_q8_K *) vy; + + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q4_Kx8 * GGML_RESTRICT q4_ptr = (const block_q4_Kx8 *) vx + (x * nb); + + for (int i = 0; i < ncols_interleaved / 4; i++) { + acc_f32[i] = vdupq_n_f32(0); + } + + for (int b = 0; b < nb; b++) { + float32x4_t q4_d_0 = vcvt_f32_f16(vld1_f16((const __fp16 *) q4_ptr[b].d)); // d0 d1 d2 d3 + float32x4_t q4_d_1 = vcvt_f32_f16(vld1_f16((const __fp16 *) q4_ptr[b].d + 4)); // d4 d5 d6 d7 + float32x4_t q8_d = vdupq_n_f32(q8_ptr[b].d); + float32x4_t sb_scale_0 = vmulq_f32(q4_d_0, q8_d); + float32x4_t sb_scale_1 = vmulq_f32(q4_d_1, q8_d); + float32x4_t q4_dmin_0 = vcvt_f32_f16(vld1_f16((const __fp16 *) q4_ptr[b].dmin)); // dmin 0..3 + float32x4_t q4_dmin_1 = vcvt_f32_f16(vld1_f16((const __fp16 *) q4_ptr[b].dmin + 4)); // dmin 4..7 + float32x4_t sb_min_0 = vmulq_f32(q4_dmin_0, q8_d); + float32x4_t sb_min_1 = vmulq_f32(q4_dmin_1, q8_d); + + // interleaved bias_acc: [0]->r0 0123, [1]->r0 4567 + int32x4_t bias_acc[2] = { vdupq_n_s32(0), vdupq_n_s32(0) }; + // 2 sb each iteration + int32x4_t acc_lo[col_pairs]; + int32x4_t acc_hi[col_pairs]; + + // Each bsum is 16 elements, pairwise add leaves us with the 8 bsums of the entire block + const int16x8_t bsums = vpaddq_s16(vld1q_s16(q8_ptr[b].bsums), vld1q_s16(q8_ptr[b].bsums + 8)); + int16_t bsums_arr[8]; + vst1q_s16(bsums_arr, bsums); + for (int sb = 0; sb < QK_K / 64; sb++) { + for (int i = 0; i < col_pairs; i++) { + acc_lo[i] = vdupq_n_s32(0); + acc_hi[i] = vdupq_n_s32(0); + } + // Need scales for the low and high nibbles + // 2 * 12 = 24 bytes per subblock, 4 sbs -> 4 * 24 = 96 bytes total + int16x8_t q4sb_mins[2]; // int16 as its needed for bias_acc later + int16x8_t q4sb_scales[2]; + for (int i = 0; i < 2; i++) { + int8_t aux_q4sb[8]; + const int offset = sb * 24 + i * 12; + decode_q4_Kx8_scales_mins(&q4_ptr[b].scales[offset], &q4sb_mins[i], aux_q4sb); + q4sb_scales[i] = vmovl_s8(vld1_s8(aux_q4sb)); + } + + const uint8_t * q4_base = q4_ptr[b].qs + sb * QK_K; + + // Load the 64 quants from q8K duplicated to use vecdots with the interelaved columns + // but still need the qs to use the low and hi bits from q4 + const int8_t * q8_base = q8_ptr[b].qs + sb * 64; + int8x16_t q8_qs[8]; + for (int i = 0; i < 8; i++) { + q8_qs[i] = (int8x16_t) vld1q_dup_s64((const int64_t *) (q8_base + i * 8)); + } + + // Q4s columns iterated in pairs (01, 23, 45, 67) + for (int cp = 0; cp < col_pairs; cp++) { + uint8x16_t q4_qs_cp_0 = vld1q_u8(q4_base + 16 * cp); + uint8x16_t q4_qs_cp_1 = vld1q_u8(q4_base + 16 * cp + 64); + uint8x16_t q4_qs_cp_2 = vld1q_u8(q4_base + 16 * cp + 128); + uint8x16_t q4_qs_cp_3 = vld1q_u8(q4_base + 16 * cp + 192); + + acc_lo[cp] = + ggml_vdotq_s32(acc_lo[cp], vreinterpretq_s8_u8(vandq_u8(q4_qs_cp_0, m4b)), q8_qs[0]); // 0 .. 7 + acc_lo[cp] = + ggml_vdotq_s32(acc_lo[cp], vreinterpretq_s8_u8(vandq_u8(q4_qs_cp_1, m4b)), q8_qs[1]); // 8 ..15 + acc_lo[cp] = + ggml_vdotq_s32(acc_lo[cp], vreinterpretq_s8_u8(vandq_u8(q4_qs_cp_2, m4b)), q8_qs[2]); // 16..23 + acc_lo[cp] = + ggml_vdotq_s32(acc_lo[cp], vreinterpretq_s8_u8(vandq_u8(q4_qs_cp_3, m4b)), q8_qs[3]); // 24..31 + + acc_hi[cp] = + ggml_vdotq_s32(acc_hi[cp], vreinterpretq_s8_u8(vshrq_n_u8(q4_qs_cp_0, 4)), q8_qs[4]); // 32..39 + acc_hi[cp] = + ggml_vdotq_s32(acc_hi[cp], vreinterpretq_s8_u8(vshrq_n_u8(q4_qs_cp_1, 4)), q8_qs[5]); // 40..47 + acc_hi[cp] = + ggml_vdotq_s32(acc_hi[cp], vreinterpretq_s8_u8(vshrq_n_u8(q4_qs_cp_2, 4)), q8_qs[6]); // 48..55 + acc_hi[cp] = + ggml_vdotq_s32(acc_hi[cp], vreinterpretq_s8_u8(vshrq_n_u8(q4_qs_cp_3, 4)), q8_qs[7]); // 56..63 + } + + // Iterates over a pair of column pairs (4 columns) to use a single 128 register + // p = 0 -> 0123 p2 -> 4567 + for (int i = 0, p = 0; p < col_pairs; i++, p += 2) { + int16x4_t group_scales_lo = p == 0 ? vget_low_s16(q4sb_scales[0]) : vget_high_s16(q4sb_scales[0]); + int16x4_t group_scales_hi = p == 0 ? vget_low_s16(q4sb_scales[1]) : vget_high_s16(q4sb_scales[1]); + float32x4_t sb_scale = p == 0 ? sb_scale_0 : sb_scale_1; + + // 0123 or 4567 + // TODO: Single superblock mul at the end of the superblock + float32x4_t sumf_0 = + vcvtq_f32_s32(vmulq_s32(vmovl_s16(group_scales_lo), vpaddq_s32(acc_lo[p], acc_lo[p + 1]))); + acc_f32[i] = vfmaq_f32(acc_f32[i], sb_scale, sumf_0); + + float32x4_t sumf_1 = + vcvtq_f32_s32(vmulq_s32(vmovl_s16(group_scales_hi), vpaddq_s32(acc_hi[p], acc_hi[p + 1]))); + acc_f32[i] = vfmaq_f32(acc_f32[i], sb_scale, sumf_1); + } + + // Multiply Acc bsum + mins + // Each pair of subblocks share the same bsums + // Load scalar bsum → broadcast to a vector (vdupq_n_s16(s)). + int16x4_t bsums_vec_lo = vdup_n_s16(bsums_arr[2 * sb + 0]); + int16x4_t bsums_vec_hi = vdup_n_s16(bsums_arr[2 * sb + 1]); + + // cols 0-3 bias + bias_acc[0] = vmlal_s16(bias_acc[0], bsums_vec_lo, vget_low_s16(q4sb_mins[0])); + bias_acc[0] = vmlal_s16(bias_acc[0], bsums_vec_hi, vget_low_s16(q4sb_mins[1])); + + // cols 4-7 bias + bias_acc[1] = vmlal_s16(bias_acc[1], bsums_vec_lo, vget_high_s16(q4sb_mins[0])); + bias_acc[1] = vmlal_s16(bias_acc[1], bsums_vec_hi, vget_high_s16(q4sb_mins[1])); + } // for sb + + acc_f32[0] = vmlsq_f32(acc_f32[0], vcvtq_f32_s32(bias_acc[0]), sb_min_0); + acc_f32[1] = vmlsq_f32(acc_f32[1], vcvtq_f32_s32(bias_acc[1]), sb_min_1); + } // for b + + int base = x * ncols_interleaved; + vst1q_f32(s + base, acc_f32[0]); + vst1q_f32(s + base + 4, acc_f32[1]); + } // for x + return; +#endif // defined(__aarch64__) && defined(__ARM_NEON) + ggml_gemv_q4_K_8x8_q8_K_generic(n, s, bs, vx, vy, nr, nc); +} + void ggml_gemm_q4_0_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const void * GGML_RESTRICT vx, const void * GGML_RESTRICT vy, int nr, int nc) { const int qk = QK8_0; const int nb = n / qk; @@ -1889,3 +2068,212 @@ void ggml_gemm_iq4_nl_4x4_q8_0(int n, float * GGML_RESTRICT s, size_t bs, const #endif // #if ! ((defined(_MSC_VER)) && ! defined(__clang__)) && defined(__aarch64__) && defined(__ARM_NEON) ggml_gemm_iq4_nl_4x4_q8_0_generic(n, s, bs, vx, vy, nr, nc); } + +void ggml_gemm_q4_K_8x8_q8_K(int n, + float * GGML_RESTRICT s, + size_t bs, + const void * GGML_RESTRICT vx, + const void * GGML_RESTRICT vy, + int nr, + int nc) { + constexpr int qk = QK_K; + const int nb = n / qk; + + constexpr int ncols_interleaved = 8; + constexpr int blocklen = 8; + + assert(n % qk == 0); + assert(nr % 4 == 0); + assert(nc % ncols_interleaved == 0); + + UNUSED(nb); + UNUSED(ncols_interleaved); + UNUSED(blocklen); + +#if defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8) + constexpr int q8_k_blocklen = 4; + const uint8x16_t m4b = vdupq_n_u8(0x0f); + + // 8 accumulators: 2 row pairs × 4 col pairs + float32x4_t acc_f32[blocklen]; + + for (int y = 0; y < nr / q8_k_blocklen; y++) { + const block_q8_Kx4 * GGML_RESTRICT q8_ptr = (const block_q8_Kx4 *) vy + (y * nb); + + for (int x = 0; x < nc / ncols_interleaved; x++) { + const block_q4_Kx8 * GGML_RESTRICT q4_ptr = (const block_q4_Kx8 *) vx + (x * nb); + + for (int i = 0; i < blocklen; i++) { + acc_f32[i] = vdupq_n_f32(0); + } + + for (int b = 0; b < nb; b++) { + // bsums pairs belongs to the same q8_k subblock + const int16x8_t bsums[4]{ + vpaddq_s16(vld1q_s16(q8_ptr[b].bsums + 16 * 0), vld1q_s16(q8_ptr[b].bsums + 16 * 0 + 8)), + vpaddq_s16(vld1q_s16(q8_ptr[b].bsums + 16 * 1), vld1q_s16(q8_ptr[b].bsums + 16 * 1 + 8)), + vpaddq_s16(vld1q_s16(q8_ptr[b].bsums + 16 * 2), vld1q_s16(q8_ptr[b].bsums + 16 * 2 + 8)), + vpaddq_s16(vld1q_s16(q8_ptr[b].bsums + 16 * 3), vld1q_s16(q8_ptr[b].bsums + 16 * 3 + 8)), + }; + int16_t bsums_arr[4][8]; + for (int q8_row = 0; q8_row < 4; q8_row++) { + vst1q_s16(bsums_arr[q8_row], bsums[q8_row]); + } + + int32x4_t sb_acc[4]; // Aux accumulators to store subblock (partial) results + int32x4_t acc[8]; // rows 01 stored in [0][1][2][3] rows 23 stored in [4][5][6][7] + int32x4_t bias_acc[8]; // interleaved bias_acc: [0]->r0 0123, [1]->r0 4567, [2]->r1 0123 ... + for (int i = 0; i < 8; i++) { + acc[i] = vdupq_n_s32(0); + bias_acc[i] = vdupq_n_s32(0); + } + + for (int sb = 0; sb < QK_K / 64; sb++) { + // Need scales for the low and high nibbles + // 2 * 12 = 24 bytes per subblock, 4 sbs -> 4 * 24 = 96 bytes total + int8_t q4sb_scales[2][8]; + int16x8_t q4sb_mins[2]; // int16 as its needed for bias_acc later + for (int i = 0; i < 2; i++) { + const int offset = sb * 24 + i * 12; + decode_q4_Kx8_scales_mins(&q4_ptr[b].scales[offset], &q4sb_mins[i], q4sb_scales[i]); + } + + // q8_ptr[b].qs has interleaved Q8 rows (01, 23) + const int8_t * q8_base = q8_ptr[b].qs + sb * 256; + + int8x16_t q8_qs_01[8]; + int8x16_t q8_qs_23[8]; + + // Load 32-byte per row pair, 1 subblock each time + for (int i = 0; i < 8; i++) { + const int offset = i * 32; // 16 for row 01, 16 for row 23 + q8_qs_01[i] = vld1q_s8(q8_base + offset); + q8_qs_23[i] = vld1q_s8(q8_base + offset + 16); + } + + const int8x16_t q8s[2][8] = { + { q8_qs_01[0], q8_qs_01[1], q8_qs_01[2], q8_qs_01[3], + q8_qs_01[4], q8_qs_01[5], q8_qs_01[6], q8_qs_01[7] }, + { q8_qs_23[0], q8_qs_23[1], q8_qs_23[2], q8_qs_23[3], + q8_qs_23[4], q8_qs_23[5], q8_qs_23[6], q8_qs_23[7] }, + }; + + // Q4s columns iterated in pairs (01, 23, 45, 67) + for (int cp = 0; cp < ncols_interleaved / 2; cp++) { + for (int i = 0; i < 4; i++) { + sb_acc[i] = vdupq_n_s32(0); + } + + uint8x16_t q4_qs_cp_0 = vld1q_u8(q4_ptr[b].qs + sb * QK_K + 16 * cp + 0); // 0 .. 7 & 32..39 + uint8x16_t q4_qs_cp_1 = vld1q_u8(q4_ptr[b].qs + sb * QK_K + 16 * cp + 64); // 8 ..15 & 40..47 + uint8x16_t q4_qs_cp_2 = vld1q_u8(q4_ptr[b].qs + sb * QK_K + 16 * cp + 128); // 16..23 & 48..55 + uint8x16_t q4_qs_cp_3 = vld1q_u8(q4_ptr[b].qs + sb * QK_K + 16 * cp + 192); // 24..31 & 56..63 + const int8x16_t q4_nibbles[2][4] = { + { + vreinterpretq_s8_u8(vandq_u8(q4_qs_cp_0, m4b)), + vreinterpretq_s8_u8(vandq_u8(q4_qs_cp_1, m4b)), + vreinterpretq_s8_u8(vandq_u8(q4_qs_cp_2, m4b)), + vreinterpretq_s8_u8(vandq_u8(q4_qs_cp_3, m4b)), + }, + { + vreinterpretq_s8_u8(vshrq_n_u8(q4_qs_cp_0, 4)), + vreinterpretq_s8_u8(vshrq_n_u8(q4_qs_cp_1, 4)), + vreinterpretq_s8_u8(vshrq_n_u8(q4_qs_cp_2, 4)), + vreinterpretq_s8_u8(vshrq_n_u8(q4_qs_cp_3, 4)), + } + }; + + // Calculates the Qs muladd of every row pair (rp) rows 01 and 23 of q8 + // for each of the internal 32 qs subblock (blk) + for (int rp = 0; rp < 2; rp++) { + for (int blk = 0; blk < 2; blk++) { + const int8x16_t * q8 = &q8s[rp][4 * blk]; + const int8x16_t * q4 = q4_nibbles[blk]; + int32x4_t acc = sb_acc[2 * rp + blk]; + // mul add for each qs in the same subblock + for (int qs_offset = 0; qs_offset < 4; qs_offset++) { + acc = vmmlaq_s32(acc, q4[qs_offset], q8[qs_offset]); + } + sb_acc[2 * rp + blk] = acc; + } + } + + // Scales[i] corresponds to column i + const int scale_offset = cp * 2; + for (int blk = 0; blk < 2; blk++) { + const int32x4_t block_scale = { + (int32_t) q4sb_scales[blk][scale_offset], + (int32_t) q4sb_scales[blk][scale_offset], + (int32_t) q4sb_scales[blk][scale_offset + 1], + (int32_t) q4sb_scales[blk][scale_offset + 1], + }; + acc[cp] = vmlaq_s32(acc[cp], sb_acc[blk], block_scale); + acc[cp + 4] = vmlaq_s32(acc[cp + 4], sb_acc[blk + 2], block_scale); + } + } + + // Multiply Acc bsum + mins + for (int q8_row = 0; q8_row < 4; q8_row++) { + // Each pair of subblocks share the same bsums + // Load scalar bsum → broadcast to a vector (vdupq_n_s16(s)). + int16x4_t bsums_vec_lo = vdup_n_s16(bsums_arr[sb][q8_row * 2]); + int16x4_t bsums_vec_hi = vdup_n_s16(bsums_arr[sb][q8_row * 2 + 1]); + + bias_acc[2 * q8_row] = + vmlal_s16(bias_acc[2 * q8_row], bsums_vec_lo, vget_low_s16(q4sb_mins[0])); + bias_acc[2 * q8_row] = + vmlal_s16(bias_acc[2 * q8_row], bsums_vec_hi, vget_low_s16(q4sb_mins[1])); + bias_acc[2 * q8_row + 1] = + vmlal_s16(bias_acc[2 * q8_row + 1], bsums_vec_lo, vget_high_s16(q4sb_mins[0])); + bias_acc[2 * q8_row + 1] = + vmlal_s16(bias_acc[2 * q8_row + 1], bsums_vec_hi, vget_high_s16(q4sb_mins[1])); + } + } // for sb + + // Reorder of i8mm output with bias and output layout + for (int i = 0; i < 8; i++) { + int32x2x2_t aux = vzip_s32(vget_low_s32(acc[i]), vget_high_s32(acc[i])); + acc[i] = vcombine_s32(aux.val[0], aux.val[1]); + } + int32x4_t reorder_acc[8] = { + vcombine_s32(vget_low_s32(acc[0]), vget_low_s32(acc[1])), + vcombine_s32(vget_low_s32(acc[2]), vget_low_s32(acc[3])), + vcombine_s32(vget_high_s32(acc[0]), vget_high_s32(acc[1])), + vcombine_s32(vget_high_s32(acc[2]), vget_high_s32(acc[3])), + vcombine_s32(vget_low_s32(acc[4]), vget_low_s32(acc[5])), + vcombine_s32(vget_low_s32(acc[6]), vget_low_s32(acc[7])), + vcombine_s32(vget_high_s32(acc[4]), vget_high_s32(acc[5])), + vcombine_s32(vget_high_s32(acc[6]), vget_high_s32(acc[7])), + }; + + for (int i = 0; i < q8_k_blocklen; i++) { + for (int j = 0; j < 2; j++) { + float32x4_t q8_d = vdupq_n_f32(q8_ptr[b].d[i]); + float32x4_t q4_dmin = vcvt_f32_f16(vld1_f16((const __fp16 *) (q4_ptr[b].dmin + j * 4))); + const float32x4_t dmins = vmulq_f32(q4_dmin, q8_d); + + float32x4_t q4_d = vcvt_f32_f16(vld1_f16((const __fp16 *) (q4_ptr[b].d + j * 4))); + const float32x4_t scale = vmulq_f32(q4_d, q8_d); + + acc_f32[2 * i + j] = vmlsq_f32(acc_f32[2 * i + j], vcvtq_f32_s32(bias_acc[2 * i + j]), dmins); + acc_f32[2 * i + j] = + vmlaq_f32(acc_f32[2 * i + j], vcvtq_f32_s32(reorder_acc[2 * i + j]), scale); + } + } + } // for b + + // With the previous reorder, the tile is already in the correct memory layout. + for (int i = 0; i < q8_k_blocklen; i++) { + int row = y * q8_k_blocklen + i; + for (int j = 0; j < 2; j++) { + int col = x * ncols_interleaved + j * 4; + int offset = row * bs + col; + vst1q_f32(s + offset, acc_f32[2 * i + j]); + } + } + } // for x + } // for y + return; +#endif // defined(__aarch64__) && defined(__ARM_NEON) && defined(__ARM_FEATURE_MATMUL_INT8) + ggml_gemm_q4_K_8x8_q8_K_generic(n, s, bs, vx, vy, nr, nc); +} diff --git a/ggml/src/ggml-cpu/repack.cpp b/ggml/src/ggml-cpu/repack.cpp index 3db26cff74b..d1321191358 100644 --- a/ggml/src/ggml-cpu/repack.cpp +++ b/ggml/src/ggml-cpu/repack.cpp @@ -1961,6 +1961,11 @@ static const ggml::cpu::tensor_traits * ggml_repack_get_optimal_repack_type(cons return &q4_K_8x8_q8_K; } } + if (ggml_cpu_has_neon() && ggml_cpu_has_matmul_int8()) { + if (cur->ne[1] % 8 == 0) { + return &q4_K_8x8_q8_K; + } + } } else if (cur->type == GGML_TYPE_Q2_K) { if (ggml_cpu_has_avx512()) { if (cur->ne[1] % 8 == 0) { From 697edfeead9769d68387dec6884e0ecac23d2e4e Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Mon, 24 Nov 2025 12:51:50 +0100 Subject: [PATCH 17/37] ggml : remove dirty flag from version string (ggml/1391) This commit removes the "-dirty" suffix from the GGML version string. The motivation for this change is to ensure that the version string works with different ways of checking out ggml and using it in projects. By removing the dirty flag from the version string, we avoid potential artifacts like shared libraries getting a -dirty suffix in their names. Instead, if the project is built from a dirty git state, the dirty flag will be appended to the commit hash in the GGML_BUILD_COMMIT variable. This will enable users to still identify that the build was made from from a modified/dirty state even though the version might match a "real" version. For example, the commit can be produces as follows: ```c++ printf("commit: %s\n", ggml_commit()); ``` Which would print the following for a dirty build: ```console commit: 781baf2a-dirty ``` Refs: https://github.com/ggml-org/ggml/pull/1363#issuecomment-3569691546 --- ggml/CMakeLists.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ggml/CMakeLists.txt b/ggml/CMakeLists.txt index 869796f0e3b..0211255a762 100644 --- a/ggml/CMakeLists.txt +++ b/ggml/CMakeLists.txt @@ -25,16 +25,17 @@ if(GIT_EXE) ) endif() -# Build the version string with optional dirty flag set(GGML_VERSION "${GGML_VERSION_BASE}") -if(GGML_GIT_DIRTY AND NOT GGML_GIT_DIRTY EQUAL 0) - set(GGML_VERSION "${GGML_VERSION}-dirty") -endif() if(NOT GGML_BUILD_COMMIT) set(GGML_BUILD_COMMIT "unknown") endif() +# Build the commit string with optional dirty flag +if(DEFINED GGML_GIT_DIRTY AND GGML_GIT_DIRTY EQUAL 1) + set(GGML_BUILD_COMMIT "${GGML_BUILD_COMMIT}-dirty") +endif() + include(CheckIncludeFileCXX) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) From 2d50b9d8cb6b6c0ef935809af61ad4958be47648 Mon Sep 17 00:00:00 2001 From: Georgi Gerganov Date: Mon, 24 Nov 2025 14:28:37 +0200 Subject: [PATCH 18/37] 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 c9056b59c70..a879940eaee 100644 --- a/scripts/sync-ggml.last +++ b/scripts/sync-ggml.last @@ -1 +1 @@ -781baf2a14d9e0aaee542b2e1bb918bfc4132199 +55bc9320a4aae82af18e23eefd5de319a755d7b9 From 6ab8eacddf50cda653b1e27521bd88945c41df1b Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Mon, 24 Nov 2025 14:38:45 +0100 Subject: [PATCH 19/37] examples : add -kvu to batched usage example [no ci] (#17469) This commit adds the --kv-unified flag to the usage example in the README.md file for the batched example. The motivation for this is that without this flag the example will fail with the following error: ```console Hello my name is split_equal: sequential split is not supported when there are coupled sequences in the input batch (you may need to use the -kvu flag) decode: failed to find a memory slot for batch of size 4 main: llama_decode() failed ``` --- examples/batched/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/batched/README.md b/examples/batched/README.md index 6013aab01fd..8cde35dd644 100644 --- a/examples/batched/README.md +++ b/examples/batched/README.md @@ -3,7 +3,7 @@ The example demonstrates batched generation from a given prompt ```bash -./llama-batched -m ./models/llama-7b-v2/ggml-model-f16.gguf -p "Hello my name is" -np 4 +./llama-batched -m ./models/llama-7b-v2/ggml-model-f16.gguf -p "Hello my name is" -np 4 --kv-unified ... From b8372eecd94890fd39a59a3a79ab86da1c0db480 Mon Sep 17 00:00:00 2001 From: Xuan-Son Nguyen Date: Mon, 24 Nov 2025 14:41:53 +0100 Subject: [PATCH 20/37] server: split server.cpp code into server/common/task/queue (#17362) * add server-task, server-common * add server-queue * rm redundant includes * move enum stop_type to server-task * server : headers cleanup --------- Co-authored-by: Georgi Gerganov --- tools/server/CMakeLists.txt | 7 +- tools/server/{utils.hpp => server-common.cpp} | 1707 +++++++-------- tools/server/server-common.h | 349 +++ tools/server/server-http.cpp | 2 +- tools/server/server-queue.cpp | 268 +++ tools/server/server-queue.h | 110 + tools/server/server-task.cpp | 1192 ++++++++++ tools/server/server-task.h | 453 ++++ tools/server/server.cpp | 1934 +---------------- 9 files changed, 3200 insertions(+), 2822 deletions(-) rename tools/server/{utils.hpp => server-common.cpp} (67%) create mode 100644 tools/server/server-common.h create mode 100644 tools/server/server-queue.cpp create mode 100644 tools/server/server-queue.h create mode 100644 tools/server/server-task.cpp create mode 100644 tools/server/server-task.h diff --git a/tools/server/CMakeLists.txt b/tools/server/CMakeLists.txt index 1fccfdd17f1..7fbca320162 100644 --- a/tools/server/CMakeLists.txt +++ b/tools/server/CMakeLists.txt @@ -13,9 +13,14 @@ endif() set(TARGET_SRCS server.cpp - utils.hpp server-http.cpp server-http.h + server-task.cpp + server-task.h + server-queue.cpp + server-queue.h + server-common.cpp + server-common.h ) set(PUBLIC_ASSETS index.html.gz diff --git a/tools/server/utils.hpp b/tools/server/server-common.cpp similarity index 67% rename from tools/server/utils.hpp rename to tools/server/server-common.cpp index bf21726051e..18328f3afbd 100644 --- a/tools/server/utils.hpp +++ b/tools/server/server-common.cpp @@ -1,502 +1,752 @@ -#pragma once - #include "common.h" #include "log.h" #include "llama.h" -#include "arg.h" // common_remote_get_content -#include "base64.hpp" #include "mtmd.h" #include "mtmd-helper.h" #include "chat.h" +#include "arg.h" // for common_remote_get_content; TODO: use download.h only +#include "base64.hpp" -#define JSON_ASSERT GGML_ASSERT -#include +#include "server-common.h" #include #include -#include -#include -#include -#include - -#define DEFAULT_OAICOMPAT_MODEL "gpt-3.5-turbo" - -using json = nlohmann::ordered_json; - -#define SLT_INF(slot, fmt, ...) LOG_INF("slot %12.*s: id %2d | task %d | " fmt, 12, __func__, (slot).id, ((slot).task ? (slot).task->id : -1), __VA_ARGS__) -#define SLT_WRN(slot, fmt, ...) LOG_WRN("slot %12.*s: id %2d | task %d | " fmt, 12, __func__, (slot).id, ((slot).task ? (slot).task->id : -1), __VA_ARGS__) -#define SLT_ERR(slot, fmt, ...) LOG_ERR("slot %12.*s: id %2d | task %d | " fmt, 12, __func__, (slot).id, ((slot).task ? (slot).task->id : -1), __VA_ARGS__) -#define SLT_DBG(slot, fmt, ...) LOG_DBG("slot %12.*s: id %2d | task %d | " fmt, 12, __func__, (slot).id, ((slot).task ? (slot).task->id : -1), __VA_ARGS__) - -#define SRV_INF(fmt, ...) LOG_INF("srv %12.*s: " fmt, 12, __func__, __VA_ARGS__) -#define SRV_WRN(fmt, ...) LOG_WRN("srv %12.*s: " fmt, 12, __func__, __VA_ARGS__) -#define SRV_ERR(fmt, ...) LOG_ERR("srv %12.*s: " fmt, 12, __func__, __VA_ARGS__) -#define SRV_DBG(fmt, ...) LOG_DBG("srv %12.*s: " fmt, 12, __func__, __VA_ARGS__) - -#define QUE_INF(fmt, ...) LOG_INF("que %12.*s: " fmt, 12, __func__, __VA_ARGS__) -#define QUE_WRN(fmt, ...) LOG_WRN("que %12.*s: " fmt, 12, __func__, __VA_ARGS__) -#define QUE_ERR(fmt, ...) LOG_ERR("que %12.*s: " fmt, 12, __func__, __VA_ARGS__) -#define QUE_DBG(fmt, ...) LOG_DBG("que %12.*s: " fmt, 12, __func__, __VA_ARGS__) - -using raw_buffer = std::vector; - -template -static T json_value(const json & body, const std::string & key, const T & default_value) { - // Fallback null to default value - if (body.contains(key) && !body.at(key).is_null()) { - try { - return body.at(key); - } catch (NLOHMANN_JSON_NAMESPACE::detail::type_error const & err) { - LOG_WRN("Wrong type supplied for parameter '%s'. Expected '%s', using default value: %s\n", key.c_str(), json(default_value).type_name(), err.what()); - return default_value; - } - } else { - return default_value; + +json format_error_response(const std::string & message, const enum error_type type) { + std::string type_str; + int code = 500; + switch (type) { + case ERROR_TYPE_INVALID_REQUEST: + type_str = "invalid_request_error"; + code = 400; + break; + case ERROR_TYPE_AUTHENTICATION: + type_str = "authentication_error"; + code = 401; + break; + case ERROR_TYPE_NOT_FOUND: + type_str = "not_found_error"; + code = 404; + break; + case ERROR_TYPE_SERVER: + type_str = "server_error"; + code = 500; + break; + case ERROR_TYPE_PERMISSION: + type_str = "permission_error"; + code = 403; + break; + case ERROR_TYPE_NOT_SUPPORTED: + type_str = "not_supported_error"; + code = 501; + break; + case ERROR_TYPE_UNAVAILABLE: + type_str = "unavailable_error"; + code = 503; + break; + case ERROR_TYPE_EXCEED_CONTEXT_SIZE: + type_str = "exceed_context_size_error"; + code = 400; + break; } + return json { + {"code", code}, + {"message", message}, + {"type", type_str}, + }; } -const static std::string build_info("b" + std::to_string(LLAMA_BUILD_NUMBER) + "-" + LLAMA_COMMIT); +// +// random string / id +// -// thin wrapper around common_grammar_trigger with (de)serialization functions -struct server_grammar_trigger { - common_grammar_trigger value; +std::string random_string() { + static const std::string str("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); - server_grammar_trigger() = default; - server_grammar_trigger(const common_grammar_trigger & value) : value(value) {} - server_grammar_trigger(const json & in) { - value.type = (common_grammar_trigger_type) in.at("type").get(); - value.value = in.at("value").get(); - if (value.type == COMMON_GRAMMAR_TRIGGER_TYPE_TOKEN) { - value.token = (llama_token) in.at("token").get(); - } - } + std::random_device rd; + std::mt19937 generator(rd()); - json to_json() const { - json out { - {"type", (int) value.type}, - {"value", value.value}, - }; - if (value.type == COMMON_GRAMMAR_TRIGGER_TYPE_TOKEN) { - out["token"] = (int) value.token; - } - return out; + std::string result(32, ' '); + + for (int i = 0; i < 32; ++i) { + result[i] = str[generator() % str.size()]; } -}; + + return result; +} + +std::string gen_chatcmplid() { + return "chatcmpl-" + random_string(); +} + +std::string gen_tool_call_id() { + return random_string(); +} // -// tokenizer and input processing utils +// lora utils // -static bool json_is_array_of_numbers(const json & data) { - if (data.is_array()) { - for (const auto & e : data) { - if (!e.is_number_integer()) { +bool lora_all_alora(const std::vector & loras) { + bool found_alora = false; + for (const auto & lora : loras) { + if (lora.scale != 0) { + if (llama_adapter_get_alora_n_invocation_tokens(lora.ptr) == 0) { return false; } + found_alora = true; } - return true; } - return false; + return found_alora; } -// is array having BOTH numbers & strings? -static bool json_is_array_of_mixed_numbers_strings(const json & data) { - bool seen_string = false; - bool seen_number = false; - if (data.is_array()) { - for (const auto & e : data) { - seen_string |= e.is_string(); - seen_number |= e.is_number_integer(); - if (seen_number && seen_string) { - return true; - } +bool lora_should_clear_cache( + const std::vector & current, + const std::vector & next) { + + // This should always be called after determining that the two sets are + // _not_ equal. This assert is therefore some slightly wasted work and + // should be safe to remove as long as this method is called correctly. + GGML_ASSERT(!are_lora_equal(current, next)); + + return ( + !(lora_get_enabled_ids(current).empty() || lora_all_alora(current)) || + !lora_all_alora(next)); +} + +std::vector parse_lora_request( + const std::vector & lora_base, + const json & data) { + std::vector lora(lora_base); + int max_idx = lora.size(); + + // clear existing value + for (auto & entry : lora) { + entry.scale = 0.0f; + } + + // set value + for (const auto & entry : data) { + int id = json_value(entry, "id", -1); + float scale = json_value(entry, "scale", 0.0f); + if (0 <= id && id < max_idx) { + lora[id].scale = scale; + } else { + throw std::runtime_error("invalid adapter id"); } } - return false; + + return lora; } -// does array have any individual integers/tokens? -static bool json_is_array_and_contains_numbers(const json & data) { - if (data.is_array()) { - for (const auto & e : data) { - if (e.is_number_integer()) { - return true; - } - } +bool are_lora_equal( + const std::vector & l1, + const std::vector & l2) { + if (l1.size() != l2.size()) { return false; } - return false; + for (size_t i = 0; i < l1.size(); ++i) { + // we don't check lora.path to reduce the time complexity + if (l1[i].scale != l2[i].scale || l1[i].ptr != l2[i].ptr) { + return false; + } + } + return true; } -// get value by path(key1 / key2) -static json json_get_nested_values(const std::vector & paths, const json & js) { - json result = json::object(); - - for (const std::string & path : paths) { - json current = js; - const auto keys = string_split(path, /*separator*/ '/'); - bool valid_path = true; - for (const std::string & k : keys) { - if (valid_path && current.is_object() && current.contains(k)) { - current = current[k]; - } else { - valid_path = false; - } - } - if (valid_path) { - result[path] = current; +std::vector lora_get_enabled_ids(const std::vector & loras) { + std::vector enabled_ids; + for (size_t i = 0; i < loras.size(); ++i) { + if (loras[i].scale > 0) { + enabled_ids.push_back(i); } } - return result; + return enabled_ids; } -/** - * this handles 2 cases: - * - only string, example: "string" - * - mixed string and tokens, example: [12, 34, "string", 56, 78] - */ -static llama_tokens tokenize_mixed(const llama_vocab * vocab, const json & json_prompt, bool add_special, bool parse_special) { - // If `add_bos` is true, we only add BOS, when json_prompt is a string, - // or the first element of the json_prompt array is a string. - llama_tokens prompt_tokens; +// +// base64 utils (TODO: use the base64::decode from base64.hpp) +// - if (json_prompt.is_array()) { - bool first = true; - for (const auto & p : json_prompt) { - if (p.is_string()) { - auto s = p.template get(); +static const std::string base64_chars = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/"; - llama_tokens p; - if (first) { - p = common_tokenize(vocab, s, add_special, parse_special); - first = false; - } else { - p = common_tokenize(vocab, s, false, parse_special); - } +static inline bool is_base64(uint8_t c) { + return (isalnum(c) || (c == '+') || (c == '/')); +} - prompt_tokens.insert(prompt_tokens.end(), p.begin(), p.end()); - } else { - if (first) { - first = false; - } +static inline raw_buffer base64_decode(const std::string & encoded_string) { + int i = 0; + int j = 0; + int in_ = 0; - prompt_tokens.push_back(p.template get()); + int in_len = encoded_string.size(); + + uint8_t char_array_4[4]; + uint8_t char_array_3[3]; + + raw_buffer ret; + + while (in_len-- && (encoded_string[in_] != '=') && is_base64(encoded_string[in_])) { + char_array_4[i++] = encoded_string[in_]; in_++; + if (i == 4) { + for (i = 0; i < 4; i++) { + char_array_4[i] = base64_chars.find(char_array_4[i]); + } + + char_array_3[0] = ((char_array_4[0] ) << 2) + ((char_array_4[1] & 0x30) >> 4); + char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2); + char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3]; + + for (i = 0; (i < 3); i++) { + ret.push_back(char_array_3[i]); } + + i = 0; } - } else { - auto s = json_prompt.template get(); - prompt_tokens = common_tokenize(vocab, s, add_special, parse_special); } - return prompt_tokens; -} + if (i) { + for (j = i; j < 4; j++) { + char_array_4[j] = 0; + } -// return the last index of character that can form a valid string -// if the last character is potentially cut in half, return the index before the cut -// if validate_utf8(text) == text.size(), then the whole text is valid utf8 -static size_t validate_utf8(const std::string& text) { - size_t len = text.size(); - if (len == 0) return 0; + for (j = 0; j < 4; j++) { + char_array_4[j] = base64_chars.find(char_array_4[j]); + } - // Check the last few bytes to see if a multi-byte character is cut off - for (size_t i = 1; i <= 4 && i <= len; ++i) { - unsigned char c = text[len - i]; - // Check for start of a multi-byte sequence from the end - if ((c & 0xE0) == 0xC0) { - // 2-byte character start: 110xxxxx - // Needs at least 2 bytes - if (i < 2) return len - i; - } else if ((c & 0xF0) == 0xE0) { - // 3-byte character start: 1110xxxx - // Needs at least 3 bytes - if (i < 3) return len - i; - } else if ((c & 0xF8) == 0xF0) { - // 4-byte character start: 11110xxx - // Needs at least 4 bytes - if (i < 4) return len - i; + char_array_3[0] = ((char_array_4[0] ) << 2) + ((char_array_4[1] & 0x30) >> 4); + char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2); + char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3]; + + for (j = 0; j < i - 1; j++) { + ret.push_back(char_array_3[j]); } } - // If no cut-off multi-byte character is found, return full length - return len; + return ret; } // -// template utils +// server_tokens implementation // -// format infill task -static llama_tokens format_infill( - const llama_vocab * vocab, - const json & input_prefix, - const json & input_suffix, - const json & input_extra, - const int n_batch, - const int n_predict, - const int n_ctx, - const bool spm_infill, - const llama_tokens & tokens_prompt - ) { - // TODO: optimize this block by reducing memory allocations and movement +server_tokens::server_tokens(mtmd::input_chunks & mtmd_chunks, bool has_mtmd) : has_mtmd(has_mtmd) { + for (size_t i = 0; i < mtmd_chunks.size(); ++i) { + push_back(mtmd_chunks[i]); + } +} - // use FIM repo-level pattern: - // ref: https://arxiv.org/pdf/2409.12186 - // - // [FIM_REP]myproject - // [FIM_SEP]filename0 - // extra chunk 0 - // [FIM_SEP]filename1 - // extra chunk 1 - // ... - // [FIM_SEP]filename - // [FIM_PRE]prefix[FIM_SUF]suffix[FIM_MID]prompt - // - llama_tokens extra_tokens; - extra_tokens.reserve(n_ctx); +server_tokens::server_tokens(const llama_tokens & tokens, bool has_mtmd) : has_mtmd(has_mtmd), tokens(tokens) { +} - auto tokens_prefix = tokenize_mixed(vocab, input_prefix, false, false); - auto tokens_suffix = tokenize_mixed(vocab, input_suffix, false, false); +llama_pos server_tokens::pos_next() const { + if (!has_mtmd) { + return tokens.size(); + } - if (llama_vocab_fim_rep(vocab) != LLAMA_TOKEN_NULL) { - // TODO: make project name an input - static const auto k_fim_repo = common_tokenize(vocab, "myproject\n", false, false); + llama_pos res = tokens.size(); - extra_tokens.push_back(llama_vocab_fim_rep(vocab)); - extra_tokens.insert(extra_tokens.end(), k_fim_repo.begin(), k_fim_repo.end()); + for (auto it = map_idx_to_media.begin(); it != map_idx_to_media.end(); ++it) { + const auto & chunk = it->second; + res += mtmd_input_chunk_get_n_pos(chunk.get()) - mtmd_input_chunk_get_n_tokens(chunk.get()); } - for (const auto & chunk : input_extra) { - // { "text": string, "filename": string } - const std::string text = json_value(chunk, "text", std::string()); - const std::string filename = json_value(chunk, "filename", std::string("tmp")); - if (llama_vocab_fim_sep(vocab) != LLAMA_TOKEN_NULL) { - const auto k_fim_file = common_tokenize(vocab, filename + "\n", false, false); + return res; +} - extra_tokens.insert(extra_tokens.end(), llama_vocab_fim_sep(vocab)); - extra_tokens.insert(extra_tokens.end(), k_fim_file.begin(), k_fim_file.end()); +std::string server_tokens::str() const { + std::ostringstream oss; + oss << "tokens: "; + for (size_t idx = 0; idx < tokens.size(); ++idx) { + llama_token t = tokens[idx]; + oss << "idx:" << idx << " "; + if (t == LLAMA_TOKEN_NULL) { + oss << " "; } else { - // chunk separator in binary form to avoid confusing the AI - static const char k_chunk_prefix_str[] = {0x0a, 0x0a, 0x2d, 0x2d, 0x2d, 0x20, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x20, 0x2d, 0x2d, 0x2d, 0x0a, 0x0a, 0x00}; - static const auto k_chunk_prefix_tokens = common_tokenize(vocab, k_chunk_prefix_str, false, false); - - extra_tokens.insert(extra_tokens.end(), k_chunk_prefix_tokens.begin(), k_chunk_prefix_tokens.end()); + oss << t << " "; } - - const auto chunk_tokens = common_tokenize(vocab, text, false, false); - extra_tokens.insert(extra_tokens.end(), chunk_tokens.begin(), chunk_tokens.end()); } - - if (llama_vocab_fim_sep(vocab) != LLAMA_TOKEN_NULL) { - // TODO: current filename - static const auto k_fim_file = common_tokenize(vocab, "filename\n", false, false); - - extra_tokens.insert(extra_tokens.end(), llama_vocab_fim_sep(vocab)); - extra_tokens.insert(extra_tokens.end(), k_fim_file.begin(), k_fim_file.end()); + oss << "\n"; + oss << "image idx: "; + for (const auto & it : map_idx_to_media) { + oss << it.first << ", "; } + return oss.str(); +} - // for now pick FIM context to fit in a batch (ratio prefix:suffix = 3:1, TODO: configurable?) - const int n_prefix_take = std::min(tokens_prefix.size(), 3*(n_batch/4)); - const int n_suffix_take = std::min(tokens_suffix.size(), std::max(0, (n_batch/4) - (2 + tokens_prompt.size()))); - - SRV_DBG("n_prefix_take = %d, n_suffix_take = %d, total = %d\n", n_prefix_take, n_suffix_take, (n_prefix_take + n_suffix_take)); - - // fill the rest of the context with extra chunks - const int n_extra_take = std::min(std::max(0, n_ctx - (n_batch) - 2*n_predict), extra_tokens.size()); - - tokens_prefix.erase(tokens_prefix.begin(), tokens_prefix.begin() + tokens_prefix.size() - n_prefix_take); - tokens_suffix.resize(n_suffix_take); - - tokens_prefix.insert(tokens_prefix.begin(), llama_vocab_fim_pre(vocab)); - tokens_prefix.insert(tokens_prefix.end(), tokens_prompt.begin(), tokens_prompt.end()); - tokens_suffix.insert(tokens_suffix.begin(), llama_vocab_fim_suf(vocab)); - - auto embd_inp = spm_infill ? tokens_suffix : tokens_prefix; - auto embd_end = spm_infill ? tokens_prefix : tokens_suffix; - - if (llama_vocab_get_add_bos(vocab)) { - embd_inp.insert(embd_inp.begin(), llama_vocab_bos(vocab)); +const mtmd::input_chunk_ptr & server_tokens::find_chunk(size_t idx) const { + auto it = map_idx_to_media.find(idx); + if (it != map_idx_to_media.end()) { + return it->second; } - - SRV_DBG("extra: n_ctx = %d, n_extra_take = %d, n_extra = %d\n", n_ctx, n_extra_take, (int) extra_tokens.size()); - - // put the extra context before the FIM prefix - embd_inp.insert(embd_inp.begin(), extra_tokens.end() - n_extra_take, extra_tokens.end()); - - embd_inp.insert(embd_inp.end(), embd_end.begin(), embd_end.end()); - embd_inp.push_back(llama_vocab_fim_mid(vocab)); - - return embd_inp; + throw std::runtime_error("Chunk not found"); } -// -// base64 utils (TODO: move to common in the future) -// - -static const std::string base64_chars = - "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - "abcdefghijklmnopqrstuvwxyz" - "0123456789+/"; +void server_tokens::push_back(llama_token tok) { + if (tok == LLAMA_TOKEN_NULL) { + throw std::runtime_error("Invalid token"); + } + tokens.emplace_back(tok); +} -static inline bool is_base64(uint8_t c) { - return (isalnum(c) || (c == '+') || (c == '/')); +void server_tokens::push_back(const mtmd_input_chunk * chunk) { + auto type = mtmd_input_chunk_get_type(chunk); + if (type == MTMD_INPUT_CHUNK_TYPE_IMAGE || type == MTMD_INPUT_CHUNK_TYPE_AUDIO) { + GGML_ASSERT(has_mtmd); + const size_t n_tokens = mtmd_input_chunk_get_n_tokens(chunk); + size_t start_idx = tokens.size(); + for (size_t i = 0; i < n_tokens; ++i) { + tokens.emplace_back(LLAMA_TOKEN_NULL); + } + mtmd::input_chunk_ptr new_chunk(mtmd_input_chunk_copy(chunk)); + map_idx_to_media[start_idx] = std::move(new_chunk); + } else if (type == MTMD_INPUT_CHUNK_TYPE_TEXT) { + size_t n_tokens; + const auto * text_tokens = mtmd_input_chunk_get_tokens_text(chunk, &n_tokens); + for (size_t i = 0; i < n_tokens; ++i) { + push_back(text_tokens[i]); + } + } else { + GGML_ABORT("Invalid chunk type"); + } } -static inline raw_buffer base64_decode(const std::string & encoded_string) { - int i = 0; - int j = 0; - int in_ = 0; +void server_tokens::push_back(server_tokens & tokens) { + size_t start_idx = size(); + for (size_t i = 0; i < tokens.size(); i++) { + push_back(tokens[i]); + } + if (tokens.has_mtmd) { + // Assert if we are copying MTMD chunks to a server_tokens that does not have mtmd. + // We could also just check, but this will prevent silently dropping MTMD data. + GGML_ASSERT(has_mtmd); + for (auto it = tokens.map_idx_to_media.begin(); it != tokens.map_idx_to_media.end(); ) { + auto * chunk = tokens.map_idx_to_media[it->first].get(); + mtmd::input_chunk_ptr new_chunk(mtmd_input_chunk_copy(chunk)); + map_idx_to_media[start_idx + it->first] = std::move(new_chunk); + } + } +} - int in_len = encoded_string.size(); +void server_tokens::insert(const llama_tokens & inp_tokens) { + GGML_ASSERT(!has_mtmd); // only allow this if mtmd is disabled + tokens.insert(tokens.end(), inp_tokens.begin(), inp_tokens.end()); +} - uint8_t char_array_4[4]; - uint8_t char_array_3[3]; +const llama_tokens & server_tokens::get_text_tokens() const { + GGML_ASSERT(!has_mtmd); // only allow this if mtmd is disabled + return tokens; +} - raw_buffer ret; +void server_tokens::set_token(llama_pos pos, llama_token id) { + GGML_ASSERT(!has_mtmd); // only allow this if mtmd is disabled + tokens[pos] = id; +} - while (in_len-- && (encoded_string[in_] != '=') && is_base64(encoded_string[in_])) { - char_array_4[i++] = encoded_string[in_]; in_++; - if (i == 4) { - for (i = 0; i < 4; i++) { - char_array_4[i] = base64_chars.find(char_array_4[i]); +void server_tokens::keep_first(size_t n) { + GGML_ASSERT(n <= tokens.size()); + if (has_mtmd) { + if (n == tokens.size()) { + return; // nothing to do + } + // we throw an error if we try to remove a token in the middle of an image + // for ex. with input of 5 text tokens and 2 images: + // [0] [1] [2] [3] [4] [img0] [img0] [img0] [img1] [img1] + // n 1 2 3 4 5 6 7 8 9 10 + // allowed to resize ^ ^ + // disallowed to resize ^ ^ ^ + if (n > 0) { + // make sure we never remove tokens in the middle of an image + // note that the case where we keep a full image at the end is allowed: + // tokens[n - 1] == LLAMA_TOKEN_NULL && tokens[n] != LLAMA_TOKEN_NULL + if (tokens[n - 1] == LLAMA_TOKEN_NULL && tokens[n] == LLAMA_TOKEN_NULL) { + find_chunk(n - 1); // will throw an error if the token is not begin-of-chunk } - - char_array_3[0] = ((char_array_4[0] ) << 2) + ((char_array_4[1] & 0x30) >> 4); - char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2); - char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3]; - - for (i = 0; (i < 3); i++) { - ret.push_back(char_array_3[i]); + } + // remove all image chunks that are not used anymore + for (auto it = map_idx_to_media.begin(); it != map_idx_to_media.end(); ) { + size_t idx = it->first; + if (idx >= n) { + it = map_idx_to_media.erase(it); + } else { + ++it; } - - i = 0; } } + tokens.resize(n); +} - if (i) { - for (j = i; j < 4; j++) { - char_array_4[j] = 0; +std::string server_tokens::detokenize(const llama_context * ctx, bool special) const { + llama_tokens text_tokens; + text_tokens.reserve(tokens.size()); + for (const auto & t : tokens) { + if (t != LLAMA_TOKEN_NULL) { + text_tokens.push_back(t); } + } + return common_detokenize(ctx, text_tokens, special); +} - for (j = 0; j < 4; j++) { - char_array_4[j] = base64_chars.find(char_array_4[j]); - } +size_t server_tokens::get_common_prefix(const server_tokens & b) const { + const size_t max_idx = std::min(tokens.size(), b.tokens.size()); - char_array_3[0] = ((char_array_4[0] ) << 2) + ((char_array_4[1] & 0x30) >> 4); - char_array_3[1] = ((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2); - char_array_3[2] = ((char_array_4[2] & 0x3) << 6) + char_array_4[3]; + if (!has_mtmd) { + for (size_t i = 0; i < max_idx; ++i) { + if (tokens[i] == b.tokens[i]) { + continue; + } - for (j = 0; j < i - 1; j++) { - ret.push_back(char_array_3[j]); + return i; } + + return max_idx; } - return ret; -} + for (size_t i = 0; i < max_idx; ++i) { + const llama_token ai = tokens[i]; + const llama_token bi = b.tokens[i]; -// -// random string / id -// + if (ai == LLAMA_TOKEN_NULL && bi == LLAMA_TOKEN_NULL) { + const auto & a_chunk = find_chunk(i); + const auto & b_chunk = b.find_chunk(i); -static std::string random_string() { - static const std::string str("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"); + GGML_ASSERT(a_chunk && b_chunk); - std::random_device rd; - std::mt19937 generator(rd()); + const std::string id_ai = mtmd_input_chunk_get_id(a_chunk.get()); + const std::string id_bi = mtmd_input_chunk_get_id(b_chunk.get()); - std::string result(32, ' '); + const size_t n_tok_a = mtmd_input_chunk_get_n_tokens(a_chunk.get()); + const size_t n_tok_b = mtmd_input_chunk_get_n_tokens(b_chunk.get()); - for (int i = 0; i < 32; ++i) { - result[i] = str[generator() % str.size()]; + if (id_ai == id_bi && n_tok_a == n_tok_b) { + GGML_ASSERT(n_tok_a > 0 && "Invalid media chunk"); // should never happen + i += n_tok_a - 1; // will be +1 by the for loop + continue; + } + + return i; + } + + if (ai == bi) { + continue; + } + + return i; } - return result; + return max_idx; // all tokens are equal } -static std::string gen_chatcmplid() { - return "chatcmpl-" + random_string(); +bool server_tokens::validate(const struct llama_context * ctx) const { + const llama_model * model = llama_get_model(ctx); + const llama_vocab * vocab = llama_model_get_vocab(model); + const int32_t n_vocab = llama_vocab_n_tokens(vocab); + + for (size_t i = 0; i < tokens.size(); ++i) { + const auto & t = tokens[i]; + if (t == LLAMA_TOKEN_NULL) { + try { + const auto & chunk = find_chunk(i); + size_t n_tokens = mtmd_input_chunk_get_n_tokens(chunk.get()); + i += n_tokens - 1; // will be +1 by the for loop + } catch (const std::exception & e) { + return false; + } + } else if (t < 0 || t >= n_vocab) { + return false; + } + } + return true; } -static std::string gen_tool_call_id() { - return random_string(); +int32_t server_tokens::process_chunk( + llama_context * ctx, + mtmd_context * mctx, + size_t idx, + llama_pos pos, + int32_t seq_id, + size_t & n_tokens_out) const { + const auto & chunk = find_chunk(idx); + const char * name = mtmd_input_chunk_get_type(chunk.get()) == MTMD_INPUT_CHUNK_TYPE_IMAGE + ? "image" : "audio"; + SRV_INF("processing %s...\n", name); + int32_t n_batch = llama_n_batch(ctx); + int64_t t0 = ggml_time_ms(); + llama_pos new_n_past; // unused for now + int32_t result = mtmd_helper_eval_chunk_single(mctx, ctx, + chunk.get(), + pos, + seq_id, + n_batch, + true, // logits last + &new_n_past); + SRV_INF("%s processed in %" PRId64 " ms\n", name, ggml_time_ms() - t0); + if (result != 0) { + LOG_ERR("mtmd_helper_eval failed with status %d", result); + n_tokens_out = 0; + return result; + } + n_tokens_out = mtmd_input_chunk_get_n_tokens(chunk.get()); + return 0; } // -// other common utils +// tokenizer and input processing utils // -static std::string safe_json_to_str(const json & data) { - return data.dump(-1, ' ', false, json::error_handler_t::replace); -} - -// TODO: reuse llama_detokenize -template -static std::string tokens_to_str(llama_context * ctx, Iter begin, Iter end) { - std::string ret; - for (; begin != end; ++begin) { - ret += common_token_to_piece(ctx, *begin); +bool json_is_array_of_numbers(const json & data) { + if (data.is_array()) { + for (const auto & e : data) { + if (!e.is_number_integer()) { + return false; + } + } + return true; } - - return ret; + return false; } -// format incomplete utf-8 multibyte character for output -static std::string tokens_to_output_formatted_string(const llama_context * ctx, const llama_token token) { - std::string out = token == LLAMA_TOKEN_NULL ? "" : common_token_to_piece(ctx, token); - - // if the size is 1 and first bit is 1, meaning it's a partial character - // (size > 1 meaning it's already a known token) - if (out.size() == 1 && (out[0] & 0x80) == 0x80) { - std::stringstream ss; - ss << std::hex << (out[0] & 0xff); - std::string res(ss.str()); - out = "byte: \\x" + res; +bool json_is_array_of_mixed_numbers_strings(const json & data) { + bool seen_string = false; + bool seen_number = false; + if (data.is_array()) { + for (const auto & e : data) { + seen_string |= e.is_string(); + seen_number |= e.is_number_integer(); + if (seen_number && seen_string) { + return true; + } + } } - - return out; + return false; } -// format server-sent event (SSE), return the formatted string to send -// note: if data is a json array, it will be sent as multiple events, one per item -static std::string format_sse(const json & data) { - std::ostringstream ss; - auto send_single = [&ss](const json & data) { - ss << "data: " << - safe_json_to_str(data) << - "\n\n"; // required by RFC 8895 - A message is terminated by a blank line (two line terminators in a row). - }; - +bool json_is_array_and_contains_numbers(const json & data) { if (data.is_array()) { - for (const auto & item : data) { - send_single(item); + for (const auto & e : data) { + if (e.is_number_integer()) { + return true; + } } - } else { - send_single(data); + return false; } - - return ss.str(); + return false; } -// -// OAI utils -// - -// used by /completions endpoint -static json oaicompat_completion_params_parse(const json & body) { - json llama_params; +json json_get_nested_values(const std::vector & paths, const json & js) { + json result = json::object(); - if (!body.contains("prompt")) { - throw std::runtime_error("\"prompt\" is required"); + for (const std::string & path : paths) { + json current = js; + const auto keys = string_split(path, /*separator*/ '/'); + bool valid_path = true; + for (const std::string & k : keys) { + if (valid_path && current.is_object() && current.contains(k)) { + current = current[k]; + } else { + valid_path = false; + } + } + if (valid_path) { + result[path] = current; + } } + return result; +} - // Handle "stop" field - if (body.contains("stop") && body.at("stop").is_string()) { - llama_params["stop"] = json::array({body.at("stop").get()}); - } else { - llama_params["stop"] = json_value(body, "stop", json::array()); - } +llama_tokens tokenize_mixed(const llama_vocab * vocab, const json & json_prompt, bool add_special, bool parse_special) { + // If `add_bos` is true, we only add BOS, when json_prompt is a string, + // or the first element of the json_prompt array is a string. + llama_tokens prompt_tokens; - // Handle "n" field - int n_choices = json_value(body, "n", 1); + if (json_prompt.is_array()) { + bool first = true; + for (const auto & p : json_prompt) { + if (p.is_string()) { + auto s = p.template get(); + + llama_tokens p; + if (first) { + p = common_tokenize(vocab, s, add_special, parse_special); + first = false; + } else { + p = common_tokenize(vocab, s, false, parse_special); + } + + prompt_tokens.insert(prompt_tokens.end(), p.begin(), p.end()); + } else { + if (first) { + first = false; + } + + prompt_tokens.push_back(p.template get()); + } + } + } else { + auto s = json_prompt.template get(); + prompt_tokens = common_tokenize(vocab, s, add_special, parse_special); + } + + return prompt_tokens; +} + +size_t validate_utf8(const std::string& text) { + size_t len = text.size(); + if (len == 0) return 0; + + // Check the last few bytes to see if a multi-byte character is cut off + for (size_t i = 1; i <= 4 && i <= len; ++i) { + unsigned char c = text[len - i]; + // Check for start of a multi-byte sequence from the end + if ((c & 0xE0) == 0xC0) { + // 2-byte character start: 110xxxxx + // Needs at least 2 bytes + if (i < 2) return len - i; + } else if ((c & 0xF0) == 0xE0) { + // 3-byte character start: 1110xxxx + // Needs at least 3 bytes + if (i < 3) return len - i; + } else if ((c & 0xF8) == 0xF0) { + // 4-byte character start: 11110xxx + // Needs at least 4 bytes + if (i < 4) return len - i; + } + } + + // If no cut-off multi-byte character is found, return full length + return len; +} + +// Computes FNV-1a hash of the data +static std::string fnv_hash(const uint8_t * data, size_t len) { + const uint64_t fnv_prime = 0x100000001b3ULL; + uint64_t hash = 0xcbf29ce484222325ULL; + + for (size_t i = 0; i < len; ++i) { + hash ^= data[i]; + hash *= fnv_prime; + } + return std::to_string(hash); +} + +server_tokens process_mtmd_prompt(mtmd_context * mctx, std::string prompt, std::vector files) { + mtmd::bitmaps bitmaps; + for (auto & file : files) { + mtmd::bitmap bmp(mtmd_helper_bitmap_init_from_buf(mctx, file.data(), file.size())); + if (!bmp.ptr) { + throw std::runtime_error("Failed to load image or audio file"); + } + // calculate bitmap hash (for KV caching) + std::string hash = fnv_hash(bmp.data(), bmp.n_bytes()); + bmp.set_id(hash.c_str()); + bitmaps.entries.push_back(std::move(bmp)); + } + // process prompt + std::vector inputs; + // multimodal + mtmd_input_text inp_txt = { + prompt.c_str(), + /* add_special */ true, + /* parse_special */ true, + }; + mtmd::input_chunks chunks(mtmd_input_chunks_init()); + auto bitmaps_c_ptr = bitmaps.c_ptr(); + int32_t tokenized = mtmd_tokenize(mctx, + chunks.ptr.get(), + &inp_txt, + bitmaps_c_ptr.data(), + bitmaps_c_ptr.size()); + if (tokenized != 0) { + throw std::runtime_error("Failed to tokenize prompt"); + } + auto result = server_tokens(chunks, true); + return result; +} + +/** + * break the input "prompt" object into multiple prompt if needed, then tokenize them + * use tokenize_input_prompts() if the input could be an array. + * this supports these cases: + * - "prompt": "string" + * - "prompt": [12, 34, 56] + * - "prompt": [12, 34, "string", 56, 78] + * - "prompt": { "prompt_string": "string", "multimodal_data": [ "base64" ] } + */ +static server_tokens tokenize_input_subprompt(const llama_vocab * vocab, mtmd_context * mctx, const json & json_prompt, bool add_special, bool parse_special) { + constexpr char JSON_STRING_PROMPT_KEY[] = "prompt_string"; + constexpr char JSON_MTMD_DATA_KEY[] = "multimodal_data"; + const bool has_mtmd = mctx != nullptr; + if (json_prompt.is_string() || json_is_array_of_mixed_numbers_strings(json_prompt)) { + // string or mixed + llama_tokens tmp = tokenize_mixed(vocab, json_prompt, add_special, parse_special); + return server_tokens(tmp, false); + } else if (json_is_array_of_numbers(json_prompt)) { + // array of tokens + llama_tokens tmp = json_prompt.get(); + return server_tokens(tmp, false); + } else if (json_prompt.contains(JSON_STRING_PROMPT_KEY)) { + // JSON object with prompt key. + if (json_prompt.contains(JSON_MTMD_DATA_KEY)) { + if (!has_mtmd) + throw std::runtime_error("Multimodal data provided, but model does not support multimodal requests."); + + // JSON object with prompt and multimodal key. + std::vector files; + for (const auto & entry : json_prompt.at(JSON_MTMD_DATA_KEY)) { + files.push_back(base64_decode(entry)); + } + return process_mtmd_prompt(mctx, json_prompt.at(JSON_STRING_PROMPT_KEY), files); + } else { + // Not multimodal, but contains a subobject. + llama_tokens tmp = tokenize_mixed(vocab, json_prompt.at(JSON_STRING_PROMPT_KEY), add_special, parse_special); + return server_tokens(tmp, false); + } + } else { + throw std::runtime_error("\"prompt\" elements must be a string, a list of tokens, a JSON object containing a prompt string, or a list of mixed strings & tokens."); + } +} + +std::vector tokenize_input_prompts(const llama_vocab * vocab, mtmd_context * mctx, const json & json_prompt, bool add_special, bool parse_special) { + std::vector result; + if (json_prompt.is_array() && !json_is_array_and_contains_numbers(json_prompt)) { + result.reserve(json_prompt.size()); + for (const auto & p : json_prompt) { + result.push_back(tokenize_input_subprompt(vocab, mctx, p,add_special, parse_special)); + } + } else { + result.push_back(tokenize_input_subprompt(vocab, mctx, json_prompt, add_special, parse_special)); + } + if (result.empty()) { + throw std::runtime_error("\"prompt\" must not be empty"); + } + return result; +} + + +// +// OAI utils +// + +// used by /completions endpoint +json oaicompat_completion_params_parse(const json & body) { + json llama_params; + + if (!body.contains("prompt")) { + throw std::runtime_error("\"prompt\" is required"); + } + + // Handle "stop" field + if (body.contains("stop") && body.at("stop").is_string()) { + llama_params["stop"] = json::array({body.at("stop").get()}); + } else { + llama_params["stop"] = json_value(body, "stop", json::array()); + } + + // Handle "n" field + int n_choices = json_value(body, "n", 1); if (n_choices != 1) { throw std::runtime_error("Only one completion choice is allowed"); } @@ -525,19 +775,8 @@ static json oaicompat_completion_params_parse(const json & body) { return llama_params; } -struct oaicompat_parser_options { - bool use_jinja; - bool prefill_assistant; - common_reasoning_format reasoning_format; - std::map chat_template_kwargs; - common_chat_templates * tmpls; - bool allow_image; - bool allow_audio; - bool enable_thinking = true; -}; - // used by /chat/completions endpoint -static json oaicompat_chat_params_parse( +json oaicompat_chat_params_parse( json & body, /* openai api json semantics */ const oaicompat_parser_options & opt, std::vector & out_files) @@ -809,7 +1048,7 @@ static json oaicompat_chat_params_parse( return llama_params; } -static json format_embeddings_response_oaicompat(const json & request, const json & embeddings, bool use_base64 = false) { +json format_embeddings_response_oaicompat(const json & request, const json & embeddings, bool use_base64) { json data = json::array(); int32_t n_tokens = 0; int i = 0; @@ -851,7 +1090,7 @@ static json format_embeddings_response_oaicompat(const json & request, const jso return res; } -static json format_response_rerank( +json format_response_rerank( const json & request, const json & ranks, bool is_tei_format, @@ -896,63 +1135,12 @@ static json format_response_rerank( return res; } -static bool is_valid_utf8(const std::string & str) { - const unsigned char* bytes = reinterpret_cast(str.data()); - const unsigned char* end = bytes + str.length(); - - while (bytes < end) { - if (*bytes <= 0x7F) { - // 1-byte sequence (0xxxxxxx) - bytes++; - } else if ((*bytes & 0xE0) == 0xC0) { - // 2-byte sequence (110xxxxx 10xxxxxx) - if (end - bytes < 2 || (bytes[1] & 0xC0) != 0x80) - return false; - bytes += 2; - } else if ((*bytes & 0xF0) == 0xE0) { - // 3-byte sequence (1110xxxx 10xxxxxx 10xxxxxx) - if (end - bytes < 3 || (bytes[1] & 0xC0) != 0x80 || (bytes[2] & 0xC0) != 0x80) - return false; - bytes += 3; - } else if ((*bytes & 0xF8) == 0xF0) { - // 4-byte sequence (11110xxx 10xxxxxx 10xxxxxx 10xxxxxx) - if (end - bytes < 4 || (bytes[1] & 0xC0) != 0x80 || - (bytes[2] & 0xC0) != 0x80 || (bytes[3] & 0xC0) != 0x80) - return false; - bytes += 4; - } else { - // Invalid UTF-8 lead byte - return false; - } - } - - return true; -} - -static json format_tokenizer_response(const json & tokens) { - return json { - {"tokens", tokens} - }; -} - -static json format_detokenized_response(const std::string & content) { - return json { - {"content", content} - }; -} -static json format_logit_bias(const std::vector & logit_bias) { - json data = json::array(); - for (const auto & lb : logit_bias) { - data.push_back(json{ - {"bias", lb.bias}, - {"token", lb.token}, - }); - } - return data; -} +// +// other utils +// -static std::vector get_token_probabilities(llama_context * ctx, int idx) { +std::vector get_token_probabilities(llama_context * ctx, int idx) { std::vector cur; const auto * logits = llama_get_logits_ith(ctx, idx); @@ -986,538 +1174,203 @@ static std::vector get_token_probabilities(llama_context * ctx return cur; } -static bool are_lora_equal( - const std::vector & l1, - const std::vector & l2) { - if (l1.size() != l2.size()) { - return false; - } - for (size_t i = 0; i < l1.size(); ++i) { - // we don't check lora.path to reduce the time complexity - if (l1[i].scale != l2[i].scale || l1[i].ptr != l2[i].ptr) { - return false; - } - } - return true; +std::string safe_json_to_str(const json & data) { + return data.dump(-1, ' ', false, json::error_handler_t::replace); } -// get the ids of all enabled loras -static std::vector lora_get_enabled_ids(const std::vector & loras) { - std::vector enabled_ids; - for (size_t i = 0; i < loras.size(); ++i) { - if (loras[i].scale > 0) { - enabled_ids.push_back(i); - } +// TODO: reuse llama_detokenize +template +static std::string tokens_to_str(llama_context * ctx, Iter begin, Iter end) { + std::string ret; + for (; begin != end; ++begin) { + ret += common_token_to_piece(ctx, *begin); } - return enabled_ids; + + return ret; } -// check whether the given lora set has only aloras activated (empty => false) -static bool lora_all_alora(const std::vector & loras) { - bool found_alora = false; - for (const auto & lora : loras) { - if (lora.scale != 0) { - if (llama_adapter_get_alora_n_invocation_tokens(lora.ptr) == 0) { - return false; - } - found_alora = true; - } - } - return found_alora; +std::string tokens_to_str(llama_context * ctx, const llama_tokens & tokens) { + return tokens_to_str(ctx, tokens.begin(), tokens.end()); } -// if the two sets of loras are different, they require a cache clear unless the -// change is only from aloras to aloras. -static bool lora_should_clear_cache( - const std::vector & current, - const std::vector & next) { +// format incomplete utf-8 multibyte character for output +std::string tokens_to_output_formatted_string(const llama_context * ctx, const llama_token token) { + std::string out = token == LLAMA_TOKEN_NULL ? "" : common_token_to_piece(ctx, token); - // This should always be called after determining that the two sets are - // _not_ equal. This assert is therefore some slightly wasted work and - // should be safe to remove as long as this method is called correctly. - GGML_ASSERT(!are_lora_equal(current, next)); + // if the size is 1 and first bit is 1, meaning it's a partial character + // (size > 1 meaning it's already a known token) + if (out.size() == 1 && (out[0] & 0x80) == 0x80) { + std::stringstream ss; + ss << std::hex << (out[0] & 0xff); + std::string res(ss.str()); + out = "byte: \\x" + res; + } - return ( - !(lora_get_enabled_ids(current).empty() || lora_all_alora(current)) || - !lora_all_alora(next)); + return out; } -// parse lora config from JSON request, returned a copy of lora_base with updated scale -static std::vector parse_lora_request( - const std::vector & lora_base, - const json & data) { - std::vector lora(lora_base); - int max_idx = lora.size(); - - // clear existing value - for (auto & entry : lora) { - entry.scale = 0.0f; - } +// format server-sent event (SSE), return the formatted string to send +// note: if data is a json array, it will be sent as multiple events, one per item +std::string format_sse(const json & data) { + std::ostringstream ss; + auto send_single = [&ss](const json & data) { + ss << "data: " << + safe_json_to_str(data) << + "\n\n"; // required by RFC 8895 - A message is terminated by a blank line (two line terminators in a row). + }; - // set value - for (const auto & entry : data) { - int id = json_value(entry, "id", -1); - float scale = json_value(entry, "scale", 0.0f); - if (0 <= id && id < max_idx) { - lora[id].scale = scale; - } else { - throw std::runtime_error("invalid adapter id"); + if (data.is_array()) { + for (const auto & item : data) { + send_single(item); } + } else { + send_single(data); } - return lora; + return ss.str(); } -// -// utils for interacting with libmtmd -// (may need to refactor in near future) -// +bool is_valid_utf8(const std::string & str) { + const unsigned char* bytes = reinterpret_cast(str.data()); + const unsigned char* end = bytes + str.length(); -/** - * server_tokens is a helper to manage the input tokens and image for the server. - * it is made this way to simplify the logic of KV cache management. - */ -struct server_tokens { - bool has_mtmd = false; - -private: // disallow accessing these members directly, risking out-of-sync - - // map a **start** index in tokens to the image chunk - // note: the order need to be in-sync with tokens - std::map map_idx_to_media; - - // list of tokens - // if the token is LLAMA_TOKEN_NULL, it indicates that this position is occupied by media chunk - // otherwise, it is a normal text token - // note: a non-text chunk can occupy multiple tokens (aka memory cells) in the token list - // note(2): for M-RoPE, an image can occupy different number of pos; do not assume 1-to-1 mapping tokens <-> pos - llama_tokens tokens; - - // for ex. with input of 5 text tokens and 2 images (each image occupies 3 tokens and 2 pos): - // [0] [1] [2] [3] [4] [img0] [img0] [img0] [img1] [img1] [img1] - // idx 0 1 2 3 4 5 6 7 8 9 10 - // pos 0 1 2 3 4 5 5 5 7 7 7 - // map_idx_to_media will contain: {5, img0}, {8, img1} - -public: - server_tokens() = default; - ~server_tokens() = default; - - // Prevent copying - // TODO: server_tokens should be copyable - remove this: - server_tokens(const server_tokens&) = delete; - server_tokens& operator=(const server_tokens&) = delete; - - // Allow moving (usually implicitly generated if members are movable) - server_tokens(server_tokens&&) = default; - server_tokens& operator=(server_tokens&&) = default; - - // Allow accessing elements using [] operator - llama_token operator[](size_t index) { return tokens[index]; } - const llama_token& operator[](size_t index) const { return tokens[index]; } - - server_tokens(mtmd::input_chunks & mtmd_chunks, bool has_mtmd) : has_mtmd(has_mtmd) { - for (size_t i = 0; i < mtmd_chunks.size(); ++i) { - push_back(mtmd_chunks[i]); + while (bytes < end) { + if (*bytes <= 0x7F) { + // 1-byte sequence (0xxxxxxx) + bytes++; + } else if ((*bytes & 0xE0) == 0xC0) { + // 2-byte sequence (110xxxxx 10xxxxxx) + if (end - bytes < 2 || (bytes[1] & 0xC0) != 0x80) + return false; + bytes += 2; + } else if ((*bytes & 0xF0) == 0xE0) { + // 3-byte sequence (1110xxxx 10xxxxxx 10xxxxxx) + if (end - bytes < 3 || (bytes[1] & 0xC0) != 0x80 || (bytes[2] & 0xC0) != 0x80) + return false; + bytes += 3; + } else if ((*bytes & 0xF8) == 0xF0) { + // 4-byte sequence (11110xxx 10xxxxxx 10xxxxxx 10xxxxxx) + if (end - bytes < 4 || (bytes[1] & 0xC0) != 0x80 || + (bytes[2] & 0xC0) != 0x80 || (bytes[3] & 0xC0) != 0x80) + return false; + bytes += 4; + } else { + // Invalid UTF-8 lead byte + return false; } } - server_tokens(const llama_tokens & tokens, bool has_mtmd) : has_mtmd(has_mtmd), tokens(tokens) { - } + return true; +} - llama_pos pos_next() const { - if (!has_mtmd) { - return tokens.size(); - } +llama_tokens format_prompt_infill( + const llama_vocab * vocab, + const json & input_prefix, + const json & input_suffix, + const json & input_extra, + const int n_batch, + const int n_predict, + const int n_ctx, + const bool spm_infill, + const llama_tokens & tokens_prompt + ) { + // TODO: optimize this block by reducing memory allocations and movement - llama_pos res = tokens.size(); + // use FIM repo-level pattern: + // ref: https://arxiv.org/pdf/2409.12186 + // + // [FIM_REP]myproject + // [FIM_SEP]filename0 + // extra chunk 0 + // [FIM_SEP]filename1 + // extra chunk 1 + // ... + // [FIM_SEP]filename + // [FIM_PRE]prefix[FIM_SUF]suffix[FIM_MID]prompt + // + llama_tokens extra_tokens; + extra_tokens.reserve(n_ctx); - for (auto it = map_idx_to_media.begin(); it != map_idx_to_media.end(); ++it) { - const auto & chunk = it->second; - res += mtmd_input_chunk_get_n_pos(chunk.get()) - mtmd_input_chunk_get_n_tokens(chunk.get()); - } + auto tokens_prefix = tokenize_mixed(vocab, input_prefix, false, false); + auto tokens_suffix = tokenize_mixed(vocab, input_suffix, false, false); - return res; - } + if (llama_vocab_fim_rep(vocab) != LLAMA_TOKEN_NULL) { + // TODO: make project name an input + static const auto k_fim_repo = common_tokenize(vocab, "myproject\n", false, false); - // for debugging - std::string str() const { - std::ostringstream oss; - oss << "tokens: "; - for (size_t idx = 0; idx < tokens.size(); ++idx) { - llama_token t = tokens[idx]; - oss << "idx:" << idx << " "; - if (t == LLAMA_TOKEN_NULL) { - oss << " "; - } else { - oss << t << " "; - } - } - oss << "\n"; - oss << "image idx: "; - for (const auto & it : map_idx_to_media) { - oss << it.first << ", "; - } - return oss.str(); + extra_tokens.push_back(llama_vocab_fim_rep(vocab)); + extra_tokens.insert(extra_tokens.end(), k_fim_repo.begin(), k_fim_repo.end()); } + for (const auto & chunk : input_extra) { + // { "text": string, "filename": string } + const std::string text = json_value(chunk, "text", std::string()); + const std::string filename = json_value(chunk, "filename", std::string("tmp")); - const mtmd::input_chunk_ptr & find_chunk(size_t idx) const { - auto it = map_idx_to_media.find(idx); - if (it != map_idx_to_media.end()) { - return it->second; - } - throw std::runtime_error("Chunk not found"); - } + if (llama_vocab_fim_sep(vocab) != LLAMA_TOKEN_NULL) { + const auto k_fim_file = common_tokenize(vocab, filename + "\n", false, false); - void push_back(llama_token tok) { - if (tok == LLAMA_TOKEN_NULL) { - throw std::runtime_error("Invalid token"); - } - tokens.emplace_back(tok); - } - - // will create a copy of the chunk if it contains non-text data - void push_back(const mtmd_input_chunk * chunk) { - auto type = mtmd_input_chunk_get_type(chunk); - if (type == MTMD_INPUT_CHUNK_TYPE_IMAGE || type == MTMD_INPUT_CHUNK_TYPE_AUDIO) { - GGML_ASSERT(has_mtmd); - const size_t n_tokens = mtmd_input_chunk_get_n_tokens(chunk); - size_t start_idx = tokens.size(); - for (size_t i = 0; i < n_tokens; ++i) { - tokens.emplace_back(LLAMA_TOKEN_NULL); - } - mtmd::input_chunk_ptr new_chunk(mtmd_input_chunk_copy(chunk)); - map_idx_to_media[start_idx] = std::move(new_chunk); - } else if (type == MTMD_INPUT_CHUNK_TYPE_TEXT) { - size_t n_tokens; - const auto * text_tokens = mtmd_input_chunk_get_tokens_text(chunk, &n_tokens); - for (size_t i = 0; i < n_tokens; ++i) { - push_back(text_tokens[i]); - } + extra_tokens.insert(extra_tokens.end(), llama_vocab_fim_sep(vocab)); + extra_tokens.insert(extra_tokens.end(), k_fim_file.begin(), k_fim_file.end()); } else { - GGML_ABORT("Invalid chunk type"); - } - } + // chunk separator in binary form to avoid confusing the AI + static const char k_chunk_prefix_str[] = {0x0a, 0x0a, 0x2d, 0x2d, 0x2d, 0x20, 0x73, 0x6e, 0x69, 0x70, 0x70, 0x65, 0x74, 0x20, 0x2d, 0x2d, 0x2d, 0x0a, 0x0a, 0x00}; + static const auto k_chunk_prefix_tokens = common_tokenize(vocab, k_chunk_prefix_str, false, false); - // appends server tokens, updates the media map. copies media chunks. - void push_back(server_tokens & tokens) { - size_t start_idx = size(); - for (size_t i = 0; i < tokens.size(); i++) { - push_back(tokens[i]); - } - if (tokens.has_mtmd) { - // Assert if we are copying MTMD chunks to a server_tokens that does not have mtmd. - // We could also just check, but this will prevent silently dropping MTMD data. - GGML_ASSERT(has_mtmd); - for (auto it = tokens.map_idx_to_media.begin(); it != tokens.map_idx_to_media.end(); ) { - auto * chunk = tokens.map_idx_to_media[it->first].get(); - mtmd::input_chunk_ptr new_chunk(mtmd_input_chunk_copy(chunk)); - map_idx_to_media[start_idx + it->first] = std::move(new_chunk); - } + extra_tokens.insert(extra_tokens.end(), k_chunk_prefix_tokens.begin(), k_chunk_prefix_tokens.end()); } - } - // for compatibility with context shift and prompt truncation - void insert(const llama_tokens & inp_tokens) { - GGML_ASSERT(!has_mtmd); // only allow this if mtmd is disabled - tokens.insert(tokens.end(), inp_tokens.begin(), inp_tokens.end()); - } - - // for compatibility with speculative decoding, ctx shift, slot save/load - const llama_tokens & get_text_tokens() const { - GGML_ASSERT(!has_mtmd); // only allow this if mtmd is disabled - return tokens; - } - - // for compatibility with speculative decoding - void set_token(llama_pos pos, llama_token id) { - GGML_ASSERT(!has_mtmd); // only allow this if mtmd is disabled - tokens[pos] = id; - } - - size_t size() const { - return tokens.size(); - } - - bool empty() const { - return tokens.empty(); - } - - void clear() { - map_idx_to_media.clear(); - tokens.clear(); + const auto chunk_tokens = common_tokenize(vocab, text, false, false); + extra_tokens.insert(extra_tokens.end(), chunk_tokens.begin(), chunk_tokens.end()); } - void keep_first(size_t n) { - GGML_ASSERT(n <= tokens.size()); - if (has_mtmd) { - if (n == tokens.size()) { - return; // nothing to do - } - // we throw an error if we try to remove a token in the middle of an image - // for ex. with input of 5 text tokens and 2 images: - // [0] [1] [2] [3] [4] [img0] [img0] [img0] [img1] [img1] - // n 1 2 3 4 5 6 7 8 9 10 - // allowed to resize ^ ^ - // disallowed to resize ^ ^ ^ - if (n > 0) { - // make sure we never remove tokens in the middle of an image - // note that the case where we keep a full image at the end is allowed: - // tokens[n - 1] == LLAMA_TOKEN_NULL && tokens[n] != LLAMA_TOKEN_NULL - if (tokens[n - 1] == LLAMA_TOKEN_NULL && tokens[n] == LLAMA_TOKEN_NULL) { - find_chunk(n - 1); // will throw an error if the token is not begin-of-chunk - } - } - // remove all image chunks that are not used anymore - for (auto it = map_idx_to_media.begin(); it != map_idx_to_media.end(); ) { - size_t idx = it->first; - if (idx >= n) { - it = map_idx_to_media.erase(it); - } else { - ++it; - } - } - } - tokens.resize(n); - } + if (llama_vocab_fim_sep(vocab) != LLAMA_TOKEN_NULL) { + // TODO: current filename + static const auto k_fim_file = common_tokenize(vocab, "filename\n", false, false); - std::string detokenize(const llama_context * ctx, bool special) const { - llama_tokens text_tokens; - text_tokens.reserve(tokens.size()); - for (const auto & t : tokens) { - if (t != LLAMA_TOKEN_NULL) { - text_tokens.push_back(t); - } - } - return common_detokenize(ctx, text_tokens, special); + extra_tokens.insert(extra_tokens.end(), llama_vocab_fim_sep(vocab)); + extra_tokens.insert(extra_tokens.end(), k_fim_file.begin(), k_fim_file.end()); } - size_t get_common_prefix(const server_tokens & b) const { - const size_t max_idx = std::min(tokens.size(), b.tokens.size()); - - if (!has_mtmd) { - for (size_t i = 0; i < max_idx; ++i) { - if (tokens[i] == b.tokens[i]) { - continue; - } - - return i; - } - - return max_idx; - } - - for (size_t i = 0; i < max_idx; ++i) { - const llama_token ai = tokens[i]; - const llama_token bi = b.tokens[i]; - - if (ai == LLAMA_TOKEN_NULL && bi == LLAMA_TOKEN_NULL) { - const auto & a_chunk = find_chunk(i); - const auto & b_chunk = b.find_chunk(i); - - GGML_ASSERT(a_chunk && b_chunk); - - const std::string id_ai = mtmd_input_chunk_get_id(a_chunk.get()); - const std::string id_bi = mtmd_input_chunk_get_id(b_chunk.get()); - - const size_t n_tok_a = mtmd_input_chunk_get_n_tokens(a_chunk.get()); - const size_t n_tok_b = mtmd_input_chunk_get_n_tokens(b_chunk.get()); - - if (id_ai == id_bi && n_tok_a == n_tok_b) { - GGML_ASSERT(n_tok_a > 0 && "Invalid media chunk"); // should never happen - i += n_tok_a - 1; // will be +1 by the for loop - continue; - } - - return i; - } - - if (ai == bi) { - continue; - } - - return i; - } + // for now pick FIM context to fit in a batch (ratio prefix:suffix = 3:1, TODO: configurable?) + const int n_prefix_take = std::min(tokens_prefix.size(), 3*(n_batch/4)); + const int n_suffix_take = std::min(tokens_suffix.size(), std::max(0, (n_batch/4) - (2 + tokens_prompt.size()))); - return max_idx; // all tokens are equal - } + SRV_DBG("n_prefix_take = %d, n_suffix_take = %d, total = %d\n", n_prefix_take, n_suffix_take, (n_prefix_take + n_suffix_take)); - // make sure all text tokens are within the vocab range - bool validate(const struct llama_context * ctx) const { - const llama_model * model = llama_get_model(ctx); - const llama_vocab * vocab = llama_model_get_vocab(model); - const int32_t n_vocab = llama_vocab_n_tokens(vocab); + // fill the rest of the context with extra chunks + const int n_extra_take = std::min(std::max(0, n_ctx - (n_batch) - 2*n_predict), extra_tokens.size()); - for (size_t i = 0; i < tokens.size(); ++i) { - const auto & t = tokens[i]; - if (t == LLAMA_TOKEN_NULL) { - try { - const auto & chunk = find_chunk(i); - size_t n_tokens = mtmd_input_chunk_get_n_tokens(chunk.get()); - i += n_tokens - 1; // will be +1 by the for loop - } catch (const std::exception & e) { - return false; - } - } else if (t < 0 || t >= n_vocab) { - return false; - } - } - return true; - } + tokens_prefix.erase(tokens_prefix.begin(), tokens_prefix.begin() + tokens_prefix.size() - n_prefix_take); + tokens_suffix.resize(n_suffix_take); - // encode and decode the image chunk - int32_t process_chunk( - llama_context * ctx, - mtmd_context * mctx, - size_t idx, - llama_pos pos, - int32_t seq_id, - size_t & n_tokens_out) const { - const auto & chunk = find_chunk(idx); - const char * name = mtmd_input_chunk_get_type(chunk.get()) == MTMD_INPUT_CHUNK_TYPE_IMAGE - ? "image" : "audio"; - SRV_INF("processing %s...\n", name); - int32_t n_batch = llama_n_batch(ctx); - int64_t t0 = ggml_time_ms(); - llama_pos new_n_past; // unused for now - int32_t result = mtmd_helper_eval_chunk_single(mctx, ctx, - chunk.get(), - pos, - seq_id, - n_batch, - true, // logits last - &new_n_past); - SRV_INF("%s processed in %" PRId64 " ms\n", name, ggml_time_ms() - t0); - if (result != 0) { - LOG_ERR("mtmd_helper_eval failed with status %d", result); - n_tokens_out = 0; - return result; - } - n_tokens_out = mtmd_input_chunk_get_n_tokens(chunk.get()); - return 0; - } -}; + tokens_prefix.insert(tokens_prefix.begin(), llama_vocab_fim_pre(vocab)); + tokens_prefix.insert(tokens_prefix.end(), tokens_prompt.begin(), tokens_prompt.end()); + tokens_suffix.insert(tokens_suffix.begin(), llama_vocab_fim_suf(vocab)); -// Computes FNV-1a hash of the data -static std::string fnv_hash(const uint8_t * data, size_t len) { - const uint64_t fnv_prime = 0x100000001b3ULL; - uint64_t hash = 0xcbf29ce484222325ULL; + auto embd_inp = spm_infill ? tokens_suffix : tokens_prefix; + auto embd_end = spm_infill ? tokens_prefix : tokens_suffix; - for (size_t i = 0; i < len; ++i) { - hash ^= data[i]; - hash *= fnv_prime; + if (llama_vocab_get_add_bos(vocab)) { + embd_inp.insert(embd_inp.begin(), llama_vocab_bos(vocab)); } - return std::to_string(hash); -} -static server_tokens process_mtmd_prompt(mtmd_context * mctx, std::string prompt, std::vector files) { - mtmd::bitmaps bitmaps; - for (auto & file : files) { - mtmd::bitmap bmp(mtmd_helper_bitmap_init_from_buf(mctx, file.data(), file.size())); - if (!bmp.ptr) { - throw std::runtime_error("Failed to load image or audio file"); - } - // calculate bitmap hash (for KV caching) - std::string hash = fnv_hash(bmp.data(), bmp.n_bytes()); - bmp.set_id(hash.c_str()); - bitmaps.entries.push_back(std::move(bmp)); - } - // process prompt - std::vector inputs; - // multimodal - mtmd_input_text inp_txt = { - prompt.c_str(), - /* add_special */ true, - /* parse_special */ true, - }; - mtmd::input_chunks chunks(mtmd_input_chunks_init()); - auto bitmaps_c_ptr = bitmaps.c_ptr(); - int32_t tokenized = mtmd_tokenize(mctx, - chunks.ptr.get(), - &inp_txt, - bitmaps_c_ptr.data(), - bitmaps_c_ptr.size()); - if (tokenized != 0) { - throw std::runtime_error("Failed to tokenize prompt"); - } - auto result = server_tokens(chunks, true); - return result; -} + SRV_DBG("extra: n_ctx = %d, n_extra_take = %d, n_extra = %d\n", n_ctx, n_extra_take, (int) extra_tokens.size()); -/** - * break the input "prompt" object into multiple prompt if needed, then tokenize them - * use tokenize_input_prompts() if the input could be an array. - * this supports these cases: - * - "prompt": "string" - * - "prompt": [12, 34, 56] - * - "prompt": [12, 34, "string", 56, 78] - * - "prompt": { "prompt_string": "string", "multimodal_data": [ "base64" ] } - */ -static server_tokens tokenize_input_subprompt(const llama_vocab * vocab, mtmd_context * mctx, const json & json_prompt, bool add_special, bool parse_special) { - constexpr char JSON_STRING_PROMPT_KEY[] = "prompt_string"; - constexpr char JSON_MTMD_DATA_KEY[] = "multimodal_data"; - const bool has_mtmd = mctx != nullptr; - if (json_prompt.is_string() || json_is_array_of_mixed_numbers_strings(json_prompt)) { - // string or mixed - llama_tokens tmp = tokenize_mixed(vocab, json_prompt, add_special, parse_special); - return server_tokens(tmp, false); - } else if (json_is_array_of_numbers(json_prompt)) { - // array of tokens - llama_tokens tmp = json_prompt.get(); - return server_tokens(tmp, false); - } else if (json_prompt.contains(JSON_STRING_PROMPT_KEY)) { - // JSON object with prompt key. - if (json_prompt.contains(JSON_MTMD_DATA_KEY)) { - if (!has_mtmd) - throw std::runtime_error("Multimodal data provided, but model does not support multimodal requests."); + // put the extra context before the FIM prefix + embd_inp.insert(embd_inp.begin(), extra_tokens.end() - n_extra_take, extra_tokens.end()); - // JSON object with prompt and multimodal key. - std::vector files; - for (const auto & entry : json_prompt.at(JSON_MTMD_DATA_KEY)) { - files.push_back(base64_decode(entry)); - } - return process_mtmd_prompt(mctx, json_prompt.at(JSON_STRING_PROMPT_KEY), files); - } else { - // Not multimodal, but contains a subobject. - llama_tokens tmp = tokenize_mixed(vocab, json_prompt.at(JSON_STRING_PROMPT_KEY), add_special, parse_special); - return server_tokens(tmp, false); - } - } else { - throw std::runtime_error("\"prompt\" elements must be a string, a list of tokens, a JSON object containing a prompt string, or a list of mixed strings & tokens."); - } -} + embd_inp.insert(embd_inp.end(), embd_end.begin(), embd_end.end()); + embd_inp.push_back(llama_vocab_fim_mid(vocab)); -/** - * break the input "prompt" object into multiple prompt if needed, then tokenize them - * this supports these cases: - * - "prompt": "string" - * - "prompt": [12, 34, 56] - * - "prompt": [12, 34, "string", 56, 78] - * - "prompt": { "prompt_string": "string", "multimodal_data": [ "base64" ] } - * and multiple prompts (multi-tasks): - * - "prompt": ["string1", "string2"] - * - "prompt": ["string1", [12, 34, 56]] - * - "prompt": [[12, 34, 56], [78, 90, 12]] - * - "prompt": [[12, 34, "string", 56, 78], [12, 34, 56], { "prompt_string": "string", "multimodal_data": [ "base64" ]}] - */ -static std::vector tokenize_input_prompts(const llama_vocab * vocab, mtmd_context * mctx, const json & json_prompt, bool add_special, bool parse_special) { - std::vector result; - if (json_prompt.is_array() && !json_is_array_and_contains_numbers(json_prompt)) { - result.reserve(json_prompt.size()); - for (const auto & p : json_prompt) { - result.push_back(tokenize_input_subprompt(vocab, mctx, p,add_special, parse_special)); - } - } else { - result.push_back(tokenize_input_subprompt(vocab, mctx, json_prompt, add_special, parse_special)); - } - if (result.empty()) { - throw std::runtime_error("\"prompt\" must not be empty"); - } - return result; + return embd_inp; } -// format rerank task: [BOS]query[EOS][SEP]doc[EOS]. -static server_tokens format_rerank(const struct llama_model * model, const struct llama_vocab * vocab, mtmd_context * mctx, const std::string & query, const std::string & doc) { +server_tokens format_prompt_rerank( + const struct llama_model * model, + const struct llama_vocab * vocab, + mtmd_context * mctx, + const std::string & query, + const std::string & doc) { server_tokens result = {}; const char * rerank_prompt = llama_model_chat_template(model, "rerank"); diff --git a/tools/server/server-common.h b/tools/server/server-common.h new file mode 100644 index 00000000000..868c5061031 --- /dev/null +++ b/tools/server/server-common.h @@ -0,0 +1,349 @@ +#pragma once + +#include "common.h" +#include "log.h" +#include "llama.h" +#include "chat.h" +#include "mtmd.h" + +#define JSON_ASSERT GGML_ASSERT +#include + +#include +#include +#include + +#define DEFAULT_OAICOMPAT_MODEL "gpt-3.5-turbo" + +const static std::string build_info("b" + std::to_string(LLAMA_BUILD_NUMBER) + "-" + LLAMA_COMMIT); + +using json = nlohmann::ordered_json; + +#define SLT_INF(slot, fmt, ...) LOG_INF("slot %12.*s: id %2d | task %d | " fmt, 12, __func__, (slot).id, ((slot).task ? (slot).task->id : -1), __VA_ARGS__) +#define SLT_WRN(slot, fmt, ...) LOG_WRN("slot %12.*s: id %2d | task %d | " fmt, 12, __func__, (slot).id, ((slot).task ? (slot).task->id : -1), __VA_ARGS__) +#define SLT_ERR(slot, fmt, ...) LOG_ERR("slot %12.*s: id %2d | task %d | " fmt, 12, __func__, (slot).id, ((slot).task ? (slot).task->id : -1), __VA_ARGS__) +#define SLT_DBG(slot, fmt, ...) LOG_DBG("slot %12.*s: id %2d | task %d | " fmt, 12, __func__, (slot).id, ((slot).task ? (slot).task->id : -1), __VA_ARGS__) + +#define SRV_INF(fmt, ...) LOG_INF("srv %12.*s: " fmt, 12, __func__, __VA_ARGS__) +#define SRV_WRN(fmt, ...) LOG_WRN("srv %12.*s: " fmt, 12, __func__, __VA_ARGS__) +#define SRV_ERR(fmt, ...) LOG_ERR("srv %12.*s: " fmt, 12, __func__, __VA_ARGS__) +#define SRV_DBG(fmt, ...) LOG_DBG("srv %12.*s: " fmt, 12, __func__, __VA_ARGS__) + +using raw_buffer = std::vector; + +template +static T json_value(const json & body, const std::string & key, const T & default_value) { + // Fallback null to default value + if (body.contains(key) && !body.at(key).is_null()) { + try { + return body.at(key); + } catch (NLOHMANN_JSON_NAMESPACE::detail::type_error const & err) { + LOG_WRN("Wrong type supplied for parameter '%s'. Expected '%s', using default value: %s\n", key.c_str(), json(default_value).type_name(), err.what()); + return default_value; + } + } else { + return default_value; + } +} + +// https://community.openai.com/t/openai-chat-list-of-error-codes-and-types/357791/11 +enum error_type { + ERROR_TYPE_INVALID_REQUEST, + ERROR_TYPE_AUTHENTICATION, + ERROR_TYPE_SERVER, + ERROR_TYPE_NOT_FOUND, + ERROR_TYPE_PERMISSION, + ERROR_TYPE_UNAVAILABLE, // custom error + ERROR_TYPE_NOT_SUPPORTED, // custom error + ERROR_TYPE_EXCEED_CONTEXT_SIZE, // custom error +}; + +// thin wrapper around common_grammar_trigger with (de)serialization functions +struct server_grammar_trigger { + common_grammar_trigger value; + + server_grammar_trigger() = default; + server_grammar_trigger(const common_grammar_trigger & value) : value(value) {} + server_grammar_trigger(const json & in) { + value.type = (common_grammar_trigger_type) in.at("type").get(); + value.value = in.at("value").get(); + if (value.type == COMMON_GRAMMAR_TRIGGER_TYPE_TOKEN) { + value.token = (llama_token) in.at("token").get(); + } + } + + json to_json() const { + json out { + {"type", (int) value.type}, + {"value", value.value}, + }; + if (value.type == COMMON_GRAMMAR_TRIGGER_TYPE_TOKEN) { + out["token"] = (int) value.token; + } + return out; + } +}; + +json format_error_response(const std::string & message, const enum error_type type); + +// +// random string / id +// + +std::string random_string(); +std::string gen_chatcmplid(); +std::string gen_tool_call_id(); + +// +// lora utils +// + +// check whether the given lora set has only aloras activated (empty => false) +bool lora_all_alora(const std::vector & loras); + +// if the two sets of loras are different, they require a cache clear unless the +// change is only from aloras to aloras. +bool lora_should_clear_cache( + const std::vector & current, + const std::vector & next); + +std::vector parse_lora_request( + const std::vector & lora_base, + const json & data); + +bool are_lora_equal( + const std::vector & l1, + const std::vector & l2); + +// get the ids of all enabled loras +std::vector lora_get_enabled_ids(const std::vector & loras); + +// +// server_tokens +// + +/** + * server_tokens is a helper to manage the input tokens and image for the server. + * it is made this way to simplify the logic of KV cache management. + */ +struct server_tokens { + bool has_mtmd = false; + +private: // disallow accessing these members directly, risking out-of-sync + + // map a **start** index in tokens to the image chunk + // note: the order need to be in-sync with tokens + std::map map_idx_to_media; + + // list of tokens + // if the token is LLAMA_TOKEN_NULL, it indicates that this position is occupied by media chunk + // otherwise, it is a normal text token + // note: a non-text chunk can occupy multiple tokens (aka memory cells) in the token list + // note(2): for M-RoPE, an image can occupy different number of pos; do not assume 1-to-1 mapping tokens <-> pos + llama_tokens tokens; + + // for ex. with input of 5 text tokens and 2 images (each image occupies 3 tokens and 2 pos): + // [0] [1] [2] [3] [4] [img0] [img0] [img0] [img1] [img1] [img1] + // idx 0 1 2 3 4 5 6 7 8 9 10 + // pos 0 1 2 3 4 5 5 5 7 7 7 + // map_idx_to_media will contain: {5, img0}, {8, img1} + +public: + server_tokens() = default; + ~server_tokens() = default; + + // Prevent copying + // TODO: server_tokens should be copyable - remove this: + server_tokens(const server_tokens&) = delete; + server_tokens& operator=(const server_tokens&) = delete; + + // Allow moving (usually implicitly generated if members are movable) + server_tokens(server_tokens&&) = default; + server_tokens& operator=(server_tokens&&) = default; + + // Allow accessing elements using [] operator + llama_token operator[](size_t index) { return tokens[index]; } + const llama_token& operator[](size_t index) const { return tokens[index]; } + + server_tokens(mtmd::input_chunks & mtmd_chunks, bool has_mtmd); + server_tokens(const llama_tokens & tokens, bool has_mtmd); + + // for debugging + std::string str() const; + + llama_pos pos_next() const; + const mtmd::input_chunk_ptr & find_chunk(size_t idx) const; + + void push_back(llama_token tok); + + // will create a copy of the chunk if it contains non-text data + void push_back(const mtmd_input_chunk * chunk); + + // appends server tokens, updates the media map. copies media chunks. + void push_back(server_tokens & tokens); + + // for compatibility with context shift and prompt truncation + void insert(const llama_tokens & inp_tokens); + + // for compatibility with speculative decoding, ctx shift, slot save/load + const llama_tokens & get_text_tokens() const; + + // for compatibility with speculative decoding + void set_token(llama_pos pos, llama_token id); + + size_t size() const { return tokens.size(); } + + bool empty() const { return tokens.empty(); } + + void clear() { + map_idx_to_media.clear(); + tokens.clear(); + } + + void keep_first(size_t n); + + std::string detokenize(const llama_context * ctx, bool special) const; + + size_t get_common_prefix(const server_tokens & b) const; + + // make sure all text tokens are within the vocab range + bool validate(const struct llama_context * ctx) const; + + // encode and decode the image chunk + int32_t process_chunk( + llama_context * ctx, + mtmd_context * mctx, + size_t idx, + llama_pos pos, + int32_t seq_id, + size_t & n_tokens_out) const; +}; + + +// +// tokenizer and input processing utils +// + +bool json_is_array_of_numbers(const json & data); + +// is array having BOTH numbers & strings? +bool json_is_array_of_mixed_numbers_strings(const json & data); + +// does array have any individual integers/tokens? +bool json_is_array_and_contains_numbers(const json & data); + +// get value by path(key1 / key2) +json json_get_nested_values(const std::vector & paths, const json & js); + +/** + * this handles 2 cases: + * - only string, example: "string" + * - mixed string and tokens, example: [12, 34, "string", 56, 78] + */ +llama_tokens tokenize_mixed(const llama_vocab * vocab, const json & json_prompt, bool add_special, bool parse_special); + +// return the last index of character that can form a valid string +// if the last character is potentially cut in half, return the index before the cut +// if validate_utf8(text) == text.size(), then the whole text is valid utf8 +size_t validate_utf8(const std::string& text); + +// process mtmd prompt, return the server_tokens containing both text tokens and media chunks +server_tokens process_mtmd_prompt(mtmd_context * mctx, std::string prompt, std::vector files); + +/** + * break the input "prompt" object into multiple prompt if needed, then tokenize them + * this supports these cases: + * - "prompt": "string" + * - "prompt": [12, 34, 56] + * - "prompt": [12, 34, "string", 56, 78] + * - "prompt": { "prompt_string": "string", "multimodal_data": [ "base64" ] } + * and multiple prompts (multi-tasks): + * - "prompt": ["string1", "string2"] + * - "prompt": ["string1", [12, 34, 56]] + * - "prompt": [[12, 34, 56], [78, 90, 12]] + * - "prompt": [[12, 34, "string", 56, 78], [12, 34, 56], { "prompt_string": "string", "multimodal_data": [ "base64" ]}] + */ +std::vector tokenize_input_prompts( + const llama_vocab * vocab, + mtmd_context * mctx, + const json & json_prompt, + bool add_special, + bool parse_special); + +// +// OAI utils +// + +// used by /completions endpoint +json oaicompat_completion_params_parse(const json & body); + +struct oaicompat_parser_options { + bool use_jinja; + bool prefill_assistant; + common_reasoning_format reasoning_format; + std::map chat_template_kwargs; + common_chat_templates * tmpls; + bool allow_image; + bool allow_audio; + bool enable_thinking = true; +}; + +// used by /chat/completions endpoint +json oaicompat_chat_params_parse( + json & body, /* openai api json semantics */ + const oaicompat_parser_options & opt, + std::vector & out_files); + +// TODO: move it to server-task.cpp +json format_embeddings_response_oaicompat(const json & request, const json & embeddings, bool use_base64 = false); + +// TODO: move it to server-task.cpp +json format_response_rerank( + const json & request, + const json & ranks, + bool is_tei_format, + std::vector & texts, + int top_n); + +// +// other utils +// + +std::vector get_token_probabilities(llama_context * ctx, int idx); + +std::string safe_json_to_str(const json & data); + +std::string tokens_to_str(llama_context * ctx, const llama_tokens & tokens); + +// format incomplete utf-8 multibyte character for output +std::string tokens_to_output_formatted_string(const llama_context * ctx, const llama_token token); + +// format server-sent event (SSE), return the formatted string to send +// note: if data is a json array, it will be sent as multiple events, one per item +std::string format_sse(const json & data); + +bool is_valid_utf8(const std::string & str); + +// +// formatting output responses +// TODO: move these to server-task.cpp +// + +llama_tokens format_prompt_infill( + const llama_vocab * vocab, + const json & input_prefix, + const json & input_suffix, + const json & input_extra, + const int n_batch, + const int n_predict, + const int n_ctx, + const bool spm_infill, + const llama_tokens & tokens_prompt); + +// format rerank task: [BOS]query[EOS][SEP]doc[EOS]. +server_tokens format_prompt_rerank( + const struct llama_model * model, + const struct llama_vocab * vocab, + mtmd_context * mctx, + const std::string & query, + const std::string & doc); diff --git a/tools/server/server-http.cpp b/tools/server/server-http.cpp index bebe0b49c4f..a82aa86b19e 100644 --- a/tools/server/server-http.cpp +++ b/tools/server/server-http.cpp @@ -1,6 +1,6 @@ -#include "utils.hpp" #include "common.h" #include "server-http.h" +#include "server-common.h" #include diff --git a/tools/server/server-queue.cpp b/tools/server/server-queue.cpp new file mode 100644 index 00000000000..5a74fd76ac3 --- /dev/null +++ b/tools/server/server-queue.cpp @@ -0,0 +1,268 @@ +#include "server-task.h" +#include "server-queue.h" + +#include "log.h" + +#include + +#define QUE_INF(fmt, ...) LOG_INF("que %12.*s: " fmt, 12, __func__, __VA_ARGS__) +#define QUE_WRN(fmt, ...) LOG_WRN("que %12.*s: " fmt, 12, __func__, __VA_ARGS__) +#define QUE_ERR(fmt, ...) LOG_ERR("que %12.*s: " fmt, 12, __func__, __VA_ARGS__) +#define QUE_DBG(fmt, ...) LOG_DBG("que %12.*s: " fmt, 12, __func__, __VA_ARGS__) + +#define RES_INF(fmt, ...) LOG_INF("res %12.*s: " fmt, 12, __func__, __VA_ARGS__) +#define RES_WRN(fmt, ...) LOG_WRN("res %12.*s: " fmt, 12, __func__, __VA_ARGS__) +#define RES_ERR(fmt, ...) LOG_ERR("res %12.*s: " fmt, 12, __func__, __VA_ARGS__) +#define RES_DBG(fmt, ...) LOG_DBG("res %12.*s: " fmt, 12, __func__, __VA_ARGS__) + +// +// server_queue +// + +int server_queue::post(server_task && task, bool front) { + std::unique_lock lock(mutex_tasks); + GGML_ASSERT(task.id != -1); + // if this is cancel task make sure to clean up pending tasks + if (task.type == SERVER_TASK_TYPE_CANCEL) { + cleanup_pending_task(task.id_target); + } + const int task_id = task.id; + QUE_DBG("new task, id = %d, front = %d\n", task_id, front); + if (front) { + queue_tasks.push_front(std::move(task)); + } else { + queue_tasks.push_back(std::move(task)); + } + condition_tasks.notify_one(); + return task_id; +} + +int server_queue::post(std::vector && tasks, bool front) { + std::unique_lock lock(mutex_tasks); + for (auto & task : tasks) { + if (task.id == -1) { + task.id = id++; + } + // if this is cancel task make sure to clean up pending tasks + if (task.type == SERVER_TASK_TYPE_CANCEL) { + cleanup_pending_task(task.id_target); + } + QUE_DBG("new task, id = %d/%d, front = %d\n", task.id, (int) tasks.size(), front); + if (front) { + queue_tasks.push_front(std::move(task)); + } else { + queue_tasks.push_back(std::move(task)); + } + } + condition_tasks.notify_one(); + return 0; +} + +void server_queue::defer(server_task && task) { + std::unique_lock lock(mutex_tasks); + QUE_DBG("defer task, id = %d\n", task.id); + queue_tasks_deferred.push_back(std::move(task)); + condition_tasks.notify_one(); +} + +int server_queue::get_new_id() { + std::unique_lock lock(mutex_tasks); + int new_id = id++; + return new_id; +} + +void server_queue::on_new_task(std::function callback) { + callback_new_task = std::move(callback); +} + +void server_queue::on_update_slots(std::function callback) { + callback_update_slots = std::move(callback); +} + +void server_queue::pop_deferred_task() { + std::unique_lock lock(mutex_tasks); + if (!queue_tasks_deferred.empty()) { + queue_tasks.emplace_front(std::move(queue_tasks_deferred.front())); + queue_tasks_deferred.pop_front(); + } + condition_tasks.notify_one(); +} + +void server_queue::terminate() { + std::unique_lock lock(mutex_tasks); + running = false; + condition_tasks.notify_all(); +} + +void server_queue::start_loop() { + running = true; + + while (true) { + QUE_DBG("%s", "processing new tasks\n"); + + while (true) { + std::unique_lock lock(mutex_tasks); + if (!running) { + QUE_DBG("%s", "terminate\n"); + return; + } + if (queue_tasks.empty()) { + lock.unlock(); + break; + } + server_task task = std::move(queue_tasks.front()); + queue_tasks.pop_front(); + lock.unlock(); + + QUE_DBG("processing task, id = %d\n", task.id); + callback_new_task(std::move(task)); + } + + // all tasks in the current loop is processed, slots data is now ready + QUE_DBG("%s", "update slots\n"); + + callback_update_slots(); + + QUE_DBG("%s", "waiting for new tasks\n"); + { + std::unique_lock lock(mutex_tasks); + if (!running) { + QUE_DBG("%s", "terminate\n"); + return; + } + if (queue_tasks.empty()) { + condition_tasks.wait(lock, [&]{ + return (!queue_tasks.empty() || !running); + }); + } + } + } +} + +void server_queue::cleanup_pending_task(int id_target) { + // no need lock because this is called exclusively by post() + auto rm_func = [id_target](const server_task & task) { + return task.id == id_target; + }; + queue_tasks.erase( + std::remove_if(queue_tasks.begin(), queue_tasks.end(), rm_func), + queue_tasks.end()); + queue_tasks_deferred.erase( + std::remove_if(queue_tasks_deferred.begin(), queue_tasks_deferred.end(), rm_func), + queue_tasks_deferred.end()); +} + +// +// server_response +// + +void server_response::add_waiting_task_id(int id_task) { + RES_DBG("add task %d to waiting list. current waiting = %d (before add)\n", id_task, (int) waiting_task_ids.size()); + + std::unique_lock lock(mutex_results); + waiting_task_ids.insert(id_task); +} + +void server_response::add_waiting_tasks(const std::vector & tasks) { + std::unique_lock lock(mutex_results); + + for (const auto & task : tasks) { + RES_DBG("add task %d to waiting list. current waiting = %d (before add)\n", task.id, (int) waiting_task_ids.size()); + waiting_task_ids.insert(task.id); + } +} + +void server_response::remove_waiting_task_id(int id_task) { + RES_DBG("remove task %d from waiting list. current waiting = %d (before remove)\n", id_task, (int) waiting_task_ids.size()); + + std::unique_lock lock(mutex_results); + waiting_task_ids.erase(id_task); + // make sure to clean up all pending results + queue_results.erase( + std::remove_if(queue_results.begin(), queue_results.end(), [id_task](const server_task_result_ptr & res) { + return res->id == id_task; + }), + queue_results.end()); +} + +void server_response::remove_waiting_task_ids(const std::unordered_set & id_tasks) { + std::unique_lock lock(mutex_results); + + for (const auto & id_task : id_tasks) { + RES_DBG("remove task %d from waiting list. current waiting = %d (before remove)\n", id_task, (int) waiting_task_ids.size()); + waiting_task_ids.erase(id_task); + } +} + +server_task_result_ptr server_response::recv(const std::unordered_set & id_tasks) { + while (true) { + std::unique_lock lock(mutex_results); + condition_results.wait(lock, [&]{ + if (!running) { + RES_DBG("%s : queue result stop\n", __func__); + std::terminate(); // we cannot return here since the caller is HTTP code + } + return !queue_results.empty(); + }); + + for (size_t i = 0; i < queue_results.size(); i++) { + if (id_tasks.find(queue_results[i]->id) != id_tasks.end()) { + server_task_result_ptr res = std::move(queue_results[i]); + queue_results.erase(queue_results.begin() + i); + return res; + } + } + } + + // should never reach here +} + +server_task_result_ptr server_response::recv_with_timeout(const std::unordered_set & id_tasks, int timeout) { + while (true) { + std::unique_lock lock(mutex_results); + + for (int i = 0; i < (int) queue_results.size(); i++) { + if (id_tasks.find(queue_results[i]->id) != id_tasks.end()) { + server_task_result_ptr res = std::move(queue_results[i]); + queue_results.erase(queue_results.begin() + i); + return res; + } + } + + std::cv_status cr_res = condition_results.wait_for(lock, std::chrono::seconds(timeout)); + if (!running) { + RES_DBG("%s : queue result stop\n", __func__); + std::terminate(); // we cannot return here since the caller is HTTP code + } + if (cr_res == std::cv_status::timeout) { + return nullptr; + } + } + + // should never reach here +} + +server_task_result_ptr server_response::recv(int id_task) { + std::unordered_set id_tasks = {id_task}; + return recv(id_tasks); +} + +void server_response::send(server_task_result_ptr && result) { + RES_DBG("sending result for task id = %d\n", result->id); + + std::unique_lock lock(mutex_results); + for (const auto & id_task : waiting_task_ids) { + if (result->id == id_task) { + RES_DBG("task id = %d pushed to result queue\n", result->id); + + queue_results.emplace_back(std::move(result)); + condition_results.notify_all(); + return; + } + } +} + +void server_response::terminate() { + running = false; + condition_results.notify_all(); +} diff --git a/tools/server/server-queue.h b/tools/server/server-queue.h new file mode 100644 index 00000000000..47ef58425ea --- /dev/null +++ b/tools/server/server-queue.h @@ -0,0 +1,110 @@ +#pragma once + +#include "server-task.h" + +#include +#include +#include +#include + +struct server_queue { +private: + int id = 0; + bool running; + + // queues + std::deque queue_tasks; + std::deque queue_tasks_deferred; + + std::mutex mutex_tasks; + std::condition_variable condition_tasks; + + // callback functions + std::function callback_new_task; + std::function callback_update_slots; + +public: + // Add a new task to the end of the queue + int post(server_task && task, bool front = false); + + // multi-task version of post() + int post(std::vector && tasks, bool front = false); + + // Add a new task, but defer until one slot is available + void defer(server_task && task); + + // Get the next id for creating a new task + int get_new_id(); + + // Register function to process a new task + void on_new_task(std::function callback); + + // Register the function to be called when all slots data is ready to be processed + void on_update_slots(std::function callback); + + // Call when the state of one slot is changed, it will move one task from deferred to main queue + void pop_deferred_task(); + + // end the start_loop routine + void terminate(); + + /** + * Main loop consists of these steps: + * - Wait until a new task arrives + * - Process the task (i.e. maybe copy data into slot) + * - Check if multitask is finished + * - Update all slots + */ + void start_loop(); + + // for metrics + size_t queue_tasks_deferred_size() { + std::unique_lock lock(mutex_tasks); + return queue_tasks_deferred.size(); + } + +private: + void cleanup_pending_task(int id_target); +}; + +struct server_response { +private: + bool running = true; + + // for keeping track of all tasks waiting for the result + std::unordered_set waiting_task_ids; + + // the main result queue (using ptr for polymorphism) + std::vector queue_results; + + std::mutex mutex_results; + std::condition_variable condition_results; + +public: + // add the id_task to the list of tasks waiting for response + void add_waiting_task_id(int id_task); + + void add_waiting_tasks(const std::vector & tasks); + + // when the request is finished, we can remove task associated with it + void remove_waiting_task_id(int id_task); + + // remove multiple tasks from waiting list + void remove_waiting_task_ids(const std::unordered_set & id_tasks); + + // This function blocks the thread until there is a response for one of the id_tasks + server_task_result_ptr recv(const std::unordered_set & id_tasks); + + // same as recv(), but have timeout in seconds + // if timeout is reached, nullptr is returned + server_task_result_ptr recv_with_timeout(const std::unordered_set & id_tasks, int timeout); + + // single-task version of recv() + server_task_result_ptr recv(int id_task); + + // Send a new result to a waiting id_task + void send(server_task_result_ptr && result); + + // terminate the waiting loop + void terminate(); +}; diff --git a/tools/server/server-task.cpp b/tools/server/server-task.cpp new file mode 100644 index 00000000000..bc4436ba65b --- /dev/null +++ b/tools/server/server-task.cpp @@ -0,0 +1,1192 @@ +#include "server-common.h" +#include "server-task.h" + +#include "common.h" +#include "llama.h" +#include "chat.h" +#include "sampling.h" +#include "json-schema-to-grammar.h" + +using json = nlohmann::ordered_json; + +// +// task_params +// + +json task_params::format_logit_bias(const std::vector & logit_bias) const { + json data = json::array(); + for (const auto & lb : logit_bias) { + data.push_back(json{ + {"bias", lb.bias}, + {"token", lb.token}, + }); + } + return data; +} + +json task_params::to_json(bool only_metrics) const { + std::vector samplers; + samplers.reserve(sampling.samplers.size()); + for (const auto & sampler : sampling.samplers) { + samplers.emplace_back(common_sampler_type_to_str(sampler)); + } + + json lora = json::array(); + for (size_t i = 0; i < this->lora.size(); ++i) { + lora.push_back({{"id", i}, {"scale", this->lora[i].scale}}); + } + + if (only_metrics) { + return json { + {"seed", sampling.seed}, + {"temperature", sampling.temp}, + {"dynatemp_range", sampling.dynatemp_range}, + {"dynatemp_exponent", sampling.dynatemp_exponent}, + {"top_k", sampling.top_k}, + {"top_p", sampling.top_p}, + {"min_p", sampling.min_p}, + {"top_n_sigma", sampling.top_n_sigma}, + {"xtc_probability", sampling.xtc_probability}, + {"xtc_threshold", sampling.xtc_threshold}, + {"typical_p", sampling.typ_p}, + {"repeat_last_n", sampling.penalty_last_n}, + {"repeat_penalty", sampling.penalty_repeat}, + {"presence_penalty", sampling.penalty_present}, + {"frequency_penalty", sampling.penalty_freq}, + {"dry_multiplier", sampling.dry_multiplier}, + {"dry_base", sampling.dry_base}, + {"dry_allowed_length", sampling.dry_allowed_length}, + {"dry_penalty_last_n", sampling.dry_penalty_last_n}, + {"mirostat", sampling.mirostat}, + {"mirostat_tau", sampling.mirostat_tau}, + {"mirostat_eta", sampling.mirostat_eta}, + {"max_tokens", n_predict}, + {"n_predict", n_predict}, // TODO: deduplicate? + {"n_keep", n_keep}, + {"n_discard", n_discard}, + {"ignore_eos", sampling.ignore_eos}, + {"stream", stream}, + {"n_probs", sampling.n_probs}, + {"min_keep", sampling.min_keep}, + {"chat_format", common_chat_format_name(oaicompat_chat_syntax.format)}, + {"reasoning_format", common_reasoning_format_name(oaicompat_chat_syntax.reasoning_format)}, + {"reasoning_in_content", oaicompat_chat_syntax.reasoning_in_content}, + {"thinking_forced_open", oaicompat_chat_syntax.thinking_forced_open}, + {"samplers", samplers}, + {"speculative.n_max", speculative.n_max}, + {"speculative.n_min", speculative.n_min}, + {"speculative.p_min", speculative.p_min}, + {"timings_per_token", timings_per_token}, + {"post_sampling_probs", post_sampling_probs}, + {"lora", lora}, + }; + } + + auto grammar_triggers = json::array(); + for (const auto & trigger : sampling.grammar_triggers) { + server_grammar_trigger ct(trigger); + grammar_triggers.push_back(ct.to_json()); + } + + return json { + {"seed", sampling.seed}, + {"temperature", sampling.temp}, + {"dynatemp_range", sampling.dynatemp_range}, + {"dynatemp_exponent", sampling.dynatemp_exponent}, + {"top_k", sampling.top_k}, + {"top_p", sampling.top_p}, + {"min_p", sampling.min_p}, + {"top_n_sigma", sampling.top_n_sigma}, + {"xtc_probability", sampling.xtc_probability}, + {"xtc_threshold", sampling.xtc_threshold}, + {"typical_p", sampling.typ_p}, + {"repeat_last_n", sampling.penalty_last_n}, + {"repeat_penalty", sampling.penalty_repeat}, + {"presence_penalty", sampling.penalty_present}, + {"frequency_penalty", sampling.penalty_freq}, + {"dry_multiplier", sampling.dry_multiplier}, + {"dry_base", sampling.dry_base}, + {"dry_allowed_length", sampling.dry_allowed_length}, + {"dry_penalty_last_n", sampling.dry_penalty_last_n}, + {"dry_sequence_breakers", sampling.dry_sequence_breakers}, + {"mirostat", sampling.mirostat}, + {"mirostat_tau", sampling.mirostat_tau}, + {"mirostat_eta", sampling.mirostat_eta}, + {"stop", antiprompt}, + {"max_tokens", n_predict}, + {"n_predict", n_predict}, // TODO: deduplicate? + {"n_keep", n_keep}, + {"n_discard", n_discard}, + {"ignore_eos", sampling.ignore_eos}, + {"stream", stream}, + {"logit_bias", format_logit_bias(sampling.logit_bias)}, + {"n_probs", sampling.n_probs}, + {"min_keep", sampling.min_keep}, + {"grammar", sampling.grammar}, + {"grammar_lazy", sampling.grammar_lazy}, + {"grammar_triggers", grammar_triggers}, + {"preserved_tokens", sampling.preserved_tokens}, + {"chat_format", common_chat_format_name(oaicompat_chat_syntax.format)}, + {"reasoning_format", common_reasoning_format_name(oaicompat_chat_syntax.reasoning_format)}, + {"reasoning_in_content", oaicompat_chat_syntax.reasoning_in_content}, + {"thinking_forced_open", oaicompat_chat_syntax.thinking_forced_open}, + {"samplers", samplers}, + {"speculative.n_max", speculative.n_max}, + {"speculative.n_min", speculative.n_min}, + {"speculative.p_min", speculative.p_min}, + {"timings_per_token", timings_per_token}, + {"post_sampling_probs", post_sampling_probs}, + {"lora", lora}, + }; +} + +// +// server_task +// + +task_params server_task::params_from_json_cmpl( + const llama_context * ctx, + const common_params & params_base, + const json & data) { + const llama_model * model = llama_get_model(ctx); + const llama_vocab * vocab = llama_model_get_vocab(model); + + task_params params; + + // Sampling parameter defaults are loaded from the global server context (but individual requests can still them) + task_params defaults; + defaults.sampling = params_base.sampling; + defaults.speculative = params_base.speculative; + defaults.n_keep = params_base.n_keep; + defaults.n_predict = params_base.n_predict; + defaults.antiprompt = params_base.antiprompt; + + // enabling this will output extra debug information in the HTTP responses from the server + params.verbose = params_base.verbosity > 9; + params.timings_per_token = json_value(data, "timings_per_token", false); + + params.stream = json_value(data, "stream", false); + auto stream_opt = json_value(data, "stream_options", json::object()); + params.include_usage = json_value(stream_opt, "include_usage", false); + params.cache_prompt = json_value(data, "cache_prompt", true); + params.return_tokens = json_value(data, "return_tokens", false); + params.return_progress = json_value(data, "return_progress", false); + params.n_predict = json_value(data, "n_predict", json_value(data, "max_tokens", defaults.n_predict)); + params.n_indent = json_value(data, "n_indent", defaults.n_indent); + params.n_keep = json_value(data, "n_keep", defaults.n_keep); + params.n_discard = json_value(data, "n_discard", defaults.n_discard); + //params.t_max_prompt_ms = json_value(data, "t_max_prompt_ms", defaults.t_max_prompt_ms); // TODO: implement + params.t_max_predict_ms = json_value(data, "t_max_predict_ms", defaults.t_max_predict_ms); + params.response_fields = json_value(data, "response_fields", std::vector()); + + params.sampling.top_k = json_value(data, "top_k", defaults.sampling.top_k); + params.sampling.top_p = json_value(data, "top_p", defaults.sampling.top_p); + params.sampling.min_p = json_value(data, "min_p", defaults.sampling.min_p); + params.sampling.top_n_sigma = json_value(data, "top_n_sigma", defaults.sampling.top_n_sigma); + params.sampling.xtc_probability = json_value(data, "xtc_probability", defaults.sampling.xtc_probability); + params.sampling.xtc_threshold = json_value(data, "xtc_threshold", defaults.sampling.xtc_threshold); + params.sampling.typ_p = json_value(data, "typical_p", defaults.sampling.typ_p); + params.sampling.temp = json_value(data, "temperature", defaults.sampling.temp); + params.sampling.dynatemp_range = json_value(data, "dynatemp_range", defaults.sampling.dynatemp_range); + params.sampling.dynatemp_exponent = json_value(data, "dynatemp_exponent", defaults.sampling.dynatemp_exponent); + params.sampling.penalty_last_n = json_value(data, "repeat_last_n", defaults.sampling.penalty_last_n); + params.sampling.penalty_repeat = json_value(data, "repeat_penalty", defaults.sampling.penalty_repeat); + params.sampling.penalty_freq = json_value(data, "frequency_penalty", defaults.sampling.penalty_freq); + params.sampling.penalty_present = json_value(data, "presence_penalty", defaults.sampling.penalty_present); + params.sampling.dry_multiplier = json_value(data, "dry_multiplier", defaults.sampling.dry_multiplier); + params.sampling.dry_base = json_value(data, "dry_base", defaults.sampling.dry_base); + params.sampling.dry_allowed_length = json_value(data, "dry_allowed_length", defaults.sampling.dry_allowed_length); + params.sampling.dry_penalty_last_n = json_value(data, "dry_penalty_last_n", defaults.sampling.dry_penalty_last_n); + params.sampling.mirostat = json_value(data, "mirostat", defaults.sampling.mirostat); + params.sampling.mirostat_tau = json_value(data, "mirostat_tau", defaults.sampling.mirostat_tau); + params.sampling.mirostat_eta = json_value(data, "mirostat_eta", defaults.sampling.mirostat_eta); + params.sampling.seed = json_value(data, "seed", defaults.sampling.seed); + params.sampling.n_probs = json_value(data, "n_probs", defaults.sampling.n_probs); + params.sampling.min_keep = json_value(data, "min_keep", defaults.sampling.min_keep); + params.post_sampling_probs = json_value(data, "post_sampling_probs", defaults.post_sampling_probs); + + params.speculative.n_min = json_value(data, "speculative.n_min", defaults.speculative.n_min); + params.speculative.n_max = json_value(data, "speculative.n_max", defaults.speculative.n_max); + params.speculative.p_min = json_value(data, "speculative.p_min", defaults.speculative.p_min); + + params.speculative.n_min = std::min(params.speculative.n_max, params.speculative.n_min); + params.speculative.n_min = std::max(params.speculative.n_min, 0); + params.speculative.n_max = std::max(params.speculative.n_max, 0); + + // 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); + } + + if (data.contains("lora")) { + if (data.at("lora").is_array()) { + params.lora = parse_lora_request(params_base.lora_adapters, data.at("lora")); + } else { + throw std::runtime_error("Error: 'lora' must be an array of objects with 'id' and 'scale' fields"); + } + } else { + params.lora = params_base.lora_adapters; + } + + // TODO: add more sanity checks for the input parameters + + if (params.sampling.penalty_last_n < -1) { + throw std::runtime_error("Error: repeat_last_n must be >= -1"); + } + + if (params.sampling.dry_penalty_last_n < -1) { + throw std::runtime_error("Error: dry_penalty_last_n must be >= -1"); + } + + if (params.sampling.penalty_last_n == -1) { + // note: should be the slot's context and not the full context, but it's ok + params.sampling.penalty_last_n = llama_n_ctx(ctx); + } + + if (params.sampling.dry_penalty_last_n == -1) { + params.sampling.dry_penalty_last_n = llama_n_ctx(ctx); + } + + if (params.sampling.dry_base < 1.0f) { + params.sampling.dry_base = defaults.sampling.dry_base; + } + + // sequence breakers for DRY + { + // Currently, this is not compatible with TextGen WebUI, Koboldcpp and SillyTavern format + // Ref: https://github.com/oobabooga/text-generation-webui/blob/d1af7a41ade7bd3c3a463bfa640725edb818ebaf/extensions/openai/typing.py#L39 + + if (data.contains("dry_sequence_breakers")) { + params.sampling.dry_sequence_breakers = json_value(data, "dry_sequence_breakers", std::vector()); + if (params.sampling.dry_sequence_breakers.empty()) { + throw std::runtime_error("Error: dry_sequence_breakers must be a non-empty array of strings"); + } + } + } + + // process "json_schema" and "grammar" + if (data.contains("json_schema") && !data.contains("grammar")) { + try { + auto schema = json_value(data, "json_schema", json::object()); + SRV_DBG("JSON schema: %s\n", schema.dump(2).c_str()); + params.sampling.grammar = json_schema_to_grammar(schema); + SRV_DBG("Converted grammar: %s\n", params.sampling.grammar.c_str()); + } catch (const std::exception & e) { + throw std::runtime_error(std::string("\"json_schema\": ") + e.what()); + } + } else { + params.sampling.grammar = json_value(data, "grammar", defaults.sampling.grammar); + SRV_DBG("Grammar: %s\n", params.sampling.grammar.c_str()); + params.sampling.grammar_lazy = json_value(data, "grammar_lazy", defaults.sampling.grammar_lazy); + SRV_DBG("Grammar lazy: %s\n", params.sampling.grammar_lazy ? "true" : "false"); + } + + { + auto it = data.find("chat_format"); + if (it != data.end()) { + params.oaicompat_chat_syntax.format = static_cast(it->get()); + SRV_INF("Chat format: %s\n", common_chat_format_name(params.oaicompat_chat_syntax.format)); + } else { + params.oaicompat_chat_syntax.format = defaults.oaicompat_chat_syntax.format; + } + common_reasoning_format reasoning_format = params_base.reasoning_format; + if (data.contains("reasoning_format")) { + reasoning_format = common_reasoning_format_from_name(data.at("reasoning_format").get()); + } + params.oaicompat_chat_syntax.reasoning_format = reasoning_format; + params.oaicompat_chat_syntax.reasoning_in_content = params.stream && (reasoning_format == COMMON_REASONING_FORMAT_DEEPSEEK_LEGACY); + params.oaicompat_chat_syntax.thinking_forced_open = json_value(data, "thinking_forced_open", false); + params.oaicompat_chat_syntax.parse_tool_calls = json_value(data, "parse_tool_calls", false); + } + + { + const auto preserved_tokens = data.find("preserved_tokens"); + if (preserved_tokens != data.end()) { + for (const auto & t : *preserved_tokens) { + auto ids = common_tokenize(vocab, t.get(), /* add_special= */ false, /* parse_special= */ true); + if (ids.size() == 1) { + SRV_DBG("Preserved token: %d\n", ids[0]); + params.sampling.preserved_tokens.insert(ids[0]); + } else { + // This may happen when using a tool call style meant for a model with special tokens to preserve on a model without said tokens. + SRV_DBG("Not preserved because more than 1 token: %s\n", t.get().c_str()); + } + } + } + const auto grammar_triggers = data.find("grammar_triggers"); + if (grammar_triggers != data.end()) { + for (const auto & t : *grammar_triggers) { + server_grammar_trigger ct(t); + if (ct.value.type == COMMON_GRAMMAR_TRIGGER_TYPE_WORD) { + const auto & word = ct.value.value; + auto ids = common_tokenize(vocab, word, /* add_special= */ false, /* parse_special= */ true); + if (ids.size() == 1) { + auto token = ids[0]; + if (std::find(params.sampling.preserved_tokens.begin(), params.sampling.preserved_tokens.end(), (llama_token) token) == params.sampling.preserved_tokens.end()) { + throw std::runtime_error("Grammar trigger word should be marked as preserved token: " + word); + } + SRV_DBG("Grammar trigger token: %d (`%s`)\n", token, word.c_str()); + common_grammar_trigger trigger; + trigger.type = COMMON_GRAMMAR_TRIGGER_TYPE_TOKEN; + trigger.value = word; + trigger.token = token; + params.sampling.grammar_triggers.push_back(std::move(trigger)); + } else { + SRV_DBG("Grammar trigger word: `%s`\n", word.c_str()); + params.sampling.grammar_triggers.push_back({COMMON_GRAMMAR_TRIGGER_TYPE_WORD, word}); + } + } else { + if (ct.value.type == COMMON_GRAMMAR_TRIGGER_TYPE_PATTERN) { + SRV_DBG("Grammar trigger pattern: `%s`\n", ct.value.value.c_str()); + } else if (ct.value.type == COMMON_GRAMMAR_TRIGGER_TYPE_PATTERN_FULL) { + SRV_DBG("Grammar trigger pattern full: `%s`\n", ct.value.value.c_str()); + } else { + throw std::runtime_error("Unknown grammar trigger type"); + } + params.sampling.grammar_triggers.emplace_back(std::move(ct.value)); + } + } + } + if (params.sampling.grammar_lazy && params.sampling.grammar_triggers.empty()) { + throw std::runtime_error("Error: no triggers set for lazy grammar!"); + } + } + + { + params.sampling.logit_bias.clear(); + + const auto & logit_bias = data.find("logit_bias"); + if (logit_bias != data.end() && logit_bias->is_array()) { + const int n_vocab = llama_vocab_n_tokens(vocab); + for (const auto & el : *logit_bias) { + // TODO: we may want to throw errors here, in case "el" is incorrect + if (el.is_array() && el.size() == 2) { + float bias; + if (el[1].is_number()) { + bias = el[1].get(); + } else if (el[1].is_boolean() && !el[1].get()) { + bias = -INFINITY; + } else { + continue; + } + + if (el[0].is_number_integer()) { + llama_token tok = el[0].get(); + if (tok >= 0 && tok < n_vocab) { + params.sampling.logit_bias.push_back({tok, bias}); + } + } else if (el[0].is_string()) { + auto toks = common_tokenize(vocab, el[0].get(), false); + for (auto tok : toks) { + params.sampling.logit_bias.push_back({tok, bias}); + } + } + } + } + } else if (logit_bias != data.end() && logit_bias->is_object()) { + const int n_vocab = llama_vocab_n_tokens(vocab); + for (const auto & el : logit_bias->items()) { + float bias; + const auto & key = el.key(); + const auto & value = el.value(); + if (value.is_number()) { + bias = value.get(); + } else if (value.is_boolean() && !value.get()) { + bias = -INFINITY; + } else { + continue; + } + + char *end; + llama_token tok = strtol(key.c_str(), &end, 10); + if (*end == 0) { + if (tok >= 0 && tok < n_vocab) { + params.sampling.logit_bias.push_back({tok, bias}); + } + } else { + auto toks = common_tokenize(vocab, key, false); + for (auto tok : toks) { + params.sampling.logit_bias.push_back({tok, bias}); + } + } + } + } + + params.sampling.ignore_eos = json_value(data, "ignore_eos", params_base.sampling.ignore_eos); + if (params.sampling.ignore_eos) { + params.sampling.logit_bias.insert( + params.sampling.logit_bias.end(), + defaults.sampling.logit_bias_eog.begin(), defaults.sampling.logit_bias_eog.end()); + } + } + + { + params.antiprompt.clear(); + + const auto & stop = data.find("stop"); + if (stop != data.end() && stop->is_array()) { + for (const auto & word : *stop) { + if (!word.empty()) { + params.antiprompt.push_back(word); + } + } + } + // set reverse prompt from cli args if not set in the request + if (params.antiprompt.empty()) { + params.antiprompt = defaults.antiprompt; + } + } + + { + const auto samplers = data.find("samplers"); + if (samplers != data.end()) { + if (samplers->is_array()) { + params.sampling.samplers = common_sampler_types_from_names(*samplers, false); + } else if (samplers->is_string()){ + params.sampling.samplers = common_sampler_types_from_chars(samplers->get()); + } + } else { + params.sampling.samplers = defaults.sampling.samplers; + } + } + + std::string model_name = params_base.model_alias.empty() ? DEFAULT_OAICOMPAT_MODEL : params_base.model_alias; + params.oaicompat_model = json_value(data, "model", model_name); + + return params; +} + +// +// result_timings +// + +json result_timings::to_json() const { + json base = { + {"cache_n", cache_n}, + + {"prompt_n", prompt_n}, + {"prompt_ms", prompt_ms}, + {"prompt_per_token_ms", prompt_per_token_ms}, + {"prompt_per_second", prompt_per_second}, + + {"predicted_n", predicted_n}, + {"predicted_ms", predicted_ms}, + {"predicted_per_token_ms", predicted_per_token_ms}, + {"predicted_per_second", predicted_per_second}, + }; + + if (draft_n > 0) { + base["draft_n"] = draft_n; + base["draft_n_accepted"] = draft_n_accepted; + } + + return base; +} + +// +// result_prompt_progress +// +json result_prompt_progress::to_json() const { + return json { + {"total", total}, + {"cache", cache}, + {"processed", processed}, + {"time_ms", time_ms}, + }; +} + +static inline std::string stop_type_to_str(stop_type type) { + switch (type) { + case STOP_TYPE_EOS: return "eos"; + case STOP_TYPE_WORD: return "word"; + case STOP_TYPE_LIMIT: return "limit"; + default: return "none"; + } +} + +// +// completion_token_output +// + +json completion_token_output::to_json(bool post_sampling_probs) const { + json probs_for_token = json::array(); + for (const auto & p : probs) { + std::string txt(p.txt); + txt.resize(validate_utf8(txt)); + probs_for_token.push_back(json { + {"id", p.tok}, + {"token", txt}, + {"bytes", str_to_bytes(p.txt)}, + { + post_sampling_probs ? "prob" : "logprob", + post_sampling_probs ? p.prob : logarithm(p.prob) + }, + }); + } + return probs_for_token; +} + +json completion_token_output::probs_vector_to_json(const std::vector & probs, bool post_sampling_probs) { + json out = json::array(); + for (const auto & p : probs) { + std::string txt(p.text_to_send); + txt.resize(validate_utf8(txt)); + out.push_back(json { + {"id", p.tok}, + {"token", txt}, + {"bytes", str_to_bytes(p.text_to_send)}, + { + post_sampling_probs ? "prob" : "logprob", + post_sampling_probs ? p.prob : logarithm(p.prob) + }, + { + post_sampling_probs ? "top_probs" : "top_logprobs", + p.to_json(post_sampling_probs) + }, + }); + } + return out; +} + +float completion_token_output::logarithm(float x) { + // nlohmann::json converts -inf to null, so we need to prevent that + return x == 0.0f ? std::numeric_limits::lowest() : std::log(x); +} + +std::vector completion_token_output::str_to_bytes(const std::string & str) { + std::vector bytes; + for (unsigned char c : str) { + bytes.push_back(c); + } + return bytes; +} + +// +// server_task_result_cmpl_final +// +json server_task_result_cmpl_final::to_json() { + switch (oaicompat) { + case OAICOMPAT_TYPE_NONE: + return to_json_non_oaicompat(); + case OAICOMPAT_TYPE_COMPLETION: + return to_json_oaicompat(); + case OAICOMPAT_TYPE_CHAT: + return stream ? to_json_oaicompat_chat_stream() : to_json_oaicompat_chat(); + default: + GGML_ASSERT(false && "Invalid oaicompat_type"); + } +} + +json server_task_result_cmpl_final::to_json_non_oaicompat() { + json res = json { + {"index", index}, + {"content", stream ? "" : content}, // in stream mode, content is already in last partial chunk + {"tokens", stream ? llama_tokens {} : tokens}, + {"id_slot", id_slot}, + {"stop", true}, + {"model", oaicompat_model}, + {"tokens_predicted", n_decoded}, + {"tokens_evaluated", n_prompt_tokens}, + {"generation_settings", generation_params.to_json()}, + {"prompt", prompt}, + {"has_new_line", has_new_line}, + {"truncated", truncated}, + {"stop_type", stop_type_to_str(stop)}, + {"stopping_word", stopping_word}, + {"tokens_cached", n_tokens_cached}, + {"timings", timings.to_json()}, + }; + if (!stream && !probs_output.empty()) { + res["completion_probabilities"] = completion_token_output::probs_vector_to_json(probs_output, post_sampling_probs); + } + return response_fields.empty() ? res : json_get_nested_values(response_fields, res); +} + +json server_task_result_cmpl_final::to_json_oaicompat() { + std::time_t t = std::time(0); + json logprobs = json(nullptr); // OAI default to null + if (!stream && probs_output.size() > 0) { + logprobs = json{ + {"content", completion_token_output::probs_vector_to_json(probs_output, post_sampling_probs)}, + }; + } + json finish_reason = "length"; + if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) { + finish_reason = "stop"; + } + json res = json { + {"choices", json::array({ + json{ + {"text", stream ? "" : content}, // in stream mode, content is already in last partial chunk + {"index", index}, + {"logprobs", logprobs}, + {"finish_reason", finish_reason}, + } + })}, + {"created", t}, + {"model", oaicompat_model}, + {"system_fingerprint", build_info}, + {"object", "text_completion"}, + {"usage", json { + {"completion_tokens", n_decoded}, + {"prompt_tokens", n_prompt_tokens}, + {"total_tokens", n_decoded + n_prompt_tokens} + }}, + {"id", oaicompat_cmpl_id} + }; + + // extra fields for debugging purposes + if (verbose) { + res["__verbose"] = to_json_non_oaicompat(); + } + if (timings.prompt_n >= 0) { + res.push_back({"timings", timings.to_json()}); + } + + return res; +} + +json server_task_result_cmpl_final::to_json_oaicompat_chat() { + std::string finish_reason = "length"; + common_chat_msg msg; + if (!oaicompat_msg.empty()) { + msg = oaicompat_msg; + } else { + msg.role = "assistant"; + msg.content = content; + } + if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) { + finish_reason = msg.tool_calls.empty() ? "stop" : "tool_calls"; + } + + json choice { + {"finish_reason", finish_reason}, + {"index", 0}, + {"message", msg.to_json_oaicompat()}, + }; + + if (!stream && probs_output.size() > 0) { + choice["logprobs"] = json{ + {"content", completion_token_output::probs_vector_to_json(probs_output, post_sampling_probs)}, + }; + } + + std::time_t t = std::time(0); + + json res = json { + {"choices", json::array({choice})}, + {"created", t}, + {"model", oaicompat_model}, + {"system_fingerprint", build_info}, + {"object", "chat.completion"}, + {"usage", json { + {"completion_tokens", n_decoded}, + {"prompt_tokens", n_prompt_tokens}, + {"total_tokens", n_decoded + n_prompt_tokens} + }}, + {"id", oaicompat_cmpl_id} + }; + + // extra fields for debugging purposes + if (verbose) { + res["__verbose"] = to_json_non_oaicompat(); + } + if (timings.prompt_n >= 0) { + res.push_back({"timings", timings.to_json()}); + } + + return res; +} + +json server_task_result_cmpl_final::to_json_oaicompat_chat_stream() { + std::time_t t = std::time(0); + std::string finish_reason = "length"; + if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) { + finish_reason = oaicompat_msg.tool_calls.empty() ? "stop" : "tool_calls"; + } + + json deltas = json::array(); + for (const auto & diff : oaicompat_msg_diffs) { + deltas.push_back({ + {"choices", json::array({ + json { + {"finish_reason", nullptr}, + {"index", 0}, + {"delta", common_chat_msg_diff_to_json_oaicompat(diff)}, + }, + })}, + {"created", t}, + {"id", oaicompat_cmpl_id}, + {"model", oaicompat_model}, + {"system_fingerprint", build_info}, + {"object", "chat.completion.chunk"}, + }); + } + + deltas.push_back({ + {"choices", json::array({ + json { + {"finish_reason", finish_reason}, + {"index", 0}, + {"delta", json::object()}, + }, + })}, + {"created", t}, + {"id", oaicompat_cmpl_id}, + {"model", oaicompat_model}, + {"system_fingerprint", build_info}, + {"object", "chat.completion.chunk"}, + }); + + if (include_usage) { + // OpenAI API spec for chat.completion.chunks specifies an empty `choices` array for the last chunk when including usage + // https://platform.openai.com/docs/api-reference/chat_streaming/streaming#chat_streaming/streaming-choices + deltas.push_back({ + {"choices", json::array()}, + {"created", t}, + {"id", oaicompat_cmpl_id}, + {"model", oaicompat_model}, + {"system_fingerprint", build_info}, + {"object", "chat.completion.chunk"}, + {"usage", json { + {"completion_tokens", n_decoded}, + {"prompt_tokens", n_prompt_tokens}, + {"total_tokens", n_decoded + n_prompt_tokens}, + }}, + }); + } + + if (timings.prompt_n >= 0) { + deltas.back().push_back({"timings", timings.to_json()}); + } + + // extra fields for debugging purposes + if (verbose && !deltas.empty()) { + deltas.front()["__verbose"] = to_json_non_oaicompat(); + } + + return deltas; +} + +// +// server_task_result_cmpl_partial +// +json server_task_result_cmpl_partial::to_json() { + switch (oaicompat) { + case OAICOMPAT_TYPE_NONE: + return to_json_non_oaicompat(); + case OAICOMPAT_TYPE_COMPLETION: + return to_json_oaicompat(); + case OAICOMPAT_TYPE_CHAT: + return to_json_oaicompat_chat(); + default: + GGML_ASSERT(false && "Invalid oaicompat_type"); + } +} + +json server_task_result_cmpl_partial::to_json_non_oaicompat() { + // non-OAI-compat JSON + json res = json { + {"index", index}, + {"content", content}, + {"tokens", tokens}, + {"stop", false}, + {"id_slot", id_slot}, + {"tokens_predicted", n_decoded}, + {"tokens_evaluated", n_prompt_tokens}, + }; + // populate the timings object when needed (usually for the last response or with timings_per_token enabled) + if (timings.prompt_n > 0) { + res.push_back({"timings", timings.to_json()}); + } + if (is_progress) { + res.push_back({"prompt_progress", progress.to_json()}); + } + if (!prob_output.probs.empty()) { + res["completion_probabilities"] = completion_token_output::probs_vector_to_json({prob_output}, post_sampling_probs); + } + return res; +} + +json server_task_result_cmpl_partial::to_json_oaicompat() { + std::time_t t = std::time(0); + json logprobs = json(nullptr); // OAI default to null + if (prob_output.probs.size() > 0) { + logprobs = json{ + {"content", completion_token_output::probs_vector_to_json({prob_output}, post_sampling_probs)}, + }; + } + json res = json { + {"choices", json::array({ + json{ + {"text", content}, + {"index", index}, + {"logprobs", logprobs}, + {"finish_reason", nullptr}, + } + })}, + {"created", t}, + {"model", oaicompat_model}, + {"system_fingerprint", build_info}, + {"object", "text_completion"}, + {"id", oaicompat_cmpl_id} + }; + + // extra fields for debugging purposes + if (verbose) { + res["__verbose"] = to_json_non_oaicompat(); + } + if (timings.prompt_n >= 0) { + res.push_back({"timings", timings.to_json()}); + } + if (is_progress) { + res.push_back({"prompt_progress", progress.to_json()}); + } + + return res; +} + +json server_task_result_cmpl_partial::to_json_oaicompat_chat() { + bool first = n_decoded == 1; + std::time_t t = std::time(0); + json choices; + + std::vector deltas; + auto add_delta = [&](const json & delta) { + deltas.push_back({ + {"choices", json::array({ + json { + {"finish_reason", nullptr}, + {"index", 0}, + {"delta", delta}, + }, + })}, + {"created", t}, + {"id", oaicompat_cmpl_id}, + {"model", oaicompat_model}, + {"system_fingerprint", build_info}, + {"object", "chat.completion.chunk"}, + }); + }; + // We have to send an initial update to conform to openai behavior + if (first || is_progress) { + add_delta({ + {"role", "assistant"}, + {"content", nullptr}, + }); + } + + for (const auto & diff : oaicompat_msg_diffs) { + add_delta(common_chat_msg_diff_to_json_oaicompat(diff)); + } + + if (!deltas.empty()) { + auto & last_json = deltas[deltas.size() - 1]; + GGML_ASSERT(last_json.at("choices").size() >= 1); + + if (prob_output.probs.size() > 0) { + last_json.at("choices").at(0)["logprobs"] = json { + {"content", completion_token_output::probs_vector_to_json({prob_output}, post_sampling_probs)}, + }; + } + + if (timings.prompt_n >= 0) { + last_json.push_back({"timings", timings.to_json()}); + } + if (is_progress) { + last_json.push_back({"prompt_progress", progress.to_json()}); + } + } + + return deltas; +} + +// +// server_task_result_embd +// +json server_task_result_embd::to_json() { + return oaicompat == OAICOMPAT_TYPE_EMBEDDING + ? to_json_oaicompat() + : to_json_non_oaicompat(); +} + +json server_task_result_embd::to_json_non_oaicompat() { + return json { + {"index", index}, + {"embedding", embedding}, + }; +} + +json server_task_result_embd::to_json_oaicompat() { + return json { + {"index", index}, + {"embedding", embedding[0]}, + {"tokens_evaluated", n_tokens}, + }; +} + +// +// server_task_result_rerank +// +json server_task_result_rerank::to_json() { + return json { + {"index", index}, + {"score", score}, + {"tokens_evaluated", n_tokens}, + }; +} + +// +// server_task_result_error +// +json server_task_result_error::to_json() { + json res = format_error_response(err_msg, err_type); + if (err_type == ERROR_TYPE_EXCEED_CONTEXT_SIZE) { + res["n_prompt_tokens"] = n_prompt_tokens; + res["n_ctx"] = n_ctx; + } + return res; +} + +// +// server_task_result_metrics +// +json server_task_result_metrics::to_json() { + return json { + { "idle", n_idle_slots }, + { "processing", n_processing_slots }, + { "deferred", n_tasks_deferred }, + { "t_start", t_start }, + + { "n_prompt_tokens_processed_total", n_prompt_tokens_processed_total }, + { "t_tokens_generation_total", t_tokens_generation_total }, + { "n_tokens_predicted_total", n_tokens_predicted_total }, + { "t_prompt_processing_total", t_prompt_processing_total }, + + { "n_tokens_max", n_tokens_max }, + + { "n_prompt_tokens_processed", n_prompt_tokens_processed }, + { "t_prompt_processing", t_prompt_processing }, + { "n_tokens_predicted", n_tokens_predicted }, + { "t_tokens_generation", t_tokens_generation }, + + { "n_decode_total", n_decode_total }, + { "n_busy_slots_total", n_busy_slots_total }, + + { "slots", slots_data }, + }; +} + +// +// server_task_result_slot_save_load +// +json server_task_result_slot_save_load::to_json() { + if (is_save) { + return json { + { "id_slot", id_slot }, + { "filename", filename }, + { "n_saved", n_tokens }, + { "n_written", n_bytes }, + { "timings", { + { "save_ms", t_ms } + }}, + }; + } + + return json { + { "id_slot", id_slot }, + { "filename", filename }, + { "n_restored", n_tokens }, + { "n_read", n_bytes }, + { "timings", { + { "restore_ms", t_ms } + }}, + }; +} + +// +// server_task_result_slot_erase +// +json server_task_result_slot_erase::to_json() { + return json { + { "id_slot", id_slot }, + { "n_erased", n_erased }, + }; +} + +// +// server_task_result_apply_lora +// + +json server_task_result_apply_lora::to_json() { + return json {{ "success", true }}; +} + +// +// server_prompt_cache +// +size_t server_prompt_cache::size() const { + size_t res = 0; + + for (const auto & state : states) { + res += state.size(); + } + + return res; +} + +size_t server_prompt_cache::n_tokens() const { + size_t res = 0; + + for (const auto & state : states) { + res += state.n_tokens(); + } + + return res; +} + +server_prompt * server_prompt_cache::alloc(const server_prompt & prompt, size_t state_size) { + // first check if the current state is contained fully in the cache + for (auto it = states.begin(); it != states.end(); ++it) { + const int cur_lcp_len = it->tokens.get_common_prefix(prompt.tokens); + + if (cur_lcp_len == (int) prompt.tokens.size()) { + SRV_WRN("%s", " - prompt is already in the cache, skipping\n"); + return nullptr; + } + } + + // next, remove any cached prompts that are fully contained in the current prompt + for (auto it = states.begin(); it != states.end();) { + const int len = it->tokens.get_common_prefix(prompt.tokens); + + if (len == (int) it->tokens.size()) { + SRV_WRN(" - removing obsolete cached prompt with length %d\n", len); + + it = states.erase(it); + } else { + ++it; + } + } + + std::vector state_data; + + // check if we can allocate enough memory for the new state + try { + state_data.resize(state_size); + } catch (const std::bad_alloc & e) { + SRV_ERR("failed to allocate memory for prompt cache state: %s\n", e.what()); + + limit_size = std::max(1, 0.4*size()); + + SRV_WRN(" - cache size limit reduced to %.3f MiB\n", limit_size / (1024.0 * 1024.0)); + + update(); + + return nullptr; + } + + // TODO: for some reason we can't copy server_tokens, so we have to do this workaround + auto & cur = states.emplace_back(); + cur = { + /*.tokens =*/ server_tokens(prompt.tokens.get_text_tokens(), false), + /*.data =*/ std::move(state_data), + /*.checkpoints =*/ prompt.checkpoints, + }; + + return &cur; +} + +bool server_prompt_cache::load(server_prompt & prompt, const server_tokens & tokens_new, llama_context * ctx, int32_t id_slot) { + const int lcp_best = prompt.tokens.get_common_prefix(tokens_new); + + float f_keep_best = float(lcp_best) / prompt.tokens.size(); + float sim_best = float(lcp_best) / tokens_new.size(); + + SRV_WRN(" - looking for better prompt, base f_keep = %.3f, sim = %.3f\n", f_keep_best, sim_best); + + auto it_best = states.end(); + + // find the most similar cached prompt, that would also preserve the most context + for (auto it = states.begin(); it != states.end(); ++it) { + const int lcp_cur = it->tokens.get_common_prefix(tokens_new); + + const float f_keep_cur = float(lcp_cur) / it->tokens.size(); + const float sim_cur = float(lcp_cur) / tokens_new.size(); + + // don't trash large prompts + if (f_keep_cur < 0.25f) { + continue; + } + + if (f_keep_best < f_keep_cur && sim_best < sim_cur) { + f_keep_best = f_keep_cur; + sim_best = sim_cur; + + it_best = it; + } + } + + if (it_best != states.end()) { + SRV_WRN(" - found better prompt with f_keep = %.3f, sim = %.3f\n", f_keep_best, sim_best); + + const size_t size = it_best->data.size(); + const size_t n = llama_state_seq_set_data_ext(ctx, it_best->data.data(), size, id_slot, 0); + if (n != size) { + SRV_WRN("failed to restore state with size %zu\n", size); + + return false; + } + + it_best->data.clear(); + it_best->data.shrink_to_fit(); + + prompt = std::move(*it_best); + + states.erase(it_best); + } + + return true; +} + +void server_prompt_cache::update() { + if (limit_size > 0) { + // always keep at least one state, regardless of the limits + while (states.size() > 1 && size() > limit_size) { + if (states.empty()) { + break; + } + + SRV_WRN(" - cache size limit reached, removing oldest entry (size = %.3f MiB)\n", states.front().size() / (1024.0 * 1024.0)); + + states.pop_front(); + } + } + + // average size per token + const float size_per_token = std::max(1.0f, float(size()) / (std::max(1, n_tokens()))); + + // dynamically increase the token limit if it can fit in the memory limit + const size_t limit_tokens_cur = limit_size > 0 ? std::max(limit_tokens, limit_size/size_per_token) : limit_tokens; + + if (limit_tokens > 0) { + while (states.size() > 1 && n_tokens() > limit_tokens_cur) { + if (states.empty()) { + break; + } + + SRV_WRN(" - cache token limit (%zu, est: %zu) reached, removing oldest entry (size = %.3f MiB)\n", + limit_tokens, limit_tokens_cur, states.front().size() / (1024.0 * 1024.0)); + + states.pop_front(); + } + } + + SRV_WRN(" - cache state: %zu prompts, %.3f MiB (limits: %.3f MiB, %zu tokens, %zu est)\n", + states.size(), size() / (1024.0 * 1024.0), limit_size / (1024.0 * 1024.0), limit_tokens, limit_tokens_cur); + + for (const auto & state : states) { + SRV_WRN(" - prompt %p: %7d tokens, checkpoints: %2zu, %9.3f MiB\n", + (const void *)&state, state.n_tokens(), state.checkpoints.size(), state.size() / (1024.0 * 1024.0)); + } +} diff --git a/tools/server/server-task.h b/tools/server/server-task.h new file mode 100644 index 00000000000..0271caae116 --- /dev/null +++ b/tools/server/server-task.h @@ -0,0 +1,453 @@ +#pragma once + +#include "common.h" +#include "llama.h" + +#include +#include +#include + +// TODO: prevent including the whole server-common.h as we only use server_tokens +#include "server-common.h" + +using json = nlohmann::ordered_json; + +enum server_task_type { + SERVER_TASK_TYPE_COMPLETION, + SERVER_TASK_TYPE_EMBEDDING, + SERVER_TASK_TYPE_RERANK, + SERVER_TASK_TYPE_INFILL, + SERVER_TASK_TYPE_CANCEL, + SERVER_TASK_TYPE_NEXT_RESPONSE, + SERVER_TASK_TYPE_METRICS, + SERVER_TASK_TYPE_SLOT_SAVE, + SERVER_TASK_TYPE_SLOT_RESTORE, + SERVER_TASK_TYPE_SLOT_ERASE, + SERVER_TASK_TYPE_SET_LORA, +}; + +// TODO: change this to more generic "response_format" to replace the "format_response_*" in server-common +enum oaicompat_type { + OAICOMPAT_TYPE_NONE, + OAICOMPAT_TYPE_CHAT, + OAICOMPAT_TYPE_COMPLETION, + OAICOMPAT_TYPE_EMBEDDING, +}; + +enum stop_type { + STOP_TYPE_NONE, + STOP_TYPE_EOS, + STOP_TYPE_WORD, + STOP_TYPE_LIMIT, +}; + +struct task_params { + bool stream = true; + bool include_usage = false; + bool cache_prompt = true; // remember the prompt to avoid reprocessing all prompt + bool return_tokens = false; + bool return_progress = false; + + int32_t n_keep = 0; // number of tokens to keep from initial prompt + int32_t n_discard = 0; // number of tokens after n_keep that may be discarded when shifting context, 0 defaults to half + int32_t n_predict = -1; // new tokens to predict + int32_t n_indent = 0; // minimum line indentation for the generated text in number of whitespace characters + + int64_t t_max_prompt_ms = -1; // TODO: implement + int64_t t_max_predict_ms = -1; // if positive, limit the generation phase to this time limit + + std::vector lora; + + std::vector antiprompt; + std::vector response_fields; + bool timings_per_token = false; + bool post_sampling_probs = false; + + struct common_params_sampling sampling; + struct common_params_speculative speculative; + + // OAI-compat fields + bool verbose = false; + oaicompat_type oaicompat = OAICOMPAT_TYPE_NONE; + std::string oaicompat_model; + std::string oaicompat_cmpl_id; + common_chat_syntax oaicompat_chat_syntax; + + // Embeddings + int32_t embd_normalize = 2; // (-1=none, 0=max absolute int16, 1=taxicab, 2=Euclidean/L2, >2=p-norm) + + json format_logit_bias(const std::vector & logit_bias) const; + json to_json(bool only_metrics = false) const; +}; + +struct server_task { + int id = -1; // to be filled by server_queue + int index = -1; // used when there are multiple prompts (batch request) + + // used by SERVER_TASK_TYPE_CANCEL + int id_target = -1; + int id_slot = -1; + + // used by SERVER_TASK_TYPE_INFERENCE + task_params params; + server_tokens tokens; + + server_task_type type; + + // used by SERVER_TASK_TYPE_SLOT_SAVE, SERVER_TASK_TYPE_SLOT_RESTORE, SERVER_TASK_TYPE_SLOT_ERASE + struct slot_action { + int slot_id; + std::string filename; + std::string filepath; + }; + slot_action slot_action; + + // used by SERVER_TASK_TYPE_METRICS + bool metrics_reset_bucket = false; + + // used by SERVER_TASK_TYPE_SET_LORA + std::vector set_lora; + + server_task() = default; + + server_task(server_task_type type) : type(type) {} + + int32_t n_tokens() const { + return tokens.size(); + } + + static task_params params_from_json_cmpl( + const llama_context * ctx, + const common_params & params_base, + const json & data); + + // utility function + static std::unordered_set get_list_id(const std::vector & tasks) { + std::unordered_set ids(tasks.size()); + for (size_t i = 0; i < tasks.size(); i++) { + ids.insert(tasks[i].id); + } + return ids; + } +}; + +struct result_timings { + int32_t cache_n = -1; + + int32_t prompt_n = -1; + double prompt_ms; + double prompt_per_token_ms; + double prompt_per_second; + + int32_t predicted_n = -1; + double predicted_ms; + double predicted_per_token_ms; + double predicted_per_second; + + // Optional speculative metrics - only included when > 0 + int32_t draft_n = 0; + int32_t draft_n_accepted = 0; + + json to_json() const; +}; + +struct result_prompt_progress { + int32_t total = 0; + int32_t cache = 0; + int32_t processed = 0; + int64_t time_ms = 0; + + json to_json() const; +}; + +struct server_task_result { + int id = -1; + int id_slot = -1; + virtual bool is_error() { + // only used by server_task_result_error + return false; + } + virtual bool is_stop() { + // only used by server_task_result_cmpl_* + return true; + } + virtual int get_index() { + return -1; + } + virtual json to_json() = 0; + virtual ~server_task_result() = default; +}; + +// using shared_ptr for polymorphism of server_task_result +using server_task_result_ptr = std::unique_ptr; + +struct completion_token_output { + llama_token tok; + float prob; + std::string text_to_send; + struct prob_info { + llama_token tok; + std::string txt; + float prob; + }; + std::vector probs; + + json to_json(bool post_sampling_probs) const; + + static json probs_vector_to_json(const std::vector & probs, bool post_sampling_probs); + + static float logarithm(float x); + + static std::vector str_to_bytes(const std::string & str); + +}; + +struct server_task_result_cmpl_final : server_task_result { + int index = 0; + + std::string content; + llama_tokens tokens; + + bool stream; + bool include_usage; + result_timings timings; + std::string prompt; + + bool truncated; + int32_t n_decoded; + int32_t n_prompt_tokens; + int32_t n_tokens_cached; + bool has_new_line; + std::string stopping_word; + stop_type stop = STOP_TYPE_NONE; + + bool post_sampling_probs; + std::vector probs_output; + std::vector response_fields; + + task_params generation_params; + + // OAI-compat fields + bool verbose = false; + oaicompat_type oaicompat = OAICOMPAT_TYPE_NONE; + std::string oaicompat_model; + std::string oaicompat_cmpl_id; + common_chat_msg oaicompat_msg; + + std::vector oaicompat_msg_diffs; + + virtual int get_index() override { + return index; + } + + virtual bool is_stop() override { + return true; // in stream mode, final responses are considered stop + } + + virtual json to_json() override; + + json to_json_non_oaicompat(); + + json to_json_oaicompat(); + + json to_json_oaicompat_chat(); + + json to_json_oaicompat_chat_stream(); +}; + +struct server_task_result_cmpl_partial : server_task_result { + int index = 0; + + std::string content; + llama_tokens tokens; + + int32_t n_decoded; + int32_t n_prompt_tokens; + + bool post_sampling_probs; + bool is_progress = false; + completion_token_output prob_output; + result_timings timings; + result_prompt_progress progress; + + // OAI-compat fields + bool verbose = false; + oaicompat_type oaicompat = OAICOMPAT_TYPE_NONE; + std::string oaicompat_model; + std::string oaicompat_cmpl_id; + std::vector oaicompat_msg_diffs; + + virtual int get_index() override { + return index; + } + + virtual bool is_stop() override { + return false; // in stream mode, partial responses are not considered stop + } + + virtual json to_json() override; + + json to_json_non_oaicompat(); + + json to_json_oaicompat(); + + json to_json_oaicompat_chat(); +}; + +struct server_task_result_embd : server_task_result { + int index = 0; + std::vector> embedding; + + int32_t n_tokens; + + // OAI-compat fields + oaicompat_type oaicompat = OAICOMPAT_TYPE_NONE; + + virtual int get_index() override { + return index; + } + + virtual json to_json() override; + + json to_json_non_oaicompat(); + + json to_json_oaicompat(); +}; + +struct server_task_result_rerank : server_task_result { + int index = 0; + float score = -1e6; + + int32_t n_tokens; + + virtual int get_index() override { + return index; + } + + virtual json to_json() override; +}; + +struct server_task_result_error : server_task_result { + int index = 0; + error_type err_type = ERROR_TYPE_SERVER; + std::string err_msg; + + // for ERROR_TYPE_EXCEED_CONTEXT_SIZE + int32_t n_prompt_tokens = 0; + int32_t n_ctx = 0; + + virtual bool is_error() override { + return true; + } + + virtual json to_json() override; +}; + +struct server_task_result_metrics : server_task_result { + int n_idle_slots; + int n_processing_slots; + int n_tasks_deferred; + int64_t t_start; + + // TODO: somehow reuse server_metrics in the future, instead of duplicating the fields + uint64_t n_prompt_tokens_processed_total = 0; + uint64_t t_prompt_processing_total = 0; + uint64_t n_tokens_predicted_total = 0; + uint64_t t_tokens_generation_total = 0; + + uint64_t n_tokens_max = 0; + + uint64_t n_prompt_tokens_processed = 0; + uint64_t t_prompt_processing = 0; + + uint64_t n_tokens_predicted = 0; + uint64_t t_tokens_generation = 0; + + uint64_t n_decode_total = 0; + uint64_t n_busy_slots_total = 0; + + // while we can also use std::vector this requires copying the slot object which can be quite messy + // therefore, we use json to temporarily store the slot.to_json() result + json slots_data = json::array(); + + virtual json to_json() override; +}; + +struct server_task_result_slot_save_load : server_task_result { + std::string filename; + bool is_save; // true = save, false = load + + size_t n_tokens; + size_t n_bytes; + double t_ms; + + virtual json to_json() override; +}; + +struct server_task_result_slot_erase : server_task_result { + size_t n_erased; + + virtual json to_json() override; +}; + +struct server_task_result_apply_lora : server_task_result { + virtual json to_json() override; +}; + +struct server_prompt_checkpoint { + llama_pos pos_min; + llama_pos pos_max; + + std::vector data; + + size_t size() const { + return data.size(); + } +}; + +struct server_prompt { + server_tokens tokens; + + std::vector data; + + std::list checkpoints; + + size_t size() const { + size_t res = data.size(); + + for (const auto & checkpoint : checkpoints) { + res += checkpoint.size(); + } + + return res; + } + + int n_tokens() const { + return tokens.size(); + } +}; + +struct server_prompt_cache { + server_prompt_cache(int32_t limit_size_mib, size_t limit_tokens) { + this->limit_size = 1024ull*1024ull*(limit_size_mib < 0 ? 0 : limit_size_mib); + this->limit_tokens = limit_tokens; + } + + std::list states; + + // in bytes, 0 = no limit + size_t limit_size = 0; + + // in tokens, 0 = no limit + size_t limit_tokens = 0; + + size_t size() const; + + size_t n_tokens() const; + + server_prompt * alloc(const server_prompt & prompt, size_t state_size); + + bool load(server_prompt & prompt, const server_tokens & tokens_new, llama_context * ctx, int32_t id_slot); + + void update(); +}; diff --git a/tools/server/server.cpp b/tools/server/server.cpp index 3750c8fdb60..0f39def3794 100644 --- a/tools/server/server.cpp +++ b/tools/server/server.cpp @@ -1,25 +1,21 @@ -#include "chat.h" -#include "utils.hpp" +#include "server-common.h" #include "server-http.h" +#include "server-task.h" +#include "server-queue.h" #include "arg.h" #include "common.h" -#include "json-schema-to-grammar.h" #include "llama.h" #include "log.h" #include "sampling.h" #include "speculative.h" #include "mtmd.h" +#include "mtmd-helper.h" #include -#include -#include #include #include -#include #include -#include -#include #include #include #include @@ -37,1589 +33,39 @@ using json = nlohmann::ordered_json; constexpr int HTTP_POLLING_SECONDS = 1; -enum stop_type { - STOP_TYPE_NONE, - STOP_TYPE_EOS, - STOP_TYPE_WORD, - STOP_TYPE_LIMIT, -}; - -// state diagram: https://github.com/ggml-org/llama.cpp/pull/9283 -enum slot_state { - SLOT_STATE_IDLE, - SLOT_STATE_STARTED, // TODO: this state is only used for setting up the initial prompt processing; maybe merge it with launch_slot_with_task in the future - SLOT_STATE_PROCESSING_PROMPT, - SLOT_STATE_DONE_PROMPT, - SLOT_STATE_GENERATING, -}; - -enum server_state { - SERVER_STATE_LOADING_MODEL, // Server is starting up, model not fully loaded yet - SERVER_STATE_READY, // Server is ready and model is loaded -}; - -enum server_task_type { - SERVER_TASK_TYPE_COMPLETION, - SERVER_TASK_TYPE_EMBEDDING, - SERVER_TASK_TYPE_RERANK, - SERVER_TASK_TYPE_INFILL, - SERVER_TASK_TYPE_CANCEL, - SERVER_TASK_TYPE_NEXT_RESPONSE, - SERVER_TASK_TYPE_METRICS, - SERVER_TASK_TYPE_SLOT_SAVE, - SERVER_TASK_TYPE_SLOT_RESTORE, - SERVER_TASK_TYPE_SLOT_ERASE, - SERVER_TASK_TYPE_SET_LORA, -}; - -enum oaicompat_type { - OAICOMPAT_TYPE_NONE, - OAICOMPAT_TYPE_CHAT, - OAICOMPAT_TYPE_COMPLETION, - OAICOMPAT_TYPE_EMBEDDING, -}; - -// https://community.openai.com/t/openai-chat-list-of-error-codes-and-types/357791/11 -enum error_type { - ERROR_TYPE_INVALID_REQUEST, - ERROR_TYPE_AUTHENTICATION, - ERROR_TYPE_SERVER, - ERROR_TYPE_NOT_FOUND, - ERROR_TYPE_PERMISSION, - ERROR_TYPE_UNAVAILABLE, // custom error - ERROR_TYPE_NOT_SUPPORTED, // custom error - ERROR_TYPE_EXCEED_CONTEXT_SIZE, // custom error -}; - -static bool server_task_type_need_embd(server_task_type task_type) { - switch (task_type) { - case SERVER_TASK_TYPE_EMBEDDING: - case SERVER_TASK_TYPE_RERANK: - return true; - default: - return false; - } -} - -static bool server_task_type_need_logits(server_task_type task_type) { - switch (task_type) { - case SERVER_TASK_TYPE_COMPLETION: - case SERVER_TASK_TYPE_INFILL: - return true; - default: - return false; - } -} - -struct slot_params { - bool stream = true; - bool include_usage = false; - bool cache_prompt = true; // remember the prompt to avoid reprocessing all prompt - bool return_tokens = false; - bool return_progress = false; - - int32_t n_keep = 0; // number of tokens to keep from initial prompt - int32_t n_discard = 0; // number of tokens after n_keep that may be discarded when shifting context, 0 defaults to half - int32_t n_predict = -1; // new tokens to predict - int32_t n_indent = 0; // minimum line indentation for the generated text in number of whitespace characters - - int64_t t_max_prompt_ms = -1; // TODO: implement - int64_t t_max_predict_ms = -1; // if positive, limit the generation phase to this time limit - - std::vector lora; - - std::vector antiprompt; - std::vector response_fields; - bool timings_per_token = false; - bool post_sampling_probs = false; - - struct common_params_sampling sampling; - struct common_params_speculative speculative; - - // OAI-compat fields - bool verbose = false; - oaicompat_type oaicompat = OAICOMPAT_TYPE_NONE; - std::string oaicompat_model; - std::string oaicompat_cmpl_id; - common_chat_syntax oaicompat_chat_syntax; - - // Embeddings - int32_t embd_normalize = 2; // (-1=none, 0=max absolute int16, 1=taxicab, 2=Euclidean/L2, >2=p-norm) - - json to_json(bool only_metrics = false) const { - std::vector samplers; - samplers.reserve(sampling.samplers.size()); - for (const auto & sampler : sampling.samplers) { - samplers.emplace_back(common_sampler_type_to_str(sampler)); - } - - json lora = json::array(); - for (size_t i = 0; i < this->lora.size(); ++i) { - lora.push_back({{"id", i}, {"scale", this->lora[i].scale}}); - } - - if (only_metrics) { - return json { - {"seed", sampling.seed}, - {"temperature", sampling.temp}, - {"dynatemp_range", sampling.dynatemp_range}, - {"dynatemp_exponent", sampling.dynatemp_exponent}, - {"top_k", sampling.top_k}, - {"top_p", sampling.top_p}, - {"min_p", sampling.min_p}, - {"top_n_sigma", sampling.top_n_sigma}, - {"xtc_probability", sampling.xtc_probability}, - {"xtc_threshold", sampling.xtc_threshold}, - {"typical_p", sampling.typ_p}, - {"repeat_last_n", sampling.penalty_last_n}, - {"repeat_penalty", sampling.penalty_repeat}, - {"presence_penalty", sampling.penalty_present}, - {"frequency_penalty", sampling.penalty_freq}, - {"dry_multiplier", sampling.dry_multiplier}, - {"dry_base", sampling.dry_base}, - {"dry_allowed_length", sampling.dry_allowed_length}, - {"dry_penalty_last_n", sampling.dry_penalty_last_n}, - {"mirostat", sampling.mirostat}, - {"mirostat_tau", sampling.mirostat_tau}, - {"mirostat_eta", sampling.mirostat_eta}, - {"max_tokens", n_predict}, - {"n_predict", n_predict}, // TODO: deduplicate? - {"n_keep", n_keep}, - {"n_discard", n_discard}, - {"ignore_eos", sampling.ignore_eos}, - {"stream", stream}, - {"n_probs", sampling.n_probs}, - {"min_keep", sampling.min_keep}, - {"chat_format", common_chat_format_name(oaicompat_chat_syntax.format)}, - {"reasoning_format", common_reasoning_format_name(oaicompat_chat_syntax.reasoning_format)}, - {"reasoning_in_content", oaicompat_chat_syntax.reasoning_in_content}, - {"thinking_forced_open", oaicompat_chat_syntax.thinking_forced_open}, - {"samplers", samplers}, - {"speculative.n_max", speculative.n_max}, - {"speculative.n_min", speculative.n_min}, - {"speculative.p_min", speculative.p_min}, - {"timings_per_token", timings_per_token}, - {"post_sampling_probs", post_sampling_probs}, - {"lora", lora}, - }; - } - - auto grammar_triggers = json::array(); - for (const auto & trigger : sampling.grammar_triggers) { - server_grammar_trigger ct(trigger); - grammar_triggers.push_back(ct.to_json()); - } - - return json { - {"seed", sampling.seed}, - {"temperature", sampling.temp}, - {"dynatemp_range", sampling.dynatemp_range}, - {"dynatemp_exponent", sampling.dynatemp_exponent}, - {"top_k", sampling.top_k}, - {"top_p", sampling.top_p}, - {"min_p", sampling.min_p}, - {"top_n_sigma", sampling.top_n_sigma}, - {"xtc_probability", sampling.xtc_probability}, - {"xtc_threshold", sampling.xtc_threshold}, - {"typical_p", sampling.typ_p}, - {"repeat_last_n", sampling.penalty_last_n}, - {"repeat_penalty", sampling.penalty_repeat}, - {"presence_penalty", sampling.penalty_present}, - {"frequency_penalty", sampling.penalty_freq}, - {"dry_multiplier", sampling.dry_multiplier}, - {"dry_base", sampling.dry_base}, - {"dry_allowed_length", sampling.dry_allowed_length}, - {"dry_penalty_last_n", sampling.dry_penalty_last_n}, - {"dry_sequence_breakers", sampling.dry_sequence_breakers}, - {"mirostat", sampling.mirostat}, - {"mirostat_tau", sampling.mirostat_tau}, - {"mirostat_eta", sampling.mirostat_eta}, - {"stop", antiprompt}, - {"max_tokens", n_predict}, - {"n_predict", n_predict}, // TODO: deduplicate? - {"n_keep", n_keep}, - {"n_discard", n_discard}, - {"ignore_eos", sampling.ignore_eos}, - {"stream", stream}, - {"logit_bias", format_logit_bias(sampling.logit_bias)}, - {"n_probs", sampling.n_probs}, - {"min_keep", sampling.min_keep}, - {"grammar", sampling.grammar}, - {"grammar_lazy", sampling.grammar_lazy}, - {"grammar_triggers", grammar_triggers}, - {"preserved_tokens", sampling.preserved_tokens}, - {"chat_format", common_chat_format_name(oaicompat_chat_syntax.format)}, - {"reasoning_format", common_reasoning_format_name(oaicompat_chat_syntax.reasoning_format)}, - {"reasoning_in_content", oaicompat_chat_syntax.reasoning_in_content}, - {"thinking_forced_open", oaicompat_chat_syntax.thinking_forced_open}, - {"samplers", samplers}, - {"speculative.n_max", speculative.n_max}, - {"speculative.n_min", speculative.n_min}, - {"speculative.p_min", speculative.p_min}, - {"timings_per_token", timings_per_token}, - {"post_sampling_probs", post_sampling_probs}, - {"lora", lora}, - }; - } -}; - -struct server_task { - int id = -1; // to be filled by server_queue - int index = -1; // used when there are multiple prompts (batch request) - - // used by SERVER_TASK_TYPE_CANCEL - int id_target = -1; - int id_slot = -1; - - // used by SERVER_TASK_TYPE_INFERENCE - slot_params params; - server_tokens tokens; - - server_task_type type; - - // used by SERVER_TASK_TYPE_SLOT_SAVE, SERVER_TASK_TYPE_SLOT_RESTORE, SERVER_TASK_TYPE_SLOT_ERASE - struct slot_action { - int slot_id; - std::string filename; - std::string filepath; - }; - slot_action slot_action; - - // used by SERVER_TASK_TYPE_METRICS - bool metrics_reset_bucket = false; - - // used by SERVER_TASK_TYPE_SET_LORA - std::vector set_lora; - - server_task() = default; - - server_task(server_task_type type) : type(type) {} - - int32_t n_tokens() const { - return tokens.size(); - } - - static slot_params params_from_json_cmpl( - const llama_context * ctx, - const common_params & params_base, - const json & data) { - const llama_model * model = llama_get_model(ctx); - const llama_vocab * vocab = llama_model_get_vocab(model); - - slot_params params; - - // Sampling parameter defaults are loaded from the global server context (but individual requests can still override them) - slot_params defaults; - defaults.sampling = params_base.sampling; - defaults.speculative = params_base.speculative; - defaults.n_keep = params_base.n_keep; - defaults.n_predict = params_base.n_predict; - defaults.antiprompt = params_base.antiprompt; - - // enabling this will output extra debug information in the HTTP responses from the server - params.verbose = params_base.verbosity > 9; - params.timings_per_token = json_value(data, "timings_per_token", false); - - params.stream = json_value(data, "stream", false); - auto stream_opt = json_value(data, "stream_options", json::object()); - params.include_usage = json_value(stream_opt, "include_usage", false); - params.cache_prompt = json_value(data, "cache_prompt", true); - params.return_tokens = json_value(data, "return_tokens", false); - params.return_progress = json_value(data, "return_progress", false); - params.n_predict = json_value(data, "n_predict", json_value(data, "max_tokens", defaults.n_predict)); - params.n_indent = json_value(data, "n_indent", defaults.n_indent); - params.n_keep = json_value(data, "n_keep", defaults.n_keep); - params.n_discard = json_value(data, "n_discard", defaults.n_discard); - //params.t_max_prompt_ms = json_value(data, "t_max_prompt_ms", defaults.t_max_prompt_ms); // TODO: implement - params.t_max_predict_ms = json_value(data, "t_max_predict_ms", defaults.t_max_predict_ms); - params.response_fields = json_value(data, "response_fields", std::vector()); - - params.sampling.top_k = json_value(data, "top_k", defaults.sampling.top_k); - params.sampling.top_p = json_value(data, "top_p", defaults.sampling.top_p); - params.sampling.min_p = json_value(data, "min_p", defaults.sampling.min_p); - params.sampling.top_n_sigma = json_value(data, "top_n_sigma", defaults.sampling.top_n_sigma); - params.sampling.xtc_probability = json_value(data, "xtc_probability", defaults.sampling.xtc_probability); - params.sampling.xtc_threshold = json_value(data, "xtc_threshold", defaults.sampling.xtc_threshold); - params.sampling.typ_p = json_value(data, "typical_p", defaults.sampling.typ_p); - params.sampling.temp = json_value(data, "temperature", defaults.sampling.temp); - params.sampling.dynatemp_range = json_value(data, "dynatemp_range", defaults.sampling.dynatemp_range); - params.sampling.dynatemp_exponent = json_value(data, "dynatemp_exponent", defaults.sampling.dynatemp_exponent); - params.sampling.penalty_last_n = json_value(data, "repeat_last_n", defaults.sampling.penalty_last_n); - params.sampling.penalty_repeat = json_value(data, "repeat_penalty", defaults.sampling.penalty_repeat); - params.sampling.penalty_freq = json_value(data, "frequency_penalty", defaults.sampling.penalty_freq); - params.sampling.penalty_present = json_value(data, "presence_penalty", defaults.sampling.penalty_present); - params.sampling.dry_multiplier = json_value(data, "dry_multiplier", defaults.sampling.dry_multiplier); - params.sampling.dry_base = json_value(data, "dry_base", defaults.sampling.dry_base); - params.sampling.dry_allowed_length = json_value(data, "dry_allowed_length", defaults.sampling.dry_allowed_length); - params.sampling.dry_penalty_last_n = json_value(data, "dry_penalty_last_n", defaults.sampling.dry_penalty_last_n); - params.sampling.mirostat = json_value(data, "mirostat", defaults.sampling.mirostat); - params.sampling.mirostat_tau = json_value(data, "mirostat_tau", defaults.sampling.mirostat_tau); - params.sampling.mirostat_eta = json_value(data, "mirostat_eta", defaults.sampling.mirostat_eta); - params.sampling.seed = json_value(data, "seed", defaults.sampling.seed); - params.sampling.n_probs = json_value(data, "n_probs", defaults.sampling.n_probs); - params.sampling.min_keep = json_value(data, "min_keep", defaults.sampling.min_keep); - params.post_sampling_probs = json_value(data, "post_sampling_probs", defaults.post_sampling_probs); - - params.speculative.n_min = json_value(data, "speculative.n_min", defaults.speculative.n_min); - params.speculative.n_max = json_value(data, "speculative.n_max", defaults.speculative.n_max); - params.speculative.p_min = json_value(data, "speculative.p_min", defaults.speculative.p_min); - - params.speculative.n_min = std::min(params.speculative.n_max, params.speculative.n_min); - params.speculative.n_min = std::max(params.speculative.n_min, 0); - params.speculative.n_max = std::max(params.speculative.n_max, 0); - - // 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); - } - - if (data.contains("lora")) { - if (data.at("lora").is_array()) { - params.lora = parse_lora_request(params_base.lora_adapters, data.at("lora")); - } else { - throw std::runtime_error("Error: 'lora' must be an array of objects with 'id' and 'scale' fields"); - } - } else { - params.lora = params_base.lora_adapters; - } - - // TODO: add more sanity checks for the input parameters - - if (params.sampling.penalty_last_n < -1) { - throw std::runtime_error("Error: repeat_last_n must be >= -1"); - } - - if (params.sampling.dry_penalty_last_n < -1) { - throw std::runtime_error("Error: dry_penalty_last_n must be >= -1"); - } - - if (params.sampling.penalty_last_n == -1) { - // note: should be the slot's context and not the full context, but it's ok - params.sampling.penalty_last_n = llama_n_ctx(ctx); - } - - if (params.sampling.dry_penalty_last_n == -1) { - params.sampling.dry_penalty_last_n = llama_n_ctx(ctx); - } - - if (params.sampling.dry_base < 1.0f) { - params.sampling.dry_base = defaults.sampling.dry_base; - } - - // sequence breakers for DRY - { - // Currently, this is not compatible with TextGen WebUI, Koboldcpp and SillyTavern format - // Ref: https://github.com/oobabooga/text-generation-webui/blob/d1af7a41ade7bd3c3a463bfa640725edb818ebaf/extensions/openai/typing.py#L39 - - if (data.contains("dry_sequence_breakers")) { - params.sampling.dry_sequence_breakers = json_value(data, "dry_sequence_breakers", std::vector()); - if (params.sampling.dry_sequence_breakers.empty()) { - throw std::runtime_error("Error: dry_sequence_breakers must be a non-empty array of strings"); - } - } - } - - // process "json_schema" and "grammar" - if (data.contains("json_schema") && !data.contains("grammar")) { - try { - auto schema = json_value(data, "json_schema", json::object()); - SRV_DBG("JSON schema: %s\n", schema.dump(2).c_str()); - params.sampling.grammar = json_schema_to_grammar(schema); - SRV_DBG("Converted grammar: %s\n", params.sampling.grammar.c_str()); - } catch (const std::exception & e) { - throw std::runtime_error(std::string("\"json_schema\": ") + e.what()); - } - } else { - params.sampling.grammar = json_value(data, "grammar", defaults.sampling.grammar); - SRV_DBG("Grammar: %s\n", params.sampling.grammar.c_str()); - params.sampling.grammar_lazy = json_value(data, "grammar_lazy", defaults.sampling.grammar_lazy); - SRV_DBG("Grammar lazy: %s\n", params.sampling.grammar_lazy ? "true" : "false"); - } - - { - auto it = data.find("chat_format"); - if (it != data.end()) { - params.oaicompat_chat_syntax.format = static_cast(it->get()); - SRV_INF("Chat format: %s\n", common_chat_format_name(params.oaicompat_chat_syntax.format)); - } else { - params.oaicompat_chat_syntax.format = defaults.oaicompat_chat_syntax.format; - } - common_reasoning_format reasoning_format = params_base.reasoning_format; - if (data.contains("reasoning_format")) { - reasoning_format = common_reasoning_format_from_name(data.at("reasoning_format").get()); - } - params.oaicompat_chat_syntax.reasoning_format = reasoning_format; - params.oaicompat_chat_syntax.reasoning_in_content = params.stream && (reasoning_format == COMMON_REASONING_FORMAT_DEEPSEEK_LEGACY); - params.oaicompat_chat_syntax.thinking_forced_open = json_value(data, "thinking_forced_open", false); - params.oaicompat_chat_syntax.parse_tool_calls = json_value(data, "parse_tool_calls", false); - } - - { - const auto preserved_tokens = data.find("preserved_tokens"); - if (preserved_tokens != data.end()) { - for (const auto & t : *preserved_tokens) { - auto ids = common_tokenize(vocab, t.get(), /* add_special= */ false, /* parse_special= */ true); - if (ids.size() == 1) { - SRV_DBG("Preserved token: %d\n", ids[0]); - params.sampling.preserved_tokens.insert(ids[0]); - } else { - // This may happen when using a tool call style meant for a model with special tokens to preserve on a model without said tokens. - SRV_DBG("Not preserved because more than 1 token: %s\n", t.get().c_str()); - } - } - } - const auto grammar_triggers = data.find("grammar_triggers"); - if (grammar_triggers != data.end()) { - for (const auto & t : *grammar_triggers) { - server_grammar_trigger ct(t); - if (ct.value.type == COMMON_GRAMMAR_TRIGGER_TYPE_WORD) { - const auto & word = ct.value.value; - auto ids = common_tokenize(vocab, word, /* add_special= */ false, /* parse_special= */ true); - if (ids.size() == 1) { - auto token = ids[0]; - if (std::find(params.sampling.preserved_tokens.begin(), params.sampling.preserved_tokens.end(), (llama_token) token) == params.sampling.preserved_tokens.end()) { - throw std::runtime_error("Grammar trigger word should be marked as preserved token: " + word); - } - SRV_DBG("Grammar trigger token: %d (`%s`)\n", token, word.c_str()); - common_grammar_trigger trigger; - trigger.type = COMMON_GRAMMAR_TRIGGER_TYPE_TOKEN; - trigger.value = word; - trigger.token = token; - params.sampling.grammar_triggers.push_back(std::move(trigger)); - } else { - SRV_DBG("Grammar trigger word: `%s`\n", word.c_str()); - params.sampling.grammar_triggers.push_back({COMMON_GRAMMAR_TRIGGER_TYPE_WORD, word}); - } - } else { - if (ct.value.type == COMMON_GRAMMAR_TRIGGER_TYPE_PATTERN) { - SRV_DBG("Grammar trigger pattern: `%s`\n", ct.value.value.c_str()); - } else if (ct.value.type == COMMON_GRAMMAR_TRIGGER_TYPE_PATTERN_FULL) { - SRV_DBG("Grammar trigger pattern full: `%s`\n", ct.value.value.c_str()); - } else { - throw std::runtime_error("Unknown grammar trigger type"); - } - params.sampling.grammar_triggers.emplace_back(std::move(ct.value)); - } - } - } - if (params.sampling.grammar_lazy && params.sampling.grammar_triggers.empty()) { - throw std::runtime_error("Error: no triggers set for lazy grammar!"); - } - } - - { - params.sampling.logit_bias.clear(); - - const auto & logit_bias = data.find("logit_bias"); - if (logit_bias != data.end() && logit_bias->is_array()) { - const int n_vocab = llama_vocab_n_tokens(vocab); - for (const auto & el : *logit_bias) { - // TODO: we may want to throw errors here, in case "el" is incorrect - if (el.is_array() && el.size() == 2) { - float bias; - if (el[1].is_number()) { - bias = el[1].get(); - } else if (el[1].is_boolean() && !el[1].get()) { - bias = -INFINITY; - } else { - continue; - } - - if (el[0].is_number_integer()) { - llama_token tok = el[0].get(); - if (tok >= 0 && tok < n_vocab) { - params.sampling.logit_bias.push_back({tok, bias}); - } - } else if (el[0].is_string()) { - auto toks = common_tokenize(vocab, el[0].get(), false); - for (auto tok : toks) { - params.sampling.logit_bias.push_back({tok, bias}); - } - } - } - } - } else if (logit_bias != data.end() && logit_bias->is_object()) { - const int n_vocab = llama_vocab_n_tokens(vocab); - for (const auto & el : logit_bias->items()) { - float bias; - const auto & key = el.key(); - const auto & value = el.value(); - if (value.is_number()) { - bias = value.get(); - } else if (value.is_boolean() && !value.get()) { - bias = -INFINITY; - } else { - continue; - } - - char *end; - llama_token tok = strtol(key.c_str(), &end, 10); - if (*end == 0) { - if (tok >= 0 && tok < n_vocab) { - params.sampling.logit_bias.push_back({tok, bias}); - } - } else { - auto toks = common_tokenize(vocab, key, false); - for (auto tok : toks) { - params.sampling.logit_bias.push_back({tok, bias}); - } - } - } - } - - params.sampling.ignore_eos = json_value(data, "ignore_eos", params_base.sampling.ignore_eos); - if (params.sampling.ignore_eos) { - params.sampling.logit_bias.insert( - params.sampling.logit_bias.end(), - defaults.sampling.logit_bias_eog.begin(), defaults.sampling.logit_bias_eog.end()); - } - } - - { - params.antiprompt.clear(); - - const auto & stop = data.find("stop"); - if (stop != data.end() && stop->is_array()) { - for (const auto & word : *stop) { - if (!word.empty()) { - params.antiprompt.push_back(word); - } - } - } - // set reverse prompt from cli args if not set in the request - if (params.antiprompt.empty()) { - params.antiprompt = defaults.antiprompt; - } - } - - { - const auto samplers = data.find("samplers"); - if (samplers != data.end()) { - if (samplers->is_array()) { - params.sampling.samplers = common_sampler_types_from_names(*samplers, false); - } else if (samplers->is_string()){ - params.sampling.samplers = common_sampler_types_from_chars(samplers->get()); - } - } else { - params.sampling.samplers = defaults.sampling.samplers; - } - } - - std::string model_name = params_base.model_alias.empty() ? DEFAULT_OAICOMPAT_MODEL : params_base.model_alias; - params.oaicompat_model = json_value(data, "model", model_name); - - return params; - } - - // utility function - static std::unordered_set get_list_id(const std::vector & tasks) { - std::unordered_set ids(tasks.size()); - for (size_t i = 0; i < tasks.size(); i++) { - ids.insert(tasks[i].id); - } - return ids; - } -}; - -struct result_timings { - int32_t cache_n = -1; - - int32_t prompt_n = -1; - double prompt_ms; - double prompt_per_token_ms; - double prompt_per_second; - - int32_t predicted_n = -1; - double predicted_ms; - double predicted_per_token_ms; - double predicted_per_second; - - // Optional speculative metrics - only included when > 0 - int32_t draft_n = 0; - int32_t draft_n_accepted = 0; - - json to_json() const { - json base = { - {"cache_n", cache_n}, - - {"prompt_n", prompt_n}, - {"prompt_ms", prompt_ms}, - {"prompt_per_token_ms", prompt_per_token_ms}, - {"prompt_per_second", prompt_per_second}, - - {"predicted_n", predicted_n}, - {"predicted_ms", predicted_ms}, - {"predicted_per_token_ms", predicted_per_token_ms}, - {"predicted_per_second", predicted_per_second}, - }; - - if (draft_n > 0) { - base["draft_n"] = draft_n; - base["draft_n_accepted"] = draft_n_accepted; - } - - return base; - } -}; - -struct result_prompt_progress { - int32_t total = 0; - int32_t cache = 0; - int32_t processed = 0; - int64_t time_ms = 0; - - json to_json() const { - return json { - {"total", total}, - {"cache", cache}, - {"processed", processed}, - {"time_ms", time_ms}, - }; - } -}; - -struct server_task_result { - int id = -1; - int id_slot = -1; - virtual bool is_error() { - // only used by server_task_result_error - return false; - } - virtual bool is_stop() { - // only used by server_task_result_cmpl_* - return true; - } - virtual int get_index() { - return -1; - } - virtual json to_json() = 0; - virtual ~server_task_result() = default; -}; - -// using shared_ptr for polymorphism of server_task_result -using server_task_result_ptr = std::unique_ptr; - -static inline std::string stop_type_to_str(stop_type type) { - switch (type) { - case STOP_TYPE_EOS: return "eos"; - case STOP_TYPE_WORD: return "word"; - case STOP_TYPE_LIMIT: return "limit"; - default: return "none"; - } -} - -struct completion_token_output { - llama_token tok; - float prob; - std::string text_to_send; - struct prob_info { - llama_token tok; - std::string txt; - float prob; - }; - std::vector probs; - - json to_json(bool post_sampling_probs) const { - json probs_for_token = json::array(); - for (const auto & p : probs) { - std::string txt(p.txt); - txt.resize(validate_utf8(txt)); - probs_for_token.push_back(json { - {"id", p.tok}, - {"token", txt}, - {"bytes", str_to_bytes(p.txt)}, - { - post_sampling_probs ? "prob" : "logprob", - post_sampling_probs ? p.prob : logarithm(p.prob) - }, - }); - } - return probs_for_token; - } - - static json probs_vector_to_json(const std::vector & probs, bool post_sampling_probs) { - json out = json::array(); - for (const auto & p : probs) { - std::string txt(p.text_to_send); - txt.resize(validate_utf8(txt)); - out.push_back(json { - {"id", p.tok}, - {"token", txt}, - {"bytes", str_to_bytes(p.text_to_send)}, - { - post_sampling_probs ? "prob" : "logprob", - post_sampling_probs ? p.prob : logarithm(p.prob) - }, - { - post_sampling_probs ? "top_probs" : "top_logprobs", - p.to_json(post_sampling_probs) - }, - }); - } - return out; - } - - static float logarithm(float x) { - // nlohmann::json converts -inf to null, so we need to prevent that - return x == 0.0f ? std::numeric_limits::lowest() : std::log(x); - } - - static std::vector str_to_bytes(const std::string & str) { - std::vector bytes; - for (unsigned char c : str) { - bytes.push_back(c); - } - return bytes; - } -}; - -struct server_task_result_cmpl_final : server_task_result { - int index = 0; - - std::string content; - llama_tokens tokens; - - bool stream; - bool include_usage; - result_timings timings; - std::string prompt; - - bool truncated; - int32_t n_decoded; - int32_t n_prompt_tokens; - int32_t n_tokens_cached; - bool has_new_line; - std::string stopping_word; - stop_type stop = STOP_TYPE_NONE; - - bool post_sampling_probs; - std::vector probs_output; - std::vector response_fields; - - slot_params generation_params; - - // OAI-compat fields - bool verbose = false; - oaicompat_type oaicompat = OAICOMPAT_TYPE_NONE; - std::string oaicompat_model; - std::string oaicompat_cmpl_id; - common_chat_msg oaicompat_msg; - - std::vector oaicompat_msg_diffs; - - virtual int get_index() override { - return index; - } - - virtual bool is_stop() override { - return true; // in stream mode, final responses are considered stop - } - - virtual json to_json() override { - switch (oaicompat) { - case OAICOMPAT_TYPE_NONE: - return to_json_non_oaicompat(); - case OAICOMPAT_TYPE_COMPLETION: - return to_json_oaicompat(); - case OAICOMPAT_TYPE_CHAT: - return stream ? to_json_oaicompat_chat_stream() : to_json_oaicompat_chat(); - default: - GGML_ASSERT(false && "Invalid oaicompat_type"); - } - } - - json to_json_non_oaicompat() { - json res = json { - {"index", index}, - {"content", stream ? "" : content}, // in stream mode, content is already in last partial chunk - {"tokens", stream ? llama_tokens {} : tokens}, - {"id_slot", id_slot}, - {"stop", true}, - {"model", oaicompat_model}, - {"tokens_predicted", n_decoded}, - {"tokens_evaluated", n_prompt_tokens}, - {"generation_settings", generation_params.to_json()}, - {"prompt", prompt}, - {"has_new_line", has_new_line}, - {"truncated", truncated}, - {"stop_type", stop_type_to_str(stop)}, - {"stopping_word", stopping_word}, - {"tokens_cached", n_tokens_cached}, - {"timings", timings.to_json()}, - }; - if (!stream && !probs_output.empty()) { - res["completion_probabilities"] = completion_token_output::probs_vector_to_json(probs_output, post_sampling_probs); - } - return response_fields.empty() ? res : json_get_nested_values(response_fields, res); - } - - json to_json_oaicompat() { - std::time_t t = std::time(0); - json logprobs = json(nullptr); // OAI default to null - if (!stream && probs_output.size() > 0) { - logprobs = json{ - {"content", completion_token_output::probs_vector_to_json(probs_output, post_sampling_probs)}, - }; - } - json finish_reason = "length"; - if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) { - finish_reason = "stop"; - } - json res = json { - {"choices", json::array({ - json{ - {"text", stream ? "" : content}, // in stream mode, content is already in last partial chunk - {"index", index}, - {"logprobs", logprobs}, - {"finish_reason", finish_reason}, - } - })}, - {"created", t}, - {"model", oaicompat_model}, - {"system_fingerprint", build_info}, - {"object", "text_completion"}, - {"usage", json { - {"completion_tokens", n_decoded}, - {"prompt_tokens", n_prompt_tokens}, - {"total_tokens", n_decoded + n_prompt_tokens} - }}, - {"id", oaicompat_cmpl_id} - }; - - // extra fields for debugging purposes - if (verbose) { - res["__verbose"] = to_json_non_oaicompat(); - } - if (timings.prompt_n >= 0) { - res.push_back({"timings", timings.to_json()}); - } - - return res; - } - - json to_json_oaicompat_chat() { - std::string finish_reason = "length"; - common_chat_msg msg; - if (!oaicompat_msg.empty()) { - msg = oaicompat_msg; - } else { - msg.role = "assistant"; - msg.content = content; - } - if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) { - finish_reason = msg.tool_calls.empty() ? "stop" : "tool_calls"; - } - - json choice { - {"finish_reason", finish_reason}, - {"index", 0}, - {"message", msg.to_json_oaicompat()}, - }; - - if (!stream && probs_output.size() > 0) { - choice["logprobs"] = json{ - {"content", completion_token_output::probs_vector_to_json(probs_output, post_sampling_probs)}, - }; - } - - std::time_t t = std::time(0); - - json res = json { - {"choices", json::array({choice})}, - {"created", t}, - {"model", oaicompat_model}, - {"system_fingerprint", build_info}, - {"object", "chat.completion"}, - {"usage", json { - {"completion_tokens", n_decoded}, - {"prompt_tokens", n_prompt_tokens}, - {"total_tokens", n_decoded + n_prompt_tokens} - }}, - {"id", oaicompat_cmpl_id} - }; - - // extra fields for debugging purposes - if (verbose) { - res["__verbose"] = to_json_non_oaicompat(); - } - if (timings.prompt_n >= 0) { - res.push_back({"timings", timings.to_json()}); - } - - return res; - } - - json to_json_oaicompat_chat_stream() { - std::time_t t = std::time(0); - std::string finish_reason = "length"; - if (stop == STOP_TYPE_WORD || stop == STOP_TYPE_EOS) { - finish_reason = oaicompat_msg.tool_calls.empty() ? "stop" : "tool_calls"; - } - - json deltas = json::array(); - for (const auto & diff : oaicompat_msg_diffs) { - deltas.push_back({ - {"choices", json::array({ - json { - {"finish_reason", nullptr}, - {"index", 0}, - {"delta", common_chat_msg_diff_to_json_oaicompat(diff)}, - }, - })}, - {"created", t}, - {"id", oaicompat_cmpl_id}, - {"model", oaicompat_model}, - {"system_fingerprint", build_info}, - {"object", "chat.completion.chunk"}, - }); - } - - deltas.push_back({ - {"choices", json::array({ - json { - {"finish_reason", finish_reason}, - {"index", 0}, - {"delta", json::object()}, - }, - })}, - {"created", t}, - {"id", oaicompat_cmpl_id}, - {"model", oaicompat_model}, - {"system_fingerprint", build_info}, - {"object", "chat.completion.chunk"}, - }); - - if (include_usage) { - // OpenAI API spec for chat.completion.chunks specifies an empty `choices` array for the last chunk when including usage - // https://platform.openai.com/docs/api-reference/chat_streaming/streaming#chat_streaming/streaming-choices - deltas.push_back({ - {"choices", json::array()}, - {"created", t}, - {"id", oaicompat_cmpl_id}, - {"model", oaicompat_model}, - {"system_fingerprint", build_info}, - {"object", "chat.completion.chunk"}, - {"usage", json { - {"completion_tokens", n_decoded}, - {"prompt_tokens", n_prompt_tokens}, - {"total_tokens", n_decoded + n_prompt_tokens}, - }}, - }); - } - - if (timings.prompt_n >= 0) { - deltas.back().push_back({"timings", timings.to_json()}); - } - - // extra fields for debugging purposes - if (verbose && !deltas.empty()) { - deltas.front()["__verbose"] = to_json_non_oaicompat(); - } - - return deltas; - } -}; - -struct server_task_result_cmpl_partial : server_task_result { - int index = 0; - - std::string content; - llama_tokens tokens; - - int32_t n_decoded; - int32_t n_prompt_tokens; - - bool post_sampling_probs; - bool is_progress = false; - completion_token_output prob_output; - result_timings timings; - result_prompt_progress progress; - - // OAI-compat fields - bool verbose = false; - oaicompat_type oaicompat = OAICOMPAT_TYPE_NONE; - std::string oaicompat_model; - std::string oaicompat_cmpl_id; - std::vector oaicompat_msg_diffs; - - virtual int get_index() override { - return index; - } - - virtual bool is_stop() override { - return false; // in stream mode, partial responses are not considered stop - } - - virtual json to_json() override { - switch (oaicompat) { - case OAICOMPAT_TYPE_NONE: - return to_json_non_oaicompat(); - case OAICOMPAT_TYPE_COMPLETION: - return to_json_oaicompat(); - case OAICOMPAT_TYPE_CHAT: - return to_json_oaicompat_chat(); - default: - GGML_ASSERT(false && "Invalid oaicompat_type"); - } - } - - json to_json_non_oaicompat() { - // non-OAI-compat JSON - json res = json { - {"index", index}, - {"content", content}, - {"tokens", tokens}, - {"stop", false}, - {"id_slot", id_slot}, - {"tokens_predicted", n_decoded}, - {"tokens_evaluated", n_prompt_tokens}, - }; - // populate the timings object when needed (usually for the last response or with timings_per_token enabled) - if (timings.prompt_n > 0) { - res.push_back({"timings", timings.to_json()}); - } - if (is_progress) { - res.push_back({"prompt_progress", progress.to_json()}); - } - if (!prob_output.probs.empty()) { - res["completion_probabilities"] = completion_token_output::probs_vector_to_json({prob_output}, post_sampling_probs); - } - return res; - } - - json to_json_oaicompat() { - std::time_t t = std::time(0); - json logprobs = json(nullptr); // OAI default to null - if (prob_output.probs.size() > 0) { - logprobs = json{ - {"content", completion_token_output::probs_vector_to_json({prob_output}, post_sampling_probs)}, - }; - } - json res = json { - {"choices", json::array({ - json{ - {"text", content}, - {"index", index}, - {"logprobs", logprobs}, - {"finish_reason", nullptr}, - } - })}, - {"created", t}, - {"model", oaicompat_model}, - {"system_fingerprint", build_info}, - {"object", "text_completion"}, - {"id", oaicompat_cmpl_id} - }; - - // extra fields for debugging purposes - if (verbose) { - res["__verbose"] = to_json_non_oaicompat(); - } - if (timings.prompt_n >= 0) { - res.push_back({"timings", timings.to_json()}); - } - if (is_progress) { - res.push_back({"prompt_progress", progress.to_json()}); - } - - return res; - } - - json to_json_oaicompat_chat() { - bool first = n_decoded == 1; - std::time_t t = std::time(0); - json choices; - - std::vector deltas; - auto add_delta = [&](const json & delta) { - deltas.push_back({ - {"choices", json::array({ - json { - {"finish_reason", nullptr}, - {"index", 0}, - {"delta", delta}, - }, - })}, - {"created", t}, - {"id", oaicompat_cmpl_id}, - {"model", oaicompat_model}, - {"system_fingerprint", build_info}, - {"object", "chat.completion.chunk"}, - }); - }; - // We have to send an initial update to conform to openai behavior - if (first || is_progress) { - add_delta({ - {"role", "assistant"}, - {"content", nullptr}, - }); - } - - for (const auto & diff : oaicompat_msg_diffs) { - add_delta(common_chat_msg_diff_to_json_oaicompat(diff)); - } - - if (!deltas.empty()) { - auto & last_json = deltas[deltas.size() - 1]; - GGML_ASSERT(last_json.at("choices").size() >= 1); - - if (prob_output.probs.size() > 0) { - last_json.at("choices").at(0)["logprobs"] = json { - {"content", completion_token_output::probs_vector_to_json({prob_output}, post_sampling_probs)}, - }; - } - - if (timings.prompt_n >= 0) { - last_json.push_back({"timings", timings.to_json()}); - } - if (is_progress) { - last_json.push_back({"prompt_progress", progress.to_json()}); - } - } - - return deltas; - } -}; - -struct server_task_result_embd : server_task_result { - int index = 0; - std::vector> embedding; - - int32_t n_tokens; - - // OAI-compat fields - oaicompat_type oaicompat = OAICOMPAT_TYPE_NONE; - - virtual int get_index() override { - return index; - } - - virtual json to_json() override { - return oaicompat == OAICOMPAT_TYPE_EMBEDDING - ? to_json_oaicompat() - : to_json_non_oaicompat(); - } - - json to_json_non_oaicompat() { - return json { - {"index", index}, - {"embedding", embedding}, - }; - } - - json to_json_oaicompat() { - return json { - {"index", index}, - {"embedding", embedding[0]}, - {"tokens_evaluated", n_tokens}, - }; - } -}; - -struct server_task_result_rerank : server_task_result { - int index = 0; - float score = -1e6; - - int32_t n_tokens; - - virtual int get_index() override { - return index; - } - - virtual json to_json() override { - return json { - {"index", index}, - {"score", score}, - {"tokens_evaluated", n_tokens}, - }; - } -}; - -// this function maybe used outside of server_task_result_error -static json format_error_response(const std::string & message, const enum error_type type) { - std::string type_str; - int code = 500; - switch (type) { - case ERROR_TYPE_INVALID_REQUEST: - type_str = "invalid_request_error"; - code = 400; - break; - case ERROR_TYPE_AUTHENTICATION: - type_str = "authentication_error"; - code = 401; - break; - case ERROR_TYPE_NOT_FOUND: - type_str = "not_found_error"; - code = 404; - break; - case ERROR_TYPE_SERVER: - type_str = "server_error"; - code = 500; - break; - case ERROR_TYPE_PERMISSION: - type_str = "permission_error"; - code = 403; - break; - case ERROR_TYPE_NOT_SUPPORTED: - type_str = "not_supported_error"; - code = 501; - break; - case ERROR_TYPE_UNAVAILABLE: - type_str = "unavailable_error"; - code = 503; - break; - case ERROR_TYPE_EXCEED_CONTEXT_SIZE: - type_str = "exceed_context_size_error"; - code = 400; - break; - } - return json { - {"code", code}, - {"message", message}, - {"type", type_str}, - }; -} - -struct server_task_result_error : server_task_result { - int index = 0; - error_type err_type = ERROR_TYPE_SERVER; - std::string err_msg; - - // for ERROR_TYPE_EXCEED_CONTEXT_SIZE - int32_t n_prompt_tokens = 0; - int32_t n_ctx = 0; - - virtual bool is_error() override { - return true; - } - - virtual json to_json() override { - json res = format_error_response(err_msg, err_type); - if (err_type == ERROR_TYPE_EXCEED_CONTEXT_SIZE) { - res["n_prompt_tokens"] = n_prompt_tokens; - res["n_ctx"] = n_ctx; - } - return res; - } -}; - -struct server_task_result_metrics : server_task_result { - int n_idle_slots; - int n_processing_slots; - int n_tasks_deferred; - int64_t t_start; - - // TODO: somehow reuse server_metrics in the future, instead of duplicating the fields - uint64_t n_prompt_tokens_processed_total = 0; - uint64_t t_prompt_processing_total = 0; - uint64_t n_tokens_predicted_total = 0; - uint64_t t_tokens_generation_total = 0; - - uint64_t n_tokens_max = 0; - - uint64_t n_prompt_tokens_processed = 0; - uint64_t t_prompt_processing = 0; - - uint64_t n_tokens_predicted = 0; - uint64_t t_tokens_generation = 0; - - uint64_t n_decode_total = 0; - uint64_t n_busy_slots_total = 0; - - // while we can also use std::vector this requires copying the slot object which can be quite messy - // therefore, we use json to temporarily store the slot.to_json() result - json slots_data = json::array(); - - virtual json to_json() override { - return json { - { "idle", n_idle_slots }, - { "processing", n_processing_slots }, - { "deferred", n_tasks_deferred }, - { "t_start", t_start }, - - { "n_prompt_tokens_processed_total", n_prompt_tokens_processed_total }, - { "t_tokens_generation_total", t_tokens_generation_total }, - { "n_tokens_predicted_total", n_tokens_predicted_total }, - { "t_prompt_processing_total", t_prompt_processing_total }, - - { "n_tokens_max", n_tokens_max }, - - { "n_prompt_tokens_processed", n_prompt_tokens_processed }, - { "t_prompt_processing", t_prompt_processing }, - { "n_tokens_predicted", n_tokens_predicted }, - { "t_tokens_generation", t_tokens_generation }, - - { "n_decode_total", n_decode_total }, - { "n_busy_slots_total", n_busy_slots_total }, - - { "slots", slots_data }, - }; - } -}; - -struct server_task_result_slot_save_load : server_task_result { - std::string filename; - bool is_save; // true = save, false = load - - size_t n_tokens; - size_t n_bytes; - double t_ms; - - virtual json to_json() override { - if (is_save) { - return json { - { "id_slot", id_slot }, - { "filename", filename }, - { "n_saved", n_tokens }, - { "n_written", n_bytes }, - { "timings", { - { "save_ms", t_ms } - }}, - }; - } - - return json { - { "id_slot", id_slot }, - { "filename", filename }, - { "n_restored", n_tokens }, - { "n_read", n_bytes }, - { "timings", { - { "restore_ms", t_ms } - }}, - }; - } -}; - -struct server_task_result_slot_erase : server_task_result { - size_t n_erased; - - virtual json to_json() override { - return json { - { "id_slot", id_slot }, - { "n_erased", n_erased }, - }; - } -}; - -struct server_task_result_apply_lora : server_task_result { - virtual json to_json() override { - return json {{ "success", true }}; - } -}; - -struct server_prompt_checkpoint { - llama_pos pos_min; - llama_pos pos_max; - - std::vector data; - - size_t size() const { - return data.size(); - } +// state diagram: https://github.com/ggml-org/llama.cpp/pull/9283 +enum slot_state { + SLOT_STATE_IDLE, + SLOT_STATE_STARTED, // TODO: this state is only used for setting up the initial prompt processing; maybe merge it with launch_slot_with_task in the future + SLOT_STATE_PROCESSING_PROMPT, + SLOT_STATE_DONE_PROMPT, + SLOT_STATE_GENERATING, }; -struct server_prompt { - server_tokens tokens; - - std::vector data; - - std::list checkpoints; - - size_t size() const { - size_t res = data.size(); - - for (const auto & checkpoint : checkpoints) { - res += checkpoint.size(); - } - - return res; - } - - int n_tokens() const { - return tokens.size(); - } +enum server_state { + SERVER_STATE_LOADING_MODEL, // Server is starting up, model not fully loaded yet + SERVER_STATE_READY, // Server is ready and model is loaded }; -struct server_prompt_cache { - server_prompt_cache(int32_t limit_size_mib, size_t limit_tokens) { - this->limit_size = 1024ull*1024ull*(limit_size_mib < 0 ? 0 : limit_size_mib); - this->limit_tokens = limit_tokens; - } - - std::list states; - - // in bytes, 0 = no limit - size_t limit_size = 0; - - // in tokens, 0 = no limit - size_t limit_tokens = 0; - - size_t size() const { - size_t res = 0; - - for (const auto & state : states) { - res += state.size(); - } - - return res; - } - - size_t n_tokens() const { - size_t res = 0; - - for (const auto & state : states) { - res += state.n_tokens(); - } - - return res; - } - - server_prompt * alloc(const server_prompt & prompt, size_t state_size) { - // first check if the current state is contained fully in the cache - for (auto it = states.begin(); it != states.end(); ++it) { - const int cur_lcp_len = it->tokens.get_common_prefix(prompt.tokens); - - if (cur_lcp_len == (int) prompt.tokens.size()) { - SRV_WRN("%s", " - prompt is already in the cache, skipping\n"); - return nullptr; - } - } - - // next, remove any cached prompts that are fully contained in the current prompt - for (auto it = states.begin(); it != states.end();) { - const int len = it->tokens.get_common_prefix(prompt.tokens); - - if (len == (int) it->tokens.size()) { - SRV_WRN(" - removing obsolete cached prompt with length %d\n", len); - - it = states.erase(it); - } else { - ++it; - } - } - - std::vector state_data; - - // check if we can allocate enough memory for the new state - try { - state_data.resize(state_size); - } catch (const std::bad_alloc & e) { - SRV_ERR("failed to allocate memory for prompt cache state: %s\n", e.what()); - - limit_size = std::max(1, 0.4*size()); - - SRV_WRN(" - cache size limit reduced to %.3f MiB\n", limit_size / (1024.0 * 1024.0)); - - update(); - - return nullptr; - } - - // TODO: for some reason we can't copy server_tokens, so we have to do this workaround - auto & cur = states.emplace_back(); - cur = { - /*.tokens =*/ server_tokens(prompt.tokens.get_text_tokens(), false), - /*.data =*/ std::move(state_data), - /*.checkpoints =*/ prompt.checkpoints, - }; - - return &cur; - } - - bool load(server_prompt & prompt, const server_tokens & tokens_new, llama_context * ctx, int32_t id_slot) { - const int lcp_best = prompt.tokens.get_common_prefix(tokens_new); - - float f_keep_best = float(lcp_best) / prompt.tokens.size(); - float sim_best = float(lcp_best) / tokens_new.size(); - - SRV_WRN(" - looking for better prompt, base f_keep = %.3f, sim = %.3f\n", f_keep_best, sim_best); - - auto it_best = states.end(); - - // find the most similar cached prompt, that would also preserve the most context - for (auto it = states.begin(); it != states.end(); ++it) { - const int lcp_cur = it->tokens.get_common_prefix(tokens_new); - - const float f_keep_cur = float(lcp_cur) / it->tokens.size(); - const float sim_cur = float(lcp_cur) / tokens_new.size(); - - // don't trash large prompts - if (f_keep_cur < 0.25f) { - continue; - } - - if (f_keep_best < f_keep_cur && sim_best < sim_cur) { - f_keep_best = f_keep_cur; - sim_best = sim_cur; - - it_best = it; - } - } - - if (it_best != states.end()) { - SRV_WRN(" - found better prompt with f_keep = %.3f, sim = %.3f\n", f_keep_best, sim_best); - - const size_t size = it_best->data.size(); - const size_t n = llama_state_seq_set_data_ext(ctx, it_best->data.data(), size, id_slot, 0); - if (n != size) { - SRV_WRN("failed to restore state with size %zu\n", size); - - return false; - } - - it_best->data.clear(); - it_best->data.shrink_to_fit(); - - prompt = std::move(*it_best); - - states.erase(it_best); - } - - return true; +static bool server_task_type_need_embd(server_task_type task_type) { + switch (task_type) { + case SERVER_TASK_TYPE_EMBEDDING: + case SERVER_TASK_TYPE_RERANK: + return true; + default: + return false; } +} - void update() { - if (limit_size > 0) { - // always keep at least one state, regardless of the limits - while (states.size() > 1 && size() > limit_size) { - if (states.empty()) { - break; - } - - SRV_WRN(" - cache size limit reached, removing oldest entry (size = %.3f MiB)\n", states.front().size() / (1024.0 * 1024.0)); - - states.pop_front(); - } - } - - // average size per token - const float size_per_token = std::max(1.0f, float(size()) / (std::max(1, n_tokens()))); - - // dynamically increase the token limit if it can fit in the memory limit - const size_t limit_tokens_cur = limit_size > 0 ? std::max(limit_tokens, limit_size/size_per_token) : limit_tokens; - - if (limit_tokens > 0) { - while (states.size() > 1 && n_tokens() > limit_tokens_cur) { - if (states.empty()) { - break; - } - - SRV_WRN(" - cache token limit (%zu, est: %zu) reached, removing oldest entry (size = %.3f MiB)\n", - limit_tokens, limit_tokens_cur, states.front().size() / (1024.0 * 1024.0)); - - states.pop_front(); - } - } - - SRV_WRN(" - cache state: %zu prompts, %.3f MiB (limits: %.3f MiB, %zu tokens, %zu est)\n", - states.size(), size() / (1024.0 * 1024.0), limit_size / (1024.0 * 1024.0), limit_tokens, limit_tokens_cur); - - for (const auto & state : states) { - SRV_WRN(" - prompt %p: %7d tokens, checkpoints: %2zu, %9.3f MiB\n", - (const void *)&state, state.n_tokens(), state.checkpoints.size(), state.size() / (1024.0 * 1024.0)); - } +static bool server_task_type_need_logits(server_task_type task_type) { + switch (task_type) { + case SERVER_TASK_TYPE_COMPLETION: + case SERVER_TASK_TYPE_INFILL: + return true; + default: + return false; } -}; +} struct server_slot { int id; @@ -2022,303 +468,6 @@ struct server_metrics { } }; -struct server_queue { - int id = 0; - bool running; - - // queues - std::deque queue_tasks; - std::deque queue_tasks_deferred; - - std::mutex mutex_tasks; - std::condition_variable condition_tasks; - - // callback functions - std::function callback_new_task; - std::function callback_update_slots; - - // Add a new task to the end of the queue - int post(server_task && task, bool front = false) { - std::unique_lock lock(mutex_tasks); - GGML_ASSERT(task.id != -1); - // if this is cancel task make sure to clean up pending tasks - if (task.type == SERVER_TASK_TYPE_CANCEL) { - cleanup_pending_task(task.id_target); - } - const int task_id = task.id; - QUE_DBG("new task, id = %d, front = %d\n", task_id, front); - if (front) { - queue_tasks.push_front(std::move(task)); - } else { - queue_tasks.push_back(std::move(task)); - } - condition_tasks.notify_one(); - return task_id; - } - - // multi-task version of post() - int post(std::vector && tasks, bool front = false) { - std::unique_lock lock(mutex_tasks); - for (auto & task : tasks) { - if (task.id == -1) { - task.id = id++; - } - // if this is cancel task make sure to clean up pending tasks - if (task.type == SERVER_TASK_TYPE_CANCEL) { - cleanup_pending_task(task.id_target); - } - QUE_DBG("new task, id = %d/%d, front = %d\n", task.id, (int) tasks.size(), front); - if (front) { - queue_tasks.push_front(std::move(task)); - } else { - queue_tasks.push_back(std::move(task)); - } - } - condition_tasks.notify_one(); - return 0; - } - - // Add a new task, but defer until one slot is available - void defer(server_task && task) { - std::unique_lock lock(mutex_tasks); - QUE_DBG("defer task, id = %d\n", task.id); - queue_tasks_deferred.push_back(std::move(task)); - condition_tasks.notify_one(); - } - - // Get the next id for creating a new task - int get_new_id() { - std::unique_lock lock(mutex_tasks); - int new_id = id++; - return new_id; - } - - // Register function to process a new task - void on_new_task(std::function callback) { - callback_new_task = std::move(callback); - } - - // Register the function to be called when all slots data is ready to be processed - void on_update_slots(std::function callback) { - callback_update_slots = std::move(callback); - } - - // Call when the state of one slot is changed, it will move one task from deferred to main queue - void pop_deferred_task() { - std::unique_lock lock(mutex_tasks); - if (!queue_tasks_deferred.empty()) { - queue_tasks.emplace_front(std::move(queue_tasks_deferred.front())); - queue_tasks_deferred.pop_front(); - } - condition_tasks.notify_one(); - } - - // end the start_loop routine - void terminate() { - std::unique_lock lock(mutex_tasks); - running = false; - condition_tasks.notify_all(); - } - - /** - * Main loop consists of these steps: - * - Wait until a new task arrives - * - Process the task (i.e. maybe copy data into slot) - * - Check if multitask is finished - * - Update all slots - */ - void start_loop() { - running = true; - - while (true) { - QUE_DBG("%s", "processing new tasks\n"); - - while (true) { - std::unique_lock lock(mutex_tasks); - if (!running) { - QUE_DBG("%s", "terminate\n"); - return; - } - if (queue_tasks.empty()) { - lock.unlock(); - break; - } - server_task task = std::move(queue_tasks.front()); - queue_tasks.pop_front(); - lock.unlock(); - - QUE_DBG("processing task, id = %d\n", task.id); - callback_new_task(std::move(task)); - } - - // all tasks in the current loop is processed, slots data is now ready - QUE_DBG("%s", "update slots\n"); - - callback_update_slots(); - - QUE_DBG("%s", "waiting for new tasks\n"); - { - std::unique_lock lock(mutex_tasks); - if (!running) { - QUE_DBG("%s", "terminate\n"); - return; - } - if (queue_tasks.empty()) { - condition_tasks.wait(lock, [&]{ - return (!queue_tasks.empty() || !running); - }); - } - } - } - } - -private: - void cleanup_pending_task(int id_target) { - // no need lock because this is called exclusively by post() - auto rm_func = [id_target](const server_task & task) { - return task.id == id_target; - }; - queue_tasks.erase( - std::remove_if(queue_tasks.begin(), queue_tasks.end(), rm_func), - queue_tasks.end()); - queue_tasks_deferred.erase( - std::remove_if(queue_tasks_deferred.begin(), queue_tasks_deferred.end(), rm_func), - queue_tasks_deferred.end()); - } -}; - -struct server_response { - bool running = true; - - // for keeping track of all tasks waiting for the result - std::unordered_set waiting_task_ids; - - // the main result queue (using ptr for polymorphism) - std::vector queue_results; - - std::mutex mutex_results; - std::condition_variable condition_results; - - // add the id_task to the list of tasks waiting for response - void add_waiting_task_id(int id_task) { - SRV_DBG("add task %d to waiting list. current waiting = %d (before add)\n", id_task, (int) waiting_task_ids.size()); - - std::unique_lock lock(mutex_results); - waiting_task_ids.insert(id_task); - } - - void add_waiting_tasks(const std::vector & tasks) { - std::unique_lock lock(mutex_results); - - for (const auto & task : tasks) { - SRV_DBG("add task %d to waiting list. current waiting = %d (before add)\n", task.id, (int) waiting_task_ids.size()); - waiting_task_ids.insert(task.id); - } - } - - // when the request is finished, we can remove task associated with it - void remove_waiting_task_id(int id_task) { - SRV_DBG("remove task %d from waiting list. current waiting = %d (before remove)\n", id_task, (int) waiting_task_ids.size()); - - std::unique_lock lock(mutex_results); - waiting_task_ids.erase(id_task); - // make sure to clean up all pending results - queue_results.erase( - std::remove_if(queue_results.begin(), queue_results.end(), [id_task](const server_task_result_ptr & res) { - return res->id == id_task; - }), - queue_results.end()); - } - - void remove_waiting_task_ids(const std::unordered_set & id_tasks) { - std::unique_lock lock(mutex_results); - - for (const auto & id_task : id_tasks) { - SRV_DBG("remove task %d from waiting list. current waiting = %d (before remove)\n", id_task, (int) waiting_task_ids.size()); - waiting_task_ids.erase(id_task); - } - } - - // This function blocks the thread until there is a response for one of the id_tasks - server_task_result_ptr recv(const std::unordered_set & id_tasks) { - while (true) { - std::unique_lock lock(mutex_results); - condition_results.wait(lock, [&]{ - if (!running) { - SRV_DBG("%s : queue result stop\n", __func__); - std::terminate(); // we cannot return here since the caller is HTTP code - } - return !queue_results.empty(); - }); - - for (size_t i = 0; i < queue_results.size(); i++) { - if (id_tasks.find(queue_results[i]->id) != id_tasks.end()) { - server_task_result_ptr res = std::move(queue_results[i]); - queue_results.erase(queue_results.begin() + i); - return res; - } - } - } - - // should never reach here - } - - // same as recv(), but have timeout in seconds - // if timeout is reached, nullptr is returned - server_task_result_ptr recv_with_timeout(const std::unordered_set & id_tasks, int timeout) { - while (true) { - std::unique_lock lock(mutex_results); - - for (int i = 0; i < (int) queue_results.size(); i++) { - if (id_tasks.find(queue_results[i]->id) != id_tasks.end()) { - server_task_result_ptr res = std::move(queue_results[i]); - queue_results.erase(queue_results.begin() + i); - return res; - } - } - - std::cv_status cr_res = condition_results.wait_for(lock, std::chrono::seconds(timeout)); - if (!running) { - SRV_DBG("%s : queue result stop\n", __func__); - std::terminate(); // we cannot return here since the caller is HTTP code - } - if (cr_res == std::cv_status::timeout) { - return nullptr; - } - } - - // should never reach here - } - - // single-task version of recv() - server_task_result_ptr recv(int id_task) { - std::unordered_set id_tasks = {id_task}; - return recv(id_tasks); - } - - // Send a new result to a waiting id_task - void send(server_task_result_ptr && result) { - SRV_DBG("sending result for task id = %d\n", result->id); - - std::unique_lock lock(mutex_results); - for (const auto & id_task : waiting_task_ids) { - if (result->id == id_task) { - SRV_DBG("task id = %d pushed to result queue\n", result->id); - - queue_results.emplace_back(std::move(result)); - condition_results.notify_all(); - return; - } - } - } - - // terminate the waiting loop - void terminate() { - running = false; - condition_results.notify_all(); - } -}; - struct server_context { common_params params_base; @@ -3323,7 +1472,7 @@ struct server_context { res->slots_data = std::move(slots_data); res->n_idle_slots = n_idle_slots; res->n_processing_slots = n_processing_slots; - res->n_tasks_deferred = queue_tasks.queue_tasks_deferred.size(); + res->n_tasks_deferred = queue_tasks.queue_tasks_deferred_size(); res->t_start = metrics.t_start; res->n_prompt_tokens_processed_total = metrics.n_prompt_tokens_processed_total; @@ -4645,7 +2794,7 @@ struct server_routes { json default_generation_settings_for_props; { - slot_params params; + task_params params; params.sampling = ctx_server.params_base.sampling; @@ -4784,7 +2933,7 @@ struct server_routes { std::string prompt = json_value(data, "prompt", std::string()); std::vector tokenized_prompts = tokenize_input_prompts(ctx_server.vocab, ctx_server.mctx, prompt, false, true); SRV_DBG("creating infill tasks, n_prompts = %d\n", (int) tokenized_prompts.size()); - data["prompt"] = format_infill( + data["prompt"] = format_prompt_infill( ctx_server.vocab, data.at("input_prefix"), data.at("input_suffix"), @@ -4939,8 +3088,7 @@ struct server_routes { } } - const json data = format_tokenizer_response(tokens_response); - res->ok(data); + res->ok(json{{"tokens", std::move(tokens_response)}}); return res; }; @@ -4951,11 +3099,10 @@ struct server_routes { std::string content; if (body.count("tokens") != 0) { const llama_tokens tokens = body.at("tokens"); - content = tokens_to_str(ctx_server.ctx, tokens.cbegin(), tokens.cend()); + content = tokens_to_str(ctx_server.ctx, tokens); } - const json data = format_detokenized_response(content); - res->ok(data); + res->ok(json{{"content", std::move(content)}}); return res; }; @@ -5009,7 +3156,7 @@ struct server_routes { std::vector tasks; tasks.reserve(documents.size()); for (size_t i = 0; i < documents.size(); i++) { - auto tmp = format_rerank(ctx_server.model, ctx_server.vocab, ctx_server.mctx, query, documents[i]); + auto tmp = format_prompt_rerank(ctx_server.model, ctx_server.vocab, ctx_server.mctx, query, documents[i]); server_task task = server_task(SERVER_TASK_TYPE_RERANK); task.id = ctx_server.queue_tasks.get_new_id(); task.index = i; @@ -5460,10 +3607,10 @@ struct server_routes { } }; -std::function shutdown_handler; -std::atomic_flag is_terminating = ATOMIC_FLAG_INIT; +static std::function shutdown_handler; +static std::atomic_flag is_terminating = ATOMIC_FLAG_INIT; -inline void signal_handler(int signal) { +static inline void signal_handler(int signal) { if (is_terminating.test_and_set()) { // in case it hangs, we can force terminate the server by hitting Ctrl+C twice // this is for better developer experience, we can remove when the server is stable enough @@ -5632,6 +3779,7 @@ int main(int argc, char ** argv) { ctx_server.queue_tasks.terminate(); }; + // TODO: refactor in common/console #if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__)) struct sigaction sigint_action; sigint_action.sa_handler = signal_handler; From b61de2b2df4ff07e6d6de96320fb311d96908b7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sigbj=C3=B8rn=20Skj=C3=A6ret?= Date: Mon, 24 Nov 2025 15:50:55 +0100 Subject: [PATCH 21/37] convert : allow quantizing lora again (#17453) --- convert_hf_to_gguf.py | 2 +- convert_lora_to_gguf.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/convert_hf_to_gguf.py b/convert_hf_to_gguf.py index 6cbaee03dfd..d24a4682f3d 100755 --- a/convert_hf_to_gguf.py +++ b/convert_hf_to_gguf.py @@ -565,7 +565,7 @@ def prepare_tensors(self): gguf.MODEL_TENSOR.ALTUP_PREDICT_COEF, ) ) - or not new_name.endswith(".weight") + or new_name[-7:] not in (".weight", ".lora_a", ".lora_b") ): data_qtype = gguf.GGMLQuantizationType.F32 diff --git a/convert_lora_to_gguf.py b/convert_lora_to_gguf.py index 57c6cd0df1d..b0adde8a8b4 100755 --- a/convert_lora_to_gguf.py +++ b/convert_lora_to_gguf.py @@ -242,7 +242,7 @@ def parse_args() -> argparse.Namespace: help="path to write to; default: based on input. {ftype} will be replaced by the outtype.", ) parser.add_argument( - "--outtype", type=str, choices=["f32", "f16", "bf16", "q8_0", "auto"], default="f16", + "--outtype", type=str, choices=["f32", "f16", "bf16", "q8_0", "auto"], default="f32", help="output format - use f32 for float32, f16 for float16, bf16 for bfloat16, q8_0 for Q8_0, auto for the highest-fidelity 16-bit float type depending on the first loaded tensor type", ) parser.add_argument( From 0543f928a3ae576e6e16d3bbf02c0bf9fddba688 Mon Sep 17 00:00:00 2001 From: "Jiacheng (Jason) Chen" <76919340+jiachengjason@users.noreply.github.com> Date: Mon, 24 Nov 2025 14:00:10 -0500 Subject: [PATCH 22/37] HIP: WMMA-MMQ kernels for RDNA 4 (#17156) * first commit naive test to enable mmq for RDNA4 * adding appropriate WMMA instructions * git rebase on top of master: fixing the correctness of the mat mul operations, updating layout mappings for RDNA4 * clean up merge conflicts * add comments and code clean up * PR clean up, addressed comments * enable MMQ fallback on RDNA4 * addressed comments: add guards in load generic, separate wmma branch for use_mmq function * Revert build-xcframework.sh * Formating: remove trailing whitespace * revert CMake files * clean up after rebase: remove duplicated change, revert cmake files * clean up after rebase: revert changes from build-xcframework.sh * clean up: remove extra space line in mma.cuh * Revert "clean up: remove extra space line in mma.cuh" This reverts commit b39ed57c4529906466bd0bc7c2a86e08fc2f8bee. --- ggml/src/ggml-cuda/mma.cuh | 131 ++++++++--- ggml/src/ggml-cuda/mmq.cu | 8 +- ggml/src/ggml-cuda/mmq.cuh | 437 +++++++++++++++++++++++++------------ 3 files changed, 408 insertions(+), 168 deletions(-) diff --git a/ggml/src/ggml-cuda/mma.cuh b/ggml/src/ggml-cuda/mma.cuh index c3c4b779965..caa08b360b5 100644 --- a/ggml/src/ggml-cuda/mma.cuh +++ b/ggml/src/ggml-cuda/mma.cuh @@ -73,34 +73,7 @@ namespace ggml_cuda_mma { static constexpr int I = I_; static constexpr int J = J_; -#if defined(GGML_USE_HIP) -#if defined(RDNA4) - static constexpr int ne = I * J / 32; - T x[ne] = {0}; - - static constexpr __device__ bool supported() { - if (I == 16 && J == 16) return true; - return false; - } - - static __device__ __forceinline__ int get_i(const int l) { - if constexpr (I == 16 && J == 16) { - return 8 * (threadIdx.x / 16) + l; - } else { - NO_DEVICE_CODE; - return -1; - } - } - - static __device__ __forceinline__ int get_j(const int l) { - if constexpr (I == 16 && J == 16) { - return threadIdx.x % 16; - } else { - NO_DEVICE_CODE; - return -1; - } - } -#else +#if defined(AMD_MFMA_AVAILABLE) static constexpr int ne = I * J / 64; T x[ne] = {0}; @@ -146,7 +119,6 @@ namespace ggml_cuda_mma { return -1; } } -#endif // defined(RDNA4) #elif __CUDA_ARCH__ == GGML_CUDA_CC_VOLTA static constexpr int ne = I * J / 32; T x[ne] = {0}; @@ -177,6 +149,34 @@ namespace ggml_cuda_mma { return -1; } } +#elif defined(AMD_WMMA_AVAILABLE) +#if defined(RDNA4) + static constexpr int ne = I * J / 32; + T x[ne] = {0}; + + static constexpr __device__ bool supported() { + if (I == 16 && J == 16) return true; + return false; + } + + static __device__ __forceinline__ int get_i(const int l) { + if constexpr (I == 16 && J == 16) { + return 8 * (threadIdx.x / 16) + l; + } else { + NO_DEVICE_CODE; + return -1; + } + } + + static __device__ __forceinline__ int get_j(const int l) { + if constexpr (I == 16 && J == 16) { + return threadIdx.x % 16; + } else { + NO_DEVICE_CODE; + return -1; + } + } +#endif #else static constexpr int ne = I * J / 32; T x[ne] = {0}; @@ -437,7 +437,20 @@ namespace ggml_cuda_mma { xi[0] = xs[0]; } #elif defined(AMD_WMMA_AVAILABLE) - ggml_cuda_memcpy_1(t.x, xs0 + t.get_i(0) * stride + t.get_j(0)); + if constexpr (I == 16 && J == 4) { + int64_t * xi = (int64_t *) t.x; + const int64_t * xs = (int64_t *) ((const int *) xs0 + (threadIdx.x % t.I) * stride + 2 * (threadIdx.x / t.I)); + xi[0] = xs[0]; + }else if constexpr (I == 16 && J == 8) { + int64_t * xi = (int64_t *) t.x; + const int64_t * xs = (int64_t *) ((const int *) xs0 + (threadIdx.x % t.I) * stride + 4 * (threadIdx.x / t.I)); + xi[0] = xs[0]; + + const int64_t * xs1 = (int64_t *) ((const int *) xs0 + (threadIdx.x % t.I) * stride + 4 * (threadIdx.x / t.I) + 2); + xi[1] = xs1[0]; + }else{ + NO_DEVICE_CODE; + } #else #pragma unroll for (int l = 0; l < t.ne; ++l) { @@ -772,6 +785,36 @@ namespace ggml_cuda_mma { acc[0], 0, 0, 0); #endif // defined(CDNA3) + +#elif defined(AMD_WMMA_AVAILABLE) + using int32x2_t = __attribute__((__vector_size__(2 * sizeof(int)))) int; + int32x2_t * a_vec = (int32x2_t *) A.x; + int32x2_t * b_vec = (int32x2_t *) B.x; + + using int32x8_t = __attribute__((__vector_size__(8 * sizeof(int)))) int; + int32x8_t * acc = (int32x8_t *) D.x; + +#if defined(RDNA4) + + acc[0] = __builtin_amdgcn_wmma_i32_16x16x16_iu8_w32_gfx12( + true, + a_vec[0], + true, + b_vec[0], + acc[0], + true + ); + + acc[0] = __builtin_amdgcn_wmma_i32_16x16x16_iu8_w32_gfx12( + true, + a_vec[1], + true, + b_vec[1], + acc[0], + true + ); +#endif // defined(RDNA4) + #else GGML_UNUSED_VARS(D, A, B); NO_DEVICE_CODE; @@ -798,6 +841,7 @@ namespace ggml_cuda_mma { acc[0], 0, 0, 0); #endif // defined(CDNA3) + #else GGML_UNUSED_VARS(D, A, B); NO_DEVICE_CODE; @@ -842,4 +886,31 @@ namespace ggml_cuda_mma { mma(D16[1], A16[1], B); #endif // __CUDA_ARCH__ >= GGML_CUDA_CC_AMPERE } + +static __device__ __forceinline__ void mma( + tile<16, 16, int> & D, const tile<16, 4, int> & A, const tile<16, 4, int> & B) { +#if defined(AMD_WMMA_AVAILABLE) + using int32x2_t = __attribute__((__vector_size__(2 * sizeof(int)))) int; + int32x2_t * a_vec = (int32x2_t *) A.x; + int32x2_t * b_vec = (int32x2_t *) B.x; + + using int32x8_t = __attribute__((__vector_size__(8 * sizeof(int)))) int; + int32x8_t * acc = (int32x8_t *) D.x; + + acc[0] = __builtin_amdgcn_wmma_i32_16x16x16_iu8_w32_gfx12( + true, + a_vec[0], + true, + b_vec[0], + acc[0], + false + ); +#else + GGML_UNUSED(D); + GGML_UNUSED(A); + GGML_UNUSED(B); + NO_DEVICE_CODE; +#endif + } } + diff --git a/ggml/src/ggml-cuda/mmq.cu b/ggml/src/ggml-cuda/mmq.cu index a2c8760abea..03ceba874d8 100644 --- a/ggml/src/ggml-cuda/mmq.cu +++ b/ggml/src/ggml-cuda/mmq.cu @@ -306,5 +306,11 @@ bool ggml_cuda_should_use_mmq(enum ggml_type type, int cc, int64_t ne11) { return false; } - return (!GGML_CUDA_CC_IS_RDNA4(cc) && !GGML_CUDA_CC_IS_RDNA3(cc) && !GGML_CUDA_CC_IS_CDNA(cc)) || ne11 < MMQ_DP4A_MAX_BATCH_SIZE; + if (amd_wmma_available(cc)) { + if (GGML_CUDA_CC_IS_RDNA4(cc)) { + return true; + } + } + + return (!GGML_CUDA_CC_IS_RDNA3(cc) && !GGML_CUDA_CC_IS_CDNA(cc)) || ne11 < MMQ_DP4A_MAX_BATCH_SIZE; } diff --git a/ggml/src/ggml-cuda/mmq.cuh b/ggml/src/ggml-cuda/mmq.cuh index 2e133b6bda8..99760d56c72 100644 --- a/ggml/src/ggml-cuda/mmq.cuh +++ b/ggml/src/ggml-cuda/mmq.cuh @@ -92,7 +92,7 @@ struct tile_x_sizes { }; static int get_mmq_x_max_host(const int cc) { - return (amd_mfma_available(cc) || turing_mma_available(cc)) ? 128 : + return (amd_mfma_available(cc) || turing_mma_available(cc) || amd_wmma_available(cc)) ? 128 : GGML_CUDA_CC_IS_NVIDIA(cc) && ggml_cuda_highest_compiled_arch(cc) >= GGML_CUDA_CC_VOLTA ? #ifdef GGML_CUDA_FORCE_MMQ 128 : 64; @@ -102,7 +102,7 @@ static int get_mmq_x_max_host(const int cc) { } static constexpr __device__ int get_mmq_x_max_device() { -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) return 128; #else // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) @@ -121,7 +121,7 @@ static constexpr __device__ int get_mmq_x_max_device() { #endif // __CUDA_ARCH__ >= GGML_CUDA_CC_VOLTA #endif // defined(GGML_USE_HIP) -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } static int get_mmq_y_host(const int cc) { @@ -231,7 +231,7 @@ static constexpr __host__ __device__ int mmq_get_mma_tile_x_k(ggml_type type) { #define MMQ_TILE_Y_K (MMQ_TILE_NE_K + MMQ_TILE_NE_K/QI8_1) static int mmq_get_granularity_host(const int mmq_x, const int cc) { - if (amd_mfma_available(cc)) { + if (amd_mfma_available(cc) || amd_wmma_available(cc)) { return mmq_x >= 128 ? 32 : 16; } else if (turing_mma_available(cc) && mmq_x >= 48) { return 16; @@ -240,7 +240,7 @@ static int mmq_get_granularity_host(const int mmq_x, const int cc) { } } -#if defined(AMD_MFMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) static constexpr __device__ int mmq_get_granularity_device(const int mmq_x) { return mmq_x >= 128 ? 32 : 16; } @@ -265,7 +265,7 @@ static int mmq_get_nwarps_host(const int /*cc*/, const int warp_size) { #endif // (GGML_USE_HIP) static constexpr __device__ int mmq_get_nwarps_device() { -#if defined(AMD_MFMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) return 8; #else return 256/ggml_cuda_get_physical_warp_size(); @@ -279,14 +279,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + 2*MMQ_TILE_NE_K); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q4_0, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR4_0); constexpr int nrows = warp_size / threads_per_row; @@ -305,7 +305,7 @@ template static __device__ __forceinline__ void loa const block_q4_0 * bxi = (const block_q4_0 *) x + kbx0 + i*stride + kbx; const int qs0 = get_int_b2(bxi->qs, kqsx); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + kbx*(2*QI4_0) + kqsx + 0] = __vsubss4((qs0 >> 0) & 0x0F0F0F0F, 0x08080808); x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + kbx*(2*QI4_0) + kqsx + QI4_0] = __vsubss4((qs0 >> 4) & 0x0F0F0F0F, 0x08080808); #else @@ -327,11 +327,11 @@ template static __device__ __forceinline__ void loa const block_q4_0 * bxi = (const block_q4_0 *) x + kbx0 + i*stride + kbxd; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kbxd] = bxi->d; #else x_df[i*(MMQ_TILE_NE_K/QI4_0) + i/QI4_0 + kbxd] = bxi->d; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -382,14 +382,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + 2*MMQ_TILE_NE_K); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q4_1, mmq_y); int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR4_1); constexpr int nrows = warp_size / threads_per_row; @@ -408,12 +408,12 @@ template static __device__ __forceinline__ void loa const block_q4_1 * bxi = (const block_q4_1 *) x + kbx0 + i*stride + kbx; const int qs0 = get_int_b4(bxi->qs, kqsx); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kbx*(2*QI4_1) + kqsx + 0] = (qs0 >> 0) & 0x0F0F0F0F; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kbx*(2*QI4_1) + kqsx + QI4_1] = (qs0 >> 4) & 0x0F0F0F0F; #else x_qs[i*(MMQ_TILE_NE_K + 1) + txi] = qs0; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } constexpr int blocks_per_tile_x_row = MMQ_TILE_NE_K / QI4_1; @@ -430,11 +430,11 @@ template static __device__ __forceinline__ void loa const block_q4_1 * bxi = (const block_q4_1 *) x + kbx0 + i*stride + kbxd; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_dm[i*MMQ_MMA_TILE_X_K_Q8_1 + kbxd] = bxi->dm; #else x_dm[i*(MMQ_TILE_NE_K/QI4_1) + i/QI4_1 + kbxd] = bxi->dm; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -485,14 +485,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q5_0, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR5_0); constexpr int nrows = warp_size / threads_per_row; @@ -527,13 +527,13 @@ template static __device__ __forceinline__ void loa qs1 |= (qh << 9) & 0x10000000; // 19 -> 28 qs1 = __vsubss4(qs1, 0x10101010); // subtract 16 -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + kbx*(2*QI5_0) + kqsx + 0] = qs0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + kbx*(2*QI5_0) + kqsx + QI5_0] = qs1; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + kbx*(2*QI5_0) + kqsx + 0] = qs0; x_qs[i*(2*MMQ_TILE_NE_K + 1) + kbx*(2*QI5_0) + kqsx + QI5_0] = qs1; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } constexpr int blocks_per_tile_x_row = MMQ_TILE_NE_K / QI5_0; @@ -550,11 +550,11 @@ template static __device__ __forceinline__ void loa const block_q5_0 * bxi = (const block_q5_0 *) x + kbx0 + i*stride + kbxd; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kbxd] = bxi->d; #else x_df[i*(MMQ_TILE_NE_K/QI5_0) + i/QI5_0 + kbxd] = bxi->d; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -563,14 +563,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + 2*MMQ_TILE_NE_K); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q5_1, mmq_y); int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR5_1); constexpr int nrows = warp_size / threads_per_row; @@ -603,13 +603,13 @@ template static __device__ __forceinline__ void loa qs1 |= (qh << 2) & 0x00100000; // 18 -> 20 qs1 |= (qh << 9) & 0x10000000; // 19 -> 28 -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kbx*(2*QI5_1) + kqsx + 0] = qs0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kbx*(2*QI5_1) + kqsx + QI5_1] = qs1; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + kbx*(2*QI5_1) + kqsx + 0] = qs0; x_qs[i*(2*MMQ_TILE_NE_K + 1) + kbx*(2*QI5_1) + kqsx + QI5_1] = qs1; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } constexpr int blocks_per_tile_x_row = MMQ_TILE_NE_K / QI5_1; @@ -626,11 +626,11 @@ template static __device__ __forceinline__ void loa const block_q5_1 * bxi = (const block_q5_1 *) x + kbx0 + i*stride + kbxd; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_dm[i*MMQ_MMA_TILE_X_K_Q8_1 + kbxd] = bxi->dm; #else x_dm[i*(MMQ_TILE_NE_K/QI5_1) + i/QI5_1 + kbxd] = bxi->dm; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -639,14 +639,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_tile + 2*MMQ_TILE_NE_K); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q8_0, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) // MMQ_ITER_K / (4 * QR8_0) == 64 required. but NV has only 32 threads per warp constexpr int threads_per_row = 32; @@ -665,13 +665,13 @@ template static __device__ __forceinline__ void loa const block_q8_0 * bxi = (const block_q8_0 *) x + kbx0 + i*stride + kbx; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 0 + txi] = get_int_b2(bxi[0].qs, kqsx); x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + MMQ_TILE_NE_K + txi] = get_int_b2(bxi[MMQ_TILE_NE_K/QI8_0].qs, kqsx); #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + 0 + txi] = get_int_b2(bxi[0].qs, kqsx); x_qs[i*(2*MMQ_TILE_NE_K + 1) + MMQ_TILE_NE_K + txi] = get_int_b2(bxi[MMQ_TILE_NE_K/QI8_0].qs, kqsx); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } constexpr int blocks_per_tile_x_row = 2*MMQ_TILE_NE_K / QI8_0; @@ -688,11 +688,11 @@ template static __device__ __forceinline__ void loa const block_q8_0 * bxi = (const block_q8_0 *) x + kbx0 + i*stride + kbxd; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kbxd] = bxi->d; #else x_df[i*(2*MMQ_TILE_NE_K/QI8_0) + i/(QI8_0/2) + kbxd] = bxi->d; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -701,14 +701,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_MXFP4, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR_MXFP4); constexpr int nrows = warp_size / threads_per_row; @@ -730,13 +730,13 @@ template static __device__ __forceinline__ void loa const int2 v = get_int_from_table_16(aux_q4, kvalues_mxfp4); const int k0 = kbx * (2 * QI_MXFP4) + kqsx; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + k0 + 0] = v.x; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + k0 + QI_MXFP4] = v.y; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + k0 + 0] = v.x; x_qs[i*(2*MMQ_TILE_NE_K + 1) + k0 + QI_MXFP4] = v.y; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } constexpr int blocks_per_tile_x_row = MMQ_TILE_NE_K / QI_MXFP4; @@ -753,11 +753,11 @@ template static __device__ __forceinline__ void loa const block_mxfp4 * bxi = (const block_mxfp4 *) x + kbx0 + i*stride + kbxd; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q8_1 + kbxd] = ggml_cuda_e8m0_to_fp32(bxi->e)*0.5f; #else x_df[i*(MMQ_TILE_NE_K/QI_MXFP4) + i/QI_MXFP4 + kbxd] = ggml_cuda_e8m0_to_fp32(bxi->e)*0.5f; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -796,7 +796,7 @@ static __device__ __forceinline__ void vec_dot_q8_0_q8_1_dp4a( template static __device__ __forceinline__ void vec_dot_q8_0_q8_1_mma( const int * __restrict__ x, const int * __restrict__ y, float * __restrict__ sum, const int k00) { -#if defined(AMD_MFMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) typedef tile<16, 8, int> tile_A; typedef tile<16, 8, int> tile_B; typedef tile<16, 16, int> tile_C; @@ -927,7 +927,7 @@ static __device__ __forceinline__ void vec_dot_q8_0_q8_1_mma( } } } -#endif // defined(AMD_MFMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } template @@ -965,7 +965,7 @@ static __device__ __forceinline__ void vec_dot_q8_1_q8_1_dp4a( template static __device__ __forceinline__ void vec_dot_q8_1_q8_1_mma( const int * __restrict__ x, const int * __restrict__ y, float * __restrict__ sum, const int k00) { -#if defined(AMD_MFMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) typedef tile<16, 8, int> tile_A; typedef tile<16, 8, int> tile_B; typedef tile<16, 16, int> tile_C; @@ -1087,7 +1087,7 @@ static __device__ __forceinline__ void vec_dot_q8_1_q8_1_mma( } } } -#endif // defined(AMD_MFMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } // Used for Q3_K, IQ2_S, and IQ2_XS @@ -1170,6 +1170,54 @@ static __device__ __forceinline__ void vec_dot_q8_0_16_q8_1_mma( tile_C C; mma(C, A[n], B[0]); +#pragma unroll + for (int l = 0; l < tile_C::ne; ++l) { + const int i = i0 + n*tile_C::I + tile_C::get_i(l); + sum[(j0/tile_C::J + n)*tile_C::ne + l] += C.x[l] * x_df[i*MMQ_MMA_TILE_X_K_Q3_K + k0/4] * dB; + } + } + } + } +#elif defined(AMD_WMMA_AVAILABLE) //wmma instructions can handle 16x4 tiles, does not require loading 64x2 tiles + typedef tile<16, 4, int> tile_A; + typedef tile<16, 4, int> tile_B; + typedef tile<16, 16, int> tile_C; + + constexpr int granularity = mmq_get_granularity_device(mmq_x); + constexpr int rows_per_warp = granularity; + constexpr int ntx = rows_per_warp/tile_C::I; // Number of x minitiles per warp. + + y += (threadIdx.y % ntx) * (tile_C::J*MMQ_TILE_Y_K); + + const int * x_qs = (const int *) x; + const float * x_df = (const float *) x_qs + MMQ_TILE_NE_K*2; + const int * y_qs = (const int *) y + 4; + const float * y_df = (const float *) y; + + const int i0 = (threadIdx.y / ntx) * rows_per_warp; + + for (int k01 = 0; k01 < MMQ_TILE_NE_K; k01 += 4) { + const int k0 = k00 + k01; + + tile_A A[ntx]; +#pragma unroll + for (int n = 0; n < ntx; ++n) { + load_generic(A[n], x_qs + (i0 + n*tile_A::I)*MMQ_MMA_TILE_X_K_Q3_K + k0, MMQ_MMA_TILE_X_K_Q3_K); + } + +#pragma unroll + for (int j0 = 0; j0 < mmq_x; j0 += ntx*tile_C::J) { + tile_B B; + load_generic(B, y_qs + j0*MMQ_TILE_Y_K + k01, MMQ_TILE_Y_K); + + const int j = j0 + tile_C::get_j(0); + const float dB = y_df[j*MMQ_TILE_Y_K + k01/QI8_1]; + +#pragma unroll + for (int n = 0; n < ntx; ++n) { + tile_C C; + mma(C, A[n], B); + #pragma unroll for (int l = 0; l < tile_C::ne; ++l) { const int i = i0 + n*tile_C::I + tile_C::get_i(l); @@ -1257,21 +1305,21 @@ static __device__ __forceinline__ void vec_dot_q8_0_16_q8_1_mma( #else GGML_UNUSED_VARS(x, y, sum, k00); NO_DEVICE_CODE; -#endif // AMD_MFMA_AVAILABLE +#endif // AMD_MFMA_AVAILABLE || AMD_WMMA_AVAILABLE } template static __device__ __forceinline__ void load_tiles_q2_K( const char * __restrict__ x, int * __restrict__ x_tile, const int kbx0, const int i_max, const int stride) { constexpr int nwarps = mmq_get_nwarps_device(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + 2*MMQ_TILE_NE_K); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_Q2_K, mmq_y); int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR2_K); constexpr int nrows = ggml_cuda_get_physical_warp_size() / threads_per_row; @@ -1295,11 +1343,11 @@ template static __device__ __forceinline__ void loa const int x_qs_k = (x_ql_0 >> (2*l)) & 0x03030303; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q2_K + k] = x_qs_k; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + k] = x_qs_k; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } const int sc_m = bxi->scales[kqsx]; @@ -1310,11 +1358,11 @@ template static __device__ __forceinline__ void loa const half2 x_dm_ik = make_half2(bxi_dmf.x*(sc_m & 0x0F), bxi_dmf.y*(sc_m >> 4)); #endif // FAST_FP16_AVAILABLE -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_dm[i*MMQ_MMA_TILE_X_K_Q2_K + kqsx] = x_dm_ik; #else x_dm[i*(MMQ_TILE_NE_K + 1) + kqsx] = x_dm_ik; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -1438,6 +1486,72 @@ static __device__ __forceinline__ void vec_dot_q2_K_q8_1_mma( tile_C Cd; mma(Cd, A[n], B[0]); +#pragma unroll + for (int l = 0; l < tile_C::ne; ++l) { + const int i = i0 + n*tile_C::I + tile_C::get_i(l); + const float2 dm = __half22float2(x_dm[i*MMQ_MMA_TILE_X_K_Q2_K + k0/4]); + float tmp = Cd.x[l]*dm.x; + if (k01 >= MMQ_TILE_NE_K * 3/4) { + tmp -= Cm.x[l]*dm.y; + } + sum[(j0/tile_C::J + n)*tile_C::ne + l] += tmp*dB; + sum[(j0/tile_C::J + n)*tile_C::ne + l] -= dm.y*sB; + } + } + } + } +#elif defined(AMD_WMMA_AVAILABLE) //wmma instructions can handle 16x4 tiles, does not require loading 64x2 tiles + + typedef tile<16, 4, int> tile_A; + typedef tile<16, 4, int> tile_B; + typedef tile<16, 16, int> tile_C; + + constexpr int granularity = mmq_get_granularity_device(mmq_x); + constexpr int rows_per_warp = granularity; + constexpr int ntx = rows_per_warp/tile_C::I; // Number of x minitiles per warp. + + y += (threadIdx.y % ntx) * (tile_C::J*MMQ_TILE_Y_K); + + const int * x_qs = (const int *) x; + const half2 * x_dm = (const half2 *) x_qs + MMQ_TILE_NE_K*2; + const int * y_qs = (const int *) y + 4; + const half2 * y_ds = (const half2 *) y; + + const int i0 = (threadIdx.y / ntx) * rows_per_warp; + + for (int k01 = 0; k01 < MMQ_TILE_NE_K; k01 += 4) { + const int k0 = k00 + k01; + + tile_A A[ntx]; +#pragma unroll + for (int n = 0; n < ntx; ++n) { + load_generic(A[n], x_qs + (i0 + n*tile_A::I)*MMQ_MMA_TILE_X_K_Q2_K + k0, MMQ_MMA_TILE_X_K_Q2_K); + } + +#pragma unroll + for (int j0 = 0; j0 < mmq_x; j0 += ntx*tile_C::J) { + tile_B B; + load_generic(B, y_qs + j0*MMQ_TILE_Y_K + k01, MMQ_TILE_Y_K); + + const int j = j0 + tile_C::get_j(0); + const float dB = (k01 < MMQ_TILE_NE_K/2) ? __half22float2(y_ds[j*MMQ_TILE_Y_K]).x : __half22float2(y_ds[j*MMQ_TILE_Y_K]).y; + const float sB = (k01 >= MMQ_TILE_NE_K * 3/4) ? 0 + : (((k01/4)%2) ? __half22float2(y_ds[j*MMQ_TILE_Y_K + (1 + k01/QI8_1)]).y + : __half22float2(y_ds[j*MMQ_TILE_Y_K + (1 + k01/QI8_1)]).x); + + tile_C Cm; + if (k01 >= MMQ_TILE_NE_K * 3/4) { + tile_A A1; + A1.x[0] = 0x01010101; + A1.x[1] = 0x01010101; + mma(Cm, A1, B); + } + +#pragma unroll + for (int n = 0; n < ntx; ++n) { + tile_C Cd; + mma(Cd, A[n], B); + #pragma unroll for (int l = 0; l < tile_C::ne; ++l) { const int i = i0 + n*tile_C::I + tile_C::get_i(l); @@ -1574,7 +1688,7 @@ static __device__ __forceinline__ void vec_dot_q2_K_q8_1_mma( #else GGML_UNUSED_VARS(x, y, sum, k00); NO_DEVICE_CODE; -#endif // AMD_MFMA_AVAILABLE +#endif // AMD_MFMA_AVAILABLE || AMD_WMMA_AVAILABLE } template static __device__ __forceinline__ void load_tiles_q3_K( @@ -1582,7 +1696,7 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else @@ -1618,11 +1732,11 @@ template static __device__ __forceinline__ void loa const int x_qs_k = __vsubss4(x_ql_k | x_qh_k, 0x04040404); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + k] = x_qs_k; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + k] = x_qs_k; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -1649,7 +1763,7 @@ template static __device__ __forceinline__ void loa const int sc = __vsubss4(sc_low | sc_high, 0x20202020); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) const int8_t * sc8 = (const int8_t *) ≻ const float d = bxi->d; @@ -1659,10 +1773,10 @@ template static __device__ __forceinline__ void loa } #else x_sc[i*(MMQ_TILE_NE_K/8) + i/8 + ksc] = sc; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } -#if !(defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE)) +#if !(defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE)) #pragma unroll for (int i0 = 0; i0 < mmq_y; i0 += nwarps*warp_size) { int i = (i0 + threadIdx.y*warp_size + threadIdx.x) % mmq_y; @@ -1675,7 +1789,7 @@ template static __device__ __forceinline__ void loa x_df[i] = bxi->d; } -#endif // !(defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE)) +#endif // !(defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE)) || defined(AMD_WMMA_AVAILABLE) } template @@ -1728,7 +1842,7 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + 2*MMQ_TILE_NE_K); #else @@ -1736,7 +1850,7 @@ template static __device__ __forceinline__ void loa int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + txs.qs); int * x_sc = (int *) (x_dm + txs.dm); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR4_K); constexpr int nrows = warp_size / threads_per_row; @@ -1753,19 +1867,19 @@ template static __device__ __forceinline__ void loa const block_q4_K * bxi = (const block_q4_K *) x + kbx0 + i*stride; const int qs0 = get_int_b4(bxi->qs, txi); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + 16*(txi/8) + txi % 8 + 0] = (qs0 >> 0) & 0x0F0F0F0F; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + 16*(txi/8) + txi % 8 + 8] = (qs0 >> 4) & 0x0F0F0F0F; #else x_qs[i*(MMQ_TILE_NE_K + 1) + txi] = qs0; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int rows_per_warp = warp_size / 2; #pragma unroll for (int i0 = 0; i0 < mmq_y; i0 += nwarps*rows_per_warp) { -#if defined(AMD_MFMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) // Need if on AMD instead of % because warp_size == 64 // This causes double work and throughput loss (MI300X) // H100 loses about 100 t/s with 'if' condition over '%' @@ -1774,7 +1888,7 @@ template static __device__ __forceinline__ void loa #else int i = (i0 + threadIdx.y*rows_per_warp + threadIdx.x/2) % mmq_y; { -#endif // defined(AMD_MFMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) if (need_check) { i = min(i, i_max); } @@ -1829,7 +1943,7 @@ template static __device__ __forceinline__ void loa x_sc[i*(MMQ_TILE_NE_K/8) + i/8 + ksc] = scales8; } -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } template @@ -1872,7 +1986,7 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; half2 * x_dm = (half2 *) (x_qs + MMQ_TILE_NE_K*2); #else @@ -1908,16 +2022,16 @@ template static __device__ __forceinline__ void loa const int kq0 = ky - ky % (QI5_K/2) + txi % (QI5_K/4) + 0; const int kq1 = ky - ky % (QI5_K/2) + txi % (QI5_K/4) + QI5_K/4; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kq0] = ql0 | qh0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + kq1] = ql1 | qh1; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + kq0] = ql0 | qh0; x_qs[i*(2*MMQ_TILE_NE_K + 1) + kq1] = ql1 | qh1; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int rows_per_warp = warp_size / 2; #pragma unroll for (int i0 = 0; i0 < mmq_y; i0 += nwarps*rows_per_warp) { @@ -1930,7 +2044,7 @@ template static __device__ __forceinline__ void loa #else int i = (i0 + threadIdx.y*rows_per_warp + threadIdx.x/2) % mmq_y; { -#endif // defined(AMD_MFMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) if (need_check) { i = min(i, i_max); } @@ -1986,7 +2100,7 @@ template static __device__ __forceinline__ void loa x_sc[i*(MMQ_TILE_NE_K/8) + i/8 + ksc] = scales8; } -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } template @@ -2029,7 +2143,7 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); int * x_sc = (int *) (x_df + MMQ_TILE_NE_K/QI6_K); @@ -2038,7 +2152,7 @@ template static __device__ __forceinline__ void loa int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); int * x_sc = (int *) (x_df + txs.dm); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR6_K); constexpr int nrows = warp_size / threads_per_row; @@ -2065,13 +2179,13 @@ template static __device__ __forceinline__ void loa const int kq0 = 2*txi - txi % (QI6_K/2) + 0; const int kq1 = 2*txi - txi % (QI6_K/2) + QI6_K/2; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q6_K + kq0] = __vsubss4(ql0 | qh0, 0x20202020); x_qs[i*MMQ_MMA_TILE_X_K_Q6_K + kq1] = __vsubss4(ql1 | qh1, 0x20202020); #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + kq0] = __vsubss4(ql0 | qh0, 0x20202020); x_qs[i*(2*MMQ_TILE_NE_K + 1) + kq1] = __vsubss4(ql1 | qh1, 0x20202020); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } #pragma unroll @@ -2084,11 +2198,11 @@ template static __device__ __forceinline__ void loa const block_q6_K * bxi = (const block_q6_K *) x + kbx0 + i*stride; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q6_K] = bxi->d; #else x_df[i*(MMQ_TILE_NE_K/QI6_K) + i/QI6_K] = bxi->d; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } constexpr int rows_per_warp = warp_size / 4; @@ -2102,11 +2216,11 @@ template static __device__ __forceinline__ void loa const block_q6_K * bxi = (const block_q6_K *) x + kbx0 + i*stride + (threadIdx.x % (MMQ_TILE_NE_K/8)) / 4; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_sc[i*MMQ_MMA_TILE_X_K_Q6_K + threadIdx.x%4] = get_int_b2(bxi->scales, threadIdx.x % (MMQ_TILE_NE_K/8)); #else x_sc[i*(MMQ_TILE_NE_K/8) + i/8 + threadIdx.x%(MMQ_TILE_NE_K/8)] = get_int_b2(bxi->scales, threadIdx.x%(QI6_K/8)); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -2190,6 +2304,56 @@ static __device__ __forceinline__ void vec_dot_q6_K_q8_1_mma( tile_C C; mma(C, A[n], B[0]); +#pragma unroll + for (int l = 0; l < tile_C::ne; ++l) { + const int i = i0 + n*tile_C::I + tile_C::get_i(l); + const int8_t * sc = (const int8_t *) (x_sc + i*MMQ_MMA_TILE_X_K_Q6_K + k00/16); + sum[(j0/tile_C::J + n)*tile_C::ne + l] += C.x[l] * sc[k01/4] * x_df[i*MMQ_MMA_TILE_X_K_Q6_K] * dB; + } + } + } + } +#elif defined(AMD_WMMA_AVAILABLE) //wmma instructions can handle 16x4 tiles, does not require loading 64x2 tiles + typedef tile<16, 4, int> tile_A; + typedef tile<16, 4, int> tile_B; + typedef tile<16, 16, int> tile_C; + + constexpr int granularity = mmq_get_granularity_device(mmq_x); + constexpr int rows_per_warp = granularity; + constexpr int ntx = rows_per_warp/tile_C::I; // Number of x minitiles per warp. + + y += (threadIdx.y % ntx) * (tile_C::J*MMQ_TILE_Y_K); + + const int * x_qs = (const int *) x; + const float * x_df = (const float *) x_qs + MMQ_TILE_NE_K*2; + const int * x_sc = (const int *) x_df + MMQ_TILE_NE_K/QI6_K; + const int * y_qs = (const int *) y + 4; + const float * y_df = (const float *) y; + + const int i0 = (threadIdx.y / ntx) * rows_per_warp; + + for (int k01 = 0; k01 < MMQ_TILE_NE_K; k01 += 4) { + const int k0 = k00 + k01; + + tile_A A[ntx]; +#pragma unroll + for (int n = 0; n < ntx; ++n) { + load_generic(A[n], x_qs + (i0 + n*tile_A::I)*MMQ_MMA_TILE_X_K_Q6_K + k0, MMQ_MMA_TILE_X_K_Q6_K); + } + +#pragma unroll + for (int j0 = 0; j0 < mmq_x; j0 += ntx*tile_C::J) { + tile_B B; + load_generic(B, y_qs + j0*MMQ_TILE_Y_K + k01, MMQ_TILE_Y_K); + + const int j = j0 + tile_C::get_j(0); + const float dB = y_df[j*MMQ_TILE_Y_K + k01/QI8_1]; + +#pragma unroll + for (int n = 0; n < ntx; ++n) { + tile_C C; + mma(C, A[n], B); + #pragma unroll for (int l = 0; l < tile_C::ne; ++l) { const int i = i0 + n*tile_C::I + tile_C::get_i(l); @@ -2303,7 +2467,7 @@ static __device__ __forceinline__ void vec_dot_q6_K_q8_1_mma( #else GGML_UNUSED_VARS(x, y, sum, k00); NO_DEVICE_CODE; -#endif // AMD_MFMA_AVAILABLE +#endif // AMD_MFMA_AVAILABLE || AMD_WMMA_AVAILABLE } template static __device__ __forceinline__ void load_tiles_iq4_nl( @@ -2311,14 +2475,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ4_NL, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR4_NL); constexpr int nrows = warp_size / threads_per_row; @@ -2340,13 +2504,13 @@ template static __device__ __forceinline__ void loa const int2 v = get_int_from_table_16(aux_q4, kvalues_iq4nl); const int k0 = kbx * (2 * QI4_NL) + kqsx; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + k0 + 0] = v.x; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + k0 + QI4_NL] = v.y; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + k0 + 0] = v.x; x_qs[i*(2*MMQ_TILE_NE_K + 1) + k0 + QI4_NL] = v.y; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } constexpr int blocks_per_tile_x_row = MMQ_TILE_NE_K / QI4_NL; @@ -2363,11 +2527,11 @@ template static __device__ __forceinline__ void loa const block_iq4_nl * bxi = (const block_iq4_nl *) x + kbx0 + i*stride + kbxd; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kbxd] = __half2float(bxi->d); #else x_df[i*(MMQ_TILE_NE_K/QI4_NL) + i/QI4_NL + kbxd] = __half2float(bxi->d); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -2376,14 +2540,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ2_XXS, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = (MMQ_ITER_K / (4 * QR2_XXS)) / 2; constexpr int nrows = warp_size / threads_per_row; @@ -2414,22 +2578,22 @@ template static __device__ __forceinline__ void loa const int signs1 = __vcmpne4(((signs_packed & 0x30) << 3) | ((signs_packed & 0xC0) << 17), 0x00000000); const int grid1 = __vsub4(grid_pos[1] ^ signs1, signs1); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l + 0)] = grid0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l + 1)] = grid1; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l + 0)] = grid0; x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l + 1)] = grid1; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } const int ls = aux32 >> 28; const float d = bxi->d; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kqsx] = (ls*d + d/2)/4; #else x_df[i*(MMQ_TILE_NE_K/4) + i/4 + kqsx] = (ls*d + d/2)/4; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -2438,14 +2602,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = MMQ_DP4A_TXS_Q8_0_16; int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = (MMQ_ITER_K / (4 * QR2_XS)) / 2; constexpr int nrows = warp_size / threads_per_row; @@ -2472,24 +2636,24 @@ template static __device__ __forceinline__ void loa const int grid_l = __vsub4(grid_pos[0] ^ signs[0], signs[0]); const int grid_h = __vsub4(grid_pos[1] ^ signs[1], signs[1]); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + 8*kqsx + (2*l + 1)] = grid_h; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l + 1)] = grid_h; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } const int ls = bxi->scales[kqsx]; const float d = bxi->d; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q3_K + 2*kqsx+0] = ((ls & 0x0F)*d + d/2)/4; x_df[i*MMQ_MMA_TILE_X_K_Q3_K + 2*kqsx+1] = ((ls >> 4)*d + d/2)/4; #else x_df[i*(2*MMQ_TILE_NE_K*2/QI8_0) + i/(QI8_0/4) + 2*kqsx+0] = ((ls & 0x0F)*d + d/2)/4; x_df[i*(2*MMQ_TILE_NE_K*2/QI8_0) + i/(QI8_0/4) + 2*kqsx+1] = ((ls >> 4)*d + d/2)/4; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -2498,15 +2662,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ2_S, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) - +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = (MMQ_ITER_K / (4 * QR2_S)) / 2; constexpr int nrows = warp_size / threads_per_row; const int kqsx = threadIdx.x % threads_per_row; @@ -2539,24 +2702,24 @@ template static __device__ __forceinline__ void loa const int grid_l = __vsub4(grid_pos[0] ^ signs0, signs0); const int grid_h = __vsub4(grid_pos[1] ^ signs1, signs1); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*MMQ_MMA_TILE_X_K_Q3_K + 8*kqsx + (2*l + 1)] = grid_h; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l + 1)] = grid_h; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } const int ls = bxi->scales[kqsx]; const float d = bxi->d; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q3_K + 2*kqsx+0] = ((ls & 0x0F)*d + d/2)/4; x_df[i*MMQ_MMA_TILE_X_K_Q3_K + 2*kqsx+1] = ((ls >> 4)*d + d/2)/4; #else x_df[i*(2*MMQ_TILE_NE_K*2/QI8_0) + i/(QI8_0/4) + 2*kqsx+0] = ((ls & 0x0F)*d + d/2)/4; x_df[i*(2*MMQ_TILE_NE_K*2/QI8_0) + i/(QI8_0/4) + 2*kqsx+1] = ((ls >> 4)*d + d/2)/4; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -2565,14 +2728,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ3_XXS, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = (MMQ_ITER_K / (4 * QR3_XXS)) / 2; constexpr int nrows = warp_size / threads_per_row; @@ -2601,22 +2764,22 @@ template static __device__ __forceinline__ void loa const int grid_l = __vsub4(grid_pos.x ^ signs[0], signs[0]); const int grid_h = __vsub4(grid_pos.y ^ signs[1], signs[1]); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l + 1)] = grid_h; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l + 0)] = grid_l; x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l + 1)] = grid_h; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } const int ls = aux32 >> 28; const float d = bxi->d; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kqsx] = (ls*d + d/2)/2; #else x_df[i*(MMQ_TILE_NE_K/4) + i/4 + kqsx] = (ls*d + d/2)/2; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -2625,14 +2788,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ3_S, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = (MMQ_ITER_K / (4 * QR3_S)) / 2; constexpr int nrows = warp_size / threads_per_row; @@ -2668,22 +2831,22 @@ template static __device__ __forceinline__ void loa const int grid_l = __vsub4(grid_pos.x ^ signs0, signs0); const int grid_h = __vsub4(grid_pos.y ^ signs1, signs1); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l+0)] = grid_l; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + 8*kqsx + (2*l+1)] = grid_h; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l+0)] = grid_l; x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l+1)] = grid_h; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } const int ls = 1 + 2*((bxi->scales[kqsx/2] >> (((2*kqsx) << 1) & 0x04)) & 0x0F); const float d = bxi->d; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + kqsx] = ls*d; #else x_df[i*(MMQ_TILE_NE_K/4) + i/4 + kqsx] = ls*d; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -2692,14 +2855,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; half2 * x_ds = (half2 *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ3_S, mmq_y); int * x_qs = (int *) x_tile; half2 * x_ds = (half2 *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR1_S); constexpr int nrows = warp_size / threads_per_row; @@ -2727,23 +2890,23 @@ template static __device__ __forceinline__ void loa const int grid0 = (grid >> 0) & 0x0F0F0F0F; const int grid1 = (grid >> 4) & 0x0F0F0F0F; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + 8*kqsx + (2*l+0)] = grid0; x_qs[i*MMQ_MMA_TILE_X_K_Q8_1 + 8*kqsx + (2*l+1)] = grid1; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l+0)] = grid0; x_qs[i*(2*MMQ_TILE_NE_K + 1) + 8*kqsx + (2*l+1)] = grid1; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } const float d1q = __half2float(bxi->d) * (((qh >> 11) & 0x0E) + 1); const float delta = -1.0f + IQ1S_DELTA - (qh & 0x8000) * (2.0f*IQ1S_DELTA/0x8000); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_ds[i*MMQ_MMA_TILE_X_K_Q8_1 + kqsx] = make_half2(d1q, d1q*delta); #else x_ds[i*(MMQ_TILE_NE_K/4) + i/4 + kqsx] = make_half2(d1q, d1q*delta); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -2752,14 +2915,14 @@ template static __device__ __forceinline__ void loa constexpr int nwarps = mmq_get_nwarps_device(); constexpr int warp_size = ggml_cuda_get_physical_warp_size(); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + MMQ_TILE_NE_K*2); #else constexpr tile_x_sizes txs = mmq_get_dp4a_tile_x_sizes(GGML_TYPE_IQ4_XS, mmq_y); int * x_qs = (int *) x_tile; float * x_df = (float *) (x_qs + txs.qs); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int threads_per_row = MMQ_ITER_K / (4 * QR4_XS); constexpr int nrows = warp_size / threads_per_row; @@ -2779,13 +2942,13 @@ template static __device__ __forceinline__ void loa const int2 v = get_int_from_table_16(aux_q4, kvalues_iq4nl); const int k0 = 8 * (kqsx / 4) + kqsx % 4; -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + k0 + 0] = v.x; x_qs[i*MMQ_MMA_TILE_X_K_Q8_0 + k0 + 4] = v.y; #else x_qs[i*(2*MMQ_TILE_NE_K + 1) + k0 + 0] = v.x; x_qs[i*(2*MMQ_TILE_NE_K + 1) + k0 + 4] = v.y; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } constexpr int rows_per_warp = warp_size / 8; @@ -2804,11 +2967,11 @@ template static __device__ __forceinline__ void loa const int ls = ((bxi->scales_l[(threadIdx.x % 8)/2] >> (4*(threadIdx.x % 2))) & 0x0F) | (((bxi->scales_h >> (2*(threadIdx.x % 8))) & 0x03) << 4); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) x_df[i*MMQ_MMA_TILE_X_K_Q8_0 + threadIdx.x % 8] = d * (ls - 32); #else x_df[i*(MMQ_TILE_NE_K/4) + i/4 + threadIdx.x % 8] = d * (ls - 32); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) } } @@ -2848,7 +3011,7 @@ static __device__ __forceinline__ void mmq_write_back_mma( constexpr int granularity = mmq_get_granularity_device(mmq_x); constexpr int nwarps = mmq_get_nwarps_device(); -#if defined(AMD_MFMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int tileC_IJ = mmq_get_granularity_device(0); typedef tile tile_C; constexpr int rows_per_warp = granularity; @@ -2859,11 +3022,11 @@ static __device__ __forceinline__ void mmq_write_back_mma( constexpr int ntx = rows_per_warp/tile_C::I; // Number of x minitiles per warp. const int i0 = (threadIdx.y / ntx) * (ntx*tile_C::I); -#if defined(TURING_MMA_AVAILABLE) || defined(AMD_MFMA_AVAILABLE) +#if defined(TURING_MMA_AVAILABLE) || defined(AMD_MFMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) static_assert(nwarps*tile_C::I == mmq_y, "nwarps*tile_C::I != mmq_y"); #else GGML_UNUSED(nwarps); -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) #pragma unroll for (int j0 = 0; j0 < mmq_x; j0 += ntx*tile_C::J) { @@ -3063,13 +3226,13 @@ static __device__ __forceinline__ void mul_mat_q_process_tile( int * tile_y = data_mul_mat_q + mmq_x; int * tile_x = tile_y + GGML_PAD(mmq_x*MMQ_TILE_Y_K, nwarps*warp_size); -#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#if defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr vec_dot_mmq_t vec_dot = mmq_type_traits::vec_dot_mma; constexpr mmq_write_back_t write_back = mmq_write_back_mma; #else constexpr vec_dot_mmq_t vec_dot = mmq_type_traits::vec_dot_dp4a; constexpr mmq_write_back_t write_back = mmq_write_back_dp4a; -#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) +#endif // defined(AMD_MFMA_AVAILABLE) || defined(TURING_MMA_AVAILABLE) || defined(AMD_WMMA_AVAILABLE) constexpr int blocks_per_iter = MMQ_ITER_K / qk; From 134e6940caf5c64071b7f3b7bc6c2f32f1b3a5a4 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Mon, 24 Nov 2025 21:06:17 +0100 Subject: [PATCH 23/37] llama : skip output reordering for single token batches (#17466) This commit adds a check to skip the output reordering logic when n_outputs == 1. With a single output token, the data is trivially sorted and the reordering code is currently doing unnecessary work (resetting and rebuilding output_ids to the same values). The motivation for this change is improved code clarity and avoiding confusion when debugging. While the performance impact is probably negligible, this unnecessary work happens on every decode call in llama-server when processing batches with single-token outputs. --- src/llama-context.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llama-context.cpp b/src/llama-context.cpp index 70a3ec62dfc..2aa6d52a242 100644 --- a/src/llama-context.cpp +++ b/src/llama-context.cpp @@ -1248,7 +1248,7 @@ int llama_context::decode(const llama_batch & batch_inp) { // make the outputs have the same order they had in the user-provided batch // note: this is mostly relevant for recurrent models atm - if (!sorted_output) { + if (!sorted_output && n_outputs > 1) { GGML_ASSERT((size_t) n_outputs == out_ids.size()); // TODO: is there something more efficient which also minimizes swaps? From 3d07caa99bff9213411202b4063aa2f44e919654 Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Mon, 24 Nov 2025 15:25:24 -0600 Subject: [PATCH 24/37] vulkan: more FA details in vk_perf_logger (#17443) --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index bc8d3cdcb59..d78c727e53b 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -1629,6 +1629,22 @@ class vk_perf_logger { timings[name].push_back(time); return; } + if (node->op == GGML_OP_FLASH_ATTN_EXT) { + const ggml_tensor * dst = node; + const ggml_tensor * q = node->src[0]; + const ggml_tensor * k = node->src[1]; + const ggml_tensor * v = node->src[2]; + const ggml_tensor * m = node->src[3]; + std::stringstream name; + name << ggml_op_name(node->op) << + " dst(" << dst->ne[0] << "," << dst->ne[1] << "," << dst->ne[2] << "," << dst->ne[3] << "), " << + " q(" << q->ne[0] << "," << q->ne[1] << "," << q->ne[2] << "," << q->ne[3] << "), " << + " k(" << k->ne[0] << "," << k->ne[1] << "," << k->ne[2] << "," << k->ne[3] << "), " << + " v(" << v->ne[0] << "," << v->ne[1] << "," << v->ne[2] << "," << v->ne[3] << "), " << + " m(" << (m?m->ne[0]:0) << "," << (m?m->ne[1]:0) << "," << (m?m->ne[2]:0) << "," << (m?m->ne[3]:0) << ")"; + timings[name.str()].push_back(time); + return; + } timings[ggml_op_name(node->op)].push_back(time); } private: From 877566d512d02a3a288ea38c1f7b1c25ccd6c082 Mon Sep 17 00:00:00 2001 From: Aaron Teo Date: Tue, 25 Nov 2025 09:56:07 +0800 Subject: [PATCH 25/37] llama: introduce support for model-embedded sampling parameters (#17120) --- common/arg.cpp | 12 ++++++ common/common.cpp | 55 ++++++++++++++++++++++++ common/common.h | 18 ++++++++ gguf-py/gguf/constants.py | 14 ++++++ gguf-py/gguf/gguf_writer.py | 36 ++++++++++++++++ gguf-py/gguf/metadata.py | 85 +++++++++++++++++++++++++++++++++++++ include/llama.h | 18 ++++++++ src/llama-arch.cpp | 38 +++++++++++------ src/llama-arch.h | 12 ++++++ src/llama-model.cpp | 18 ++++++++ 10 files changed, 293 insertions(+), 13 deletions(-) diff --git a/common/arg.cpp b/common/arg.cpp index 430ab45dfe2..dd787290d25 100644 --- a/common/arg.cpp +++ b/common/arg.cpp @@ -1232,6 +1232,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params, const std::string & value) { const auto sampler_names = string_split(value, ';'); params.sampling.samplers = common_sampler_types_from_names(sampler_names, true); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_SAMPLERS; } ).set_sparam()); add_opt(common_arg( @@ -1261,6 +1262,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex [](common_params & params, const std::string & value) { params.sampling.temp = std::stof(value); params.sampling.temp = std::max(params.sampling.temp, 0.0f); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_TEMP; } ).set_sparam()); add_opt(common_arg( @@ -1268,6 +1270,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex string_format("top-k sampling (default: %d, 0 = disabled)", params.sampling.top_k), [](common_params & params, int value) { params.sampling.top_k = value; + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_TOP_K; } ).set_sparam()); add_opt(common_arg( @@ -1275,6 +1278,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex string_format("top-p sampling (default: %.1f, 1.0 = disabled)", (double)params.sampling.top_p), [](common_params & params, const std::string & value) { params.sampling.top_p = std::stof(value); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_TOP_P; } ).set_sparam()); add_opt(common_arg( @@ -1282,6 +1286,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex string_format("min-p sampling (default: %.1f, 0.0 = disabled)", (double)params.sampling.min_p), [](common_params & params, const std::string & value) { params.sampling.min_p = std::stof(value); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIN_P; } ).set_sparam()); add_opt(common_arg( @@ -1296,6 +1301,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex string_format("xtc probability (default: %.1f, 0.0 = disabled)", (double)params.sampling.xtc_probability), [](common_params & params, const std::string & value) { params.sampling.xtc_probability = std::stof(value); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_XTC_PROBABILITY; } ).set_sparam()); add_opt(common_arg( @@ -1303,6 +1309,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex string_format("xtc threshold (default: %.1f, 1.0 = disabled)", (double)params.sampling.xtc_threshold), [](common_params & params, const std::string & value) { params.sampling.xtc_threshold = std::stof(value); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_XTC_THRESHOLD; } ).set_sparam()); add_opt(common_arg( @@ -1321,6 +1328,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex } params.sampling.penalty_last_n = value; params.sampling.n_prev = std::max(params.sampling.n_prev, params.sampling.penalty_last_n); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_PENALTY_LAST_N; } ).set_sparam()); add_opt(common_arg( @@ -1328,6 +1336,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex string_format("penalize repeat sequence of tokens (default: %.1f, 1.0 = disabled)", (double)params.sampling.penalty_repeat), [](common_params & params, const std::string & value) { params.sampling.penalty_repeat = std::stof(value); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_PENALTY_REPEAT; } ).set_sparam()); add_opt(common_arg( @@ -1425,6 +1434,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex "(default: %d, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0)", params.sampling.mirostat), [](common_params & params, int value) { params.sampling.mirostat = value; + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT; } ).set_sparam()); add_opt(common_arg( @@ -1432,6 +1442,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex string_format("Mirostat learning rate, parameter eta (default: %.1f)", (double)params.sampling.mirostat_eta), [](common_params & params, const std::string & value) { params.sampling.mirostat_eta = std::stof(value); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT_ETA; } ).set_sparam()); add_opt(common_arg( @@ -1439,6 +1450,7 @@ common_params_context common_params_parser_init(common_params & params, llama_ex string_format("Mirostat target entropy, parameter tau (default: %.1f)", (double)params.sampling.mirostat_tau), [](common_params & params, const std::string & value) { params.sampling.mirostat_tau = std::stof(value); + params.sampling.user_sampling_config |= common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT_TAU; } ).set_sparam()); add_opt(common_arg( diff --git a/common/common.cpp b/common/common.cpp index f3cc55247e7..0d7fd9a9371 100644 --- a/common/common.cpp +++ b/common/common.cpp @@ -8,6 +8,7 @@ #include "common.h" #include "log.h" #include "llama.h" +#include "sampling.h" #include #include @@ -949,6 +950,58 @@ std::vector fs_list_files(const std::string & path) { // Model utils // +static inline void common_init_sampler_from_model( + const llama_model * model, + common_params_sampling & sparams) { + + const uint64_t config = sparams.user_sampling_config; + + auto get_int32 = [&](const char * key, int32_t & dst, uint64_t user_config) { + if (config & user_config) return; + + char buf[64] = {0}; + if (llama_model_meta_val_str(model, key, buf, sizeof(buf)) > 0) { + char * end = nullptr; + int32_t v = strtol(buf, &end, 10); + if (end && end != buf) dst = v; + } + }; + + auto get_float = [&](const char * key, float & dst, uint64_t user_config) { + if (config & user_config) return; + + char buf[128] = {0}; + if (llama_model_meta_val_str(model, key, buf, sizeof(buf)) > 0) { + char * end = nullptr; + float v = strtof(buf, &end); + if (end && end != buf) dst = v; + } + }; + + // Sampling sequence + if (!(config & common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_SAMPLERS)) { + char buf[512] = {0}; + if (llama_model_meta_val_str(model, llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_SEQUENCE), buf, sizeof(buf)) > 0) { + const std::vector sampler_names = string_split(std::string(buf), ';'); + if (!sampler_names.empty()) { + sparams.samplers = common_sampler_types_from_names(sampler_names, true); + } + } + } + + get_int32(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_TOP_K), sparams.top_k, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_TOP_K); + get_float(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_TOP_P), sparams.top_p, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_TOP_P); + get_float(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_MIN_P), sparams.min_p, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIN_P); + get_float(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_XTC_PROBABILITY), sparams.xtc_probability, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_XTC_PROBABILITY); + get_float(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_XTC_THRESHOLD), sparams.xtc_threshold, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_XTC_THRESHOLD); + get_float(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_TEMP), sparams.temp, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_TEMP); + get_int32(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_LAST_N), sparams.penalty_last_n, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_PENALTY_LAST_N); + get_float(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_REPEAT), sparams.penalty_repeat, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_PENALTY_REPEAT); + get_int32(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT), sparams.mirostat, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT); + get_float(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_TAU), sparams.mirostat_tau, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT_TAU); + get_float(llama_model_meta_key_str(LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_ETA), sparams.mirostat_eta, common_params_sampling_config::COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT_ETA); +} + struct common_init_result common_init_from_params(common_params & params) { common_init_result iparams; auto mparams = common_model_params_to_llama(params); @@ -960,6 +1013,8 @@ struct common_init_result common_init_from_params(common_params & params) { return iparams; } + common_init_sampler_from_model(model, params.sampling); + const llama_vocab * vocab = llama_model_get_vocab(model); auto cparams = common_context_params_to_llama(params); diff --git a/common/common.h b/common/common.h index de5b404dd88..2f23d0baa83 100644 --- a/common/common.h +++ b/common/common.h @@ -140,6 +140,22 @@ struct common_grammar_trigger { llama_token token = LLAMA_TOKEN_NULL; }; +enum common_params_sampling_config : uint64_t { + COMMON_PARAMS_SAMPLING_CONFIG_SAMPLERS = 1 << 0, + COMMON_PARAMS_SAMPLING_CONFIG_TOP_K = 1 << 1, + COMMON_PARAMS_SAMPLING_CONFIG_TOP_P = 1 << 2, + COMMON_PARAMS_SAMPLING_CONFIG_MIN_P = 1 << 3, + COMMON_PARAMS_SAMPLING_CONFIG_XTC_PROBABILITY = 1 << 4, + COMMON_PARAMS_SAMPLING_CONFIG_XTC_THRESHOLD = 1 << 5, + COMMON_PARAMS_SAMPLING_CONFIG_TEMP = 1 << 6, + COMMON_PARAMS_SAMPLING_CONFIG_PENALTY_LAST_N = 1 << 7, + COMMON_PARAMS_SAMPLING_CONFIG_PENALTY_REPEAT = 1 << 8, + COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT = 1 << 9, + COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT_TAU = 1 << 10, + COMMON_PARAMS_SAMPLING_CONFIG_MIROSTAT_ETA = 1 << 11, +}; + + // sampling parameters struct common_params_sampling { uint32_t seed = LLAMA_DEFAULT_SEED; // the seed used to initialize llama_sampler @@ -172,6 +188,8 @@ struct common_params_sampling { bool no_perf = false; // disable performance metrics bool timing_per_token = false; + uint64_t user_sampling_config = 0; // bitfield to track user-specified samplers + std::vector dry_sequence_breakers = {"\n", ":", "\"", "*"}; // default sequence breakers for DRY diff --git a/gguf-py/gguf/constants.py b/gguf-py/gguf/constants.py index 8bc558fe4b5..6f5a742e04a 100644 --- a/gguf-py/gguf/constants.py +++ b/gguf-py/gguf/constants.py @@ -25,6 +25,20 @@ class General: ALIGNMENT = "general.alignment" FILE_TYPE = "general.file_type" + # Recommended Sampler Parameters + SAMPLING_SEQUENCE = "general.sampling.sequence" + SAMPLING_TOP_K = "general.sampling.top_k" + SAMPLING_TOP_P = "general.sampling.top_p" + SAMPLING_MIN_P = "general.sampling.min_p" + SAMPLING_XTC_PROBABILITY = "general.sampling.xtc_probability" + SAMPLING_XTC_THRESHOLD = "general.sampling.xtc_threshold" + SAMPLING_TEMP = "general.sampling.temp" + SAMPLING_PENALTY_LAST_N = "general.sampling.penalty_last_n" + SAMPLING_PENALTY_REPEAT = "general.sampling.penalty_repeat" + SAMPLING_MIROSTAT = "general.sampling.mirostat" + SAMPLING_MIROSTAT_TAU = "general.sampling.mirostat_tau" + SAMPLING_MIROSTAT_ETA = "general.sampling.mirostat_eta" + # Authorship Metadata NAME = "general.name" AUTHOR = "general.author" diff --git a/gguf-py/gguf/gguf_writer.py b/gguf-py/gguf/gguf_writer.py index a051daeeb13..642ae2ae596 100644 --- a/gguf-py/gguf/gguf_writer.py +++ b/gguf-py/gguf/gguf_writer.py @@ -496,6 +496,42 @@ def add_custom_alignment(self, alignment: int) -> None: def add_file_type(self, ftype: int) -> None: self.add_uint32(Keys.General.FILE_TYPE, ftype) + def add_sampling_sequence(self, sequence: str) -> None: + self.add_string(Keys.General.SAMPLING_SEQUENCE, sequence) + + def add_sampling_top_k(self, top_k: int) -> None: + self.add_int32(Keys.General.SAMPLING_TOP_K, top_k) + + def add_sampling_top_p(self, top_p: float) -> None: + self.add_float32(Keys.General.SAMPLING_TOP_P, top_p) + + def add_sampling_min_p(self, min_p: float) -> None: + self.add_float32(Keys.General.SAMPLING_MIN_P, min_p) + + def add_sampling_xtc_probability(self, xtc_probability: float) -> None: + self.add_float32(Keys.General.SAMPLING_XTC_PROBABILITY, xtc_probability) + + def add_sampling_xtc_threshold(self, xtc_threshold: float) -> None: + self.add_float32(Keys.General.SAMPLING_XTC_THRESHOLD, xtc_threshold) + + def add_sampling_temp(self, temp: float) -> None: + self.add_float32(Keys.General.SAMPLING_TEMP, temp) + + def add_sampling_penalty_last_n(self, penalty_last_n: int) -> None: + self.add_int32(Keys.General.SAMPLING_PENALTY_LAST_N, penalty_last_n) + + def add_sampling_penalty_repeat(self, penalty_repeat: float) -> None: + self.add_float32(Keys.General.SAMPLING_PENALTY_REPEAT, penalty_repeat) + + def add_sampling_mirostat(self, mirostat: int) -> None: + self.add_int32(Keys.General.SAMPLING_MIROSTAT, mirostat) + + def add_sampling_mirostat_tau(self, mirostat_tau: float) -> None: + self.add_float32(Keys.General.SAMPLING_MIROSTAT_TAU, mirostat_tau) + + def add_sampling_mirostat_eta(self, mirostat_eta: float) -> None: + self.add_float32(Keys.General.SAMPLING_MIROSTAT_ETA, mirostat_eta) + def add_name(self, name: str) -> None: self.add_string(Keys.General.NAME, name) diff --git a/gguf-py/gguf/metadata.py b/gguf-py/gguf/metadata.py index 67efedbdbc5..e0d478ce95d 100644 --- a/gguf-py/gguf/metadata.py +++ b/gguf-py/gguf/metadata.py @@ -17,6 +17,20 @@ @dataclass class Metadata: + # Recommended Sampler Parameters to be written to GGUF KV Store + sampling_sequence: Optional[str] = None + sampling_top_k: Optional[int] = None + sampling_top_p: Optional[float] = None + sampling_min_p: Optional[float] = None + sampling_xtc_probability: Optional[float] = None + sampling_xtc_threshold: Optional[float] = None + sampling_temp: Optional[float] = None + sampling_penalty_last_n: Optional[int] = None + sampling_penalty_repeat: Optional[float] = None + sampling_mirostat: Optional[int] = None + sampling_mirostat_tau: Optional[float] = None + sampling_mirostat_eta: Optional[float] = None + # Authorship Metadata to be written to GGUF KV Store name: Optional[str] = None author: Optional[str] = None @@ -54,15 +68,43 @@ def load(metadata_override_path: Optional[Path] = None, model_path: Optional[Pat model_card = Metadata.load_model_card(model_path) hf_params = Metadata.load_hf_parameters(model_path) + gen_config = Metadata.load_generation_config(model_path) # TODO: load adapter_config.json when possible, it usually contains the base model of the LoRA adapter # heuristics metadata = Metadata.apply_metadata_heuristic(metadata, model_card, hf_params, model_path, total_params) + if gen_config: + metadata.sampling_sequence = gen_config.get("sequence", metadata.sampling_sequence) + metadata.sampling_top_k = gen_config.get("top_k", metadata.sampling_top_k) + metadata.sampling_top_p = gen_config.get("top_p", metadata.sampling_top_p) + metadata.sampling_min_p = gen_config.get("min_p", metadata.sampling_min_p) + metadata.sampling_xtc_probability = gen_config.get("xtc_probability", metadata.sampling_xtc_probability) + metadata.sampling_xtc_threshold = gen_config.get("xtc_threshold", metadata.sampling_xtc_threshold) + metadata.sampling_temp = gen_config.get("temperature", metadata.sampling_temp) + metadata.sampling_penalty_last_n = gen_config.get("penalty_last_n", metadata.sampling_penalty_last_n) + metadata.sampling_penalty_repeat = gen_config.get("penalty_repeat", metadata.sampling_penalty_repeat) + metadata.sampling_mirostat = gen_config.get("mirostat", metadata.sampling_mirostat) + metadata.sampling_mirostat_tau = gen_config.get("mirostat_tau", metadata.sampling_mirostat_tau) + metadata.sampling_mirostat_eta = gen_config.get("mirostat_eta", metadata.sampling_mirostat_eta) + # Metadata Override File Provided # This is based on LLM_KV_NAMES mapping in llama.cpp metadata_override = Metadata.load_metadata_override(metadata_override_path) + metadata.sampling_sequence = metadata_override.get(Keys.General.SAMPLING_SEQUENCE, metadata.sampling_sequence) + metadata.sampling_top_k = metadata_override.get(Keys.General.SAMPLING_TOP_K, metadata.sampling_top_k) + metadata.sampling_top_p = metadata_override.get(Keys.General.SAMPLING_TOP_P, metadata.sampling_top_p) + metadata.sampling_min_p = metadata_override.get(Keys.General.SAMPLING_MIN_P, metadata.sampling_min_p) + metadata.sampling_xtc_probability = metadata_override.get(Keys.General.SAMPLING_XTC_PROBABILITY, metadata.sampling_xtc_probability) + metadata.sampling_xtc_threshold = metadata_override.get(Keys.General.SAMPLING_XTC_THRESHOLD, metadata.sampling_xtc_threshold) + metadata.sampling_temp = metadata_override.get(Keys.General.SAMPLING_TEMP, metadata.sampling_temp) + metadata.sampling_penalty_last_n = metadata_override.get(Keys.General.SAMPLING_PENALTY_LAST_N, metadata.sampling_penalty_last_n) + metadata.sampling_penalty_repeat = metadata_override.get(Keys.General.SAMPLING_PENALTY_REPEAT, metadata.sampling_penalty_repeat) + metadata.sampling_mirostat = metadata_override.get(Keys.General.SAMPLING_MIROSTAT, metadata.sampling_mirostat) + metadata.sampling_mirostat_tau = metadata_override.get(Keys.General.SAMPLING_MIROSTAT_TAU, metadata.sampling_mirostat_tau) + metadata.sampling_mirostat_eta = metadata_override.get(Keys.General.SAMPLING_MIROSTAT_ETA, metadata.sampling_mirostat_eta) + metadata.name = metadata_override.get(Keys.General.NAME, metadata.name) metadata.author = metadata_override.get(Keys.General.AUTHOR, metadata.author) metadata.version = metadata_override.get(Keys.General.VERSION, metadata.version) @@ -172,6 +214,23 @@ def load_hf_parameters(model_path: Optional[Path] = None) -> dict[str, Any]: with open(config_path, "r", encoding="utf-8") as f: return json.load(f) + @staticmethod + def load_generation_config(model_path: Optional[Path] = None) -> dict[str, Any]: + if model_path is None or not model_path.is_dir(): + return {} + + generation_config_path = model_path / "generation_config.json" + + if not generation_config_path.is_file(): + return {} + + try: + with open(generation_config_path, "r", encoding="utf-8") as f: + return json.load(f) + except (json.JSONDecodeError, IOError): + # not all models have valid generation_config.json + return {} + @staticmethod def id_to_title(string): # Convert capitalization into title form unless acronym or version number @@ -546,6 +605,32 @@ def use_array_model_card_metadata(metadata_key: str, model_card_key: str): def set_gguf_meta_model(self, gguf_writer: gguf.GGUFWriter): assert self.name is not None + + if self.sampling_sequence is not None: + gguf_writer.add_sampling_sequence(self.sampling_sequence) + if self.sampling_top_k is not None: + gguf_writer.add_sampling_top_k(self.sampling_top_k) + if self.sampling_top_p is not None: + gguf_writer.add_sampling_top_p(self.sampling_top_p) + if self.sampling_min_p is not None: + gguf_writer.add_sampling_min_p(self.sampling_min_p) + if self.sampling_xtc_probability is not None: + gguf_writer.add_sampling_xtc_probability(self.sampling_xtc_probability) + if self.sampling_xtc_threshold is not None: + gguf_writer.add_sampling_xtc_threshold(self.sampling_xtc_threshold) + if self.sampling_temp is not None: + gguf_writer.add_sampling_temp(self.sampling_temp) + if self.sampling_penalty_last_n is not None: + gguf_writer.add_sampling_penalty_last_n(self.sampling_penalty_last_n) + if self.sampling_penalty_repeat is not None: + gguf_writer.add_sampling_penalty_repeat(self.sampling_penalty_repeat) + if self.sampling_mirostat is not None: + gguf_writer.add_sampling_mirostat(self.sampling_mirostat) + if self.sampling_mirostat_tau is not None: + gguf_writer.add_sampling_mirostat_tau(self.sampling_mirostat_tau) + if self.sampling_mirostat_eta is not None: + gguf_writer.add_sampling_mirostat_eta(self.sampling_mirostat_eta) + gguf_writer.add_name(self.name) if self.author is not None: diff --git a/include/llama.h b/include/llama.h index 8547226ff21..b52eaacfa7e 100644 --- a/include/llama.h +++ b/include/llama.h @@ -246,6 +246,21 @@ extern "C" { LLAMA_KV_OVERRIDE_TYPE_STR, }; + enum llama_model_meta_key { + LLAMA_MODEL_META_KEY_SAMPLING_SEQUENCE, + LLAMA_MODEL_META_KEY_SAMPLING_TOP_K, + LLAMA_MODEL_META_KEY_SAMPLING_TOP_P, + LLAMA_MODEL_META_KEY_SAMPLING_MIN_P, + LLAMA_MODEL_META_KEY_SAMPLING_XTC_PROBABILITY, + LLAMA_MODEL_META_KEY_SAMPLING_XTC_THRESHOLD, + LLAMA_MODEL_META_KEY_SAMPLING_TEMP, + LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_LAST_N, + LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_REPEAT, + LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT, + LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_TAU, + LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_ETA, + }; + struct llama_model_kv_override { enum llama_model_kv_override_type tag; @@ -518,6 +533,9 @@ extern "C" { // Get the number of metadata key/value pairs LLAMA_API int32_t llama_model_meta_count(const struct llama_model * model); + // Get sampling metadata key name. Returns nullptr if the key is invalid + LLAMA_API const char * llama_model_meta_key_str(enum llama_model_meta_key key); + // Get metadata key name by index LLAMA_API int32_t llama_model_meta_key_by_index(const struct llama_model * model, int32_t i, char * buf, size_t buf_size); diff --git a/src/llama-arch.cpp b/src/llama-arch.cpp index fc6cddc92f5..7ef87acf1b3 100644 --- a/src/llama-arch.cpp +++ b/src/llama-arch.cpp @@ -114,19 +114,31 @@ static const std::map LLM_ARCH_NAMES = { }; static const std::map LLM_KV_NAMES = { - { LLM_KV_GENERAL_TYPE, "general.type" }, - { LLM_KV_GENERAL_ARCHITECTURE, "general.architecture" }, - { LLM_KV_GENERAL_QUANTIZATION_VERSION, "general.quantization_version" }, - { LLM_KV_GENERAL_ALIGNMENT, "general.alignment" }, - { LLM_KV_GENERAL_FILE_TYPE, "general.file_type" }, - { LLM_KV_GENERAL_NAME, "general.name" }, - { LLM_KV_GENERAL_AUTHOR, "general.author" }, - { LLM_KV_GENERAL_VERSION, "general.version" }, - { LLM_KV_GENERAL_URL, "general.url" }, - { LLM_KV_GENERAL_DESCRIPTION, "general.description" }, - { LLM_KV_GENERAL_LICENSE, "general.license" }, - { LLM_KV_GENERAL_SOURCE_URL, "general.source.url" }, - { LLM_KV_GENERAL_SOURCE_HF_REPO, "general.source.huggingface.repository" }, + { LLM_KV_GENERAL_TYPE, "general.type" }, + { LLM_KV_GENERAL_ARCHITECTURE, "general.architecture" }, + { LLM_KV_GENERAL_QUANTIZATION_VERSION, "general.quantization_version" }, + { LLM_KV_GENERAL_ALIGNMENT, "general.alignment" }, + { LLM_KV_GENERAL_FILE_TYPE, "general.file_type" }, + { LLM_KV_GENERAL_SAMPLING_SEQUENCE, "general.sampling.sequence" }, + { LLM_KV_GENERAL_SAMPLING_TOP_K, "general.sampling.top_k" }, + { LLM_KV_GENERAL_SAMPLING_TOP_P, "general.sampling.top_p" }, + { LLM_KV_GENERAL_SAMPLING_MIN_P, "general.sampling.min_p" }, + { LLM_KV_GENERAL_SAMPLING_XTC_PROBABILITY, "general.sampling.xtc_probability" }, + { LLM_KV_GENERAL_SAMPLING_XTC_THRESHOLD, "general.sampling.xtc_threshold" }, + { LLM_KV_GENERAL_SAMPLING_TEMP, "general.sampling.temp" }, + { LLM_KV_GENERAL_SAMPLING_PENALTY_LAST_N, "general.sampling.penalty_last_n" }, + { LLM_KV_GENERAL_SAMPLING_PENALTY_REPEAT, "general.sampling.penalty_repeat" }, + { LLM_KV_GENERAL_SAMPLING_MIROSTAT, "general.sampling.mirostat" }, + { LLM_KV_GENERAL_SAMPLING_MIROSTAT_TAU, "general.sampling.mirostat_tau" }, + { LLM_KV_GENERAL_SAMPLING_MIROSTAT_ETA, "general.sampling.mirostat_eta" }, + { LLM_KV_GENERAL_NAME, "general.name" }, + { LLM_KV_GENERAL_AUTHOR, "general.author" }, + { LLM_KV_GENERAL_VERSION, "general.version" }, + { LLM_KV_GENERAL_URL, "general.url" }, + { LLM_KV_GENERAL_DESCRIPTION, "general.description" }, + { LLM_KV_GENERAL_LICENSE, "general.license" }, + { LLM_KV_GENERAL_SOURCE_URL, "general.source.url" }, + { LLM_KV_GENERAL_SOURCE_HF_REPO, "general.source.huggingface.repository" }, { LLM_KV_VOCAB_SIZE, "%s.vocab_size" }, { LLM_KV_CONTEXT_LENGTH, "%s.context_length" }, diff --git a/src/llama-arch.h b/src/llama-arch.h index 02a1c2dc258..9ad3157bf67 100644 --- a/src/llama-arch.h +++ b/src/llama-arch.h @@ -123,6 +123,18 @@ enum llm_kv { LLM_KV_GENERAL_QUANTIZATION_VERSION, LLM_KV_GENERAL_ALIGNMENT, LLM_KV_GENERAL_FILE_TYPE, + LLM_KV_GENERAL_SAMPLING_SEQUENCE, + LLM_KV_GENERAL_SAMPLING_TOP_K, + LLM_KV_GENERAL_SAMPLING_TOP_P, + LLM_KV_GENERAL_SAMPLING_MIN_P, + LLM_KV_GENERAL_SAMPLING_XTC_PROBABILITY, + LLM_KV_GENERAL_SAMPLING_XTC_THRESHOLD, + LLM_KV_GENERAL_SAMPLING_TEMP, + LLM_KV_GENERAL_SAMPLING_PENALTY_LAST_N, + LLM_KV_GENERAL_SAMPLING_PENALTY_REPEAT, + LLM_KV_GENERAL_SAMPLING_MIROSTAT, + LLM_KV_GENERAL_SAMPLING_MIROSTAT_TAU, + LLM_KV_GENERAL_SAMPLING_MIROSTAT_ETA, LLM_KV_GENERAL_NAME, LLM_KV_GENERAL_AUTHOR, LLM_KV_GENERAL_VERSION, diff --git a/src/llama-model.cpp b/src/llama-model.cpp index 35179a98e0c..a042ea9632c 100644 --- a/src/llama-model.cpp +++ b/src/llama-model.cpp @@ -7687,6 +7687,24 @@ int32_t llama_model_meta_count(const llama_model * model) { return (int)model->gguf_kv.size(); } +const char * llama_model_meta_key_str(llama_model_meta_key key) { + switch (key) { + case LLAMA_MODEL_META_KEY_SAMPLING_SEQUENCE: return "general.sampling.sequence"; + case LLAMA_MODEL_META_KEY_SAMPLING_TOP_K: return "general.sampling.top_k"; + case LLAMA_MODEL_META_KEY_SAMPLING_TOP_P: return "general.sampling.top_p"; + case LLAMA_MODEL_META_KEY_SAMPLING_MIN_P: return "general.sampling.min_p"; + case LLAMA_MODEL_META_KEY_SAMPLING_XTC_PROBABILITY: return "general.sampling.xtc_probability"; + case LLAMA_MODEL_META_KEY_SAMPLING_XTC_THRESHOLD: return "general.sampling.xtc_threshold"; + case LLAMA_MODEL_META_KEY_SAMPLING_TEMP: return "general.sampling.temp"; + case LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_LAST_N: return "general.sampling.penalty_last_n"; + case LLAMA_MODEL_META_KEY_SAMPLING_PENALTY_REPEAT: return "general.sampling.penalty_repeat"; + case LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT: return "general.sampling.mirostat"; + case LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_TAU: return "general.sampling.mirostat_tau"; + case LLAMA_MODEL_META_KEY_SAMPLING_MIROSTAT_ETA: return "general.sampling.mirostat_eta"; + default: return nullptr; + } +} + int32_t llama_model_meta_key_by_index(const llama_model * model, int i, char * buf, size_t buf_size) { if (i < 0 || i >= (int)model->gguf_kv.size()) { if (buf_size > 0) { From d414db02d3ab3744402bc57a7b3fce7de66e3d5a Mon Sep 17 00:00:00 2001 From: Jeff Bolz Date: Tue, 25 Nov 2025 00:11:27 -0600 Subject: [PATCH 26/37] vulkan: Use fewer rows for scalar FA when HS is not a multiple of 16 (#17455) --- ggml/src/ggml-vulkan/ggml-vulkan.cpp | 12 +++++++----- tests/test-backend-ops.cpp | 3 +++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index d78c727e53b..6cf15b43bb3 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -2501,9 +2501,11 @@ static void ggml_vk_wait_events(vk_context& ctx, std::vector&& events static constexpr uint32_t flash_attention_num_small_rows = 32; static constexpr uint32_t scalar_flash_attention_num_small_rows = 1; -static uint32_t get_fa_scalar_num_large_rows(uint32_t hsv) { +static uint32_t get_fa_scalar_num_large_rows(uint32_t hsk, uint32_t hsv) { if (hsv >= 192) { return 2; + } else if ((hsv | hsk) & 8) { + return 4; } else { return 8; } @@ -2535,9 +2537,9 @@ static std::array fa_rows_cols(FaCodePath path, uint32_t hsk, uint3 if ((hsv | hsk) & 8) { // HSV/HSK not being a multiple of 16 makes D_split smaller, which makes cols_per_iter // larger, and Bc needs to be >= cols_per_thread. 64 is large enough, 32 is not. - return {get_fa_scalar_num_large_rows(hsv), 64}; + return {get_fa_scalar_num_large_rows(hsk, hsv), 64}; } else { - return {get_fa_scalar_num_large_rows(hsv), 32}; + return {get_fa_scalar_num_large_rows(hsk, hsv), 32}; } } } @@ -7740,7 +7742,7 @@ static bool ggml_vk_flash_attn_scalar_shmem_support(const vk_device& device, con // 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 = get_fa_scalar_num_large_rows(hsv); + const uint32_t Br = get_fa_scalar_num_large_rows(hsk, hsv); const uint32_t Bc = scalar_flash_attention_Bc; const uint32_t tmpsh = wg_size * sizeof(float); @@ -7871,7 +7873,7 @@ static void ggml_vk_flash_attn(ggml_backend_vk_context * ctx, vk_context& subctx case FA_SCALAR: case FA_COOPMAT1: // We may switch from coopmat1 to scalar, so use the scalar limit for both - max_gqa = get_fa_scalar_num_large_rows(HSV); + max_gqa = get_fa_scalar_num_large_rows(HSK, HSV); break; case FA_COOPMAT2: max_gqa = get_fa_num_small_rows(FA_COOPMAT2); diff --git a/tests/test-backend-ops.cpp b/tests/test-backend-ops.cpp index ce8c068d7aa..fd48d254752 100644 --- a/tests/test-backend-ops.cpp +++ b/tests/test-backend-ops.cpp @@ -7859,6 +7859,9 @@ static std::vector> make_test_cases_perf() { } } + // Qwen3-VL-8B https://github.com/ggml-org/llama.cpp/issues/17012 + test_cases.emplace_back(new test_flash_attn_ext(72, 72, 16, {1, 1}, 5776, 5776, false, false, 0, 0, GGML_PREC_F32, GGML_TYPE_F16)); + for (int kv : { 4096, 8192, 16384, }) { for (int hs : { 64, 128, }) { for (int nr : { 1, 4, }) { From b1846f1c8ecd97ee08593e9498ef3244d43c1ad6 Mon Sep 17 00:00:00 2001 From: Pascal Date: Tue, 25 Nov 2025 08:01:02 +0100 Subject: [PATCH 27/37] webui: add rehype plugin to restore HTML in Markdown table cells (#17477) * webui: add rehype plugin to restore HTML in Markdown table cells The remark/rehype pipeline neutralizes inline HTML as literal text (remarkLiteralHtml) so that XML/HTML snippets in LLM responses display as-is instead of being rendered. This causes
and